From 7cb9e2b99b2a0f0f526ccba48aba4335cc7afedf Mon Sep 17 00:00:00 2001 From: Morgan <33722304+ThyMinimalDev@users.noreply.github.com> Date: Mon, 17 Mar 2025 23:07:32 +0200 Subject: [PATCH] chore: create org membership should be an upsert apiv2 (#20129) --- .../memberships/organizations-membership.repository.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/apps/api/v2/src/modules/organizations/memberships/organizations-membership.repository.ts b/apps/api/v2/src/modules/organizations/memberships/organizations-membership.repository.ts index 77d0419fe0..df086820ba 100644 --- a/apps/api/v2/src/modules/organizations/memberships/organizations-membership.repository.ts +++ b/apps/api/v2/src/modules/organizations/memberships/organizations-membership.repository.ts @@ -37,11 +37,12 @@ export class OrganizationsMembershipRepository { } async createOrgMembership(organizationId: number, data: CreateOrgMembershipDto) { - return this.dbWrite.prisma.membership.create({ - data: { ...data, teamId: organizationId }, + return this.dbWrite.prisma.membership.upsert({ + create: { ...data, teamId: organizationId }, + update: { role: data.role, accepted: data.accepted, disableImpersonation: data.disableImpersonation }, + where: { userId_teamId: { userId: data.userId, teamId: organizationId } }, }); } - async updateOrgMembership(organizationId: number, membershipId: number, data: UpdateOrgMembershipDto) { return this.dbWrite.prisma.membership.update({ data: { ...data },