scim tokens

This commit is contained in:
Philipinho
2026-02-22 00:27:45 +00:00
parent 0cf1247f36
commit 98a878b44b
4 changed files with 26 additions and 9 deletions
@@ -11,9 +11,7 @@ export async function up(db: Kysely<any>): Promise<void> {
.addColumn('token_last_four', 'varchar(4)', (col) => col.notNull())
.addColumn('expires_at', 'timestamptz')
.addColumn('last_used_at', 'timestamptz')
.addColumn('is_enabled', 'boolean', (col) =>
col.notNull().defaultTo(true),
)
.addColumn('is_enabled', 'boolean', (col) => col.notNull().defaultTo(true))
.addColumn('creator_id', 'uuid', (col) =>
col.references('users.id').onDelete('set null'),
)
@@ -66,20 +64,35 @@ export async function up(db: Kysely<any>): Promise<void> {
.where('scim_external_id', 'is not', null)
.unique()
.execute();
await db.schema
.alterTable('groups')
.addColumn('is_external', 'boolean', (col) =>
col.notNull().defaultTo(false),
)
.execute();
await db.schema
.alterTable('workspaces')
.addColumn('is_scim_enabled', 'boolean', (col) =>
col.notNull().defaultTo(false),
)
.execute();
}
export async function down(db: Kysely<any>): Promise<void> {
await db.schema.dropTable('scim_tokens').execute();
await db.schema.dropIndex('idx_users_workspace_scim_external_id').execute();
await db.schema
.alterTable('users')
.dropColumn('scim_external_id')
.execute();
await db.schema.alterTable('users').dropColumn('scim_external_id').execute();
await db.schema.dropIndex('idx_groups_workspace_scim_external_id').execute();
await db.schema.alterTable('groups').dropColumn('scim_external_id').execute();
await db.schema.alterTable('groups').dropColumn('is_external').execute();
await db.schema
.alterTable('groups')
.dropColumn('scim_external_id')
.alterTable('workspaces')
.dropColumn('is_scim_enabled')
.execute();
}
@@ -22,6 +22,7 @@ export class GroupRepo {
'name',
'description',
'isDefault',
'isExternal',
'creatorId',
'workspaceId',
'createdAt',
@@ -33,6 +33,7 @@ export class WorkspaceRepo {
'enforceSso',
'plan',
'enforceMfa',
'isScimEnabled',
];
constructor(@InjectKysely() private readonly db: KyselyDB) {}
+2
View File
@@ -184,6 +184,7 @@ export interface Groups {
description: string | null;
id: Generated<string>;
isDefault: boolean;
isExternal: Generated<boolean>;
name: string;
scimExternalId: string | null;
updatedAt: Generated<Timestamp>;
@@ -352,6 +353,7 @@ export interface Workspaces {
enforceMfa: Generated<boolean | null>;
enforceSso: Generated<boolean>;
hostname: string | null;
isScimEnabled: Generated<boolean>;
id: Generated<string>;
licenseKey: string | null;
logo: string | null;