Rework storage structs, link preview
This commit is contained in:
@ -34,6 +34,7 @@ final class Storage: ObservableObject {
|
||||
|
||||
// MARK: Properties
|
||||
|
||||
#warning("Rework to make this non-optional by creating a wrapper class")
|
||||
@Published
|
||||
var contentScope: SecurityBookmark?
|
||||
|
||||
@ -72,13 +73,13 @@ final class Storage: ObservableObject {
|
||||
return contentScope.write(pageContent, to: path)
|
||||
}
|
||||
|
||||
func save(pageMetadata: PageFile, for pageId: String) -> Bool {
|
||||
func save(pageMetadata: Page.Data, for pageId: String) -> Bool {
|
||||
guard let contentScope else { return false }
|
||||
let path = pageMetadataPath(page: pageId)
|
||||
return contentScope.encode(pageMetadata, to: path)
|
||||
}
|
||||
|
||||
func loadAllPages() -> [String : PageFile]? {
|
||||
func loadAllPages() -> [String : Page.Data]? {
|
||||
contentScope?.decodeJsonFiles(in: pagesFolderName)
|
||||
}
|
||||
|
||||
@ -144,13 +145,13 @@ final class Storage: ObservableObject {
|
||||
postsFolderName + "/" + postFileName(postId)
|
||||
}
|
||||
|
||||
func save(post: PostFile, for postId: String) -> Bool {
|
||||
func save(post: Post.Data, for postId: String) -> Bool {
|
||||
guard let contentScope else { return false }
|
||||
let path = postFilePath(post: postId)
|
||||
return contentScope.encode(post, to: path)
|
||||
}
|
||||
|
||||
func loadAllPosts() -> [String : PostFile]? {
|
||||
func loadAllPosts() -> [String : Post.Data]? {
|
||||
contentScope?.decodeJsonFiles(in: postsFolderName)
|
||||
}
|
||||
|
||||
@ -183,13 +184,13 @@ final class Storage: ObservableObject {
|
||||
tagsFolderName + "/" + tagFileName(tagId: tagId)
|
||||
}
|
||||
|
||||
func save(tagMetadata: TagFile, for tagId: String) -> Bool {
|
||||
func save(tagMetadata: Tag.Data, for tagId: String) -> Bool {
|
||||
guard let contentScope else { return false }
|
||||
let path = tagFilePath(tag: tagId)
|
||||
return contentScope.encode(tagMetadata, to: path)
|
||||
}
|
||||
|
||||
func loadAllTags() -> [String : TagFile]? {
|
||||
func loadAllTags() -> [String : Tag.Data]? {
|
||||
contentScope?.decodeJsonFiles(in: tagsFolderName)
|
||||
}
|
||||
|
||||
@ -311,9 +312,9 @@ final class Storage: ObservableObject {
|
||||
|
||||
- Returns: A dictionary with the file ids as keys and the metadata file as a value.
|
||||
*/
|
||||
func loadAllFiles() -> [String : (data: FileResourceFile, isExternal: Bool)]? {
|
||||
func loadAllFiles() -> [String : (data: FileResource.Data, isExternal: Bool)]? {
|
||||
guard let contentScope else { return nil }
|
||||
guard let list: [String : FileResourceFile] = contentScope.decodeJsonFiles(in: fileInfoFolderName) else {
|
||||
guard let list: [String : FileResource.Data] = contentScope.decodeJsonFiles(in: fileInfoFolderName) else {
|
||||
return nil
|
||||
}
|
||||
guard let existingFiles = contentScope.fileNames(inRelativeFolder: filesFolderName).map(Set.init) else {
|
||||
@ -326,7 +327,7 @@ final class Storage: ObservableObject {
|
||||
}
|
||||
|
||||
@discardableResult
|
||||
func save(fileInfo: FileResourceFile, for fileId: String) -> Bool {
|
||||
func save(fileInfo: FileResource.Data, for fileId: String) -> Bool {
|
||||
guard let contentScope else { return false }
|
||||
let path = fileInfoPath(file: fileId)
|
||||
return contentScope.encode(fileInfo, to: path)
|
||||
@ -359,12 +360,12 @@ final class Storage: ObservableObject {
|
||||
|
||||
// MARK: Settings
|
||||
|
||||
func loadSettings() -> SettingsFile? {
|
||||
func loadSettings() -> Settings.Data? {
|
||||
guard let contentScope else { return nil }
|
||||
return contentScope.decode(at: settingsDataFileName)
|
||||
}
|
||||
|
||||
func save(settings: SettingsFile) -> Bool {
|
||||
func save(settings: Settings.Data) -> Bool {
|
||||
guard let contentScope else { return false }
|
||||
return contentScope.encode(settings, to: settingsDataFileName)
|
||||
}
|
||||
|
Reference in New Issue
Block a user