// // GetUserUseCase.swift // Login // // Created by Javier Cicchelli on 12/12/2022. // Copyright © 2022 Röck+Cöde. All rights reserved. // import APIService import DependencyInjection import Dependencies struct GetUserUseCase { // MARK: Dependencies @Dependency(\.apiService) private var apiService // MARK: Properties let authenticated: AuthenticatedClosure // MARK: Functions func callAsFunction( username: String, password: String ) async throws { let me = try await apiService.getUser( credentials: .init( username: username, password: password ) ) authenticated( .init( username: username, password: password ), .init( profile: .init( firstName: me.firstName, lastName: me.lastName ), rootFolder: .init( id: me.rootItem.id, name: me.rootItem.name, lastModifiedAt: me.rootItem.lastModifiedAt ) ) ) } }