Skip to content

Commit 99d9c81

Browse files
authored
More preventive identity set on organization update (#1707)
1 parent 3cced85 commit 99d9c81

File tree

3 files changed

+11
-5
lines changed

3 files changed

+11
-5
lines changed

backend/src/api/organization/organizationUpdate.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import PermissionChecker from '../../services/user/permissionChecker'
2121
export default async (req, res) => {
2222
new PermissionChecker(req).validateHas(Permissions.values.organizationEdit)
2323

24-
const payload = await new OrganizationService(req).update(req.params.id, req.body)
24+
const payload = await new OrganizationService(req).update(req.params.id, req.body, true)
2525

2626
await req.responseHandler.success(req, res, payload)
2727
}

backend/src/database/repositories/organizationRepository.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -562,7 +562,7 @@ class OrganizationRepository {
562562
})
563563
}
564564

565-
static async update(id, data, options: IRepositoryOptions) {
565+
static async update(id, data, options: IRepositoryOptions, overrideIdentities = false) {
566566
const currentUser = SequelizeRepository.getCurrentUser(options)
567567

568568
const transaction = SequelizeRepository.getTransaction(options)
@@ -664,7 +664,13 @@ class OrganizationRepository {
664664
}
665665

666666
if (data.identities && data.identities.length > 0) {
667-
await this.setIdentities(id, data.identities, options)
667+
if (overrideIdentities) {
668+
await this.setIdentities(id, data.identities, options)
669+
} else {
670+
for (const identity of data.identities) {
671+
await this.addIdentity(id, identity, options)
672+
}
673+
}
668674
}
669675

670676
await this._createAuditLog(AuditLogRepository.UPDATE, record, data, options)

backend/src/services/organizationService.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -489,7 +489,7 @@ export default class OrganizationService extends LoggerBase {
489489
return OrganizationRepository.findOrganizationsWithMergeSuggestions(args, this.options)
490490
}
491491

492-
async update(id, data) {
492+
async update(id, data, overrideIdentities = false) {
493493
let tx
494494

495495
try {
@@ -531,7 +531,7 @@ export default class OrganizationService extends LoggerBase {
531531
}
532532
}
533533

534-
const record = await OrganizationRepository.update(id, data, repoOptions)
534+
const record = await OrganizationRepository.update(id, data, repoOptions, overrideIdentities)
535535

536536
await SequelizeRepository.commitTransaction(tx)
537537

0 commit comments

Comments
 (0)