@forklaunch/implementation-iam-base 0.3.3 → 0.3.4

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.
@@ -1,4 +1,4 @@
1
- 'use strict';
1
+ "use strict";
2
2
  var __defProp = Object.defineProperty;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -8,18 +8,14 @@ var __export = (target, all) => {
8
8
  __defProp(target, name, { get: all[name], enumerable: true });
9
9
  };
10
10
  var __copyProps = (to, from, except, desc) => {
11
- if ((from && typeof from === 'object') || typeof from === 'function') {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
12
  for (let key of __getOwnPropNames(from))
13
13
  if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, {
15
- get: () => from[key],
16
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
17
- });
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
18
15
  }
19
16
  return to;
20
17
  };
21
- var __toCommonJS = (mod) =>
22
- __copyProps(__defProp({}, '__esModule', { value: true }), mod);
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
23
19
 
24
20
  // services/index.ts
25
21
  var services_exports = {};
@@ -32,40 +28,34 @@ __export(services_exports, {
32
28
  module.exports = __toCommonJS(services_exports);
33
29
 
34
30
  // services/organization.service.ts
35
- var import_http = require('@forklaunch/core/http');
36
- var import_internal = require('@forklaunch/internal');
31
+ var import_http = require("@forklaunch/core/http");
32
+ var import_internal = require("@forklaunch/internal");
37
33
  var BaseOrganizationService = class {
38
34
  constructor(em, openTelemetryCollector, schemaValidator, mappers, options) {
39
35
  this.em = em;
40
36
  this.openTelemetryCollector = openTelemetryCollector;
41
37
  this.schemaValidator = schemaValidator;
42
38
  this.mappers = mappers;
43
- this._mappers = (0, import_internal.transformIntoInternalMapper)(
44
- mappers,
45
- schemaValidator
46
- );
47
- this.evaluatedTelemetryOptions = options?.telemetry
48
- ? (0, import_http.evaluateTelemetryOptions)(options.telemetry).enabled
49
- : {
50
- logging: false,
51
- metrics: false,
52
- tracing: false
53
- };
39
+ this._mappers = (0, import_internal.transformIntoInternalMapper)(mappers, schemaValidator);
40
+ this.evaluatedTelemetryOptions = options?.telemetry ? (0, import_http.evaluateTelemetryOptions)(options.telemetry).enabled : {
41
+ logging: false,
42
+ metrics: false,
43
+ tracing: false
44
+ };
54
45
  }
55
46
  _mappers;
56
47
  evaluatedTelemetryOptions;
57
48
  async createOrganization(organizationDto, em) {
58
49
  if (this.evaluatedTelemetryOptions.logging) {
59
50
  this.openTelemetryCollector.info(
60
- 'Creating organization',
51
+ "Creating organization",
61
52
  organizationDto
62
53
  );
63
54
  }
64
- const organization =
65
- await this._mappers.CreateOrganizationMapper.deserializeDtoToEntity(
66
- organizationDto,
67
- em ?? this.em
68
- );
55
+ const organization = await this._mappers.CreateOrganizationMapper.deserializeDtoToEntity(
56
+ organizationDto,
57
+ em ?? this.em
58
+ );
69
59
  if (em) {
70
60
  await em.persist(organization);
71
61
  } else {
@@ -75,26 +65,27 @@ var BaseOrganizationService = class {
75
65
  }
76
66
  async getOrganization(idDto, em) {
77
67
  if (this.evaluatedTelemetryOptions.logging) {
78
- this.openTelemetryCollector.info('Getting organization', idDto);
68
+ this.openTelemetryCollector.info("Getting organization", idDto);
79
69
  }
80
70
  const organization = await (em ?? this.em).findOneOrFail(
81
- 'Organization',
71
+ "Organization",
82
72
  idDto
83
73
  );
84
- return this._mappers.OrganizationMapper.serializeEntityToDto(organization);
74
+ return this._mappers.OrganizationMapper.serializeEntityToDto(
75
+ organization
76
+ );
85
77
  }
86
78
  async updateOrganization(organizationDto, em) {
87
79
  if (this.evaluatedTelemetryOptions.logging) {
88
80
  this.openTelemetryCollector.info(
89
- 'Updating organization',
81
+ "Updating organization",
90
82
  organizationDto
91
83
  );
92
84
  }
93
- const updatedOrganization =
94
- await this._mappers.UpdateOrganizationMapper.deserializeDtoToEntity(
95
- organizationDto,
96
- em ?? this.em
97
- );
85
+ const updatedOrganization = await this._mappers.UpdateOrganizationMapper.deserializeDtoToEntity(
86
+ organizationDto,
87
+ em ?? this.em
88
+ );
98
89
  if (em) {
99
90
  await em.persist(updatedOrganization);
100
91
  } else {
@@ -106,44 +97,32 @@ var BaseOrganizationService = class {
106
97
  }
107
98
  async deleteOrganization(idDto, em) {
108
99
  if (this.evaluatedTelemetryOptions.logging) {
109
- this.openTelemetryCollector.info('Deleting organization', idDto);
100
+ this.openTelemetryCollector.info("Deleting organization", idDto);
110
101
  }
111
102
  if (em) {
112
- await em.nativeDelete('Organization', idDto);
103
+ await em.nativeDelete("Organization", idDto);
113
104
  } else {
114
- await this.em.nativeDelete('Organization', idDto);
105
+ await this.em.nativeDelete("Organization", idDto);
115
106
  }
116
107
  }
117
108
  };
118
109
 
119
110
  // services/permission.service.ts
120
- var import_http2 = require('@forklaunch/core/http');
121
- var import_internal2 = require('@forklaunch/internal');
111
+ var import_http2 = require("@forklaunch/core/http");
112
+ var import_internal2 = require("@forklaunch/internal");
122
113
  var BasePermissionService = class {
123
- constructor(
124
- em,
125
- roleServiceFactory,
126
- openTelemetryCollector,
127
- schemaValidator,
128
- mappers,
129
- options
130
- ) {
114
+ constructor(em, roleServiceFactory, openTelemetryCollector, schemaValidator, mappers, options) {
131
115
  this.em = em;
132
116
  this.roleServiceFactory = roleServiceFactory;
133
117
  this.openTelemetryCollector = openTelemetryCollector;
134
118
  this.schemaValidator = schemaValidator;
135
119
  this.mappers = mappers;
136
- this._mappers = (0, import_internal2.transformIntoInternalMapper)(
137
- mappers,
138
- schemaValidator
139
- );
140
- this.evaluatedTelemetryOptions = options?.telemetry
141
- ? (0, import_http2.evaluateTelemetryOptions)(options.telemetry).enabled
142
- : {
143
- logging: false,
144
- metrics: false,
145
- tracing: false
146
- };
120
+ this._mappers = (0, import_internal2.transformIntoInternalMapper)(mappers, schemaValidator);
121
+ this.evaluatedTelemetryOptions = options?.telemetry ? (0, import_http2.evaluateTelemetryOptions)(options.telemetry).enabled : {
122
+ logging: false,
123
+ metrics: false,
124
+ tracing: false
125
+ };
147
126
  }
148
127
  _mappers;
149
128
  evaluatedTelemetryOptions;
@@ -159,32 +138,33 @@ var BasePermissionService = class {
159
138
  async removePermissionsFromRoles(roles, permissions) {
160
139
  return Promise.all(
161
140
  roles.map(async (role) => {
162
- permissions.forEach((permission) =>
163
- role.permissions.remove(permission)
141
+ permissions.forEach(
142
+ (permission) => role.permissions.remove(permission)
164
143
  );
165
144
  return role;
166
145
  })
167
146
  );
168
147
  }
169
148
  async getBatchRoles(roleIds, em) {
170
- return roleIds
171
- ? await Promise.all(
172
- (await this.roleServiceFactory().getBatchRoles(roleIds, em)).map(
173
- async (role) => {
174
- return (em ?? this.em).merge(
175
- await this._mappers.RoleEntityMapper.deserializeDtoToEntity(
176
- role,
177
- em ?? this.em
178
- )
179
- );
180
- }
181
- )
182
- )
183
- : [];
149
+ return roleIds ? await Promise.all(
150
+ (await this.roleServiceFactory().getBatchRoles(roleIds, em)).map(
151
+ async (role) => {
152
+ return (em ?? this.em).merge(
153
+ await this._mappers.RoleEntityMapper.deserializeDtoToEntity(
154
+ role,
155
+ em ?? this.em
156
+ )
157
+ );
158
+ }
159
+ )
160
+ ) : [];
184
161
  }
185
162
  // end: global helper functions
186
163
  // start: createPermission helper functions
187
- async createPermissionDto({ permission, addToRoles }) {
164
+ async createPermissionDto({
165
+ permission,
166
+ addToRoles
167
+ }) {
188
168
  let roles = [];
189
169
  if (addToRoles) {
190
170
  roles = await this.updateRolesWithPermissions(addToRoles, [permission]);
@@ -199,16 +179,14 @@ var BasePermissionService = class {
199
179
  em ?? this.em
200
180
  )
201
181
  ),
202
- addToRoles: permissionDto.addToRolesIds
203
- ? await this.getBatchRoles({ ids: permissionDto.addToRolesIds }, em)
204
- : []
182
+ addToRoles: permissionDto.addToRolesIds ? await this.getBatchRoles({ ids: permissionDto.addToRolesIds }, em) : []
205
183
  };
206
184
  }
207
185
  // end: createPermission helper functions
208
186
  async createPermission(createPermissionDto, em) {
209
187
  if (this.evaluatedTelemetryOptions.logging) {
210
188
  this.openTelemetryCollector.info(
211
- 'Creating permission',
189
+ "Creating permission",
212
190
  createPermissionDto
213
191
  );
214
192
  }
@@ -225,7 +203,7 @@ var BasePermissionService = class {
225
203
  async createBatchPermissions(permissionDtos, em) {
226
204
  if (this.evaluatedTelemetryOptions.logging) {
227
205
  this.openTelemetryCollector.info(
228
- 'Creating batch permissions',
206
+ "Creating batch permissions",
229
207
  permissionDtos
230
208
  );
231
209
  }
@@ -239,10 +217,7 @@ var BasePermissionService = class {
239
217
  )
240
218
  );
241
219
  roles.forEach((role) => {
242
- if (
243
- rolesCache[role.id] &&
244
- role.permissions !== rolesCache[role.id].permissions
245
- ) {
220
+ if (rolesCache[role.id] && role.permissions !== rolesCache[role.id].permissions) {
246
221
  role.permissions.getItems().forEach((permission2) => {
247
222
  if (!rolesCache[role.id].permissions.contains(permission2)) {
248
223
  rolesCache[role.id].permissions.add(permission2);
@@ -261,41 +236,40 @@ var BasePermissionService = class {
261
236
  await this.em.persistAndFlush(entities);
262
237
  }
263
238
  return Promise.all(
264
- permissions.map(async (permission) =>
265
- this._mappers.PermissionMapper.serializeEntityToDto(permission)
239
+ permissions.map(
240
+ async (permission) => this._mappers.PermissionMapper.serializeEntityToDto(permission)
266
241
  )
267
242
  );
268
243
  }
269
244
  async getPermission(idDto, em) {
270
245
  if (this.evaluatedTelemetryOptions.logging) {
271
- this.openTelemetryCollector.info('Getting permission', idDto);
246
+ this.openTelemetryCollector.info("Getting permission", idDto);
272
247
  }
273
- const permission = await (em ?? this.em).findOneOrFail('Permission', idDto);
274
- return this._mappers.PermissionMapper.serializeEntityToDto(permission);
248
+ const permission = await (em ?? this.em).findOneOrFail("Permission", idDto);
249
+ return this._mappers.PermissionMapper.serializeEntityToDto(
250
+ permission
251
+ );
275
252
  }
276
253
  async getBatchPermissions(idsDto, em) {
277
254
  if (this.evaluatedTelemetryOptions.logging) {
278
- this.openTelemetryCollector.info('Getting batch permissions', idsDto);
255
+ this.openTelemetryCollector.info("Getting batch permissions", idsDto);
279
256
  }
280
257
  return Promise.all(
281
- (await (em ?? this.em).find('Permission', idsDto)).map((permission) =>
282
- this._mappers.PermissionMapper.serializeEntityToDto(permission)
258
+ (await (em ?? this.em).find("Permission", idsDto)).map(
259
+ (permission) => this._mappers.PermissionMapper.serializeEntityToDto(
260
+ permission
261
+ )
283
262
  )
284
263
  );
285
264
  }
286
265
  // start: updatePermission helper functions
287
266
  updatePermissionDto = async (permissionDto, em) => {
288
- const permission =
289
- await this._mappers.UpdatePermissionMapper.deserializeDtoToEntity(
290
- permissionDto,
291
- em ?? this.em
292
- );
293
- const addToRoles = permissionDto.addToRolesIds
294
- ? await this.getBatchRoles({ ids: permissionDto.addToRolesIds }, em)
295
- : [];
296
- const removeFromRoles = permissionDto.removeFromRolesIds
297
- ? await this.getBatchRoles({ ids: permissionDto.removeFromRolesIds }, em)
298
- : [];
267
+ const permission = await this._mappers.UpdatePermissionMapper.deserializeDtoToEntity(
268
+ permissionDto,
269
+ em ?? this.em
270
+ );
271
+ const addToRoles = permissionDto.addToRolesIds ? await this.getBatchRoles({ ids: permissionDto.addToRolesIds }, em) : [];
272
+ const removeFromRoles = permissionDto.removeFromRolesIds ? await this.getBatchRoles({ ids: permissionDto.removeFromRolesIds }, em) : [];
299
273
  let roles = [];
300
274
  roles = roles.concat(
301
275
  await this.updateRolesWithPermissions(addToRoles, [permission])
@@ -311,7 +285,7 @@ var BasePermissionService = class {
311
285
  // end: updatePermission helper functions
312
286
  async updatePermission(permissionDto, em) {
313
287
  if (this.evaluatedTelemetryOptions.logging) {
314
- this.openTelemetryCollector.info('Updating permission', permissionDto);
288
+ this.openTelemetryCollector.info("Updating permission", permissionDto);
315
289
  }
316
290
  const { permission, roles } = await this.updatePermissionDto(permissionDto);
317
291
  const entities = await (em ?? this.em).upsertMany([permission, ...roles]);
@@ -325,7 +299,7 @@ var BasePermissionService = class {
325
299
  async updateBatchPermissions(permissionDtos, em) {
326
300
  if (this.evaluatedTelemetryOptions.logging) {
327
301
  this.openTelemetryCollector.info(
328
- 'Updating batch permissions',
302
+ "Updating batch permissions",
329
303
  permissionDtos
330
304
  );
331
305
  }
@@ -333,13 +307,9 @@ var BasePermissionService = class {
333
307
  const permissions = [];
334
308
  await (em ?? this.em).transactional(async (em2) => {
335
309
  permissionDtos.map(async (updatePermissionDto) => {
336
- const { permission, roles } =
337
- await this.updatePermissionDto(updatePermissionDto);
310
+ const { permission, roles } = await this.updatePermissionDto(updatePermissionDto);
338
311
  roles.forEach((role) => {
339
- if (
340
- rolesCache[role.id] &&
341
- role.permissions !== rolesCache[role.id].permissions
342
- ) {
312
+ if (rolesCache[role.id] && role.permissions !== rolesCache[role.id].permissions) {
343
313
  role.permissions.getItems().forEach((permission2) => {
344
314
  if (!rolesCache[role.id].permissions.contains(permission2)) {
345
315
  rolesCache[role.id].permissions.add(permission2);
@@ -359,53 +329,48 @@ var BasePermissionService = class {
359
329
  }
360
330
  });
361
331
  return Promise.all(
362
- permissions.map((permission) =>
363
- this._mappers.PermissionMapper.serializeEntityToDto(permission)
332
+ permissions.map(
333
+ (permission) => this._mappers.PermissionMapper.serializeEntityToDto(permission)
364
334
  )
365
335
  );
366
336
  }
367
337
  async deletePermission(idDto, em) {
368
338
  if (this.evaluatedTelemetryOptions.logging) {
369
- this.openTelemetryCollector.info('Deleting permission', idDto);
339
+ this.openTelemetryCollector.info("Deleting permission", idDto);
370
340
  }
371
- await (em ?? this.em).nativeDelete('Permission', idDto);
341
+ await (em ?? this.em).nativeDelete("Permission", idDto);
372
342
  }
373
343
  async deleteBatchPermissions(idsDto, em) {
374
344
  if (this.evaluatedTelemetryOptions.logging) {
375
- this.openTelemetryCollector.info('Deleting batch permissions', idsDto);
345
+ this.openTelemetryCollector.info("Deleting batch permissions", idsDto);
376
346
  }
377
- await (em ?? this.em).nativeDelete('Permission', {
347
+ await (em ?? this.em).nativeDelete("Permission", {
378
348
  id: { $in: idsDto.ids }
379
349
  });
380
350
  }
381
351
  };
382
352
 
383
353
  // services/role.service.ts
384
- var import_http3 = require('@forklaunch/core/http');
385
- var import_internal3 = require('@forklaunch/internal');
354
+ var import_http3 = require("@forklaunch/core/http");
355
+ var import_internal3 = require("@forklaunch/internal");
386
356
  var BaseRoleService = class {
387
357
  constructor(em, openTelemetryCollector, schemaValidator, mappers, options) {
388
358
  this.em = em;
389
359
  this.openTelemetryCollector = openTelemetryCollector;
390
360
  this.schemaValidator = schemaValidator;
391
361
  this.mappers = mappers;
392
- this._mappers = (0, import_internal3.transformIntoInternalMapper)(
393
- mappers,
394
- schemaValidator
395
- );
396
- this.evaluatedTelemetryOptions = options?.telemetry
397
- ? (0, import_http3.evaluateTelemetryOptions)(options.telemetry).enabled
398
- : {
399
- logging: false,
400
- metrics: false,
401
- tracing: false
402
- };
362
+ this._mappers = (0, import_internal3.transformIntoInternalMapper)(mappers, schemaValidator);
363
+ this.evaluatedTelemetryOptions = options?.telemetry ? (0, import_http3.evaluateTelemetryOptions)(options.telemetry).enabled : {
364
+ logging: false,
365
+ metrics: false,
366
+ tracing: false
367
+ };
403
368
  }
404
369
  _mappers;
405
370
  evaluatedTelemetryOptions;
406
371
  async createRole(roleDto, em) {
407
372
  if (this.evaluatedTelemetryOptions.logging) {
408
- this.openTelemetryCollector.info('Creating role', roleDto);
373
+ this.openTelemetryCollector.info("Creating role", roleDto);
409
374
  }
410
375
  const role = await this._mappers.CreateRoleMapper.deserializeDtoToEntity(
411
376
  roleDto,
@@ -420,11 +385,11 @@ var BaseRoleService = class {
420
385
  }
421
386
  async createBatchRoles(roleDtos, em) {
422
387
  if (this.evaluatedTelemetryOptions.logging) {
423
- this.openTelemetryCollector.info('Creating batch roles', roleDtos);
388
+ this.openTelemetryCollector.info("Creating batch roles", roleDtos);
424
389
  }
425
390
  const roles = await Promise.all(
426
- roleDtos.map(async (roleDto) =>
427
- this._mappers.CreateRoleMapper.deserializeDtoToEntity(
391
+ roleDtos.map(
392
+ async (roleDto) => this._mappers.CreateRoleMapper.deserializeDtoToEntity(
428
393
  roleDto,
429
394
  em ?? this.em
430
395
  )
@@ -441,34 +406,38 @@ var BaseRoleService = class {
441
406
  }
442
407
  async getRole({ id }, em) {
443
408
  if (this.evaluatedTelemetryOptions.logging) {
444
- this.openTelemetryCollector.info('Getting role', { id });
409
+ this.openTelemetryCollector.info("Getting role", { id });
445
410
  }
446
- const role = await (em ?? this.em).findOneOrFail('Role', id, {
447
- populate: ['id', '*']
411
+ const role = await (em ?? this.em).findOneOrFail("Role", id, {
412
+ populate: ["id", "*"]
448
413
  });
449
- return this._mappers.RoleMapper.serializeEntityToDto(role);
414
+ return this._mappers.RoleMapper.serializeEntityToDto(
415
+ role
416
+ );
450
417
  }
451
418
  async getBatchRoles({ ids }, em) {
452
419
  if (this.evaluatedTelemetryOptions.logging) {
453
- this.openTelemetryCollector.info('Getting batch roles', { ids });
420
+ this.openTelemetryCollector.info("Getting batch roles", { ids });
454
421
  }
455
422
  return Promise.all(
456
- (
457
- await (em ?? this.em).find(
458
- 'Role',
459
- {
460
- id: { $in: ids }
461
- },
462
- {
463
- populate: ['id', '*']
464
- }
423
+ (await (em ?? this.em).find(
424
+ "Role",
425
+ {
426
+ id: { $in: ids }
427
+ },
428
+ {
429
+ populate: ["id", "*"]
430
+ }
431
+ )).map(
432
+ (role) => this._mappers.RoleMapper.serializeEntityToDto(
433
+ role
465
434
  )
466
- ).map((role) => this._mappers.RoleMapper.serializeEntityToDto(role))
435
+ )
467
436
  );
468
437
  }
469
438
  async updateRole(roleDto, em) {
470
439
  if (this.evaluatedTelemetryOptions.logging) {
471
- this.openTelemetryCollector.info('Updating role', roleDto);
440
+ this.openTelemetryCollector.info("Updating role", roleDto);
472
441
  }
473
442
  const role = await this._mappers.UpdateRoleMapper.deserializeDtoToEntity(
474
443
  roleDto,
@@ -483,11 +452,11 @@ var BaseRoleService = class {
483
452
  }
484
453
  async updateBatchRoles(roleDtos, em) {
485
454
  if (this.evaluatedTelemetryOptions.logging) {
486
- this.openTelemetryCollector.info('Updating batch roles', roleDtos);
455
+ this.openTelemetryCollector.info("Updating batch roles", roleDtos);
487
456
  }
488
457
  const roles = await Promise.all(
489
- roleDtos.map(async (roleDto) =>
490
- this._mappers.UpdateRoleMapper.deserializeDtoToEntity(
458
+ roleDtos.map(
459
+ async (roleDto) => this._mappers.UpdateRoleMapper.deserializeDtoToEntity(
491
460
  roleDto,
492
461
  em ?? this.em
493
462
  )
@@ -499,37 +468,32 @@ var BaseRoleService = class {
499
468
  await this.em.persistAndFlush(roles);
500
469
  }
501
470
  return Promise.all(
502
- roles.map((role) => this._mappers.RoleMapper.serializeEntityToDto(role))
471
+ roles.map(
472
+ (role) => this._mappers.RoleMapper.serializeEntityToDto(
473
+ role
474
+ )
475
+ )
503
476
  );
504
477
  }
505
478
  async deleteRole(idDto, em) {
506
479
  if (this.evaluatedTelemetryOptions.logging) {
507
- this.openTelemetryCollector.info('Deleting role', idDto);
480
+ this.openTelemetryCollector.info("Deleting role", idDto);
508
481
  }
509
- await (em ?? this.em).nativeDelete('Role', idDto);
482
+ await (em ?? this.em).nativeDelete("Role", idDto);
510
483
  }
511
484
  async deleteBatchRoles(idsDto, em) {
512
485
  if (this.evaluatedTelemetryOptions.logging) {
513
- this.openTelemetryCollector.info('Deleting batch roles', idsDto);
486
+ this.openTelemetryCollector.info("Deleting batch roles", idsDto);
514
487
  }
515
- await (em ?? this.em).nativeDelete('Role', { id: { $in: idsDto.ids } });
488
+ await (em ?? this.em).nativeDelete("Role", { id: { $in: idsDto.ids } });
516
489
  }
517
490
  };
518
491
 
519
492
  // services/user.service.ts
520
- var import_http4 = require('@forklaunch/core/http');
521
- var import_internal4 = require('@forklaunch/internal');
493
+ var import_http4 = require("@forklaunch/core/http");
494
+ var import_internal4 = require("@forklaunch/internal");
522
495
  var BaseUserService = class {
523
- constructor(
524
- em,
525
- passwordEncryptionPublicKeyPath,
526
- roleServiceFactory,
527
- organizationServiceFactory,
528
- openTelemetryCollector,
529
- schemaValidator,
530
- mappers,
531
- options
532
- ) {
496
+ constructor(em, passwordEncryptionPublicKeyPath, roleServiceFactory, organizationServiceFactory, openTelemetryCollector, schemaValidator, mappers, options) {
533
497
  this.em = em;
534
498
  this.passwordEncryptionPublicKeyPath = passwordEncryptionPublicKeyPath;
535
499
  this.roleServiceFactory = roleServiceFactory;
@@ -538,23 +502,18 @@ var BaseUserService = class {
538
502
  this.schemaValidator = schemaValidator;
539
503
  this.mappers = mappers;
540
504
  this.options = options;
541
- this._mappers = (0, import_internal4.transformIntoInternalMapper)(
542
- mappers,
543
- schemaValidator
544
- );
545
- this.evaluatedTelemetryOptions = options?.telemetry
546
- ? (0, import_http4.evaluateTelemetryOptions)(options.telemetry).enabled
547
- : {
548
- logging: false,
549
- metrics: false,
550
- tracing: false
551
- };
505
+ this._mappers = (0, import_internal4.transformIntoInternalMapper)(mappers, schemaValidator);
506
+ this.evaluatedTelemetryOptions = options?.telemetry ? (0, import_http4.evaluateTelemetryOptions)(options.telemetry).enabled : {
507
+ logging: false,
508
+ metrics: false,
509
+ tracing: false
510
+ };
552
511
  }
553
512
  _mappers;
554
513
  evaluatedTelemetryOptions;
555
514
  async createUser(userDto, em) {
556
515
  if (this.evaluatedTelemetryOptions.logging) {
557
- this.openTelemetryCollector.info('Creating user', userDto);
516
+ this.openTelemetryCollector.info("Creating user", userDto);
558
517
  }
559
518
  const user = await this._mappers.CreateUserMapper.deserializeDtoToEntity(
560
519
  userDto,
@@ -569,11 +528,11 @@ var BaseUserService = class {
569
528
  }
570
529
  async createBatchUsers(userDtos, em) {
571
530
  if (this.evaluatedTelemetryOptions.logging) {
572
- this.openTelemetryCollector.info('Creating batch users', userDtos);
531
+ this.openTelemetryCollector.info("Creating batch users", userDtos);
573
532
  }
574
533
  const users = await Promise.all(
575
- userDtos.map(async (createUserDto) =>
576
- this._mappers.CreateUserMapper.deserializeDtoToEntity(
534
+ userDtos.map(
535
+ async (createUserDto) => this._mappers.CreateUserMapper.deserializeDtoToEntity(
577
536
  createUserDto,
578
537
  em ?? this.em
579
538
  )
@@ -590,28 +549,32 @@ var BaseUserService = class {
590
549
  }
591
550
  async getUser(idDto, em) {
592
551
  if (this.evaluatedTelemetryOptions.logging) {
593
- this.openTelemetryCollector.info('Getting user', idDto);
552
+ this.openTelemetryCollector.info("Getting user", idDto);
594
553
  }
595
- const user = await (em ?? this.em).findOneOrFail('User', idDto, {
596
- populate: ['id', '*']
554
+ const user = await (em ?? this.em).findOneOrFail("User", idDto, {
555
+ populate: ["id", "*"]
597
556
  });
598
- return this._mappers.UserMapper.serializeEntityToDto(user);
557
+ return this._mappers.UserMapper.serializeEntityToDto(
558
+ user
559
+ );
599
560
  }
600
561
  async getBatchUsers(idsDto, em) {
601
562
  if (this.evaluatedTelemetryOptions.logging) {
602
- this.openTelemetryCollector.info('Getting batch users', idsDto);
563
+ this.openTelemetryCollector.info("Getting batch users", idsDto);
603
564
  }
604
565
  return Promise.all(
605
- (
606
- await (em ?? this.em).find('User', idsDto, {
607
- populate: ['id', '*']
608
- })
609
- ).map((user) => this._mappers.UserMapper.serializeEntityToDto(user))
566
+ (await (em ?? this.em).find("User", idsDto, {
567
+ populate: ["id", "*"]
568
+ })).map(
569
+ (user) => this._mappers.UserMapper.serializeEntityToDto(
570
+ user
571
+ )
572
+ )
610
573
  );
611
574
  }
612
575
  async updateUser(userDto, em) {
613
576
  if (this.evaluatedTelemetryOptions.logging) {
614
- this.openTelemetryCollector.info('Updating user', userDto);
577
+ this.openTelemetryCollector.info("Updating user", userDto);
615
578
  }
616
579
  const user = await this._mappers.UpdateUserMapper.deserializeDtoToEntity(
617
580
  userDto,
@@ -626,11 +589,11 @@ var BaseUserService = class {
626
589
  }
627
590
  async updateBatchUsers(userDtos, em) {
628
591
  if (this.evaluatedTelemetryOptions.logging) {
629
- this.openTelemetryCollector.info('Updating batch users', userDtos);
592
+ this.openTelemetryCollector.info("Updating batch users", userDtos);
630
593
  }
631
594
  const users = await Promise.all(
632
- userDtos.map(async (updateUserDto) =>
633
- this._mappers.UpdateUserMapper.deserializeDtoToEntity(
595
+ userDtos.map(
596
+ async (updateUserDto) => this._mappers.UpdateUserMapper.deserializeDtoToEntity(
634
597
  updateUserDto,
635
598
  em ?? this.em
636
599
  )
@@ -647,46 +610,39 @@ var BaseUserService = class {
647
610
  }
648
611
  async deleteUser(idDto, em) {
649
612
  if (this.evaluatedTelemetryOptions.logging) {
650
- this.openTelemetryCollector.info('Deleting user', idDto);
613
+ this.openTelemetryCollector.info("Deleting user", idDto);
651
614
  }
652
- await (em ?? this.em).nativeDelete('User', idDto);
615
+ await (em ?? this.em).nativeDelete("User", idDto);
653
616
  }
654
617
  async deleteBatchUsers(idsDto, em) {
655
618
  if (this.evaluatedTelemetryOptions.logging) {
656
- this.openTelemetryCollector.info('Deleting batch users', idsDto);
619
+ this.openTelemetryCollector.info("Deleting batch users", idsDto);
657
620
  }
658
- await (em ?? this.em).nativeDelete('User', idsDto);
621
+ await (em ?? this.em).nativeDelete("User", idsDto);
659
622
  }
660
623
  async verifyHasRole(idDto, roleId) {
661
624
  if (this.evaluatedTelemetryOptions.logging) {
662
- this.openTelemetryCollector.info('Verifying user has role', {
625
+ this.openTelemetryCollector.info("Verifying user has role", {
663
626
  idDto,
664
627
  roleId
665
628
  });
666
629
  }
667
630
  const user = await this.getUser(idDto);
668
- if (
669
- user.roles.filter((role) => {
670
- return roleId == role.id;
671
- }).length === 0
672
- ) {
631
+ if (user.roles.filter((role) => {
632
+ return roleId == role.id;
633
+ }).length === 0) {
673
634
  throw new Error(`User ${idDto.id} does not have role ${roleId}`);
674
635
  }
675
636
  }
676
637
  async verifyHasPermission(idDto, permissionId) {
677
638
  if (this.evaluatedTelemetryOptions.logging) {
678
- this.openTelemetryCollector.info('Verifying user has permission', {
639
+ this.openTelemetryCollector.info("Verifying user has permission", {
679
640
  idDto,
680
641
  permissionId
681
642
  });
682
643
  }
683
644
  const user = await this.getUser(idDto);
684
- if (
685
- user.roles
686
- .map((role) => role.permissions.map((permission) => permission.id))
687
- .flat()
688
- .filter((id) => id == permissionId).length === 0
689
- ) {
645
+ if (user.roles.map((role) => role.permissions.map((permission) => permission.id)).flat().filter((id) => id == permissionId).length === 0) {
690
646
  throw new Error(
691
647
  `User ${idDto.id} does not have permission ${permissionId}`
692
648
  );
@@ -694,10 +650,9 @@ var BaseUserService = class {
694
650
  }
695
651
  };
696
652
  // Annotate the CommonJS export names for ESM import in node:
697
- 0 &&
698
- (module.exports = {
699
- BaseOrganizationService,
700
- BasePermissionService,
701
- BaseRoleService,
702
- BaseUserService
703
- });
653
+ 0 && (module.exports = {
654
+ BaseOrganizationService,
655
+ BasePermissionService,
656
+ BaseRoleService,
657
+ BaseUserService
658
+ });