Save automatically, improve mocks
This commit is contained in:
@@ -44,6 +44,8 @@ final class Page: Item, DateItem, LocalizedItem {
|
||||
@Published
|
||||
var requiredFiles: [FileResource]
|
||||
|
||||
var savedData: Data?
|
||||
|
||||
init(content: Content,
|
||||
id: String,
|
||||
externalLink: String?,
|
||||
@@ -186,7 +188,7 @@ final class Page: Item, DateItem, LocalizedItem {
|
||||
|
||||
// MARK: Storage
|
||||
|
||||
extension Page {
|
||||
extension Page: StorageItem {
|
||||
|
||||
convenience init(context: LoadingContext, id: String, data: Data) {
|
||||
self.init(
|
||||
@@ -202,10 +204,11 @@ extension Page {
|
||||
english: .init(context: context, data: data.english),
|
||||
tags: data.tags.compactMap(context.tag),
|
||||
requiredFiles: data.requiredFiles?.compactMap(context.file) ?? [])
|
||||
savedData = data
|
||||
}
|
||||
|
||||
/// The structure to store the metadata of a page on disk
|
||||
struct Data: Codable {
|
||||
struct Data: Codable, Equatable {
|
||||
let isDraft: Bool
|
||||
let externalLink: String?
|
||||
let tags: [String]
|
||||
@@ -232,4 +235,8 @@ extension Page {
|
||||
english: english.data,
|
||||
requiredFiles: requiredFiles.nonEmpty?.map { $0.id }.sorted())
|
||||
}
|
||||
|
||||
func saveToDisk(_ data: Data) -> Bool {
|
||||
content.storage.save(page: data, for: id)
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user