feat: Remove isEnabled column from ProjectSCIM and update related services and migrations

This commit is contained in:
Simon Larsen
2025-08-04 14:58:25 +01:00
parent b62a5e7722
commit e293ffd0eb
5 changed files with 19 additions and 35 deletions

View File

@@ -334,37 +334,6 @@ export default class ProjectSCIM extends BaseModel {
})
public autoDeprovisionUsers?: boolean = undefined;
@ColumnAccessControl({
create: [
Permission.ProjectOwner,
Permission.ProjectAdmin,
Permission.CreateProjectSSO,
],
read: [
Permission.ProjectOwner,
Permission.ProjectAdmin,
Permission.ProjectMember,
Permission.ReadProjectSSO,
],
update: [
Permission.ProjectOwner,
Permission.ProjectAdmin,
Permission.EditProjectSSO,
],
})
@TableColumn({
isDefaultValueColumn: true,
type: TableColumnType.Boolean,
title: "Enabled",
description: "Is this SCIM configuration enabled?",
defaultValue: false,
})
@Column({
type: ColumnType.Boolean,
default: false,
})
public isEnabled?: boolean = undefined;
@ColumnAccessControl({
create: [],
read: [

View File

@@ -0,0 +1,14 @@
import { MigrationInterface, QueryRunner } from "typeorm";
export class MigrationName1754315774827 implements MigrationInterface {
name = 'MigrationName1754315774827'
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "ProjectSCIM" DROP COLUMN "isEnabled"`);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "ProjectSCIM" ADD "isEnabled" boolean NOT NULL DEFAULT false`);
}
}

View File

@@ -147,6 +147,7 @@ import { MigrationName1753377161288 } from "./1753377161288-MigrationName";
import { AddPerformanceIndexes1753378524062 } from "./1753378524062-AddPerformanceIndexes";
import { MigrationName1753383711511 } from "./1753383711511-MigrationName";
import { MigrationName1754304193228 } from "./1754304193228-MigrationName";
import { MigrationName1754315774827 } from "./1754315774827-MigrationName";
export default [
InitialMigration,
@@ -297,5 +298,6 @@ export default [
MigrationName1753377161288,
AddPerformanceIndexes1753378524062,
MigrationName1753383711511,
MigrationName1754304193228
MigrationName1754304193228,
MigrationName1754315774827
];

View File

@@ -54,7 +54,6 @@ export default class SCIMMiddleware {
query: {
_id: new ObjectID(projectScimId),
bearerToken: bearerToken,
isEnabled: true,
},
select: {
_id: true,

View File

@@ -2,7 +2,7 @@ import CreateBy from "../Types/Database/CreateBy";
import { OnCreate } from "../Types/Database/Hooks";
import DatabaseService from "./DatabaseService";
import Model from "../../Models/DatabaseModels/ProjectSCIM";
import Text from "../../Types/Text";
import ObjectID from "../../Types/ObjectID";
export class Service extends DatabaseService<Model> {
public constructor() {
@@ -14,7 +14,7 @@ export class Service extends DatabaseService<Model> {
): Promise<OnCreate<Model>> {
if (!createBy.data.bearerToken) {
// Generate a secure bearer token if not provided
createBy.data.bearerToken = "scim_" + Text.generateRandomText(32);
createBy.data.bearerToken = ObjectID.generate().toString();
}
return {