colibri/Sources/Library/Protocols/FileServicing.swift

28 lines
693 B
Swift
Raw Normal View History

import Foundation
public protocol FileServicing {
// MARK: Computed
var currentFolder: URL { get async }
// MARK: Functions
func copyItem(from source: URL, to destination: URL) async throws (FileServiceError)
func createFolder(at location: URL) async throws (FileServiceError)
func deleteItem(at location: URL) async throws (FileServiceError)
func isItemExists(at location: URL) async throws (FileServiceError) -> Bool
}
// MARK: - Errors
public enum FileServiceError: Error, Equatable {
case folderNotCreated
case itemNotCopied
case itemAlreadyExists
case itemNotDeleted
case itemNotExists
case itemNotFileURL
}