라이브 방 추가

This commit is contained in:
Yu Sung
2023-08-15 01:22:15 +09:00
parent 634f50d4f2
commit 0f8b740469
92 changed files with 5213 additions and 20 deletions

View File

@@ -23,6 +23,19 @@ enum LiveApi {
case startLive(request: StartLiveRequest)
case cancelRoom(request: CancelLiveRequest)
case editLiveRoomInfo(roomId: Int, parameters: [MultipartFormData])
case quitRoom(roomId: Int)
case getRoomInfo(roomId: Int)
case donation(request: LiveRoomDonationRequest)
case refundDonation(roomId: Int)
case setListener(request: SetManagerOrSpeakerOrAudienceRequest)
case setSpeaker(request: SetManagerOrSpeakerOrAudienceRequest)
case setManager(request: SetManagerOrSpeakerOrAudienceRequest)
case kickOut(request: LiveRoomKickOutRequest)
case donationStatus(roomId: Int)
case donationTotal(roomId: Int)
case getDonationMessageList(roomId: Int)
case deleteDonationMessage(roomId: Int, messageUUID: String)
case getUserProfile(roomId: Int, userId: Int)
}
extension LiveApi: TargetType {
@@ -73,19 +86,61 @@ extension LiveApi: TargetType {
case .editLiveRoomInfo(let roomId, _):
return "/live/room/\(roomId)"
case .quitRoom:
return "/live/room/quit"
case .getRoomInfo(let roomId):
return "/live/room/info/\(roomId)"
case .donation:
return "/live/room/donation"
case .refundDonation(let roomId):
return "/live/room/donation/refund/\(roomId)"
case .setListener:
return "/live/room/info/set/listener"
case .setSpeaker:
return "/live/room/info/set/speaker"
case .setManager:
return "/live/room/info/set/manager"
case .kickOut:
return "/live/room/kick-out"
case .donationStatus(let roomId):
return "/live/room/\(roomId)/donation-list"
case .donationTotal(let roomId):
return "/live/room/\(roomId)/donation-total"
case .getDonationMessageList:
return "/live/room/donation-message"
case .deleteDonationMessage:
return "/live/room/donation-message"
case .getUserProfile(let roomId, let userId):
return "/live/room/\(roomId)/profile/\(userId)"
}
}
var method: Moya.Method {
switch self {
case .roomList, .recentVisitRoomUsers, .getReservations, .getReservation, .getRoomDetail, .getTags, .getRecentRoomInfo:
case .roomList, .recentVisitRoomUsers, .getReservations, .getReservation, .getRoomDetail, .getTags, .getRecentRoomInfo, .getRoomInfo, .donationStatus, .donationTotal, .getDonationMessageList, .getUserProfile:
return .get
case .makeReservation, .enterRoom, .createRoom:
case .makeReservation, .enterRoom, .createRoom, .quitRoom, .donation, .refundDonation, .kickOut:
return .post
case .cancelReservation, .startLive, .cancelRoom, .editLiveRoomInfo:
case .setListener, .setSpeaker, .setManager, .cancelReservation, .startLive, .cancelRoom, .editLiveRoomInfo:
return .put
case .deleteDonationMessage:
return .delete
}
}
@@ -107,7 +162,7 @@ extension LiveApi: TargetType {
parameters: parameters,
encoding: URLEncoding.queryString)
case .recentVisitRoomUsers, .getTags, .getRecentRoomInfo:
case .recentVisitRoomUsers, .getTags, .getRecentRoomInfo, .getRoomInfo, .refundDonation, .donationStatus, .donationTotal, .getUserProfile:
return .requestPlain
case .getReservations(let isActive):
@@ -153,6 +208,24 @@ extension LiveApi: TargetType {
case .editLiveRoomInfo(_, let parameters):
return .uploadMultipart(parameters)
case .quitRoom(let roomId):
return .requestParameters(parameters: ["id": roomId], encoding: URLEncoding.queryString)
case .donation(let request):
return .requestJSONEncodable(request)
case .setListener(let request), .setSpeaker(let request), .setManager(let request):
return .requestJSONEncodable(request)
case .kickOut(let request):
return .requestJSONEncodable(request)
case .getDonationMessageList(let roomId):
return .requestParameters(parameters: ["roomId": roomId], encoding: URLEncoding.queryString)
case .deleteDonationMessage(let roomId, let messageUUID):
return .requestJSONEncodable(DeleteLiveRoomDonationMessage(roomId: roomId, messageUUID: messageUUID))
}
}