From 3196e24c275ae0e347ef86ba5fd6e622b844315e Mon Sep 17 00:00:00 2001 From: Carlos Monastyrski Date: Thu, 23 Oct 2025 15:55:15 -0300 Subject: [PATCH] Small improvement on custom roles for groups memerships migration --- ...023121055_fix-missing-group-memberships.ts | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/backend/src/db/migrations/20251023121055_fix-missing-group-memberships.ts b/backend/src/db/migrations/20251023121055_fix-missing-group-memberships.ts index 117ac12e9..56fe82b2c 100644 --- a/backend/src/db/migrations/20251023121055_fix-missing-group-memberships.ts +++ b/backend/src/db/migrations/20251023121055_fix-missing-group-memberships.ts @@ -1,6 +1,6 @@ import { Knex } from "knex"; -import { AccessScope, OrgMembershipRole, TableName } from "../schemas"; +import { AccessScope, TableName } from "../schemas"; export async function up(knex: Knex): Promise { const hasGroupsTable = await knex.schema.hasTable(TableName.Groups); @@ -12,7 +12,12 @@ export async function up(knex: Knex): Promise { } const groupsWithoutMembership = await knex - .select(`${TableName.Groups}.id`, `${TableName.Groups}.orgId`) + .select( + `${TableName.Groups}.id`, + `${TableName.Groups}.orgId`, + `${TableName.Groups}.role`, + `${TableName.Groups}.roleId` + ) .from(TableName.Groups) .leftJoin(TableName.Membership, `${TableName.Groups}.id`, `${TableName.Membership}.actorGroupId`) .whereNull(`${TableName.Membership}.actorGroupId`); @@ -27,11 +32,14 @@ export async function up(knex: Knex): Promise { const insertedMemberships = await knex(TableName.Membership).insert(membershipInserts).returning("*"); - const membershipRoleInserts = insertedMemberships.map((membership) => ({ - membershipId: membership.id, - role: OrgMembershipRole.NoAccess, - customRoleId: null - })); + const membershipRoleInserts = insertedMemberships.map((membership, index) => { + const group = groupsWithoutMembership[index]; + return { + membershipId: membership.id, + role: group.role, + customRoleId: group.roleId + }; + }); await knex(TableName.MembershipRole).insert(membershipRoleInserts); }