diff --git a/services/apps/data_sink_worker/src/repo/member.repo.ts b/services/apps/data_sink_worker/src/repo/member.repo.ts index 98f7f8d8aa..79c16c4e30 100644 --- a/services/apps/data_sink_worker/src/repo/member.repo.ts +++ b/services/apps/data_sink_worker/src/repo/member.repo.ts @@ -167,6 +167,15 @@ export default class MemberRepository extends RepositoryBase { ) const query = this.dbInstance.helpers.update(prepared, dynamicColumnSet) + // Lock the row to be updated + await this.db().oneOrNone( + `SELECT * FROM "members" WHERE id = $(id) AND "tenantId" = $(tenantId) FOR UPDATE`, + { + id, + tenantId, + }, + ) + const condition = this.format('where id = $(id) and "tenantId" = $(tenantId)', { id, tenantId,