consolidated page data

This commit is contained in:
Simon Martens
2026-01-14 16:30:03 +01:00
parent f716eb5547
commit ca2df2da8a
40 changed files with 863 additions and 1597 deletions

View File

@@ -0,0 +1,66 @@
package migrations
import (
"github.com/Theodor-Springmann-Stiftung/musenalm/dbmodels"
"github.com/pocketbase/pocketbase/core"
)
type PageMeta struct {
Title string `json:"title"`
Description string `json:"description"`
Keywords string `json:"keywords"`
}
func pageDataKey(name string) string {
return "page." + name
}
func pageHTMLKey(name, section string) string {
if section == "" {
return "page." + name
}
return "page." + name + "." + section
}
func upsertHTML(app core.App, key, value string) error {
collection, err := app.FindCollectionByNameOrId(dbmodels.HTML_TABLE)
if err != nil {
return err
}
record, _ := app.FindFirstRecordByData(collection.Id, dbmodels.KEY_FIELD, key)
if record == nil {
record = core.NewRecord(collection)
record.Set(dbmodels.KEY_FIELD, key)
}
record.Set(dbmodels.HTML_FIELD, value)
return app.Save(record)
}
func upsertData(app core.App, key string, value any) error {
collection, err := app.FindCollectionByNameOrId(dbmodels.DATA_TABLE)
if err != nil {
return err
}
record, _ := app.FindFirstRecordByData(collection.Id, dbmodels.KEY_FIELD, key)
if record == nil {
record = core.NewRecord(collection)
record.Set(dbmodels.KEY_FIELD, key)
}
record.Set(dbmodels.VALUE_FIELD, value)
return app.Save(record)
}
func deleteByKey(app core.App, tableName, key string) error {
collection, err := app.FindCollectionByNameOrId(tableName)
if err != nil {
return err
}
record, _ := app.FindFirstRecordByData(collection.Id, dbmodels.KEY_FIELD, key)
if record != nil {
return app.Delete(record)
}
return nil
}