@forklaunch/implementation-iam-base 0.3.3 → 0.3.6

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,507 +1,179 @@
1
1
  import { InstanceTypeRecord, IdDto, IdsDto } from '@forklaunch/common';
2
- import {
3
- OpenTelemetryCollector,
4
- MetricsDefinition,
5
- TelemetryOptions
6
- } from '@forklaunch/core/http';
7
- import {
8
- OrganizationService,
9
- PermissionService,
10
- RoleService,
11
- UserService
12
- } from '@forklaunch/interfaces-iam/interfaces';
13
- import {
14
- ResponseMapperConstructor,
15
- RequestMapperConstructor,
16
- InternalMapper
17
- } from '@forklaunch/internal';
2
+ import { OpenTelemetryCollector, MetricsDefinition, TelemetryOptions } from '@forklaunch/core/http';
3
+ import { OrganizationService, PermissionService, RoleService, UserService } from '@forklaunch/interfaces-iam/interfaces';
4
+ import { ResponseMapperConstructor, RequestMapperConstructor, InternalMapper } from '@forklaunch/internal';
18
5
  import { AnySchemaValidator } from '@forklaunch/validator';
19
6
  import { EntityManager } from '@mikro-orm/core';
20
- import {
21
- OrganizationDto,
22
- CreateOrganizationDto,
23
- UpdateOrganizationDto,
24
- PermissionDto,
25
- CreatePermissionDto,
26
- UpdatePermissionDto,
27
- UpdateRoleDto,
28
- RoleDto,
29
- CreateRoleDto,
30
- UserDto,
31
- CreateUserDto,
32
- UpdateUserDto
33
- } from '@forklaunch/interfaces-iam/types';
7
+ import { OrganizationDto, CreateOrganizationDto, UpdateOrganizationDto, PermissionDto, CreatePermissionDto, UpdatePermissionDto, UpdateRoleDto, RoleDto, CreateRoleDto, UserDto, CreateUserDto, UpdateUserDto } from '@forklaunch/interfaces-iam/types';
34
8
  import { MapNestedDtoArraysToCollections } from '@forklaunch/core/services';
35
9
 
36
10
  type OrganizationDtos<OrganizationStatus> = {
37
- OrganizationMapper: OrganizationDto<OrganizationStatus>;
38
- CreateOrganizationMapper: CreateOrganizationDto;
39
- UpdateOrganizationMapper: UpdateOrganizationDto;
11
+ OrganizationMapper: OrganizationDto<OrganizationStatus>;
12
+ CreateOrganizationMapper: CreateOrganizationDto;
13
+ UpdateOrganizationMapper: UpdateOrganizationDto;
40
14
  };
41
15
  type PermissionDtos = {
42
- PermissionMapper: PermissionDto;
43
- CreatePermissionMapper: CreatePermissionDto;
44
- UpdatePermissionMapper: UpdatePermissionDto;
45
- RoleEntityMapper: UpdateRoleDto;
16
+ PermissionMapper: PermissionDto;
17
+ CreatePermissionMapper: CreatePermissionDto;
18
+ UpdatePermissionMapper: UpdatePermissionDto;
19
+ RoleEntityMapper: UpdateRoleDto;
46
20
  };
47
21
  type RoleDtos = {
48
- RoleMapper: RoleDto;
49
- CreateRoleMapper: CreateRoleDto;
50
- UpdateRoleMapper: UpdateRoleDto;
22
+ RoleMapper: RoleDto;
23
+ CreateRoleMapper: CreateRoleDto;
24
+ UpdateRoleMapper: UpdateRoleDto;
51
25
  };
52
26
  type UserDtos = {
53
- UserMapper: UserDto;
54
- CreateUserMapper: CreateUserDto;
55
- UpdateUserMapper: UpdateUserDto;
27
+ UserMapper: UserDto;
28
+ CreateUserMapper: CreateUserDto;
29
+ UpdateUserMapper: UpdateUserDto;
56
30
  };
57
31
 
58
32
  type OrganizationEntities<OrganizationStatus> = {
59
- OrganizationMapper: MapNestedDtoArraysToCollections<
60
- OrganizationDto<OrganizationStatus>,
61
- 'users'
62
- >;
63
- CreateOrganizationMapper: MapNestedDtoArraysToCollections<
64
- OrganizationDto<OrganizationStatus>,
65
- 'users'
66
- >;
67
- UpdateOrganizationMapper: MapNestedDtoArraysToCollections<
68
- OrganizationDto<OrganizationStatus>,
69
- 'users'
70
- >;
33
+ OrganizationMapper: MapNestedDtoArraysToCollections<OrganizationDto<OrganizationStatus>, 'users'>;
34
+ CreateOrganizationMapper: MapNestedDtoArraysToCollections<OrganizationDto<OrganizationStatus>, 'users'>;
35
+ UpdateOrganizationMapper: MapNestedDtoArraysToCollections<OrganizationDto<OrganizationStatus>, 'users'>;
71
36
  };
72
37
  type PermissionEntities = {
73
- PermissionMapper: PermissionDto;
74
- CreatePermissionMapper: PermissionDto;
75
- UpdatePermissionMapper: PermissionDto;
76
- RoleEntityMapper: MapNestedDtoArraysToCollections<
77
- UpdateRoleDto,
78
- 'permissions'
79
- >;
38
+ PermissionMapper: PermissionDto;
39
+ CreatePermissionMapper: PermissionDto;
40
+ UpdatePermissionMapper: PermissionDto;
41
+ RoleEntityMapper: MapNestedDtoArraysToCollections<UpdateRoleDto, 'permissions'>;
80
42
  };
81
43
  type RoleEntities = {
82
- RoleMapper: MapNestedDtoArraysToCollections<RoleDto, 'permissions'>;
83
- CreateRoleMapper: MapNestedDtoArraysToCollections<RoleDto, 'permissions'>;
84
- UpdateRoleMapper: MapNestedDtoArraysToCollections<RoleDto, 'permissions'>;
44
+ RoleMapper: MapNestedDtoArraysToCollections<RoleDto, 'permissions'>;
45
+ CreateRoleMapper: MapNestedDtoArraysToCollections<RoleDto, 'permissions'>;
46
+ UpdateRoleMapper: MapNestedDtoArraysToCollections<RoleDto, 'permissions'>;
85
47
  };
86
48
  type UserEntities = {
87
- UserMapper: MapNestedDtoArraysToCollections<UserDto, 'roles'>;
88
- CreateUserMapper: MapNestedDtoArraysToCollections<UserDto, 'roles'>;
89
- UpdateUserMapper: MapNestedDtoArraysToCollections<UserDto, 'roles'>;
49
+ UserMapper: MapNestedDtoArraysToCollections<UserDto, 'roles'>;
50
+ CreateUserMapper: MapNestedDtoArraysToCollections<UserDto, 'roles'>;
51
+ UpdateUserMapper: MapNestedDtoArraysToCollections<UserDto, 'roles'>;
90
52
  };
91
53
 
92
- declare class BaseOrganizationService<
93
- SchemaValidator extends AnySchemaValidator,
94
- OrganizationStatus,
95
- MapperEntities extends OrganizationEntities<OrganizationStatus>,
96
- MapperDtos extends
97
- OrganizationDtos<OrganizationStatus> = OrganizationDtos<OrganizationStatus>
98
- > implements OrganizationService<OrganizationStatus>
99
- {
100
- em: EntityManager;
101
- protected openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
102
- protected schemaValidator: SchemaValidator;
103
- protected mappers: {
104
- OrganizationMapper: ResponseMapperConstructor<
105
- SchemaValidator,
106
- MapperDtos['OrganizationMapper'],
107
- MapperEntities['OrganizationMapper']
108
- >;
109
- CreateOrganizationMapper: RequestMapperConstructor<
110
- SchemaValidator,
111
- MapperDtos['CreateOrganizationMapper'],
112
- MapperEntities['CreateOrganizationMapper'],
113
- (
114
- dto: MapperDtos['CreateOrganizationMapper'],
115
- em: EntityManager
116
- ) => Promise<MapperEntities['CreateOrganizationMapper']>
117
- >;
118
- UpdateOrganizationMapper: RequestMapperConstructor<
119
- SchemaValidator,
120
- MapperDtos['UpdateOrganizationMapper'],
121
- MapperEntities['UpdateOrganizationMapper'],
122
- (
123
- dto: MapperDtos['UpdateOrganizationMapper'],
124
- em: EntityManager
125
- ) => Promise<MapperEntities['UpdateOrganizationMapper']>
126
- >;
127
- };
128
- protected _mappers: InternalMapper<InstanceTypeRecord<typeof this.mappers>>;
129
- private evaluatedTelemetryOptions;
130
- constructor(
131
- em: EntityManager,
132
- openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>,
133
- schemaValidator: SchemaValidator,
134
- mappers: {
135
- OrganizationMapper: ResponseMapperConstructor<
136
- SchemaValidator,
137
- MapperDtos['OrganizationMapper'],
138
- MapperEntities['OrganizationMapper']
139
- >;
140
- CreateOrganizationMapper: RequestMapperConstructor<
141
- SchemaValidator,
142
- MapperDtos['CreateOrganizationMapper'],
143
- MapperEntities['CreateOrganizationMapper'],
144
- (
145
- dto: MapperDtos['CreateOrganizationMapper'],
146
- em: EntityManager
147
- ) => Promise<MapperEntities['CreateOrganizationMapper']>
148
- >;
149
- UpdateOrganizationMapper: RequestMapperConstructor<
150
- SchemaValidator,
151
- MapperDtos['UpdateOrganizationMapper'],
152
- MapperEntities['UpdateOrganizationMapper'],
153
- (
154
- dto: MapperDtos['UpdateOrganizationMapper'],
155
- em: EntityManager
156
- ) => Promise<MapperEntities['UpdateOrganizationMapper']>
157
- >;
158
- },
159
- options?: {
160
- telemetry?: TelemetryOptions;
161
- }
162
- );
163
- createOrganization(
164
- organizationDto: MapperDtos['CreateOrganizationMapper'],
165
- em?: EntityManager
166
- ): Promise<MapperDtos['OrganizationMapper']>;
167
- getOrganization(
168
- idDto: IdDto,
169
- em?: EntityManager
170
- ): Promise<MapperDtos['OrganizationMapper']>;
171
- updateOrganization(
172
- organizationDto: MapperDtos['UpdateOrganizationMapper'],
173
- em?: EntityManager
174
- ): Promise<MapperDtos['OrganizationMapper']>;
175
- deleteOrganization(idDto: IdDto, em?: EntityManager): Promise<void>;
54
+ declare class BaseOrganizationService<SchemaValidator extends AnySchemaValidator, OrganizationStatus, MapperEntities extends OrganizationEntities<OrganizationStatus>, MapperDtos extends OrganizationDtos<OrganizationStatus> = OrganizationDtos<OrganizationStatus>> implements OrganizationService<OrganizationStatus> {
55
+ em: EntityManager;
56
+ protected openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
57
+ protected schemaValidator: SchemaValidator;
58
+ protected mappers: {
59
+ OrganizationMapper: ResponseMapperConstructor<SchemaValidator, MapperDtos['OrganizationMapper'], MapperEntities['OrganizationMapper']>;
60
+ CreateOrganizationMapper: RequestMapperConstructor<SchemaValidator, MapperDtos['CreateOrganizationMapper'], MapperEntities['CreateOrganizationMapper'], (dto: MapperDtos['CreateOrganizationMapper'], em: EntityManager) => Promise<MapperEntities['CreateOrganizationMapper']>>;
61
+ UpdateOrganizationMapper: RequestMapperConstructor<SchemaValidator, MapperDtos['UpdateOrganizationMapper'], MapperEntities['UpdateOrganizationMapper'], (dto: MapperDtos['UpdateOrganizationMapper'], em: EntityManager) => Promise<MapperEntities['UpdateOrganizationMapper']>>;
62
+ };
63
+ protected _mappers: InternalMapper<InstanceTypeRecord<typeof this.mappers>>;
64
+ private evaluatedTelemetryOptions;
65
+ constructor(em: EntityManager, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, schemaValidator: SchemaValidator, mappers: {
66
+ OrganizationMapper: ResponseMapperConstructor<SchemaValidator, MapperDtos['OrganizationMapper'], MapperEntities['OrganizationMapper']>;
67
+ CreateOrganizationMapper: RequestMapperConstructor<SchemaValidator, MapperDtos['CreateOrganizationMapper'], MapperEntities['CreateOrganizationMapper'], (dto: MapperDtos['CreateOrganizationMapper'], em: EntityManager) => Promise<MapperEntities['CreateOrganizationMapper']>>;
68
+ UpdateOrganizationMapper: RequestMapperConstructor<SchemaValidator, MapperDtos['UpdateOrganizationMapper'], MapperEntities['UpdateOrganizationMapper'], (dto: MapperDtos['UpdateOrganizationMapper'], em: EntityManager) => Promise<MapperEntities['UpdateOrganizationMapper']>>;
69
+ }, options?: {
70
+ telemetry?: TelemetryOptions;
71
+ });
72
+ createOrganization(organizationDto: MapperDtos['CreateOrganizationMapper'], em?: EntityManager): Promise<MapperDtos['OrganizationMapper']>;
73
+ getOrganization(idDto: IdDto, em?: EntityManager): Promise<MapperDtos['OrganizationMapper']>;
74
+ updateOrganization(organizationDto: MapperDtos['UpdateOrganizationMapper'], em?: EntityManager): Promise<MapperDtos['OrganizationMapper']>;
75
+ deleteOrganization(idDto: IdDto, em?: EntityManager): Promise<void>;
176
76
  }
177
77
 
178
- declare class BasePermissionService<
179
- SchemaValidator extends AnySchemaValidator,
180
- MapperEntities extends PermissionEntities,
181
- MapperDto extends PermissionDtos = PermissionDtos
182
- > implements PermissionService
183
- {
184
- em: EntityManager;
185
- protected roleServiceFactory: () => RoleService;
186
- protected openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
187
- protected schemaValidator: SchemaValidator;
188
- protected mappers: {
189
- PermissionMapper: ResponseMapperConstructor<
190
- SchemaValidator,
191
- MapperDto['PermissionMapper'],
192
- MapperEntities['PermissionMapper']
193
- >;
194
- CreatePermissionMapper: RequestMapperConstructor<
195
- SchemaValidator,
196
- MapperDto['CreatePermissionMapper'],
197
- MapperEntities['CreatePermissionMapper'],
198
- (
199
- dto: MapperDto['CreatePermissionMapper'],
200
- em: EntityManager
201
- ) => Promise<MapperEntities['CreatePermissionMapper']>
202
- >;
203
- UpdatePermissionMapper: RequestMapperConstructor<
204
- SchemaValidator,
205
- MapperDto['UpdatePermissionMapper'],
206
- MapperEntities['UpdatePermissionMapper'],
207
- (
208
- dto: MapperDto['UpdatePermissionMapper'],
209
- em: EntityManager
210
- ) => Promise<MapperEntities['UpdatePermissionMapper']>
211
- >;
212
- RoleEntityMapper: RequestMapperConstructor<
213
- SchemaValidator,
214
- MapperDto['RoleEntityMapper'],
215
- MapperEntities['RoleEntityMapper'],
216
- (
217
- dto: MapperDto['RoleEntityMapper'],
218
- em: EntityManager
219
- ) => Promise<MapperEntities['RoleEntityMapper']>
220
- >;
221
- };
222
- protected _mappers: InternalMapper<InstanceTypeRecord<typeof this.mappers>>;
223
- private evaluatedTelemetryOptions;
224
- constructor(
225
- em: EntityManager,
226
- roleServiceFactory: () => RoleService,
227
- openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>,
228
- schemaValidator: SchemaValidator,
229
- mappers: {
230
- PermissionMapper: ResponseMapperConstructor<
231
- SchemaValidator,
232
- MapperDto['PermissionMapper'],
233
- MapperEntities['PermissionMapper']
234
- >;
235
- CreatePermissionMapper: RequestMapperConstructor<
236
- SchemaValidator,
237
- MapperDto['CreatePermissionMapper'],
238
- MapperEntities['CreatePermissionMapper'],
239
- (
240
- dto: MapperDto['CreatePermissionMapper'],
241
- em: EntityManager
242
- ) => Promise<MapperEntities['CreatePermissionMapper']>
243
- >;
244
- UpdatePermissionMapper: RequestMapperConstructor<
245
- SchemaValidator,
246
- MapperDto['UpdatePermissionMapper'],
247
- MapperEntities['UpdatePermissionMapper'],
248
- (
249
- dto: MapperDto['UpdatePermissionMapper'],
250
- em: EntityManager
251
- ) => Promise<MapperEntities['UpdatePermissionMapper']>
252
- >;
253
- RoleEntityMapper: RequestMapperConstructor<
254
- SchemaValidator,
255
- MapperDto['RoleEntityMapper'],
256
- MapperEntities['RoleEntityMapper'],
257
- (
258
- dto: MapperDto['RoleEntityMapper'],
259
- em: EntityManager
260
- ) => Promise<MapperEntities['RoleEntityMapper']>
261
- >;
262
- },
263
- options?: {
264
- telemetry?: TelemetryOptions;
265
- }
266
- );
267
- private updateRolesWithPermissions;
268
- private removePermissionsFromRoles;
269
- private getBatchRoles;
270
- private createPermissionDto;
271
- private extractCreatePermissionDtoToEntityData;
272
- createPermission(
273
- createPermissionDto: MapperDto['CreatePermissionMapper'],
274
- em?: EntityManager
275
- ): Promise<MapperDto['PermissionMapper']>;
276
- createBatchPermissions(
277
- permissionDtos: MapperDto['CreatePermissionMapper'][],
278
- em?: EntityManager
279
- ): Promise<MapperDto['PermissionMapper'][]>;
280
- getPermission(
281
- idDto: IdDto,
282
- em?: EntityManager
283
- ): Promise<MapperDto['PermissionMapper']>;
284
- getBatchPermissions(
285
- idsDto: IdsDto,
286
- em?: EntityManager
287
- ): Promise<MapperDto['PermissionMapper'][]>;
288
- private updatePermissionDto;
289
- updatePermission(
290
- permissionDto: MapperDto['UpdatePermissionMapper'],
291
- em?: EntityManager
292
- ): Promise<MapperDto['PermissionMapper']>;
293
- updateBatchPermissions(
294
- permissionDtos: MapperDto['UpdatePermissionMapper'][],
295
- em?: EntityManager
296
- ): Promise<MapperDto['PermissionMapper'][]>;
297
- deletePermission(idDto: IdDto, em?: EntityManager): Promise<void>;
298
- deleteBatchPermissions(idsDto: IdsDto, em?: EntityManager): Promise<void>;
78
+ declare class BasePermissionService<SchemaValidator extends AnySchemaValidator, MapperEntities extends PermissionEntities, MapperDto extends PermissionDtos = PermissionDtos> implements PermissionService {
79
+ em: EntityManager;
80
+ protected roleServiceFactory: () => RoleService;
81
+ protected openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
82
+ protected schemaValidator: SchemaValidator;
83
+ protected mappers: {
84
+ PermissionMapper: ResponseMapperConstructor<SchemaValidator, MapperDto['PermissionMapper'], MapperEntities['PermissionMapper']>;
85
+ CreatePermissionMapper: RequestMapperConstructor<SchemaValidator, MapperDto['CreatePermissionMapper'], MapperEntities['CreatePermissionMapper'], (dto: MapperDto['CreatePermissionMapper'], em: EntityManager) => Promise<MapperEntities['CreatePermissionMapper']>>;
86
+ UpdatePermissionMapper: RequestMapperConstructor<SchemaValidator, MapperDto['UpdatePermissionMapper'], MapperEntities['UpdatePermissionMapper'], (dto: MapperDto['UpdatePermissionMapper'], em: EntityManager) => Promise<MapperEntities['UpdatePermissionMapper']>>;
87
+ RoleEntityMapper: RequestMapperConstructor<SchemaValidator, MapperDto['RoleEntityMapper'], MapperEntities['RoleEntityMapper'], (dto: MapperDto['RoleEntityMapper'], em: EntityManager) => Promise<MapperEntities['RoleEntityMapper']>>;
88
+ };
89
+ protected _mappers: InternalMapper<InstanceTypeRecord<typeof this.mappers>>;
90
+ private evaluatedTelemetryOptions;
91
+ constructor(em: EntityManager, roleServiceFactory: () => RoleService, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, schemaValidator: SchemaValidator, mappers: {
92
+ PermissionMapper: ResponseMapperConstructor<SchemaValidator, MapperDto['PermissionMapper'], MapperEntities['PermissionMapper']>;
93
+ CreatePermissionMapper: RequestMapperConstructor<SchemaValidator, MapperDto['CreatePermissionMapper'], MapperEntities['CreatePermissionMapper'], (dto: MapperDto['CreatePermissionMapper'], em: EntityManager) => Promise<MapperEntities['CreatePermissionMapper']>>;
94
+ UpdatePermissionMapper: RequestMapperConstructor<SchemaValidator, MapperDto['UpdatePermissionMapper'], MapperEntities['UpdatePermissionMapper'], (dto: MapperDto['UpdatePermissionMapper'], em: EntityManager) => Promise<MapperEntities['UpdatePermissionMapper']>>;
95
+ RoleEntityMapper: RequestMapperConstructor<SchemaValidator, MapperDto['RoleEntityMapper'], MapperEntities['RoleEntityMapper'], (dto: MapperDto['RoleEntityMapper'], em: EntityManager) => Promise<MapperEntities['RoleEntityMapper']>>;
96
+ }, options?: {
97
+ telemetry?: TelemetryOptions;
98
+ });
99
+ private updateRolesWithPermissions;
100
+ private removePermissionsFromRoles;
101
+ private getBatchRoles;
102
+ private createPermissionDto;
103
+ private extractCreatePermissionDtoToEntityData;
104
+ createPermission(createPermissionDto: MapperDto['CreatePermissionMapper'], em?: EntityManager): Promise<MapperDto['PermissionMapper']>;
105
+ createBatchPermissions(permissionDtos: MapperDto['CreatePermissionMapper'][], em?: EntityManager): Promise<MapperDto['PermissionMapper'][]>;
106
+ getPermission(idDto: IdDto, em?: EntityManager): Promise<MapperDto['PermissionMapper']>;
107
+ getBatchPermissions(idsDto: IdsDto, em?: EntityManager): Promise<MapperDto['PermissionMapper'][]>;
108
+ private updatePermissionDto;
109
+ updatePermission(permissionDto: MapperDto['UpdatePermissionMapper'], em?: EntityManager): Promise<MapperDto['PermissionMapper']>;
110
+ updateBatchPermissions(permissionDtos: MapperDto['UpdatePermissionMapper'][], em?: EntityManager): Promise<MapperDto['PermissionMapper'][]>;
111
+ deletePermission(idDto: IdDto, em?: EntityManager): Promise<void>;
112
+ deleteBatchPermissions(idsDto: IdsDto, em?: EntityManager): Promise<void>;
299
113
  }
300
114
 
301
- declare class BaseRoleService<
302
- SchemaValidator extends AnySchemaValidator,
303
- MapperEntities extends RoleEntities,
304
- MapperDto extends RoleDtos = RoleDtos
305
- > implements RoleService
306
- {
307
- em: EntityManager;
308
- protected openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
309
- protected schemaValidator: SchemaValidator;
310
- protected mappers: {
311
- RoleMapper: ResponseMapperConstructor<
312
- SchemaValidator,
313
- MapperDto['RoleMapper'],
314
- MapperEntities['RoleMapper']
315
- >;
316
- CreateRoleMapper: RequestMapperConstructor<
317
- SchemaValidator,
318
- MapperDto['CreateRoleMapper'],
319
- MapperEntities['CreateRoleMapper'],
320
- (
321
- dto: MapperDto['CreateRoleMapper'],
322
- em: EntityManager
323
- ) => Promise<MapperEntities['CreateRoleMapper']>
324
- >;
325
- UpdateRoleMapper: RequestMapperConstructor<
326
- SchemaValidator,
327
- MapperDto['UpdateRoleMapper'],
328
- MapperEntities['UpdateRoleMapper'],
329
- (
330
- dto: MapperDto['UpdateRoleMapper'],
331
- em: EntityManager
332
- ) => Promise<MapperEntities['UpdateRoleMapper']>
333
- >;
334
- };
335
- protected _mappers: InternalMapper<InstanceTypeRecord<typeof this.mappers>>;
336
- private evaluatedTelemetryOptions;
337
- constructor(
338
- em: EntityManager,
339
- openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>,
340
- schemaValidator: SchemaValidator,
341
- mappers: {
342
- RoleMapper: ResponseMapperConstructor<
343
- SchemaValidator,
344
- MapperDto['RoleMapper'],
345
- MapperEntities['RoleMapper']
346
- >;
347
- CreateRoleMapper: RequestMapperConstructor<
348
- SchemaValidator,
349
- MapperDto['CreateRoleMapper'],
350
- MapperEntities['CreateRoleMapper'],
351
- (
352
- dto: MapperDto['CreateRoleMapper'],
353
- em: EntityManager
354
- ) => Promise<MapperEntities['CreateRoleMapper']>
355
- >;
356
- UpdateRoleMapper: RequestMapperConstructor<
357
- SchemaValidator,
358
- MapperDto['UpdateRoleMapper'],
359
- MapperEntities['UpdateRoleMapper'],
360
- (
361
- dto: MapperDto['UpdateRoleMapper'],
362
- em: EntityManager
363
- ) => Promise<MapperEntities['UpdateRoleMapper']>
364
- >;
365
- },
366
- options?: {
367
- telemetry?: TelemetryOptions;
368
- }
369
- );
370
- createRole(
371
- roleDto: MapperDto['CreateRoleMapper'],
372
- em?: EntityManager
373
- ): Promise<MapperDto['RoleMapper']>;
374
- createBatchRoles(
375
- roleDtos: MapperDto['CreateRoleMapper'][],
376
- em?: EntityManager
377
- ): Promise<MapperDto['RoleMapper'][]>;
378
- getRole({ id }: IdDto, em?: EntityManager): Promise<RoleDto>;
379
- getBatchRoles({ ids }: IdsDto, em?: EntityManager): Promise<RoleDto[]>;
380
- updateRole(
381
- roleDto: MapperDto['UpdateRoleMapper'],
382
- em?: EntityManager
383
- ): Promise<MapperDto['RoleMapper']>;
384
- updateBatchRoles(
385
- roleDtos: MapperDto['UpdateRoleMapper'][],
386
- em?: EntityManager
387
- ): Promise<MapperDto['RoleMapper'][]>;
388
- deleteRole(idDto: IdDto, em?: EntityManager): Promise<void>;
389
- deleteBatchRoles(idsDto: IdsDto, em?: EntityManager): Promise<void>;
115
+ declare class BaseRoleService<SchemaValidator extends AnySchemaValidator, MapperEntities extends RoleEntities, MapperDto extends RoleDtos = RoleDtos> implements RoleService {
116
+ em: EntityManager;
117
+ protected openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
118
+ protected schemaValidator: SchemaValidator;
119
+ protected mappers: {
120
+ RoleMapper: ResponseMapperConstructor<SchemaValidator, MapperDto['RoleMapper'], MapperEntities['RoleMapper']>;
121
+ CreateRoleMapper: RequestMapperConstructor<SchemaValidator, MapperDto['CreateRoleMapper'], MapperEntities['CreateRoleMapper'], (dto: MapperDto['CreateRoleMapper'], em: EntityManager) => Promise<MapperEntities['CreateRoleMapper']>>;
122
+ UpdateRoleMapper: RequestMapperConstructor<SchemaValidator, MapperDto['UpdateRoleMapper'], MapperEntities['UpdateRoleMapper'], (dto: MapperDto['UpdateRoleMapper'], em: EntityManager) => Promise<MapperEntities['UpdateRoleMapper']>>;
123
+ };
124
+ protected _mappers: InternalMapper<InstanceTypeRecord<typeof this.mappers>>;
125
+ private evaluatedTelemetryOptions;
126
+ constructor(em: EntityManager, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, schemaValidator: SchemaValidator, mappers: {
127
+ RoleMapper: ResponseMapperConstructor<SchemaValidator, MapperDto['RoleMapper'], MapperEntities['RoleMapper']>;
128
+ CreateRoleMapper: RequestMapperConstructor<SchemaValidator, MapperDto['CreateRoleMapper'], MapperEntities['CreateRoleMapper'], (dto: MapperDto['CreateRoleMapper'], em: EntityManager) => Promise<MapperEntities['CreateRoleMapper']>>;
129
+ UpdateRoleMapper: RequestMapperConstructor<SchemaValidator, MapperDto['UpdateRoleMapper'], MapperEntities['UpdateRoleMapper'], (dto: MapperDto['UpdateRoleMapper'], em: EntityManager) => Promise<MapperEntities['UpdateRoleMapper']>>;
130
+ }, options?: {
131
+ telemetry?: TelemetryOptions;
132
+ });
133
+ createRole(roleDto: MapperDto['CreateRoleMapper'], em?: EntityManager): Promise<MapperDto['RoleMapper']>;
134
+ createBatchRoles(roleDtos: MapperDto['CreateRoleMapper'][], em?: EntityManager): Promise<MapperDto['RoleMapper'][]>;
135
+ getRole({ id }: IdDto, em?: EntityManager): Promise<RoleDto>;
136
+ getBatchRoles({ ids }: IdsDto, em?: EntityManager): Promise<RoleDto[]>;
137
+ updateRole(roleDto: MapperDto['UpdateRoleMapper'], em?: EntityManager): Promise<MapperDto['RoleMapper']>;
138
+ updateBatchRoles(roleDtos: MapperDto['UpdateRoleMapper'][], em?: EntityManager): Promise<MapperDto['RoleMapper'][]>;
139
+ deleteRole(idDto: IdDto, em?: EntityManager): Promise<void>;
140
+ deleteBatchRoles(idsDto: IdsDto, em?: EntityManager): Promise<void>;
390
141
  }
391
142
 
392
- declare class BaseUserService<
393
- SchemaValidator extends AnySchemaValidator,
394
- OrganizationStatus,
395
- Entities extends UserEntities,
396
- Dto extends UserDtos = UserDtos
397
- > implements UserService
398
- {
399
- em: EntityManager;
400
- protected passwordEncryptionPublicKeyPath: string;
401
- protected roleServiceFactory: () => RoleService;
402
- protected organizationServiceFactory: () => OrganizationService<OrganizationStatus>;
403
- protected openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
404
- protected schemaValidator: SchemaValidator;
405
- protected mappers: {
406
- UserMapper: ResponseMapperConstructor<
407
- SchemaValidator,
408
- Dto['UserMapper'],
409
- Entities['UserMapper']
410
- >;
411
- CreateUserMapper: RequestMapperConstructor<
412
- SchemaValidator,
413
- Dto['CreateUserMapper'],
414
- Entities['CreateUserMapper'],
415
- (
416
- dto: Dto['CreateUserMapper'],
417
- em: EntityManager
418
- ) => Promise<Entities['CreateUserMapper']>
419
- >;
420
- UpdateUserMapper: RequestMapperConstructor<
421
- SchemaValidator,
422
- Dto['UpdateUserMapper'],
423
- Entities['UpdateUserMapper'],
424
- (
425
- dto: Dto['UpdateUserMapper'],
426
- em: EntityManager
427
- ) => Promise<Entities['UpdateUserMapper']>
428
- >;
429
- };
430
- readonly options?:
431
- | {
143
+ declare class BaseUserService<SchemaValidator extends AnySchemaValidator, OrganizationStatus, Entities extends UserEntities, Dto extends UserDtos = UserDtos> implements UserService {
144
+ em: EntityManager;
145
+ protected passwordEncryptionPublicKeyPath: string;
146
+ protected roleServiceFactory: () => RoleService;
147
+ protected organizationServiceFactory: () => OrganizationService<OrganizationStatus>;
148
+ protected openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
149
+ protected schemaValidator: SchemaValidator;
150
+ protected mappers: {
151
+ UserMapper: ResponseMapperConstructor<SchemaValidator, Dto['UserMapper'], Entities['UserMapper']>;
152
+ CreateUserMapper: RequestMapperConstructor<SchemaValidator, Dto['CreateUserMapper'], Entities['CreateUserMapper'], (dto: Dto['CreateUserMapper'], em: EntityManager) => Promise<Entities['CreateUserMapper']>>;
153
+ UpdateUserMapper: RequestMapperConstructor<SchemaValidator, Dto['UpdateUserMapper'], Entities['UpdateUserMapper'], (dto: Dto['UpdateUserMapper'], em: EntityManager) => Promise<Entities['UpdateUserMapper']>>;
154
+ };
155
+ readonly options?: {
432
156
  telemetry?: TelemetryOptions;
433
- }
434
- | undefined;
435
- protected _mappers: InternalMapper<InstanceTypeRecord<typeof this.mappers>>;
436
- private evaluatedTelemetryOptions;
437
- constructor(
438
- em: EntityManager,
439
- passwordEncryptionPublicKeyPath: string,
440
- roleServiceFactory: () => RoleService,
441
- organizationServiceFactory: () => OrganizationService<OrganizationStatus>,
442
- openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>,
443
- schemaValidator: SchemaValidator,
444
- mappers: {
445
- UserMapper: ResponseMapperConstructor<
446
- SchemaValidator,
447
- Dto['UserMapper'],
448
- Entities['UserMapper']
449
- >;
450
- CreateUserMapper: RequestMapperConstructor<
451
- SchemaValidator,
452
- Dto['CreateUserMapper'],
453
- Entities['CreateUserMapper'],
454
- (
455
- dto: Dto['CreateUserMapper'],
456
- em: EntityManager
457
- ) => Promise<Entities['CreateUserMapper']>
458
- >;
459
- UpdateUserMapper: RequestMapperConstructor<
460
- SchemaValidator,
461
- Dto['UpdateUserMapper'],
462
- Entities['UpdateUserMapper'],
463
- (
464
- dto: Dto['UpdateUserMapper'],
465
- em: EntityManager
466
- ) => Promise<Entities['UpdateUserMapper']>
467
- >;
468
- },
469
- options?:
470
- | {
471
- telemetry?: TelemetryOptions;
472
- }
473
- | undefined
474
- );
475
- createUser(
476
- userDto: Dto['CreateUserMapper'],
477
- em?: EntityManager
478
- ): Promise<Dto['UserMapper']>;
479
- createBatchUsers(
480
- userDtos: Dto['CreateUserMapper'][],
481
- em?: EntityManager
482
- ): Promise<Dto['UserMapper'][]>;
483
- getUser(idDto: IdDto, em?: EntityManager): Promise<Dto['UserMapper']>;
484
- getBatchUsers(
485
- idsDto: IdsDto,
486
- em?: EntityManager
487
- ): Promise<Dto['UserMapper'][]>;
488
- updateUser(
489
- userDto: Dto['UpdateUserMapper'],
490
- em?: EntityManager
491
- ): Promise<Dto['UserMapper']>;
492
- updateBatchUsers(
493
- userDtos: UpdateUserDto[],
494
- em?: EntityManager
495
- ): Promise<Dto['UserMapper'][]>;
496
- deleteUser(idDto: IdDto, em?: EntityManager): Promise<void>;
497
- deleteBatchUsers(idsDto: IdsDto, em?: EntityManager): Promise<void>;
498
- verifyHasRole(idDto: IdDto, roleId: string): Promise<void>;
499
- verifyHasPermission(idDto: IdDto, permissionId: string): Promise<void>;
157
+ } | undefined;
158
+ protected _mappers: InternalMapper<InstanceTypeRecord<typeof this.mappers>>;
159
+ private evaluatedTelemetryOptions;
160
+ constructor(em: EntityManager, passwordEncryptionPublicKeyPath: string, roleServiceFactory: () => RoleService, organizationServiceFactory: () => OrganizationService<OrganizationStatus>, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, schemaValidator: SchemaValidator, mappers: {
161
+ UserMapper: ResponseMapperConstructor<SchemaValidator, Dto['UserMapper'], Entities['UserMapper']>;
162
+ CreateUserMapper: RequestMapperConstructor<SchemaValidator, Dto['CreateUserMapper'], Entities['CreateUserMapper'], (dto: Dto['CreateUserMapper'], em: EntityManager) => Promise<Entities['CreateUserMapper']>>;
163
+ UpdateUserMapper: RequestMapperConstructor<SchemaValidator, Dto['UpdateUserMapper'], Entities['UpdateUserMapper'], (dto: Dto['UpdateUserMapper'], em: EntityManager) => Promise<Entities['UpdateUserMapper']>>;
164
+ }, options?: {
165
+ telemetry?: TelemetryOptions;
166
+ } | undefined);
167
+ createUser(userDto: Dto['CreateUserMapper'], em?: EntityManager): Promise<Dto['UserMapper']>;
168
+ createBatchUsers(userDtos: Dto['CreateUserMapper'][], em?: EntityManager): Promise<Dto['UserMapper'][]>;
169
+ getUser(idDto: IdDto, em?: EntityManager): Promise<Dto['UserMapper']>;
170
+ getBatchUsers(idsDto: IdsDto, em?: EntityManager): Promise<Dto['UserMapper'][]>;
171
+ updateUser(userDto: Dto['UpdateUserMapper'], em?: EntityManager): Promise<Dto['UserMapper']>;
172
+ updateBatchUsers(userDtos: UpdateUserDto[], em?: EntityManager): Promise<Dto['UserMapper'][]>;
173
+ deleteUser(idDto: IdDto, em?: EntityManager): Promise<void>;
174
+ deleteBatchUsers(idsDto: IdsDto, em?: EntityManager): Promise<void>;
175
+ verifyHasRole(idDto: IdDto, roleId: string): Promise<void>;
176
+ verifyHasPermission(idDto: IdDto, permissionId: string): Promise<void>;
500
177
  }
501
178
 
502
- export {
503
- BaseOrganizationService,
504
- BasePermissionService,
505
- BaseRoleService,
506
- BaseUserService
507
- };
179
+ export { BaseOrganizationService, BasePermissionService, BaseRoleService, BaseUserService };