/// // Wer hat den Trail gesperrt, und wann? // // Der Status allein sagt nur, wie es gerade steht. Für eine Meldung, der man // trauen soll, gehört dazu, wann sie kam und von wem — eine Sperrung von // heute Morgen wiegt anders als eine vom letzten Herbst. // // Beide Felder schreibt die Anwendung beim Setzen des Status mit; bestehende // Trails bleiben ohne Angabe, bis der Status das nächste Mal geändert wird. migrate((app) => { const trails = app.findCollectionByNameOrId('trails') const users = app.findCollectionByNameOrId('users') if (!trails.fields.getByName('status_changed')) { trails.fields.add(new Field({ id: 'date_trail_status_changed', name: 'status_changed', type: 'date', })) } if (!trails.fields.getByName('status_by')) { trails.fields.add(new Field({ id: 'relation_trail_status_by', name: 'status_by', type: 'relation', collectionId: users.id, cascadeDelete: false, maxSelect: 1, minSelect: 0, required: false, })) } app.save(trails) }, (app) => { const trails = app.findCollectionByNameOrId('trails') trails.fields.removeByName('status_changed') trails.fields.removeByName('status_by') app.save(trails) })