From 3612e5834cba03b15903a6f3e8bdd2c5bc6e6393 Mon Sep 17 00:00:00 2001 From: Daniel Hougaard <62331820+DanielHougaard@users.noreply.github.com> Date: Sun, 4 Feb 2024 13:37:58 +0400 Subject: [PATCH] Ghost user migration --- .../migrations/20240202093209_ghost_user.ts | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 backend/src/db/migrations/20240202093209_ghost_user.ts diff --git a/backend/src/db/migrations/20240202093209_ghost_user.ts b/backend/src/db/migrations/20240202093209_ghost_user.ts new file mode 100644 index 000000000..7fa23d245 --- /dev/null +++ b/backend/src/db/migrations/20240202093209_ghost_user.ts @@ -0,0 +1,31 @@ +import { Knex } from "knex"; + +import { TableName } from "../schemas"; + +export async function up(knex: Knex): Promise { + if (!(await knex.schema.hasColumn(TableName.Users, "ghost"))) { + await knex.schema.alterTable(TableName.Users, (t) => { + t.boolean("ghost").defaultTo(false).notNullable(); + }); + } + + if (!(await knex.schema.hasColumn(TableName.Project, "e2ee"))) { + await knex.schema.alterTable(TableName.Project, (t) => { + t.boolean("e2ee").defaultTo(true).notNullable(); + }); + } +} + +export async function down(knex: Knex): Promise { + if (await knex.schema.hasColumn(TableName.Users, "ghost")) { + await knex.schema.alterTable(TableName.Users, (t) => { + t.dropColumn("ghost"); + }); + } + + if (await knex.schema.hasColumn(TableName.Project, "e2ee")) { + await knex.schema.alterTable(TableName.Project, (t) => { + t.dropColumn("e2ee"); + }); + } +}