시리즈 상세, 채널 상세
- 19금 콘텐츠 보기 설정 적용
This commit is contained in:
		| @@ -9,7 +9,7 @@ import Foundation | ||||
| import Moya | ||||
|  | ||||
| enum ContentApi { | ||||
|     case getAudioContentList(userId: Int, categoryId: Int, page: Int, size: Int, sort: ContentListViewModel.Sort) | ||||
|     case getAudioContentList(userId: Int, categoryId: Int, isAdultContentVisible: Bool, contentType: ContentType, page: Int, size: Int, sort: ContentListViewModel.Sort) | ||||
|     case getAudioContentDetail(audioContentId: Int) | ||||
|     case likeContent(request: PutAudioContentLikeRequest) | ||||
|     case registerComment(request: RegisterAudioContentCommentRequest) | ||||
| @@ -257,10 +257,12 @@ extension ContentApi: TargetType { | ||||
|      | ||||
|     var task: Moya.Task { | ||||
|         switch self { | ||||
|         case .getAudioContentList(let userId, let categoryId, let page, let size, let sort): | ||||
|         case .getAudioContentList(let userId, let categoryId, let isAdultContentVisible, let contentType, let page, let size, let sort): | ||||
|             let parameters = [ | ||||
|                 "creator-id": userId, | ||||
|                 "category-id": categoryId, | ||||
|                 "isAdultContentVisible": isAdultContentVisible, | ||||
|                 "contentType": contentType, | ||||
|                 "page": page - 1, | ||||
|                 "size": size, | ||||
|                 "sort-type": sort | ||||
|   | ||||
| @@ -16,7 +16,16 @@ final class ContentRepository { | ||||
|     private let explorerApi = MoyaProvider<ExplorerApi>() | ||||
|      | ||||
|     func getAudioContentList(userId: Int, categoryId: Int,  page: Int, size: Int, sort: ContentListViewModel.Sort) -> AnyPublisher<Response, MoyaError> { | ||||
|         return api.requestPublisher(.getAudioContentList(userId: userId, categoryId: categoryId, page: page, size: size, sort: sort)) | ||||
|         return api.requestPublisher( | ||||
|             .getAudioContentList( | ||||
|                 userId: userId, | ||||
|                 categoryId: categoryId, | ||||
|                 isAdultContentVisible: UserDefaults.isAdultContentVisible(), | ||||
|                 contentType: ContentType(rawValue: UserDefaults.string(forKey: .contentPreference)) ?? ContentType.ALL, | ||||
|                 page: page, | ||||
|                 size: size, | ||||
|                 sort: sort) | ||||
|         ) | ||||
|     } | ||||
|      | ||||
|     func getAudioContentDetail(audioContentId: Int) -> AnyPublisher<Response, MoyaError> { | ||||
|   | ||||
| @@ -9,9 +9,9 @@ import Foundation | ||||
| import Moya | ||||
|  | ||||
| enum SeriesApi { | ||||
|     case getSeriesList(creatorId: Int, sortType: SeriesListAllViewModel.SeriesSortType, page: Int, size: Int) | ||||
|     case getSeriesDetail(seriesId: Int) | ||||
|     case getSeriesContentList(seriesId: Int, page: Int, size: Int, sortType: SeriesListAllViewModel.SeriesSortType) | ||||
|     case getSeriesList(creatorId: Int, sortType: SeriesListAllViewModel.SeriesSortType, isAdultContentVisible: Bool, contentType: ContentType, page: Int, size: Int) | ||||
|     case getSeriesDetail(seriesId: Int, isAdultContentVisible: Bool, contentType: ContentType) | ||||
|     case getSeriesContentList(seriesId: Int, isAdultContentVisible: Bool, contentType: ContentType, page: Int, size: Int, sortType: SeriesListAllViewModel.SeriesSortType) | ||||
|     case getRecommendSeriesList(isAdultContentVisible: Bool, contentType: ContentType) | ||||
| } | ||||
|  | ||||
| @@ -25,10 +25,10 @@ extension SeriesApi: TargetType { | ||||
|         case .getSeriesList: | ||||
|             return "/audio-content/series" | ||||
|              | ||||
|         case .getSeriesDetail(let seriesId): | ||||
|         case .getSeriesDetail(let seriesId, _, _): | ||||
|             return "/audio-content/series/\(seriesId)" | ||||
|              | ||||
|         case .getSeriesContentList(let seriesId, _, _, _): | ||||
|         case .getSeriesContentList(let seriesId, _, _, _, _, _): | ||||
|             return "/audio-content/series/\(seriesId)/content" | ||||
|              | ||||
|         case .getRecommendSeriesList: | ||||
| @@ -45,18 +45,25 @@ extension SeriesApi: TargetType { | ||||
|      | ||||
|     var task: Moya.Task { | ||||
|         switch self { | ||||
|         case .getSeriesList(let creatorId, let sortType, let page, let size): | ||||
|         case .getSeriesList(let creatorId, let sortType, let isAdultContentVisible, let contentType, let page, let size): | ||||
|             let parameters = [ | ||||
|                 "creatorId": creatorId, | ||||
|                 "sortType": sortType, | ||||
|                 "isAdultContentVisible": isAdultContentVisible, | ||||
|                 "contentType": contentType, | ||||
|                 "page": page - 1, | ||||
|                 "size": size | ||||
|             ] as [String : Any] | ||||
|              | ||||
|             return .requestParameters(parameters: parameters, encoding: URLEncoding.queryString) | ||||
|              | ||||
|         case .getSeriesDetail: | ||||
|             return .requestPlain | ||||
|         case .getSeriesDetail(_, let isAdultContentVisible, let contentType): | ||||
|             let parameters = [ | ||||
|                 "isAdultContentVisible": isAdultContentVisible, | ||||
|                 "contentType": contentType | ||||
|             ] as [String : Any] | ||||
|              | ||||
|             return .requestParameters(parameters: parameters, encoding: URLEncoding.queryString) | ||||
|              | ||||
|         case .getRecommendSeriesList(let isAdultContentVisible, let contentType): | ||||
|             let parameters = [ | ||||
| @@ -66,8 +73,10 @@ extension SeriesApi: TargetType { | ||||
|              | ||||
|             return .requestParameters(parameters: parameters, encoding: URLEncoding.queryString) | ||||
|              | ||||
|         case .getSeriesContentList(_, let page, let size, let sortType): | ||||
|         case .getSeriesContentList(_, let isAdultContentVisible, let contentType, let page, let size, let sortType): | ||||
|             let parameters = [ | ||||
|                 "isAdultContentVisible": isAdultContentVisible, | ||||
|                 "contentType": contentType, | ||||
|                 "page": page - 1, | ||||
|                 "size": size, | ||||
|                 "sortType": sortType | ||||
|   | ||||
| @@ -14,15 +14,39 @@ class SeriesRepository { | ||||
|     private let api = MoyaProvider<SeriesApi>() | ||||
|      | ||||
|     func getSeriesList(creatorId: Int, sortType: SeriesListAllViewModel.SeriesSortType, page: Int, size: Int) -> AnyPublisher<Response, MoyaError> { | ||||
|         return api.requestPublisher(.getSeriesList(creatorId: creatorId, sortType: sortType, page: page, size: size)) | ||||
|         return api.requestPublisher( | ||||
|             .getSeriesList( | ||||
|                 creatorId: creatorId, | ||||
|                 sortType: sortType, | ||||
|                 isAdultContentVisible: UserDefaults.isAdultContentVisible(), | ||||
|                 contentType: ContentType(rawValue: UserDefaults.string(forKey: .contentPreference)) ?? ContentType.ALL, | ||||
|                 page: page, | ||||
|                 size: size | ||||
|             ) | ||||
|         ) | ||||
|     } | ||||
|      | ||||
|     func getSeriesDetail(seriesId: Int) -> AnyPublisher<Response, MoyaError> { | ||||
|         return api.requestPublisher(.getSeriesDetail(seriesId: seriesId)) | ||||
|         return api.requestPublisher( | ||||
|             .getSeriesDetail( | ||||
|                 seriesId: seriesId, | ||||
|                 isAdultContentVisible: UserDefaults.isAdultContentVisible(), | ||||
|                 contentType: ContentType(rawValue: UserDefaults.string(forKey: .contentPreference)) ?? ContentType.ALL | ||||
|             ) | ||||
|         ) | ||||
|     } | ||||
|      | ||||
|     func getSeriesContentList(seriesId: Int, page: Int, size: Int, sortType: SeriesListAllViewModel.SeriesSortType) -> AnyPublisher<Response, MoyaError> { | ||||
|         return api.requestPublisher(.getSeriesContentList(seriesId: seriesId, page: page, size: size, sortType: sortType)) | ||||
|         return api.requestPublisher( | ||||
|             .getSeriesContentList( | ||||
|                 seriesId: seriesId, | ||||
|                 isAdultContentVisible: UserDefaults.isAdultContentVisible(), | ||||
|                 contentType: ContentType(rawValue: UserDefaults.string(forKey: .contentPreference)) ?? ContentType.ALL, | ||||
|                 page: page,  | ||||
|                 size: size, | ||||
|                 sortType: sortType | ||||
|             ) | ||||
|         ) | ||||
|     } | ||||
|      | ||||
|     func getRecommendSeriesList() -> AnyPublisher<Response, MoyaError> { | ||||
|   | ||||
| @@ -12,7 +12,7 @@ enum ExplorerApi { | ||||
|     case getCreatorRank | ||||
|     case getExplorer | ||||
|     case searchChannel(channel: String) | ||||
|     case getCreatorProfile(userId: Int) | ||||
|     case getCreatorProfile(userId: Int, isAdultContentVisible: Bool) | ||||
|     case getFollowerList(userId: Int, page: Int, size: Int) | ||||
|     case getCreatorProfileCheers(userId: Int, page: Int, size: Int) | ||||
|     case writeCheers(parentCheersId: Int?, creatorId: Int, content: String) | ||||
| @@ -37,7 +37,7 @@ extension ExplorerApi: TargetType { | ||||
|         case .searchChannel: | ||||
|             return "/explorer/search/channel" | ||||
|              | ||||
|         case .getCreatorProfile(let userId): | ||||
|         case .getCreatorProfile(let userId, _): | ||||
|             return "/explorer/profile/\(userId)" | ||||
|              | ||||
|         case .getCreatorProfileDonationRanking(let userId, _, _): | ||||
| @@ -81,8 +81,8 @@ extension ExplorerApi: TargetType { | ||||
|         case .searchChannel(let channel): | ||||
|             return .requestParameters(parameters: ["channel" : channel], encoding: URLEncoding.queryString) | ||||
|              | ||||
|         case .getCreatorProfile: | ||||
|             let parameters = ["timezone": TimeZone.current.identifier] as [String: Any] | ||||
|         case .getCreatorProfile(_, let isAdultContentVisible): | ||||
|             let parameters = ["isAdultContentVisible": isAdultContentVisible, "timezone": TimeZone.current.identifier] as [String: Any] | ||||
|             return .requestParameters(parameters: parameters, encoding: URLEncoding.queryString) | ||||
|              | ||||
|         case .getFollowerList(_, let page, let size): | ||||
|   | ||||
| @@ -22,7 +22,12 @@ final class ExplorerRepository { | ||||
|     } | ||||
|      | ||||
|     func getCreatorProfile(id: Int) -> AnyPublisher<Response, MoyaError> { | ||||
|         return api.requestPublisher(.getCreatorProfile(userId: id)) | ||||
|         return api.requestPublisher( | ||||
|             .getCreatorProfile( | ||||
|                 userId: id, | ||||
|                 isAdultContentVisible: UserDefaults.isAdultContentVisible() | ||||
|             ) | ||||
|         ) | ||||
|     } | ||||
|      | ||||
|     func getFollowerList(userId: Int, page: Int, size: Int) -> AnyPublisher<Response, MoyaError> { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Yu Sung
					Yu Sung