Update 20240724101056_access-request-groups.ts

This commit is contained in:
Daniel Hougaard
2024-08-20 19:50:42 +04:00
committed by Daniel Hougaard
parent b717de4f78
commit ae5b57f69f
@@ -126,7 +126,8 @@ export async function up(knex: Knex): Promise<void> {
projectId: knex.ref("pm.projectId") projectId: knex.ref("pm.projectId")
}) })
.from(`${TableName.ProjectUserAdditionalPrivilege} as puap`) .from(`${TableName.ProjectUserAdditionalPrivilege} as puap`)
.join(`${TableName.ProjectMembership} as pm`, "puap.projectMembershipId", "pm.id"); .join(`${TableName.ProjectMembership} as pm`, "puap.projectMembershipId", "pm.id")
.whereNotNull("puap.projectMembershipId");
await knex.schema.alterTable(TableName.ProjectUserAdditionalPrivilege, (tb) => { await knex.schema.alterTable(TableName.ProjectUserAdditionalPrivilege, (tb) => {
tb.uuid("userId").notNullable().alter(); tb.uuid("userId").notNullable().alter();
@@ -187,10 +188,6 @@ export async function down(knex: Knex): Promise<void> {
.where("userId", knex.raw("??", [`${TableName.SecretApprovalRequest}.userId`])) .where("userId", knex.raw("??", [`${TableName.SecretApprovalRequest}.userId`]))
}); });
// Then, delete records where no matching project membership was found
await knex(TableName.AccessApprovalRequest).whereNull("projectMembershipId").delete();
await knex(TableName.ProjectUserAdditionalPrivilege).whereNull("projectMembershipId").delete();
await knex.schema.alterTable(TableName.ProjectUserAdditionalPrivilege, (tb) => { await knex.schema.alterTable(TableName.ProjectUserAdditionalPrivilege, (tb) => {
// DROP AT A LATER TIME // DROP AT A LATER TIME
// tb.dropColumn("userId"); // tb.dropColumn("userId");
@@ -204,6 +201,10 @@ export async function down(knex: Knex): Promise<void> {
}); });
} }
// Then, delete records where no matching project membership was found
await knex(TableName.ProjectUserAdditionalPrivilege).whereNull("projectMembershipId").delete();
await knex(TableName.AccessApprovalRequest).whereNull("requestedBy").delete();
// ---------- ACCESS APPROVAL POLICY APPROVER ------------ // ---------- ACCESS APPROVAL POLICY APPROVER ------------
const hasApproverUserId = await knex.schema.hasColumn(TableName.AccessApprovalPolicyApprover, "approverUserId"); const hasApproverUserId = await knex.schema.hasColumn(TableName.AccessApprovalPolicyApprover, "approverUserId");
const hasApproverId = await knex.schema.hasColumn(TableName.AccessApprovalPolicyApprover, "approverId"); const hasApproverId = await knex.schema.hasColumn(TableName.AccessApprovalPolicyApprover, "approverId");