Save automatically, improve mocks

This commit is contained in:
Christoph Hagen
2025-02-05 12:24:33 +01:00
parent d41c54d174
commit 5abe6e1a9f
55 changed files with 701 additions and 381 deletions

View File

@ -60,6 +60,10 @@ final class Post: Item, DateItem, LocalizedItem {
super.init(content: content, id: id)
}
// MARK: Storage
var savedData: Data?
// MARK: Tags
func usedTags() -> [Tag] {
@ -173,7 +177,7 @@ final class Post: Item, DateItem, LocalizedItem {
}
}
extension Post {
extension Post: StorageItem {
convenience init(context: LoadingContext, id: String, data: Data) {
self.init(
@ -187,9 +191,10 @@ extension Post {
german: .init(context: context, data: data.german),
english: .init(context: context, data: data.english),
linkedPage: data.linkedPageId.map(context.page))
savedData = data
}
struct Data: Codable {
struct Data: Codable, Equatable {
let isDraft: Bool
let createdDate: Date
let startDate: Date
@ -211,4 +216,8 @@ extension Post {
english: english.data,
linkedPageId: linkedPage?.id)
}
func saveToDisk(_ data: Data) -> Bool {
content.storage.save(post: data, for: id)
}
}