// // UploadFileUseCase.swift // Browse // // Created by Javier Cicchelli on 17/12/2022. // Copyright © 2022 Röck+Cöde. All rights reserved. // import APIService import DependencyInjection import Dependencies import Foundation struct UploadFileUseCase { // MARK: Properties let apiService: APIService private let fileAdapter: FileAdapter = .init() // MARK: Functions func callAsFunction( id: String, url: URL, username: String, password: String ) async throws { _ = try await apiService.uploadFile( id: id, file: fileAdapter(url: url), credentials: .init( username: username, password: password ) ) } } // MARK: - Initialisers extension UploadFileUseCase { init() { @Dependency(\.apiService) var apiService self.init(apiService: apiService) } }