initial commit (#987)

Co-authored-by: Christian Beutel <>
This commit is contained in:
Flomp
2026-05-11 19:48:43 +02:00
committed by GitHub
parent b2753c29d2
commit ea6f5d5c95

View File

@@ -190,17 +190,67 @@ func syncTrailMetadata(app core.App, record *core.Record, data map[string]any) {
}
}
// Resolve Tags
localTagIds := resolveAndSyncTags(app, data)
if len(localTagIds) > 0 {
record.Set("tags", localTagIds)
}
// Clean protected/complex fields before bulk load
delete(data, "id")
delete(data, "photos")
delete(data, "gpx")
delete(data, "author")
delete(data, "category")
delete(data, "tags")
delete(data, "iri")
record.Load(data)
}
func resolveAndSyncTags(app core.App, data map[string]any) []string {
var localTagIds []string
expand, ok := data["expand"].(map[string]any)
if !ok {
return localTagIds
}
remoteTags, ok := expand["tags"].([]any)
if !ok {
return localTagIds
}
tagCol, _ := app.FindCollectionByNameOrId("tags")
for _, t := range remoteTags {
tagMap, ok := t.(map[string]any)
if !ok {
continue
}
tagName, _ := tagMap["name"].(string)
if tagName == "" {
continue
}
localTag, _ := app.FindFirstRecordByData("tags", "name", tagName)
if localTag == nil {
localTag = core.NewRecord(tagCol)
localTag.Set("name", tagName)
if err := app.Save(localTag); err != nil {
continue
}
}
localTagIds = append(localTagIds, localTag.Id)
}
return localTagIds
}
func syncWaypoints(txApp core.App, ctx context.Context, trail *core.Record, origin string, waypoints []any) error {
col, _ := txApp.FindCollectionByNameOrId("waypoints")