크리에이터 채널 페이지 추가

This commit is contained in:
Yu Sung
2023-08-11 18:33:48 +09:00
parent a167840162
commit a8338e6fea
69 changed files with 4087 additions and 10 deletions

View File

@@ -0,0 +1,12 @@
//
// CreatorFollowRequest.swift
// SodaLive
//
// Created by klaus on 2023/08/11.
//
import Foundation
struct CreatorFollowRequest: Encodable {
let creatorId: Int
}

View File

@@ -20,6 +20,10 @@ enum UserApi {
case logoutAllDevice
case signOut(request: SignOutRequest)
case updatePushToken(request: PushTokenUpdateRequest)
case creatorFollow(request: CreatorFollowRequest)
case creatorUnFollow(request: CreatorFollowRequest)
case memberBlock(request: MemberBlockRequest)
case memberUnBlock(request: MemberBlockRequest)
}
extension UserApi: TargetType {
@@ -61,12 +65,24 @@ extension UserApi: TargetType {
case .updatePushToken:
return "/member/push-token/update"
case .creatorFollow:
return "/member/creator/follow"
case .creatorUnFollow:
return "/member/creator/unfollow"
case .memberBlock:
return "/member/block"
case .memberUnBlock:
return "/member/unblock"
}
}
var method: Moya.Method {
switch self {
case .login, .signUp, .findPassword, .notification, .logout, .logoutAllDevice, .signOut:
case .login, .signUp, .findPassword, .notification, .logout, .logoutAllDevice, .signOut, .creatorFollow, .creatorUnFollow, .memberBlock, .memberUnBlock:
return .post
case .searchUser, .getMypage, .getMemberInfo:
@@ -105,6 +121,18 @@ extension UserApi: TargetType {
case .updatePushToken(let request):
return .requestJSONEncodable(request)
case .creatorFollow(let request):
return .requestJSONEncodable(request)
case .creatorUnFollow(let request):
return .requestJSONEncodable(request)
case .memberBlock(let request):
return .requestJSONEncodable(request)
case .memberUnBlock(let request):
return .requestJSONEncodable(request)
}
}

View File

@@ -64,4 +64,20 @@ final class UserRepository {
func updatePushToken(pushToken: String) -> AnyPublisher<Response, MoyaError> {
return api.requestPublisher(.updatePushToken(request: PushTokenUpdateRequest(pushToken: pushToken)))
}
func creatorFollow(creatorId: Int) -> AnyPublisher<Response, MoyaError> {
return api.requestPublisher(.creatorFollow(request: CreatorFollowRequest(creatorId: creatorId)))
}
func creatorUnFollow(creatorId: Int) -> AnyPublisher<Response, MoyaError> {
return api.requestPublisher(.creatorUnFollow(request: CreatorFollowRequest(creatorId: creatorId)))
}
func memberBlock(userId: Int) -> AnyPublisher<Response, MoyaError> {
return api.requestPublisher(.memberBlock(request: MemberBlockRequest(blockMemberId: userId)))
}
func memberUnBlock(userId: Int) -> AnyPublisher<Response, MoyaError> {
return api.requestPublisher(.memberUnBlock(request: MemberBlockRequest(blockMemberId: userId)))
}
}