Vectrum
Sign In
14 lines · 447 Bytes · JavaScript
// Runner tokens can expire, like API tokens. 0 means never, so existing runners keep working.

migrate(
  (app) => {
    const runners = app.findCollectionByNameOrId("runners");
    runners.fields.add(new NumberField({ name: "expires_at", onlyInt: true, min: 0 }));
    app.save(runners);
  },
  (app) => {
    const runners = app.findCollectionByNameOrId("runners");
    runners.fields.removeByName("expires_at");
    app.save(runners);
  },
);