- 룰렛 돌리기 API 연동

- 룰렛 돌린 결과 전송
This commit is contained in:
Yu Sung
2023-12-07 04:29:03 +09:00
parent 5682adf967
commit 0af16ac000
8 changed files with 333 additions and 3 deletions

View File

@@ -11,6 +11,8 @@ import Moya
enum RouletteApi {
case getRoulette(creatorId: Int)
case createOrUpdateRoulette(request: CreateOrUpdateRouletteRequest)
case spinRoulette(request: SpinRouletteRequest)
case refundRouletteDonation(roomId: Int)
}
extension RouletteApi: TargetType {
@@ -22,6 +24,12 @@ extension RouletteApi: TargetType {
switch self {
case .getRoulette, .createOrUpdateRoulette:
return "/roulette"
case .spinRoulette:
return "/roulette/spin"
case .refundRouletteDonation(let roomId):
return "/roulette/refund/\(roomId)"
}
}
@@ -30,7 +38,7 @@ extension RouletteApi: TargetType {
case .getRoulette:
return .get
case .createOrUpdateRoulette:
case .createOrUpdateRoulette, .spinRoulette, .refundRouletteDonation:
return .post
}
}
@@ -49,6 +57,12 @@ extension RouletteApi: TargetType {
case .createOrUpdateRoulette(let request):
return .requestJSONEncodable(request)
case .spinRoulette(let request):
return .requestJSONEncodable(request)
case .refundRouletteDonation:
return .requestPlain
}
}

View File

@@ -20,5 +20,13 @@ final class RouletteRepository {
func createOrUpdateRoulette(request: CreateOrUpdateRouletteRequest) -> AnyPublisher<Response, MoyaError> {
return api.requestPublisher(.createOrUpdateRoulette(request: request))
}
func spinRoulette(request: SpinRouletteRequest) -> AnyPublisher<Response, MoyaError> {
return api.requestPublisher(.spinRoulette(request: request))
}
func refundRouletteDonation(roomId: Int) -> AnyPublisher<Response, MoyaError> {
return api.requestPublisher(.refundRouletteDonation(roomId: roomId))
}
}

View File

@@ -0,0 +1,13 @@
//
// SpinRouletteRequest.swift
// SodaLive
//
// Created by klaus on 2023/12/07.
//
import Foundation
struct SpinRouletteRequest: Encodable {
let roomId: Int
let container: String = "ios"
}