Skip to content

Commit

Permalink
IOS-2548 Remove LoginFlowCoordinatorAssembly & LoginViewModuleAssembly
Browse files Browse the repository at this point in the history
  • Loading branch information
ignatovv committed Apr 8, 2024
1 parent f9c1b25 commit 0fb5c3b
Show file tree
Hide file tree
Showing 12 changed files with 25 additions and 131 deletions.
8 changes: 0 additions & 8 deletions Anytype.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -902,10 +902,8 @@
2E0A57BA2A3C7C6800359110 /* UsecaseService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E0A57B92A3C7C6800359110 /* UsecaseService.swift */; };
2E0A6CD12A376B4600A28AF2 /* LoginView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E0A6CD02A376B4600A28AF2 /* LoginView.swift */; };
2E0A6CD32A376E4400A28AF2 /* LoginViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E0A6CD22A376E4400A28AF2 /* LoginViewModel.swift */; };
2E0A6CD52A376F1300A28AF2 /* LoginViewModuleAssembly.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E0A6CD42A376F1300A28AF2 /* LoginViewModuleAssembly.swift */; };
2E0A6CD72A3773B800A28AF2 /* LoginFlowCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E0A6CD62A3773B800A28AF2 /* LoginFlowCoordinator.swift */; };
2E0A6CD92A3773F200A28AF2 /* LoginFlowOutput.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E0A6CD82A3773F200A28AF2 /* LoginFlowOutput.swift */; };
2E0A6CDB2A3775D900A28AF2 /* LoginFlowCoordinatorAssembly.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E0A6CDA2A3775D900A28AF2 /* LoginFlowCoordinatorAssembly.swift */; };
2E0A7D312BAC9F1800577AD6 /* ObjectImportType+Loc.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E0A7D302BAC9F1800577AD6 /* ObjectImportType+Loc.swift */; };
2E0A7D332BB1FC0C00577AD6 /* FileDetails+Analytics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E0A7D322BB1FC0C00577AD6 /* FileDetails+Analytics.swift */; };
2E0B0D672B753B2A00ECC37F /* WalletRecoveryError+Localize.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E0B0D662B753B2A00ECC37F /* WalletRecoveryError+Localize.swift */; };
Expand Down Expand Up @@ -2694,10 +2692,8 @@
2E0A57B92A3C7C6800359110 /* UsecaseService.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UsecaseService.swift; sourceTree = "<group>"; };
2E0A6CD02A376B4600A28AF2 /* LoginView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoginView.swift; sourceTree = "<group>"; };
2E0A6CD22A376E4400A28AF2 /* LoginViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoginViewModel.swift; sourceTree = "<group>"; };
2E0A6CD42A376F1300A28AF2 /* LoginViewModuleAssembly.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoginViewModuleAssembly.swift; sourceTree = "<group>"; };
2E0A6CD62A3773B800A28AF2 /* LoginFlowCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoginFlowCoordinator.swift; sourceTree = "<group>"; };
2E0A6CD82A3773F200A28AF2 /* LoginFlowOutput.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoginFlowOutput.swift; sourceTree = "<group>"; };
2E0A6CDA2A3775D900A28AF2 /* LoginFlowCoordinatorAssembly.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoginFlowCoordinatorAssembly.swift; sourceTree = "<group>"; };
2E0A7D302BAC9F1800577AD6 /* ObjectImportType+Loc.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ObjectImportType+Loc.swift"; sourceTree = "<group>"; };
2E0A7D322BB1FC0C00577AD6 /* FileDetails+Analytics.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "FileDetails+Analytics.swift"; sourceTree = "<group>"; };
2E0B0D662B753B2A00ECC37F /* WalletRecoveryError+Localize.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "WalletRecoveryError+Localize.swift"; sourceTree = "<group>"; };
Expand Down Expand Up @@ -7204,10 +7200,8 @@
children = (
2E0A6CD02A376B4600A28AF2 /* LoginView.swift */,
2E0A6CD22A376E4400A28AF2 /* LoginViewModel.swift */,
2E0A6CD42A376F1300A28AF2 /* LoginViewModuleAssembly.swift */,
2E0A6CD62A3773B800A28AF2 /* LoginFlowCoordinator.swift */,
2E0A6CD82A3773F200A28AF2 /* LoginFlowOutput.swift */,
2E0A6CDA2A3775D900A28AF2 /* LoginFlowCoordinatorAssembly.swift */,
2EC7FB9E2A5EF7FD00491F99 /* LoginLoadingRoute.swift */,
);
path = LoginFlow;
Expand Down Expand Up @@ -10936,7 +10930,6 @@
12AF69142656AB7D00C0BA99 /* UIImageViewExtensions.swift in Sources */,
2E2A22FB2A9E449A00745D78 /* SetLayoutSettingsViewAssembly.swift in Sources */,
12E15B89270B2FAE0055EA01 /* BlockActionHandlerProtocol.swift in Sources */,
2E0A6CDB2A3775D900A28AF2 /* LoginFlowCoordinatorAssembly.swift in Sources */,
2E2A23002A9E463700745D78 /* SetLayoutSettingsCoordinatorViewModel.swift in Sources */,
3D4507BF2B9B3DE400739EFC /* MembershipNameSheetViewModel.swift in Sources */,
C9F0A47D28057D8F00FA16DD /* TextIconPickerViewModel.swift in Sources */,
Expand Down Expand Up @@ -12242,7 +12235,6 @@
3D4507BC2B9B398A00739EFC /* MembershipNameSheetView.swift in Sources */,
2A673C1929B0D7CD00E3D672 /* SettingsAccountViewModel.swift in Sources */,
3D68564D26E10D2500AA36A9 /* View+Placeholder.swift in Sources */,
2E0A6CD52A376F1300A28AF2 /* LoginViewModuleAssembly.swift in Sources */,
C9C0A99E274FB04E0002FA30 /* EditorPageBlocksStateManager.swift in Sources */,
C96B6CA127B0F8DE00C453EB /* SpacerBlockViewModel.swift in Sources */,
12A52E2726CAA166000F0333 /* ViewAnimator.swift in Sources */,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,17 +69,13 @@ final class CoordinatorsDI: CoordinatorsDIProtocol {
}

func authorization() -> AuthCoordinatorAssemblyProtocol {
return AuthCoordinatorAssembly(modulesDI: modulesDI, coordinatorsID: self, uiHelpersDI: uiHelpersDI)
return AuthCoordinatorAssembly(coordinatorsID: self, uiHelpersDI: uiHelpersDI)
}

func joinFlow() -> JoinFlowCoordinatorAssemblyProtocol {
return JoinFlowCoordinatorAssembly(modulesDI: modulesDI)
}

func loginFlow() -> LoginFlowCoordinatorAssemblyProtocol {
return LoginFlowCoordinatorAssembly(modulesDI: modulesDI, uiHelpersDI: uiHelpersDI)
}

func spaceSettings() -> SpaceSettingsCoordinatorAssemblyProtocol {
return SpaceSettingsCoordinatorAssembly(modulesDI: modulesDI, serviceLocator: serviceLocator, uiHelpersDI: uiHelpersDI, coordinatorsDI: self)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ protocol CoordinatorsDIProtocol: AnyObject {
func settings() -> SettingsCoordinatorAssemblyProtocol
func authorization() -> AuthCoordinatorAssemblyProtocol
func joinFlow() -> JoinFlowCoordinatorAssemblyProtocol
func loginFlow() -> LoginFlowCoordinatorAssemblyProtocol
func spaceSettings() -> SpaceSettingsCoordinatorAssemblyProtocol
func setViewSettings() -> SetViewSettingsCoordinatorAssemblyProtocol
func setSortsList() -> SetSortsListCoordinatorAssemblyProtocol
Expand Down
4 changes: 0 additions & 4 deletions Anytype/Sources/PresentationLayer/Assemblies/ModulesDI.swift
Original file line number Diff line number Diff line change
Expand Up @@ -82,10 +82,6 @@ final class ModulesDI: ModulesDIProtocol {
return JoinFlowModuleAssembly(serviceLocator: serviceLocator)
}

func login() -> LoginViewModuleAssemblyProtocol {
return LoginViewModuleAssembly(serviceLocator: serviceLocator)
}

func authKey() -> KeyPhraseViewModuleAssemblyProtocol {
return KeyPhraseViewModuleAssembly(uiHelpersDI: uiHelpersDI)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ protocol ModulesDIProtocol: AnyObject {
func settingsAppearance() -> SettingsAppearanceModuleAssemblyProtocol
func dashboardAlerts() -> DashboardAlertsAssemblyProtocol
func joinFlow() -> JoinFlowModuleAssemblyProtocol
func login() -> LoginViewModuleAssemblyProtocol
func authKey() -> KeyPhraseViewModuleAssemblyProtocol
func authKeyMoreInfo() -> KeyPhraseMoreInfoViewModuleAssembly
func authSoul() -> SoulViewModuleAssemblyProtocol
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,13 @@ final class AuthCoordinatorAssembly: AuthCoordinatorAssemblyProtocol {

// MARK: - DI

private let modulesDI: ModulesDIProtocol
private let coordinatorsID: CoordinatorsDIProtocol
private let uiHelpersDI: UIHelpersDIProtocol

init(
modulesDI: ModulesDIProtocol,
coordinatorsID: CoordinatorsDIProtocol,
uiHelpersDI: UIHelpersDIProtocol
) {
self.modulesDI = modulesDI
self.coordinatorsID = coordinatorsID
self.uiHelpersDI = uiHelpersDI
}
Expand All @@ -29,7 +26,7 @@ final class AuthCoordinatorAssembly: AuthCoordinatorAssemblyProtocol {
func make() -> AuthCoordinatorProtocol {
return AuthCoordinator(
joinFlowCoordinator: coordinatorsID.joinFlow().make(),
loginFlowCoordinator: coordinatorsID.loginFlow().make(),
loginFlowCoordinator: LoginFlowCoordinator(),
urlOpener: uiHelpersDI.urlOpener()
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,20 +8,11 @@ protocol LoginFlowCoordinatorProtocol {
@MainActor
final class LoginFlowCoordinator: LoginFlowCoordinatorProtocol, LoginFlowOutput {

// MARK: - DI

private let loginViewModuleAssembly: LoginViewModuleAssemblyProtocol

init(
loginViewModuleAssembly: LoginViewModuleAssemblyProtocol
) {
self.loginViewModuleAssembly = loginViewModuleAssembly
}

// MARK: - LoginFlowCoordinatorProtocol

func startFlow() -> AnyView {
loginViewModuleAssembly.make(output: self)
LoginView(output: self).eraseToAnyView()
}

func onSettingsAction() {
Expand Down

This file was deleted.

18 changes: 6 additions & 12 deletions Anytype/Sources/PresentationLayer/Auth/LoginFlow/LoginView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,13 @@ import SwiftUI

struct LoginView: View {

@StateObject var model: LoginViewModel
@StateObject private var model: LoginViewModel
@Environment(\.presentationMode) @Binding private var presentationMode

init(output: LoginFlowOutput?) {
_model = StateObject(wrappedValue: LoginViewModel(output: output))
}

var body: some View {
content
.navigationBarBackButtonHidden(true)
Expand Down Expand Up @@ -119,16 +123,6 @@ struct LoginView: View {

struct LoginView_Previews : PreviewProvider {
static var previews: some View {
LoginView(
model: LoginViewModel(
authService: DI.preview.serviceLocator.authService(),
seedService: DI.preview.serviceLocator.seedService(),
localAuthService: DI.preview.serviceLocator.localAuthService(),
cameraPermissionVerifier: DI.preview.serviceLocator.cameraPermissionVerifier(),
accountEventHandler: DI.preview.serviceLocator.accountEventHandler(),
applicationStateService: DI.preview.serviceLocator.applicationStateService(),
output: nil
)
)
LoginView(output: nil)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -36,34 +36,25 @@ final class LoginViewModel: ObservableObject {
loadingRoute.isQRInProgress || loadingRoute.isLoginInProgress
}

let canRestoreFromKeychain: Bool

private let authService: AuthServiceProtocol
private let seedService: SeedServiceProtocol
private let localAuthService: LocalAuthServiceProtocol
private let cameraPermissionVerifier: CameraPermissionVerifierProtocol
private let accountEventHandler: AccountEventHandlerProtocol
private let applicationStateService: ApplicationStateServiceProtocol
lazy var canRestoreFromKeychain = (try? seedService.obtainSeed()).isNotNil

@Injected(\.authService)
private var authService: AuthServiceProtocol
@Injected(\.seedService)
private var seedService: SeedServiceProtocol
@Injected(\.localAuthService)
private var localAuthService: LocalAuthServiceProtocol
@Injected(\.cameraPermissionVerifier)
private var cameraPermissionVerifier: CameraPermissionVerifierProtocol
@Injected(\.accountEventHandler)
private var accountEventHandler: AccountEventHandlerProtocol
@Injected(\.applicationStateService)
private var applicationStateService: ApplicationStateServiceProtocol
private weak var output: LoginFlowOutput?

private var subscriptions = [AnyCancellable]()

init(
authService: AuthServiceProtocol,
seedService: SeedServiceProtocol,
localAuthService: LocalAuthServiceProtocol,
cameraPermissionVerifier: CameraPermissionVerifierProtocol,
accountEventHandler: AccountEventHandlerProtocol,
applicationStateService: ApplicationStateServiceProtocol,
output: LoginFlowOutput?
) {
self.authService = authService
self.seedService = seedService
self.localAuthService = localAuthService
self.cameraPermissionVerifier = cameraPermissionVerifier
self.canRestoreFromKeychain = (try? seedService.obtainSeed()).isNotNil
self.accountEventHandler = accountEventHandler
self.applicationStateService = applicationStateService
init(output: LoginFlowOutput?) {
self.output = output

self.handleAccountShowEvent()
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import SwiftUI

struct ServerDocumentPickerView: View {

@StateObject var model = ServerDocumentPickerViewModel()
@StateObject private var model = ServerDocumentPickerViewModel()

var body: some View {
DocumentPicker(contentTypes: [.yaml]) { url in
Expand Down

0 comments on commit 0fb5c3b

Please sign in to comment.