From 46df6864b08145d9dcf4f845e26428f659e5de1c Mon Sep 17 00:00:00 2001 From: Yu Sung Date: Fri, 11 Oct 2024 12:18:38 +0900 Subject: [PATCH] =?UTF-8?q?=EB=9D=BC=EC=9D=B4=EB=B8=8C,=20=EC=BD=98?= =?UTF-8?q?=ED=85=90=EC=B8=A0=20=EB=A9=94=EC=9D=B8=20-=20=EC=83=88?= =?UTF-8?q?=EB=A1=9C=EC=9A=B4=20=EC=BD=98=ED=85=90=EC=B8=A0,=20=ED=81=90?= =?UTF-8?q?=EB=A0=88=EC=9D=B4=EC=85=98=20-=20=EB=AF=BC=EA=B0=90=ED=95=9C?= =?UTF-8?q?=20=EC=BD=98=ED=85=90=EC=B8=A0(19=EA=B8=88)=20=EC=84=A4?= =?UTF-8?q?=EC=A0=95=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SodaLive/Sources/Content/ContentApi.swift | 22 ++++++++++----- .../Sources/Content/ContentRepository.swift | 27 ++++++++++++++++--- SodaLive/Sources/Live/LiveViewModel.swift | 4 +++ .../Live/Room/GetRoomListRequest.swift | 1 + 4 files changed, 44 insertions(+), 10 deletions(-) diff --git a/SodaLive/Sources/Content/ContentApi.swift b/SodaLive/Sources/Content/ContentApi.swift index de343ff..a35f7cf 100644 --- a/SodaLive/Sources/Content/ContentApi.swift +++ b/SodaLive/Sources/Content/ContentApi.swift @@ -25,12 +25,12 @@ enum ContentApi { case getNewContentUploadCreatorList case getMainBannerList case getMainOrderList - case getNewContentOfTheme(theme: String) - case getCurationList(page: Int, size: Int) + case getNewContentOfTheme(theme: String, isAdultContentVisible: Bool, contentType: ContentType) + case getCurationList(isAdultContentVisible: Bool, contentType: ContentType, page: Int, size: Int) case donation(request: AudioContentDonationRequest) case modifyComment(request: ModifyCommentRequest) case getNewContentThemeList - case getNewContentAllOfTheme(theme: String, page: Int, size: Int) + case getNewContentAllOfTheme(theme: String, isAdultContentVisible: Bool, contentType: ContentType, page: Int, size: Int) case getAudioContentListByCurationId(curationId: Int, page: Int, size: Int, sort: ContentCurationViewModel.Sort) case getContentRanking(page: Int, size: Int, sortType: String) case getContentRankingSortType @@ -221,8 +221,12 @@ extension ContentApi: TargetType { case .deleteAudioContent: return .requestPlain - case .getNewContentOfTheme(let theme): - let parameters = ["theme": theme] as [String : Any] + case .getNewContentOfTheme(let theme, let isAdultContentVisible, let contentType): + let parameters = [ + "theme": theme, + "isAdultContentVisible": isAdultContentVisible, + "contentType": contentType + ] as [String : Any] return .requestParameters(parameters: parameters, encoding: URLEncoding.queryString) @@ -235,9 +239,11 @@ extension ContentApi: TargetType { case .getNewContentThemeList: return .requestPlain - case .getNewContentAllOfTheme(let theme, let page, let size): + case .getNewContentAllOfTheme(let theme, let isAdultContentVisible, let contentType, let page, let size): let parameters = [ "theme": theme, + "isAdultContentVisible": isAdultContentVisible, + "contentType": contentType, "page": page - 1, "size": size ] as [String : Any] @@ -265,8 +271,10 @@ extension ContentApi: TargetType { case .getContentRankingSortType: return .requestPlain - case .getCurationList(let page, let size): + case .getCurationList(let isAdultContentVisible, let contentType, let page, let size): let parameters = [ + "isAdultContentVisible": isAdultContentVisible, + "contentType": contentType, "page": page - 1, "size": size ] as [String : Any] diff --git a/SodaLive/Sources/Content/ContentRepository.swift b/SodaLive/Sources/Content/ContentRepository.swift index 1000fb2..a00299c 100644 --- a/SodaLive/Sources/Content/ContentRepository.swift +++ b/SodaLive/Sources/Content/ContentRepository.swift @@ -79,11 +79,24 @@ final class ContentRepository { } func getNewContentOfTheme(theme: String) -> AnyPublisher { - return api.requestPublisher(.getNewContentOfTheme(theme: theme)) + return api.requestPublisher( + .getNewContentOfTheme( + theme: theme, + isAdultContentVisible: UserDefaults.bool(forKey: .isAdultContentVisible), + contentType: ContentType(rawValue: UserDefaults.string(forKey: .contentPreference)) ?? ContentType.ALL + ) + ) } func getCurationList(page: Int, size: Int) -> AnyPublisher { - return api.requestPublisher(.getCurationList(page: page, size: size)) + return api.requestPublisher( + .getCurationList( + isAdultContentVisible: UserDefaults.bool(forKey: .isAdultContentVisible), + contentType: ContentType(rawValue: UserDefaults.string(forKey: .contentPreference)) ?? ContentType.ALL, + page: page, + size: size + ) + ) } func donation(contentId: Int, can: Int, comment: String) -> AnyPublisher { @@ -99,7 +112,15 @@ final class ContentRepository { } func getNewContentAllOfTheme(theme: String, page: Int, size: Int) -> AnyPublisher { - return api.requestPublisher(.getNewContentAllOfTheme(theme: theme, page: page, size: size)) + return api.requestPublisher( + .getNewContentAllOfTheme( + theme: theme, + isAdultContentVisible: UserDefaults.bool(forKey: .isAdultContentVisible), + contentType: ContentType(rawValue: UserDefaults.string(forKey: .contentPreference)) ?? ContentType.ALL, + page: page, + size: size + ) + ) } func getAudioContentListByCurationId(curationId: Int, page: Int, size: Int, sort: ContentCurationViewModel.Sort) -> AnyPublisher { diff --git a/SodaLive/Sources/Live/LiveViewModel.swift b/SodaLive/Sources/Live/LiveViewModel.swift index 919ad32..843d43f 100644 --- a/SodaLive/Sources/Live/LiveViewModel.swift +++ b/SodaLive/Sources/Live/LiveViewModel.swift @@ -99,6 +99,7 @@ final class LiveViewModel: ObservableObject { timezone: TimeZone.current.identifier, dateString: nil, status: .NOW, + isAdultContentVisible: UserDefaults.bool(forKey: .isAdultContentVisible), page: 1, size: 10 ) @@ -109,6 +110,7 @@ final class LiveViewModel: ObservableObject { timezone: TimeZone.current.identifier, dateString: nil, status: .RESERVATION, + isAdultContentVisible: UserDefaults.bool(forKey: .isAdultContentVisible), page: 1, size: 10 ) @@ -287,6 +289,7 @@ final class LiveViewModel: ObservableObject { timezone: TimeZone.current.identifier, dateString: nil, status: .NOW, + isAdultContentVisible: UserDefaults.bool(forKey: .isAdultContentVisible), page: page, size: pageSize ) @@ -344,6 +347,7 @@ final class LiveViewModel: ObservableObject { timezone: TimeZone.current.identifier, dateString: selectedDateString, status: .RESERVATION, + isAdultContentVisible: UserDefaults.bool(forKey: .isAdultContentVisible), page: page, size: pageSize ) diff --git a/SodaLive/Sources/Live/Room/GetRoomListRequest.swift b/SodaLive/Sources/Live/Room/GetRoomListRequest.swift index bea5468..e847a81 100644 --- a/SodaLive/Sources/Live/Room/GetRoomListRequest.swift +++ b/SodaLive/Sources/Live/Room/GetRoomListRequest.swift @@ -11,6 +11,7 @@ struct GetRoomListRequest { let timezone: String let dateString: String? let status: LiveRoomStatus + let isAdultContentVisible: Bool let page: Int let size: Int }