프로필 변경 페이지 추가

This commit is contained in:
Yu Sung
2023-08-19 17:01:35 +09:00
parent c89beb91f5
commit aa66951cb4
25 changed files with 1579 additions and 6 deletions

View File

@@ -24,6 +24,12 @@ enum UserApi {
case creatorUnFollow(request: CreatorFollowRequest)
case memberBlock(request: MemberBlockRequest)
case memberUnBlock(request: MemberBlockRequest)
case getMyProfile
case profileImageUpdate(parameter: MultipartFormData)
case profileUpdate(request: ProfileUpdateRequest)
case getChangeNicknamePrice
case checkNickname(nickname: String)
case changeNickname(request: ProfileUpdateRequest)
}
extension UserApi: TargetType {
@@ -77,18 +83,34 @@ extension UserApi: TargetType {
case .memberUnBlock:
return "/member/unblock"
case .getMyProfile, .profileUpdate:
return "/member"
case .profileImageUpdate:
return "/member/image"
case .getChangeNicknamePrice:
return "/member/change/nickname/price"
case .checkNickname:
return "/member/check/nickname"
case .changeNickname:
return "/member/change/nickname"
}
}
var method: Moya.Method {
switch self {
case .login, .signUp, .findPassword, .notification, .logout, .logoutAllDevice, .signOut, .creatorFollow, .creatorUnFollow, .memberBlock, .memberUnBlock:
case .login, .signUp, .findPassword, .notification, .logout, .logoutAllDevice, .signOut, .creatorFollow, .creatorUnFollow, .memberBlock, .memberUnBlock,
.profileImageUpdate:
return .post
case .searchUser, .getMypage, .getMemberInfo:
case .searchUser, .getMypage, .getMemberInfo, .getMyProfile, .getChangeNicknamePrice, .checkNickname:
return .get
case .updatePushToken:
case .updatePushToken, .profileUpdate, .changeNickname:
return .put
}
}
@@ -107,10 +129,10 @@ extension UserApi: TargetType {
case .searchUser(let nickname):
return .requestParameters(parameters: ["nickname" : nickname], encoding: URLEncoding.queryString)
case .getMypage:
case .getMypage, .getMyProfile:
return .requestParameters(parameters: ["container" : "ios"], encoding: URLEncoding.queryString)
case .getMemberInfo, .logout, .logoutAllDevice:
case .getMemberInfo, .logout, .logoutAllDevice, .getChangeNicknamePrice:
return .requestPlain
case .notification(let request):
@@ -133,6 +155,18 @@ extension UserApi: TargetType {
case .memberUnBlock(let request):
return .requestJSONEncodable(request)
case .profileImageUpdate(let parameter):
return .uploadMultipart([parameter])
case .profileUpdate(let request):
return .requestJSONEncodable(request)
case .checkNickname(let nickname):
return .requestParameters(parameters: ["nickname" : nickname], encoding: URLEncoding.queryString)
case .changeNickname(let request):
return .requestJSONEncodable(request)
}
}

View File

@@ -84,4 +84,28 @@ final class UserRepository {
func memberUnBlock(userId: Int) -> AnyPublisher<Response, MoyaError> {
return api.requestPublisher(.memberUnBlock(request: MemberBlockRequest(blockMemberId: userId)))
}
func getMyProfile() -> AnyPublisher<Response, MoyaError> {
return api.requestPublisher(.getMyProfile)
}
func profileImageUpdate(parameter: MultipartFormData) -> AnyPublisher<Response, MoyaError> {
return api.requestPublisher(.profileImageUpdate(parameter: parameter))
}
func profileUpdate(request: ProfileUpdateRequest) -> AnyPublisher<Response, MoyaError> {
return api.requestPublisher(.profileUpdate(request: request))
}
func getChangeNicknamePrice() -> AnyPublisher<Response, MoyaError> {
return api.requestPublisher(.getChangeNicknamePrice)
}
func checkNickname(nickname: String) -> AnyPublisher<Response, MoyaError> {
return api.requestPublisher(.checkNickname(nickname: nickname))
}
func changeNickname(request: ProfileUpdateRequest) -> AnyPublisher<Response, MoyaError> {
return api.requestPublisher(.changeNickname(request: request))
}
}