diff --git a/Weekand/Weekand/Domain/UseCase/Sign/SignInUseCase.swift b/Weekand/Weekand/Domain/UseCase/Sign/SignInUseCase.swift index 90ac5d23..dbf119fc 100644 --- a/Weekand/Weekand/Domain/UseCase/Sign/SignInUseCase.swift +++ b/Weekand/Weekand/Domain/UseCase/Sign/SignInUseCase.swift @@ -29,4 +29,16 @@ final class SignInUseCase { } .asSingle() } + + func userID() -> Single { + return NetWork.shared.fetch(query: UserSummaryQuery()) + .map { + if let user = $0.user { + return user.id + } else { + return UserSummary.defaultData.name + } + } + .asSingle() + } } diff --git a/Weekand/Weekand/Presentation/SignScene/SignIn/ViewModel/SignInViewModel.swift b/Weekand/Weekand/Presentation/SignScene/SignIn/ViewModel/SignInViewModel.swift index 363cff10..679754ca 100644 --- a/Weekand/Weekand/Presentation/SignScene/SignIn/ViewModel/SignInViewModel.swift +++ b/Weekand/Weekand/Presentation/SignScene/SignIn/ViewModel/SignInViewModel.swift @@ -75,6 +75,16 @@ extension SignInViewModel { self.signInUseCase.login(email: emailText, password: passwordText).subscribe(onSuccess: { tokenData in UserDataStorage.shared.setAccessToken(token: tokenData.accessToken) + self.userID() + }, onFailure: { _ in + self.coordinator?.showToastMessage() + }, onDisposed: nil) + .disposed(by: disposeBag) + } + + private func userID() { + self.signInUseCase.userID().subscribe(onSuccess: { id in + UserDataStorage.shared.setUserID(id: id) self.coordinator?.showMainScene() }, onFailure: { _ in self.coordinator?.showToastMessage()