/// // trail_flags.deleteRule ergänzt: Löschen nur, solange kein Marker diesen // Typ verwendet — sonst bliebe ein Pflichtfeld (trail_markers.flag) zurück, // das ins Leere zeigt. Separate Migration, weil 1754500000_created_trails.js // bereits angewendet wurde und PocketBase Migrationsdateien nur einmal // anhand des Dateinamens ausführt, unabhängig vom Inhalt. // // Klammern nötig: && bindet stärker als || — ohne sie gälte die // Marker-Prüfung nur für den admins-Zweig, nicht für owner. migrate((app) => { const flags = app.findCollectionByNameOrId('trail_flags') const adminOnly = 'team.owner.id ?= @request.auth.id' + ' || team.admins.id ?= @request.auth.id' flags.deleteRule = '(' + adminOnly + ') && @collection.trail_markers.flag ?!= id' app.save(flags) }, (app) => { const flags = app.findCollectionByNameOrId('trail_flags') const adminOnly = 'team.owner.id ?= @request.auth.id' + ' || team.admins.id ?= @request.auth.id' flags.deleteRule = adminOnly app.save(flags) })