feat: suspension mode

This commit is contained in:
Ben Allfree 2024-05-25 05:44:10 -04:00
parent 2c8429bd54
commit c504112f0c
3 changed files with 40 additions and 0 deletions

View File

@ -0,0 +1,31 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((db) => {
const dao = new Dao(db)
const collection = dao.findCollectionByNameOrId("etae8tuiaxl6xfv")
// add
collection.schema.addField(new SchemaField({
"system": false,
"id": "7bi0jspk",
"name": "suspension",
"type": "text",
"required": false,
"presentable": false,
"unique": false,
"options": {
"min": null,
"max": null,
"pattern": ""
}
}))
return dao.saveCollection(collection)
}, (db) => {
const dao = new Dao(db)
const collection = dao.findCollectionByNameOrId("etae8tuiaxl6xfv")
// remove
collection.schema.removeField("7bi0jspk")
return dao.saveCollection(collection)
})

View File

@ -520,6 +520,14 @@ export const instanceService = mkSingleton(
throw new Error(`Instance owner is invalid`)
}
/*
Suspension check
*/
dbg(`Checking for suspension`)
if (instance.suspension) {
throw new Error(instance.suspension)
}
/*
Maintenance check
*/

View File

@ -27,6 +27,7 @@ export type InstanceFields = BaseFields & {
version: VersionId
secrets: InstanceSecretCollection | null
maintenance: boolean
suspension: string
syncAdmin: boolean
cname: string
dev: boolean