From ef0a912814ca32012208404d5cf210c86cfb4cb1 Mon Sep 17 00:00:00 2001 From: Pranav C Date: Wed, 20 Mar 2024 09:03:47 +0000 Subject: [PATCH 1/3] feat: add option to block user --- .../meta/migrations/v2/nc_042_user_block.ts | 18 ++++++++++++++++++ packages/nocodb/src/models/User.ts | 3 +++ 2 files changed, 21 insertions(+) create mode 100644 packages/nocodb/src/meta/migrations/v2/nc_042_user_block.ts diff --git a/packages/nocodb/src/meta/migrations/v2/nc_042_user_block.ts b/packages/nocodb/src/meta/migrations/v2/nc_042_user_block.ts new file mode 100644 index 0000000000..618a87ec0c --- /dev/null +++ b/packages/nocodb/src/meta/migrations/v2/nc_042_user_block.ts @@ -0,0 +1,18 @@ +import type { Knex } from 'knex'; +import { MetaTable } from '~/utils/globals'; + +const up = async (knex: Knex) => { + await knex.schema.createTable(MetaTable.USERS, (table) => { + table.boolean('blocked').defaultTo(false); + table.string('blocked_reason'); + }); +}; + +const down = async (knex: Knex) => { + await knex.schema.alterTable(MetaTable.USERS, (table) => { + table.dropColumn('blocked'); + table.dropColumn('blocked_reason'); + }); +}; + +export { up, down }; diff --git a/packages/nocodb/src/models/User.ts b/packages/nocodb/src/models/User.ts index 6be3e53f90..ff2da983df 100644 --- a/packages/nocodb/src/models/User.ts +++ b/packages/nocodb/src/models/User.ts @@ -33,6 +33,9 @@ export default class User implements UserType { display_name?: string; avatar?: string; + blocked?: boolean; + blocked_reason?: string; + constructor(data: User) { Object.assign(this, data); } From 90a1336793bc3eaecf5dfb278127a21fa499353f Mon Sep 17 00:00:00 2001 From: Pranav C Date: Wed, 20 Mar 2024 09:03:47 +0000 Subject: [PATCH 2/3] fix: add migration in list --- packages/nocodb/src/meta/migrations/XcMigrationSourcev2.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/nocodb/src/meta/migrations/XcMigrationSourcev2.ts b/packages/nocodb/src/meta/migrations/XcMigrationSourcev2.ts index 17858ff4b0..384429d5f5 100644 --- a/packages/nocodb/src/meta/migrations/XcMigrationSourcev2.ts +++ b/packages/nocodb/src/meta/migrations/XcMigrationSourcev2.ts @@ -28,6 +28,7 @@ import * as nc_038_formula_parsed_tree_column from '~/meta/migrations/v2/nc_038_ import * as nc_039_sqlite_alter_column_types from '~/meta/migrations/v2/nc_039_sqlite_alter_column_types'; import * as nc_040_form_view_alter_column_types from '~/meta/migrations/v2/nc_040_form_view_alter_column_types'; import * as nc_041_calendar_view from '~/meta/migrations/v2/nc_041_calendar_view'; +import * as nc_042_user_block from '~/meta/migrations/v2/nc_042_user_block'; // Create a custom migration source class export default class XcMigrationSourcev2 { @@ -67,6 +68,7 @@ export default class XcMigrationSourcev2 { 'nc_039_sqlite_alter_column_types', 'nc_040_form_view_alter_column_types', 'nc_041_calendar_view', + 'nc_042_user_block', ]); } @@ -136,6 +138,8 @@ export default class XcMigrationSourcev2 { return nc_040_form_view_alter_column_types; case 'nc_041_calendar_view': return nc_041_calendar_view; + case 'nc_042_user_block': + return nc_042_user_block; } } } From 76851e78906b8a617a10c8ea7609fec01f8b24a3 Mon Sep 17 00:00:00 2001 From: Pranav C Date: Wed, 20 Mar 2024 09:03:48 +0000 Subject: [PATCH 3/3] fix: typo correction --- packages/nocodb/src/meta/migrations/v2/nc_042_user_block.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/nocodb/src/meta/migrations/v2/nc_042_user_block.ts b/packages/nocodb/src/meta/migrations/v2/nc_042_user_block.ts index 618a87ec0c..b932fa999a 100644 --- a/packages/nocodb/src/meta/migrations/v2/nc_042_user_block.ts +++ b/packages/nocodb/src/meta/migrations/v2/nc_042_user_block.ts @@ -2,7 +2,7 @@ import type { Knex } from 'knex'; import { MetaTable } from '~/utils/globals'; const up = async (knex: Knex) => { - await knex.schema.createTable(MetaTable.USERS, (table) => { + await knex.schema.alterTable(MetaTable.USERS, (table) => { table.boolean('blocked').defaultTo(false); table.string('blocked_reason'); });