@forklaunch/implementation-iam-base 1.0.41 → 1.0.43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/eject/services/organization.service.ts +2 -2
- package/lib/eject/services/permission.service.ts +15 -14
- package/lib/eject/services/role.service.ts +4 -4
- package/lib/eject/services/user.service.ts +11 -7
- package/lib/services/index.js +31 -26
- package/lib/services/index.mjs +31 -26
- package/lib/services/permission.service.d.ts.map +1 -1
- package/lib/services/user.service.d.ts.map +1 -1
- package/package.json +7 -7
|
@@ -84,7 +84,7 @@ export class BaseOrganizationService<
|
|
|
84
84
|
);
|
|
85
85
|
|
|
86
86
|
if (em) {
|
|
87
|
-
|
|
87
|
+
em.persist(organization);
|
|
88
88
|
} else {
|
|
89
89
|
await this.em.persist(organization).flush();
|
|
90
90
|
}
|
|
@@ -131,7 +131,7 @@ export class BaseOrganizationService<
|
|
|
131
131
|
);
|
|
132
132
|
|
|
133
133
|
if (em) {
|
|
134
|
-
|
|
134
|
+
em.persist(updatedOrganization);
|
|
135
135
|
} else {
|
|
136
136
|
await this.em.persist(updatedOrganization).flush();
|
|
137
137
|
}
|
|
@@ -174,7 +174,7 @@ export class BasePermissionService<
|
|
|
174
174
|
);
|
|
175
175
|
|
|
176
176
|
if (em) {
|
|
177
|
-
|
|
177
|
+
em.persist([permission, ...roles]);
|
|
178
178
|
} else {
|
|
179
179
|
await this.em.persist([permission, ...roles]).flush();
|
|
180
180
|
}
|
|
@@ -237,7 +237,7 @@ export class BasePermissionService<
|
|
|
237
237
|
const entities = [...permissions, ...Object.values(rolesCache)];
|
|
238
238
|
|
|
239
239
|
if (em) {
|
|
240
|
-
|
|
240
|
+
em.persist(entities);
|
|
241
241
|
} else {
|
|
242
242
|
await this.em.persist(entities).flush();
|
|
243
243
|
}
|
|
@@ -336,11 +336,14 @@ export class BasePermissionService<
|
|
|
336
336
|
if (this.evaluatedTelemetryOptions.logging) {
|
|
337
337
|
this.openTelemetryCollector.info('Updating permission', permissionDto);
|
|
338
338
|
}
|
|
339
|
-
const { permission, roles } = await this.updatePermissionDto(
|
|
339
|
+
const { permission, roles } = await this.updatePermissionDto(
|
|
340
|
+
permissionDto,
|
|
341
|
+
em
|
|
342
|
+
);
|
|
340
343
|
const entities = await (em ?? this.em).upsertMany([permission, ...roles]);
|
|
341
344
|
|
|
342
345
|
if (em) {
|
|
343
|
-
|
|
346
|
+
em.persist(entities);
|
|
344
347
|
} else {
|
|
345
348
|
await this.em.persist(entities).flush();
|
|
346
349
|
}
|
|
@@ -363,10 +366,12 @@ export class BasePermissionService<
|
|
|
363
366
|
InferEntity<MapperEntities['RoleEntityMapper']>
|
|
364
367
|
> = {};
|
|
365
368
|
const permissions: InferEntity<MapperEntities['PermissionMapper']>[] = [];
|
|
366
|
-
await (em ?? this.em).transactional(async (
|
|
367
|
-
|
|
368
|
-
const { permission, roles } =
|
|
369
|
-
|
|
369
|
+
await (em ?? this.em).transactional(async (transactionEm) => {
|
|
370
|
+
for (const updatePermissionDto of permissionDtos) {
|
|
371
|
+
const { permission, roles } = await this.updatePermissionDto(
|
|
372
|
+
updatePermissionDto,
|
|
373
|
+
transactionEm
|
|
374
|
+
);
|
|
370
375
|
roles.forEach((role) => {
|
|
371
376
|
if (
|
|
372
377
|
rolesCache[role.id] &&
|
|
@@ -382,14 +387,10 @@ export class BasePermissionService<
|
|
|
382
387
|
}
|
|
383
388
|
});
|
|
384
389
|
permissions.push(permission);
|
|
385
|
-
}
|
|
390
|
+
}
|
|
386
391
|
const entities = [...permissions, ...Object.values(rolesCache)];
|
|
387
392
|
|
|
388
|
-
|
|
389
|
-
await em.persist(entities);
|
|
390
|
-
} else {
|
|
391
|
-
await this.em.persist(entities).flush();
|
|
392
|
-
}
|
|
393
|
+
await transactionEm.persist(entities).flush();
|
|
393
394
|
});
|
|
394
395
|
|
|
395
396
|
return Promise.all(
|
|
@@ -71,7 +71,7 @@ export class BaseRoleService<
|
|
|
71
71
|
);
|
|
72
72
|
|
|
73
73
|
if (em) {
|
|
74
|
-
|
|
74
|
+
em.persist(role);
|
|
75
75
|
} else {
|
|
76
76
|
await this.em.persist(role).flush();
|
|
77
77
|
}
|
|
@@ -95,7 +95,7 @@ export class BaseRoleService<
|
|
|
95
95
|
);
|
|
96
96
|
|
|
97
97
|
if (em) {
|
|
98
|
-
|
|
98
|
+
em.persist(roles);
|
|
99
99
|
} else {
|
|
100
100
|
await this.em.persist(roles).flush();
|
|
101
101
|
}
|
|
@@ -163,7 +163,7 @@ export class BaseRoleService<
|
|
|
163
163
|
);
|
|
164
164
|
|
|
165
165
|
if (em) {
|
|
166
|
-
|
|
166
|
+
em.persist(role);
|
|
167
167
|
} else {
|
|
168
168
|
await this.em.persist(role).flush();
|
|
169
169
|
}
|
|
@@ -187,7 +187,7 @@ export class BaseRoleService<
|
|
|
187
187
|
);
|
|
188
188
|
|
|
189
189
|
if (em) {
|
|
190
|
-
|
|
190
|
+
em.persist(roles);
|
|
191
191
|
} else {
|
|
192
192
|
await this.em.persist(roles).flush();
|
|
193
193
|
}
|
|
@@ -79,7 +79,7 @@ export class BaseUserService<
|
|
|
79
79
|
);
|
|
80
80
|
|
|
81
81
|
if (em) {
|
|
82
|
-
|
|
82
|
+
em.persist(user);
|
|
83
83
|
} else {
|
|
84
84
|
await this.em.persist(user).flush();
|
|
85
85
|
}
|
|
@@ -107,7 +107,7 @@ export class BaseUserService<
|
|
|
107
107
|
);
|
|
108
108
|
|
|
109
109
|
if (em) {
|
|
110
|
-
|
|
110
|
+
em.persist(users);
|
|
111
111
|
} else {
|
|
112
112
|
await this.em.persist(users).flush();
|
|
113
113
|
}
|
|
@@ -160,11 +160,14 @@ export class BaseUserService<
|
|
|
160
160
|
this.openTelemetryCollector.info('Getting batch users', idsDto);
|
|
161
161
|
}
|
|
162
162
|
|
|
163
|
+
// FilterQuery admits non-object forms, so rest syntax needs the object view.
|
|
164
|
+
const { ids, ...filters } = idsDto as IdsDto & Record<string, unknown>;
|
|
163
165
|
return Promise.all(
|
|
164
166
|
(
|
|
165
167
|
await (em ?? this.em).find(
|
|
166
168
|
this.mappers.UserMapper.entity as typeof User,
|
|
167
|
-
|
|
169
|
+
// Same query shape the caller passed, with ids as an $in filter.
|
|
170
|
+
{ ...filters, id: { $in: ids } } as unknown as typeof idsDto,
|
|
168
171
|
{
|
|
169
172
|
populate: ['id', '*']
|
|
170
173
|
}
|
|
@@ -193,7 +196,7 @@ export class BaseUserService<
|
|
|
193
196
|
);
|
|
194
197
|
|
|
195
198
|
if (em) {
|
|
196
|
-
|
|
199
|
+
em.persist(user);
|
|
197
200
|
} else {
|
|
198
201
|
await this.em.persist(user).flush();
|
|
199
202
|
}
|
|
@@ -221,7 +224,7 @@ export class BaseUserService<
|
|
|
221
224
|
);
|
|
222
225
|
|
|
223
226
|
if (em) {
|
|
224
|
-
|
|
227
|
+
em.persist(users);
|
|
225
228
|
} else {
|
|
226
229
|
await this.em.persist(users).flush();
|
|
227
230
|
}
|
|
@@ -261,9 +264,10 @@ export class BaseUserService<
|
|
|
261
264
|
this.openTelemetryCollector.info('Deleting batch users', idsDto);
|
|
262
265
|
}
|
|
263
266
|
|
|
267
|
+
const { ids, ...filters } = idsDto;
|
|
264
268
|
const filter = {
|
|
265
|
-
...
|
|
266
|
-
id: { $in:
|
|
269
|
+
...filters,
|
|
270
|
+
id: { $in: ids },
|
|
267
271
|
...(idsDto.organization && {
|
|
268
272
|
organization: idsDto.organization.id
|
|
269
273
|
})
|
package/lib/services/index.js
CHANGED
|
@@ -61,7 +61,7 @@ var BaseOrganizationService = class {
|
|
|
61
61
|
...args
|
|
62
62
|
);
|
|
63
63
|
if (em) {
|
|
64
|
-
|
|
64
|
+
em.persist(organization);
|
|
65
65
|
} else {
|
|
66
66
|
await this.em.persist(organization).flush();
|
|
67
67
|
}
|
|
@@ -92,7 +92,7 @@ var BaseOrganizationService = class {
|
|
|
92
92
|
...args
|
|
93
93
|
);
|
|
94
94
|
if (em) {
|
|
95
|
-
|
|
95
|
+
em.persist(updatedOrganization);
|
|
96
96
|
} else {
|
|
97
97
|
await this.em.persist(updatedOrganization).flush();
|
|
98
98
|
}
|
|
@@ -213,7 +213,7 @@ var BasePermissionService = class {
|
|
|
213
213
|
)
|
|
214
214
|
);
|
|
215
215
|
if (em) {
|
|
216
|
-
|
|
216
|
+
em.persist([permission, ...roles]);
|
|
217
217
|
} else {
|
|
218
218
|
await this.em.persist([permission, ...roles]).flush();
|
|
219
219
|
}
|
|
@@ -264,7 +264,7 @@ var BasePermissionService = class {
|
|
|
264
264
|
}
|
|
265
265
|
const entities = [...permissions, ...Object.values(rolesCache)];
|
|
266
266
|
if (em) {
|
|
267
|
-
|
|
267
|
+
em.persist(entities);
|
|
268
268
|
} else {
|
|
269
269
|
await this.em.persist(entities).flush();
|
|
270
270
|
}
|
|
@@ -333,10 +333,13 @@ var BasePermissionService = class {
|
|
|
333
333
|
if (this.evaluatedTelemetryOptions.logging) {
|
|
334
334
|
this.openTelemetryCollector.info("Updating permission", permissionDto);
|
|
335
335
|
}
|
|
336
|
-
const { permission, roles } = await this.updatePermissionDto(
|
|
336
|
+
const { permission, roles } = await this.updatePermissionDto(
|
|
337
|
+
permissionDto,
|
|
338
|
+
em
|
|
339
|
+
);
|
|
337
340
|
const entities = await (em ?? this.em).upsertMany([permission, ...roles]);
|
|
338
341
|
if (em) {
|
|
339
|
-
|
|
342
|
+
em.persist(entities);
|
|
340
343
|
} else {
|
|
341
344
|
await this.em.persist(entities).flush();
|
|
342
345
|
}
|
|
@@ -351,9 +354,12 @@ var BasePermissionService = class {
|
|
|
351
354
|
}
|
|
352
355
|
const rolesCache = {};
|
|
353
356
|
const permissions = [];
|
|
354
|
-
await (em ?? this.em).transactional(async (
|
|
355
|
-
|
|
356
|
-
const { permission, roles } = await this.updatePermissionDto(
|
|
357
|
+
await (em ?? this.em).transactional(async (transactionEm) => {
|
|
358
|
+
for (const updatePermissionDto of permissionDtos) {
|
|
359
|
+
const { permission, roles } = await this.updatePermissionDto(
|
|
360
|
+
updatePermissionDto,
|
|
361
|
+
transactionEm
|
|
362
|
+
);
|
|
357
363
|
roles.forEach((role) => {
|
|
358
364
|
if (rolesCache[role.id] && role.permissions !== rolesCache[role.id].permissions) {
|
|
359
365
|
role.permissions?.getItems().forEach((permission2) => {
|
|
@@ -366,13 +372,9 @@ var BasePermissionService = class {
|
|
|
366
372
|
}
|
|
367
373
|
});
|
|
368
374
|
permissions.push(permission);
|
|
369
|
-
});
|
|
370
|
-
const entities = [...permissions, ...Object.values(rolesCache)];
|
|
371
|
-
if (em2) {
|
|
372
|
-
await em2.persist(entities);
|
|
373
|
-
} else {
|
|
374
|
-
await this.em.persist(entities).flush();
|
|
375
375
|
}
|
|
376
|
+
const entities = [...permissions, ...Object.values(rolesCache)];
|
|
377
|
+
await transactionEm.persist(entities).flush();
|
|
376
378
|
});
|
|
377
379
|
return Promise.all(
|
|
378
380
|
permissions.map(
|
|
@@ -431,7 +433,7 @@ var BaseRoleService = class {
|
|
|
431
433
|
...args
|
|
432
434
|
);
|
|
433
435
|
if (em) {
|
|
434
|
-
|
|
436
|
+
em.persist(role);
|
|
435
437
|
} else {
|
|
436
438
|
await this.em.persist(role).flush();
|
|
437
439
|
}
|
|
@@ -447,7 +449,7 @@ var BaseRoleService = class {
|
|
|
447
449
|
)
|
|
448
450
|
);
|
|
449
451
|
if (em) {
|
|
450
|
-
|
|
452
|
+
em.persist(roles);
|
|
451
453
|
} else {
|
|
452
454
|
await this.em.persist(roles).flush();
|
|
453
455
|
}
|
|
@@ -500,7 +502,7 @@ var BaseRoleService = class {
|
|
|
500
502
|
...args
|
|
501
503
|
);
|
|
502
504
|
if (em) {
|
|
503
|
-
|
|
505
|
+
em.persist(role);
|
|
504
506
|
} else {
|
|
505
507
|
await this.em.persist(role).flush();
|
|
506
508
|
}
|
|
@@ -516,7 +518,7 @@ var BaseRoleService = class {
|
|
|
516
518
|
)
|
|
517
519
|
);
|
|
518
520
|
if (em) {
|
|
519
|
-
|
|
521
|
+
em.persist(roles);
|
|
520
522
|
} else {
|
|
521
523
|
await this.em.persist(roles).flush();
|
|
522
524
|
}
|
|
@@ -579,7 +581,7 @@ var BaseUserService = class {
|
|
|
579
581
|
...args
|
|
580
582
|
);
|
|
581
583
|
if (em) {
|
|
582
|
-
|
|
584
|
+
em.persist(user);
|
|
583
585
|
} else {
|
|
584
586
|
await this.em.persist(user).flush();
|
|
585
587
|
}
|
|
@@ -599,7 +601,7 @@ var BaseUserService = class {
|
|
|
599
601
|
)
|
|
600
602
|
);
|
|
601
603
|
if (em) {
|
|
602
|
-
|
|
604
|
+
em.persist(users);
|
|
603
605
|
} else {
|
|
604
606
|
await this.em.persist(users).flush();
|
|
605
607
|
}
|
|
@@ -636,10 +638,12 @@ var BaseUserService = class {
|
|
|
636
638
|
if (this.evaluatedTelemetryOptions.logging) {
|
|
637
639
|
this.openTelemetryCollector.info("Getting batch users", idsDto);
|
|
638
640
|
}
|
|
641
|
+
const { ids, ...filters } = idsDto;
|
|
639
642
|
return Promise.all(
|
|
640
643
|
(await (em ?? this.em).find(
|
|
641
644
|
this.mappers.UserMapper.entity,
|
|
642
|
-
|
|
645
|
+
// Same query shape the caller passed, with ids as an $in filter.
|
|
646
|
+
{ ...filters, id: { $in: ids } },
|
|
643
647
|
{
|
|
644
648
|
populate: ["id", "*"]
|
|
645
649
|
}
|
|
@@ -660,7 +664,7 @@ var BaseUserService = class {
|
|
|
660
664
|
...args
|
|
661
665
|
);
|
|
662
666
|
if (em) {
|
|
663
|
-
|
|
667
|
+
em.persist(user);
|
|
664
668
|
} else {
|
|
665
669
|
await this.em.persist(user).flush();
|
|
666
670
|
}
|
|
@@ -680,7 +684,7 @@ var BaseUserService = class {
|
|
|
680
684
|
)
|
|
681
685
|
);
|
|
682
686
|
if (em) {
|
|
683
|
-
|
|
687
|
+
em.persist(users);
|
|
684
688
|
} else {
|
|
685
689
|
await this.em.persist(users).flush();
|
|
686
690
|
}
|
|
@@ -708,9 +712,10 @@ var BaseUserService = class {
|
|
|
708
712
|
if (this.evaluatedTelemetryOptions.logging) {
|
|
709
713
|
this.openTelemetryCollector.info("Deleting batch users", idsDto);
|
|
710
714
|
}
|
|
715
|
+
const { ids, ...filters } = idsDto;
|
|
711
716
|
const filter = {
|
|
712
|
-
...
|
|
713
|
-
id: { $in:
|
|
717
|
+
...filters,
|
|
718
|
+
id: { $in: ids },
|
|
714
719
|
...idsDto.organization && {
|
|
715
720
|
organization: idsDto.organization.id
|
|
716
721
|
}
|
package/lib/services/index.mjs
CHANGED
|
@@ -33,7 +33,7 @@ var BaseOrganizationService = class {
|
|
|
33
33
|
...args
|
|
34
34
|
);
|
|
35
35
|
if (em) {
|
|
36
|
-
|
|
36
|
+
em.persist(organization);
|
|
37
37
|
} else {
|
|
38
38
|
await this.em.persist(organization).flush();
|
|
39
39
|
}
|
|
@@ -64,7 +64,7 @@ var BaseOrganizationService = class {
|
|
|
64
64
|
...args
|
|
65
65
|
);
|
|
66
66
|
if (em) {
|
|
67
|
-
|
|
67
|
+
em.persist(updatedOrganization);
|
|
68
68
|
} else {
|
|
69
69
|
await this.em.persist(updatedOrganization).flush();
|
|
70
70
|
}
|
|
@@ -187,7 +187,7 @@ var BasePermissionService = class {
|
|
|
187
187
|
)
|
|
188
188
|
);
|
|
189
189
|
if (em) {
|
|
190
|
-
|
|
190
|
+
em.persist([permission, ...roles]);
|
|
191
191
|
} else {
|
|
192
192
|
await this.em.persist([permission, ...roles]).flush();
|
|
193
193
|
}
|
|
@@ -238,7 +238,7 @@ var BasePermissionService = class {
|
|
|
238
238
|
}
|
|
239
239
|
const entities = [...permissions, ...Object.values(rolesCache)];
|
|
240
240
|
if (em) {
|
|
241
|
-
|
|
241
|
+
em.persist(entities);
|
|
242
242
|
} else {
|
|
243
243
|
await this.em.persist(entities).flush();
|
|
244
244
|
}
|
|
@@ -307,10 +307,13 @@ var BasePermissionService = class {
|
|
|
307
307
|
if (this.evaluatedTelemetryOptions.logging) {
|
|
308
308
|
this.openTelemetryCollector.info("Updating permission", permissionDto);
|
|
309
309
|
}
|
|
310
|
-
const { permission, roles } = await this.updatePermissionDto(
|
|
310
|
+
const { permission, roles } = await this.updatePermissionDto(
|
|
311
|
+
permissionDto,
|
|
312
|
+
em
|
|
313
|
+
);
|
|
311
314
|
const entities = await (em ?? this.em).upsertMany([permission, ...roles]);
|
|
312
315
|
if (em) {
|
|
313
|
-
|
|
316
|
+
em.persist(entities);
|
|
314
317
|
} else {
|
|
315
318
|
await this.em.persist(entities).flush();
|
|
316
319
|
}
|
|
@@ -325,9 +328,12 @@ var BasePermissionService = class {
|
|
|
325
328
|
}
|
|
326
329
|
const rolesCache = {};
|
|
327
330
|
const permissions = [];
|
|
328
|
-
await (em ?? this.em).transactional(async (
|
|
329
|
-
|
|
330
|
-
const { permission, roles } = await this.updatePermissionDto(
|
|
331
|
+
await (em ?? this.em).transactional(async (transactionEm) => {
|
|
332
|
+
for (const updatePermissionDto of permissionDtos) {
|
|
333
|
+
const { permission, roles } = await this.updatePermissionDto(
|
|
334
|
+
updatePermissionDto,
|
|
335
|
+
transactionEm
|
|
336
|
+
);
|
|
331
337
|
roles.forEach((role) => {
|
|
332
338
|
if (rolesCache[role.id] && role.permissions !== rolesCache[role.id].permissions) {
|
|
333
339
|
role.permissions?.getItems().forEach((permission2) => {
|
|
@@ -340,13 +346,9 @@ var BasePermissionService = class {
|
|
|
340
346
|
}
|
|
341
347
|
});
|
|
342
348
|
permissions.push(permission);
|
|
343
|
-
});
|
|
344
|
-
const entities = [...permissions, ...Object.values(rolesCache)];
|
|
345
|
-
if (em2) {
|
|
346
|
-
await em2.persist(entities);
|
|
347
|
-
} else {
|
|
348
|
-
await this.em.persist(entities).flush();
|
|
349
349
|
}
|
|
350
|
+
const entities = [...permissions, ...Object.values(rolesCache)];
|
|
351
|
+
await transactionEm.persist(entities).flush();
|
|
350
352
|
});
|
|
351
353
|
return Promise.all(
|
|
352
354
|
permissions.map(
|
|
@@ -407,7 +409,7 @@ var BaseRoleService = class {
|
|
|
407
409
|
...args
|
|
408
410
|
);
|
|
409
411
|
if (em) {
|
|
410
|
-
|
|
412
|
+
em.persist(role);
|
|
411
413
|
} else {
|
|
412
414
|
await this.em.persist(role).flush();
|
|
413
415
|
}
|
|
@@ -423,7 +425,7 @@ var BaseRoleService = class {
|
|
|
423
425
|
)
|
|
424
426
|
);
|
|
425
427
|
if (em) {
|
|
426
|
-
|
|
428
|
+
em.persist(roles);
|
|
427
429
|
} else {
|
|
428
430
|
await this.em.persist(roles).flush();
|
|
429
431
|
}
|
|
@@ -476,7 +478,7 @@ var BaseRoleService = class {
|
|
|
476
478
|
...args
|
|
477
479
|
);
|
|
478
480
|
if (em) {
|
|
479
|
-
|
|
481
|
+
em.persist(role);
|
|
480
482
|
} else {
|
|
481
483
|
await this.em.persist(role).flush();
|
|
482
484
|
}
|
|
@@ -492,7 +494,7 @@ var BaseRoleService = class {
|
|
|
492
494
|
)
|
|
493
495
|
);
|
|
494
496
|
if (em) {
|
|
495
|
-
|
|
497
|
+
em.persist(roles);
|
|
496
498
|
} else {
|
|
497
499
|
await this.em.persist(roles).flush();
|
|
498
500
|
}
|
|
@@ -557,7 +559,7 @@ var BaseUserService = class {
|
|
|
557
559
|
...args
|
|
558
560
|
);
|
|
559
561
|
if (em) {
|
|
560
|
-
|
|
562
|
+
em.persist(user);
|
|
561
563
|
} else {
|
|
562
564
|
await this.em.persist(user).flush();
|
|
563
565
|
}
|
|
@@ -577,7 +579,7 @@ var BaseUserService = class {
|
|
|
577
579
|
)
|
|
578
580
|
);
|
|
579
581
|
if (em) {
|
|
580
|
-
|
|
582
|
+
em.persist(users);
|
|
581
583
|
} else {
|
|
582
584
|
await this.em.persist(users).flush();
|
|
583
585
|
}
|
|
@@ -614,10 +616,12 @@ var BaseUserService = class {
|
|
|
614
616
|
if (this.evaluatedTelemetryOptions.logging) {
|
|
615
617
|
this.openTelemetryCollector.info("Getting batch users", idsDto);
|
|
616
618
|
}
|
|
619
|
+
const { ids, ...filters } = idsDto;
|
|
617
620
|
return Promise.all(
|
|
618
621
|
(await (em ?? this.em).find(
|
|
619
622
|
this.mappers.UserMapper.entity,
|
|
620
|
-
|
|
623
|
+
// Same query shape the caller passed, with ids as an $in filter.
|
|
624
|
+
{ ...filters, id: { $in: ids } },
|
|
621
625
|
{
|
|
622
626
|
populate: ["id", "*"]
|
|
623
627
|
}
|
|
@@ -638,7 +642,7 @@ var BaseUserService = class {
|
|
|
638
642
|
...args
|
|
639
643
|
);
|
|
640
644
|
if (em) {
|
|
641
|
-
|
|
645
|
+
em.persist(user);
|
|
642
646
|
} else {
|
|
643
647
|
await this.em.persist(user).flush();
|
|
644
648
|
}
|
|
@@ -658,7 +662,7 @@ var BaseUserService = class {
|
|
|
658
662
|
)
|
|
659
663
|
);
|
|
660
664
|
if (em) {
|
|
661
|
-
|
|
665
|
+
em.persist(users);
|
|
662
666
|
} else {
|
|
663
667
|
await this.em.persist(users).flush();
|
|
664
668
|
}
|
|
@@ -686,9 +690,10 @@ var BaseUserService = class {
|
|
|
686
690
|
if (this.evaluatedTelemetryOptions.logging) {
|
|
687
691
|
this.openTelemetryCollector.info("Deleting batch users", idsDto);
|
|
688
692
|
}
|
|
693
|
+
const { ids, ...filters } = idsDto;
|
|
689
694
|
const filter = {
|
|
690
|
-
...
|
|
691
|
-
id: { $in:
|
|
695
|
+
...filters,
|
|
696
|
+
id: { $in: ids },
|
|
692
697
|
...idsDto.organization && {
|
|
693
698
|
organization: idsDto.organization.id
|
|
694
699
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permission.service.d.ts","sourceRoot":"","sources":["../../services/permission.service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,WAAW,EACZ,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAEL,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAe,MAAM,iBAAiB,CAAC;AAE7D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAE5E,qBAAa,qBAAqB,CAChC,eAAe,SAAS,kBAAkB,EAC1C,cAAc,SAAS,kBAAkB,GAAG,kBAAkB,EAC9D,aAAa,SAAS,cAAc,GAAG,cAAc,CACrD,YAAW,iBAAiB;IAC5B,OAAO,CAAC,yBAAyB,CAI/B;IACK,EAAE,EAAE,aAAa,CAAC;IACzB,SAAS,CAAC,kBAAkB,EAAE,MAAM,WAAW,CAAC;IAChD,SAAS,CAAC,sBAAsB,EAAE,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;IAC5E,SAAS,CAAC,eAAe,EAAE,eAAe,CAAC;IAC3C,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IAEpE,YACE,EAAE,EAAE,aAAa,EACjB,kBAAkB,EAAE,MAAM,WAAW,EACrC,sBAAsB,EAAE,sBAAsB,CAAC,iBAAiB,CAAC,EACjE,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,iBAAiB,CAAC,cAAc,EAAE,aAAa,CAAC,EACzD,OAAO,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,gBAAgB,CAAC;KAC9B,EAcF;YAGa,0BAA0B;YAY1B,0BAA0B;YAc1B,aAAa;YAsBb,sBAAsB;YAqBtB,yCAAyC;IAuBjD,gBAAgB,CACpB,sBAAsB,EAAE,mBAAmB,EAC3C,EAAE,CAAC,EAAE,aAAa,EAClB,GAAG,IAAI,EAAE,OAAO,EAAE,GACjB,OAAO,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAsB5C;IAEK,sBAAsB,CAC1B,cAAc,EAAE,mBAAmB,EAAE,EACrC,EAAE,CAAC,EAAE,aAAa,GACjB,OAAO,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE,CAAC,CA8D9C;IAEK,aAAa,CACjB,KAAK,EAAE,KAAK,EACZ,EAAE,CAAC,EAAE,aAAa,GACjB,OAAO,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAW5C;IAEK,mBAAmB,CACvB,MAAM,EAAE,MAAM,EACd,EAAE,CAAC,EAAE,aAAa,GACjB,OAAO,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAkB9C;IAGD,OAAO,CAAC,mBAAmB,CAqCzB;IAGI,gBAAgB,CACpB,aAAa,EAAE,mBAAmB,EAClC,EAAE,CAAC,EAAE,aAAa,GACjB,OAAO,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"permission.service.d.ts","sourceRoot":"","sources":["../../services/permission.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.service.d.ts","sourceRoot":"","sources":["../../services/user.service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,WAAW,EACZ,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAEL,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE1E,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAEhE,qBAAa,eAAe,CAC1B,eAAe,SAAS,kBAAkB,EAC1C,kBAAkB,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC1E,cAAc,SAAS,YAAY,GAAG,YAAY,EAClD,aAAa,SAAS,QAAQ,GAAG,QAAQ,CACzC,YAAW,WAAW;IACtB,OAAO,CAAC,yBAAyB,CAI/B;IACK,EAAE,EAAE,aAAa,CAAC;IACzB,SAAS,CAAC,kBAAkB,EAAE,MAAM,WAAW,CAAC;IAChD,SAAS,CAAC,0BAA0B,EAAE,MAAM,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;IACpF,SAAS,CAAC,sBAAsB,EAAE,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;IAC5E,SAAS,CAAC,eAAe,EAAE,eAAe,CAAC;IAC3C,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IAE9D,YACE,EAAE,EAAE,aAAa,EACjB,kBAAkB,EAAE,MAAM,WAAW,EACrC,0BAA0B,EAAE,MAAM,mBAAmB,CAAC,kBAAkB,CAAC,EACzE,sBAAsB,EAAE,sBAAsB,CAAC,iBAAiB,CAAC,EACjE,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,WAAW,CAAC,cAAc,EAAE,aAAa,CAAC,EACnD,OAAO,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,gBAAgB,CAAC;KAC9B,EAeF;IAEK,UAAU,CACd,OAAO,EAAE,aAAa,EACtB,EAAE,CAAC,EAAE,aAAa,EAClB,GAAG,IAAI,EAAE,OAAO,EAAE,GACjB,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAkBtC;IAEK,gBAAgB,CACpB,QAAQ,EAAE,aAAa,EAAE,EACzB,EAAE,CAAC,EAAE,aAAa,EAClB,GAAG,IAAI,EAAE,OAAO,EAAE,GACjB,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,CAAC,CAwBxC;IAEK,yBAAyB,CAC7B,KAAK,EAAE,KAAK,EACZ,EAAE,CAAC,EAAE,aAAa,GACjB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAS7B;IAEK,OAAO,CACX,KAAK,EAAE,KAAK,GAAG,WAAW,CAAC,WAAW,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,EACrE,EAAE,CAAC,EAAE,aAAa,GACjB,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAgBtC;IAEK,aAAa,CACjB,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,EACvE,EAAE,CAAC,EAAE,aAAa,GACjB,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"user.service.d.ts","sourceRoot":"","sources":["../../services/user.service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forklaunch/implementation-iam-base",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.43",
|
|
4
4
|
"description": "IAM basic implementation for forklaunch",
|
|
5
5
|
"homepage": "https://github.com/forklaunch/forklaunch-js#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -45,16 +45,16 @@
|
|
|
45
45
|
"lib/**"
|
|
46
46
|
],
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@forklaunch/common": "^1.2.
|
|
49
|
-
"@forklaunch/core": "^3.
|
|
50
|
-
"@forklaunch/
|
|
51
|
-
"@forklaunch/
|
|
48
|
+
"@forklaunch/common": "^1.2.32",
|
|
49
|
+
"@forklaunch/core": "^3.3.0",
|
|
50
|
+
"@forklaunch/interfaces-iam": "^1.0.39",
|
|
51
|
+
"@forklaunch/internal": "^1.2.35",
|
|
52
|
+
"@forklaunch/validator": "^1.3.0",
|
|
52
53
|
"@mikro-orm/core": "7.2.5",
|
|
53
54
|
"@sinclair/typebox": "^0.34.52",
|
|
54
55
|
"ajv": "^8.20.0",
|
|
55
56
|
"uuid": "^14.0.3",
|
|
56
|
-
"zod": "^4.6.7"
|
|
57
|
-
"@forklaunch/interfaces-iam": "^1.0.38"
|
|
57
|
+
"zod": "^4.6.7"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
60
|
"depcheck": "^1.4.7",
|