From bfd85b4fd3002451f7e3b247282fba2114106e81 Mon Sep 17 00:00:00 2001 From: Baptiste Arnaud Date: Sat, 28 Jan 2023 08:32:29 +0100 Subject: [PATCH] :recycle: (auth) Group join workspaces queries in a transaction --- .../src/features/auth/api/joinWorkspaces.ts | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/apps/builder/src/features/auth/api/joinWorkspaces.ts b/apps/builder/src/features/auth/api/joinWorkspaces.ts index e92276338..cbaebca74 100644 --- a/apps/builder/src/features/auth/api/joinWorkspaces.ts +++ b/apps/builder/src/features/auth/api/joinWorkspaces.ts @@ -5,16 +5,18 @@ export const joinWorkspaces = async ( { id, email }: { id: string; email: string }, invitations: WorkspaceInvitation[] ) => { - await p.memberInWorkspace.createMany({ - data: invitations.map((invitation) => ({ - workspaceId: invitation.workspaceId, - role: invitation.type, - userId: id, - })), - }) - return p.workspaceInvitation.deleteMany({ - where: { - email, - }, - }) + await p.$transaction([ + p.memberInWorkspace.createMany({ + data: invitations.map((invitation) => ({ + workspaceId: invitation.workspaceId, + role: invitation.type, + userId: id, + })), + }), + p.workspaceInvitation.deleteMany({ + where: { + email, + }, + }), + ]) }