From ebee2ddcc04ad5a4579bfee2110725e51d0dc278 Mon Sep 17 00:00:00 2001 From: Javier Cicchelli Date: Mon, 12 Dec 2022 23:06:56 +0100 Subject: [PATCH] Moved the GetUserUseCase use case to the UseCases target for the Libraries package. --- .../UseCases}/Use Cases/GetUserUseCase.swift | 33 ++++++++----------- .../Login/Logic/Defines/Typealiases.swift | 11 ------- 2 files changed, 14 insertions(+), 30 deletions(-) rename {Modules/Sources/Login/Logic => Libraries/Sources/UseCases}/Use Cases/GetUserUseCase.swift (50%) delete mode 100644 Modules/Sources/Login/Logic/Defines/Typealiases.swift diff --git a/Modules/Sources/Login/Logic/Use Cases/GetUserUseCase.swift b/Libraries/Sources/UseCases/Use Cases/GetUserUseCase.swift similarity index 50% rename from Modules/Sources/Login/Logic/Use Cases/GetUserUseCase.swift rename to Libraries/Sources/UseCases/Use Cases/GetUserUseCase.swift index f49fa92..e06aeae 100644 --- a/Modules/Sources/Login/Logic/Use Cases/GetUserUseCase.swift +++ b/Libraries/Sources/UseCases/Use Cases/GetUserUseCase.swift @@ -7,25 +7,26 @@ // import APIService +import DataModels import DependencyInjection import Dependencies -struct GetUserUseCase { +public struct GetUserUseCase { // MARK: Dependencies @Dependency(\.apiService) private var apiService - // MARK: Properties + // MARK: Initialisers - let authenticated: AuthenticatedClosure + public init() {} // MARK: Functions - func callAsFunction( + public func callAsFunction( username: String, password: String - ) async throws { + ) async throws -> User { let me = try await apiService.getUser( credentials: .init( username: username, @@ -33,21 +34,15 @@ struct GetUserUseCase { ) ) - authenticated( - .init( - username: username, - password: password + return .init( + profile: .init( + firstName: me.firstName, + lastName: me.lastName ), - .init( - profile: .init( - firstName: me.firstName, - lastName: me.lastName - ), - rootFolder: .init( - id: me.rootItem.id, - name: me.rootItem.name, - lastModifiedAt: me.rootItem.lastModifiedAt - ) + rootFolder: .init( + id: me.rootItem.id, + name: me.rootItem.name, + lastModifiedAt: me.rootItem.lastModifiedAt ) ) } diff --git a/Modules/Sources/Login/Logic/Defines/Typealiases.swift b/Modules/Sources/Login/Logic/Defines/Typealiases.swift deleted file mode 100644 index b65b046..0000000 --- a/Modules/Sources/Login/Logic/Defines/Typealiases.swift +++ /dev/null @@ -1,11 +0,0 @@ -// -// Typealiases.swift -// Login -// -// Created by Javier Cicchelli on 12/12/2022. -// Copyright © 2022 Röck+Cöde. All rights reserved. -// - -import DataModels - -public typealias AuthenticatedClosure = (Account, User) -> Void