- 룰렛 돌리기 API 연동
- 룰렛 돌린 결과 전송
This commit is contained in:
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -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))
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -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"
|
||||
}
|
Reference in New Issue
Block a user