/// // Präzedenzfehler in trail_flags.deleteRule behoben: && bindet stärker als // ||, ohne Klammern galt die Marker-Prüfung nur für den admins-Zweig. // Ein Team-Owner konnte damit einen noch referenzierten Flag-Typ löschen // und verwaiste Marker hinterlassen. Separate Migration, weil // 1754500200_trail_flags_delete_rule.js bereits mit der fehlerhaften Regel // angewendet wurde. 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 + ' && @collection.trail_markers.flag ?!= id' app.save(flags) })