Skip to content

Commit

Permalink
Merge pull request #956 from wakmusic/954-remove-unnecessary-logic
Browse files Browse the repository at this point in the history
  • Loading branch information
KangTaeHoon authored Aug 2, 2024
2 parents 1425130 + d200c04 commit 8d0efe2
Show file tree
Hide file tree
Showing 5 changed files with 22 additions and 56 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ import UserDomainInterface
public protocol FruitDrawDependency: Dependency {
var fetchFruitDrawStatusUseCase: any FetchFruitDrawStatusUseCase { get }
var drawFruitUseCase: any DrawFruitUseCase { get }
var logoutUseCase: any LogoutUseCase { get }
var textPopUpFactory: any TextPopUpFactory { get }
}

Expand All @@ -18,8 +17,7 @@ public final class FruitDrawComponent: Component<FruitDrawDependency>, FruitDraw
return FruitDrawViewController(
viewModel: .init(
fetchFruitDrawStatusUseCase: dependency.fetchFruitDrawStatusUseCase,
drawFruitUseCase: dependency.drawFruitUseCase,
logoutUseCase: dependency.logoutUseCase
drawFruitUseCase: dependency.drawFruitUseCase
),
textPopUpFactory: dependency.textPopUpFactory,
delegate: delegate
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ import Utility
public final class FruitDrawViewModel: ViewModelType {
private let fetchFruitDrawStatusUseCase: FetchFruitDrawStatusUseCase
private let drawFruitUseCase: DrawFruitUseCase
private let logoutUseCase: LogoutUseCase
private let disposeBag = DisposeBag()

deinit {
Expand All @@ -20,12 +19,10 @@ public final class FruitDrawViewModel: ViewModelType {

public init(
fetchFruitDrawStatusUseCase: any FetchFruitDrawStatusUseCase,
drawFruitUseCase: any DrawFruitUseCase,
logoutUseCase: any LogoutUseCase
drawFruitUseCase: any DrawFruitUseCase
) {
self.fetchFruitDrawStatusUseCase = fetchFruitDrawStatusUseCase
self.drawFruitUseCase = drawFruitUseCase
self.logoutUseCase = logoutUseCase
}

public struct Input {
Expand All @@ -50,20 +47,13 @@ public final class FruitDrawViewModel: ViewModelType {
let output = Output()

input.fetchFruitDrawStatus
.flatMap { [fetchFruitDrawStatusUseCase, logoutUseCase] _ in
.flatMap { [fetchFruitDrawStatusUseCase] _ in
return fetchFruitDrawStatusUseCase.execute()
.asObservable()
.catch { error in
let wmError = error.asWMError
let message = wmError.errorDescription ?? error.localizedDescription
let message = error.asWMError.errorDescription ?? error.localizedDescription
output.occurredError.onNext(message)

if wmError == .tokenExpired {
return logoutUseCase.execute()
.andThen(.never())
} else {
return .never()
}
return .empty()
}
}
.do(onNext: { entity in
Expand All @@ -77,19 +67,13 @@ public final class FruitDrawViewModel: ViewModelType {
.disposed(by: disposeBag)

input.didTapFruitDraw
.flatMap { [drawFruitUseCase, logoutUseCase] _ in
.flatMap { [drawFruitUseCase] _ in
return drawFruitUseCase.execute()
.asObservable()
.catch { error in
let wmError = error.asWMError
let message = wmError.errorDescription ?? error.localizedDescription
let message = error.asWMError.errorDescription ?? error.localizedDescription
output.occurredError.onNext(message)

if wmError == .tokenExpired {
return logoutUseCase.execute()
.andThen(.never())
} else {
return .never()
}
return .empty()
}
}
.flatMap { [weak self] entity -> Observable<(FruitEntity, Data?)> in
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -134,11 +134,6 @@ public final class LyricHighlightingViewController: UIViewController {
)
}

override public func viewDidDisappear(_ animated: Bool) {
super.viewDidDisappear(animated)
navigationController?.interactivePopGestureRecognizer?.delegate = nil
}

override public func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
if dimmedLayer == nil {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,7 @@ private extension IntroViewController {
case let .failure(error):
owner.showBottomSheet(
content: owner.textPopUpFactory.makeView(
text: error.asWMError.errorDescription ?? "",
text: error.asWMError.errorDescription ?? error.localizedDescription,
cancelButtonIsHidden: true,
confirmButtonText: nil,
cancelButtonText: nil,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,32 +11,31 @@ import AuthDomainInterface
import BaseFeature
import ErrorModule
import Foundation
import KeychainModule
import LogManager
import RxCocoa
import RxSwift
import UserDomainInterface
import Utility

public final class IntroViewModel: ViewModelType {
var fetchUserInfoUseCase: FetchUserInfoUseCase
var fetchAppCheckUseCase: FetchAppCheckUseCase
private let fetchUserInfoUseCase: FetchUserInfoUseCase
private let fetchAppCheckUseCase: FetchAppCheckUseCase
private let logoutUseCase: any LogoutUseCase
private let checkIsExistAccessTokenUseCase: any CheckIsExistAccessTokenUseCase
var disposeBag = DisposeBag()
private let disposeBag = DisposeBag()

public struct Input {
var fetchPermissionCheck: PublishSubject<Void> = PublishSubject()
var fetchAppCheck: PublishSubject<Void> = PublishSubject()
var fetchUserInfoCheck: PublishSubject<Void> = PublishSubject()
var endedLottieAnimation: PublishSubject<Void> = PublishSubject()
let fetchPermissionCheck: PublishSubject<Void> = PublishSubject()
let fetchAppCheck: PublishSubject<Void> = PublishSubject()
let fetchUserInfoCheck: PublishSubject<Void> = PublishSubject()
let endedLottieAnimation: PublishSubject<Void> = PublishSubject()
}

public struct Output {
var permissionResult: PublishSubject<Bool?> = PublishSubject()
var appInfoResult: PublishSubject<Result<AppCheckEntity, Error>> = PublishSubject()
var userInfoResult: PublishSubject<Result<String, Error>> = PublishSubject()
var endedLottieAnimation: PublishSubject<Void> = PublishSubject()
let permissionResult: PublishSubject<Bool?> = PublishSubject()
let appInfoResult: PublishSubject<Result<AppCheckEntity, Error>> = PublishSubject()
let userInfoResult: PublishSubject<Result<String, Error>> = PublishSubject()
let endedLottieAnimation: PublishSubject<Void> = PublishSubject()
}

public init(
Expand All @@ -49,7 +48,6 @@ public final class IntroViewModel: ViewModelType {
self.fetchAppCheckUseCase = fetchAppCheckUseCase
self.logoutUseCase = logoutUseCase
self.checkIsExistAccessTokenUseCase = checkIsExistAccessTokenUseCase
LogManager.printDebug("\(Self.self) 생성")
}

public func transform(from input: Input) -> Output {
Expand Down Expand Up @@ -140,16 +138,7 @@ public final class IntroViewModel: ViewModelType {
)
output.userInfoResult.onNext(.success(""))
},
onError: { [logoutUseCase, disposeBag] error in
let asWMError = error.asWMError
if asWMError == .tokenExpired || asWMError == .notFound {
logoutUseCase.execute()
.andThen(Observable.just(()))
.bind {
Utility.PreferenceManager.startPage = 4
}
.disposed(by: disposeBag)
}
onError: { error in
output.userInfoResult.onNext(.failure(error))
}
)
Expand Down

0 comments on commit 8d0efe2

Please sign in to comment.