diff --git a/Modules/Sources/Browse/Logic/Models/Folder.swift b/Modules/Sources/Browse/Logic/Models/Folder.swift index 557c9f2..7c879b9 100644 --- a/Modules/Sources/Browse/Logic/Models/Folder.swift +++ b/Modules/Sources/Browse/Logic/Models/Folder.swift @@ -25,9 +25,9 @@ public struct Folder { } -// MARK: - ModelIdentifiable +// MARK: - FileSystemIdIdentifiable -extension Folder: ModelIdentifiable {} +extension Folder: FileSystemIdIdentifiable {} // MARK: - Equatable diff --git a/Modules/Sources/Browse/Logic/Protocols/Model.swift b/Modules/Sources/Browse/Logic/Protocols/FileSystemItem.swift similarity index 63% rename from Modules/Sources/Browse/Logic/Protocols/Model.swift rename to Modules/Sources/Browse/Logic/Protocols/FileSystemItem.swift index 30accae..ffbb1e7 100644 --- a/Modules/Sources/Browse/Logic/Protocols/Model.swift +++ b/Modules/Sources/Browse/Logic/Protocols/FileSystemItem.swift @@ -1,16 +1,16 @@ // -// Model.swift +// FileSystemItem.swift // Browse // // Created by Javier Cicchelli on 13/12/2022. // Copyright © 2022 Röck+Cöde. All rights reserved. // -protocol Model { +protocol FileSystemItem { var id: String { get } var name: String { get } } // MARK: - Type aliases -typealias ModelIdentifiable = Model & Identifiable +typealias FileSystemIdIdentifiable = FileSystemItem & Identifiable diff --git a/Modules/Sources/Browse/Logic/Use Cases/GetItemsUseCase.swift b/Modules/Sources/Browse/Logic/Use Cases/GetItemsUseCase.swift index af82e03..7f14d9f 100644 --- a/Modules/Sources/Browse/Logic/Use Cases/GetItemsUseCase.swift +++ b/Modules/Sources/Browse/Logic/Use Cases/GetItemsUseCase.swift @@ -22,7 +22,7 @@ struct GetItemsUseCase { id: String, username: String, password: String - ) async throws -> [any ModelIdentifiable] { + ) async throws -> [any FileSystemIdIdentifiable] { let items = try await apiService.getItems( id: id, credentials: .init( @@ -32,16 +32,19 @@ struct GetItemsUseCase { ) return items - .compactMap { item -> any ModelIdentifiable in + .compactMap { item -> any FileSystemIdIdentifiable in if item.isDirectory { return Folder( id: item.id, name: item.name ) } else { - return File( + return Document( id: item.id, - name: item.name + name: item.name, + contentType: item.contentType ?? "-", + size: item.size ?? 0, + lastModifiedAt: item.lastModifiedAt ) } } diff --git a/Modules/Sources/Browse/UI/Components/FolderItem.swift b/Modules/Sources/Browse/UI/Components/FolderItem.swift index 6e0b87b..e1a114e 100644 --- a/Modules/Sources/Browse/UI/Components/FolderItem.swift +++ b/Modules/Sources/Browse/UI/Components/FolderItem.swift @@ -12,7 +12,7 @@ struct FolderItem: View { // MARK: Properties - let item: Model + let item: FileSystemItem let delete: ItemIdClosure // MARK: Body