aboutsummaryrefslogtreecommitdiff
path: root/Hotline/Models/FileInfo.swift
diff options
context:
space:
mode:
authorDustin Mierau <dustin@mierau.me>2023-12-12 16:29:12 -0800
committerDustin Mierau <dustin@mierau.me>2023-12-12 16:29:12 -0800
commita428e3e28fb851cec65ff27f212c19bce08e5369 (patch)
treed106ce73c1411dff56f401f3a9df62419c8d4f58 /Hotline/Models/FileInfo.swift
parenta4798840e1d58ddb19ed5d5e0e0a4f0add47c9fb (diff)
Break model objects out into their own files.
Diffstat (limited to 'Hotline/Models/FileInfo.swift')
-rw-r--r--Hotline/Models/FileInfo.swift31
1 files changed, 31 insertions, 0 deletions
diff --git a/Hotline/Models/FileInfo.swift b/Hotline/Models/FileInfo.swift
new file mode 100644
index 0000000..0e2c76d
--- /dev/null
+++ b/Hotline/Models/FileInfo.swift
@@ -0,0 +1,31 @@
+import SwiftUI
+
+@Observable class FileInfo: Identifiable {
+ let id: UUID = UUID()
+
+ let path: [String]
+ let name: String
+
+ let type: String
+ let creator: String
+ let fileSize: UInt
+
+ let isFolder: Bool
+ var children: [FileInfo]? = nil
+
+ init(hotlineFile: HotlineFile) {
+ self.path = hotlineFile.path
+ self.name = hotlineFile.name
+ self.type = hotlineFile.type
+ self.creator = hotlineFile.creator
+ self.fileSize = UInt(hotlineFile.fileSize)
+ self.isFolder = hotlineFile.isFolder
+ if self.isFolder {
+ self.children = []
+ }
+ }
+
+ static func == (lhs: FileInfo, rhs: FileInfo) -> Bool {
+ return lhs.id == rhs.id
+ }
+}