룰렛 프리셋 설정 성공 메시지 수정

This commit is contained in:
Yu Sung
2024-02-24 03:57:45 +09:00
parent fec66fea56
commit 0584b17b76
4 changed files with 35 additions and 14 deletions

View File

@@ -148,7 +148,7 @@ final class RouletteSettingsViewModel: ObservableObject {
isShowPreview = true
}
func createOrUpdateRoulette(onSuccess: @escaping (Bool) -> Void) {
func createOrUpdateRoulette(onSuccess: @escaping (Bool, String) -> Void) {
if !isLoading {
isLoading = true
@@ -160,7 +160,7 @@ final class RouletteSettingsViewModel: ObservableObject {
}
}
private func createRoulette(onSuccess: @escaping (Bool) -> Void) {
private func createRoulette(onSuccess: @escaping (Bool, String) -> Void) {
var items = [RouletteItem]()
for option in options {
if option.title.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty {
@@ -173,6 +173,26 @@ final class RouletteSettingsViewModel: ObservableObject {
items.append(RouletteItem(title: option.title, weight: option.weight))
}
let selectedRouletteTitle: String
let successMessage: String
switch (self.selectedRoulette) {
case .ROULETTE_2:
selectedRouletteTitle = "룰렛 2"
case .ROULETTE_3:
selectedRouletteTitle = "룰렛 3"
default:
selectedRouletteTitle = "룰렛 1"
}
if isActive {
successMessage = "\(selectedRouletteTitle)을 활성화 했습니다."
} else {
successMessage = "\(selectedRouletteTitle)을 비활성화 했습니다."
}
let request = CreateRouletteRequest(can: can, isActive: isActive, items: items)
repository.createRoulette(request: request)
.sink { result in
@@ -191,7 +211,7 @@ final class RouletteSettingsViewModel: ObservableObject {
let decoded = try jsonDecoder.decode(ApiResponseWithoutData.self, from: responseData)
if decoded.success {
onSuccess(isActive)
onSuccess(isActive, successMessage)
} else {
self.errorMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다."
self.isShowErrorPopup = true
@@ -204,7 +224,7 @@ final class RouletteSettingsViewModel: ObservableObject {
.store(in: &subscription)
}
private func updateRoulette(onSuccess: @escaping (Bool) -> Void) {
private func updateRoulette(onSuccess: @escaping (Bool, String) -> Void) {
var items = [RouletteItem]()
for option in options {
if option.title.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty {
@@ -263,9 +283,7 @@ final class RouletteSettingsViewModel: ObservableObject {
let decoded = try jsonDecoder.decode(ApiResponseWithoutData.self, from: responseData)
if decoded.success {
self.errorMessage = successMessage
self.isShowErrorPopup = true
onSuccess(isActive)
onSuccess(isActive, successMessage)
} else {
self.errorMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다."
self.isShowErrorPopup = true