From 510fa30dbf899cffc260f36066345eae74bf53b9 Mon Sep 17 00:00:00 2001 From: Mateusz Kwasniewski Date: Thu, 16 Nov 2023 12:21:33 +0100 Subject: [PATCH] fix: handle concurrent service account updates (#5349) (#5350) --- src/lib/db/access-store.ts | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/lib/db/access-store.ts b/src/lib/db/access-store.ts index 3131aa5394..70dd784686 100644 --- a/src/lib/db/access-store.ts +++ b/src/lib/db/access-store.ts @@ -468,11 +468,14 @@ export class AccessStore implements IAccessStore { roleId: number, projectId?: string, ): Promise { - return this.db(T.ROLE_USER).insert({ - user_id: userId, - role_id: roleId, - project: projectId, - }); + await this.db(T.ROLE_USER) + .insert({ + user_id: userId, + role_id: roleId, + project: projectId, + }) + .onConflict(['user_id', 'role_id', 'project']) + .ignore(); } async removeUserFromRole(