@forklaunch/implementation-iam-base 0.3.1 → 0.3.2
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/domain/schemas/organization.schema.ts +3 -3
- package/lib/eject/domain/schemas/permission.schema.ts +3 -3
- package/lib/eject/domain/schemas/role.schema.ts +3 -3
- package/lib/eject/domain/schemas/user.schema.ts +3 -3
- package/lib/eject/services/organization.service.ts +41 -77
- package/lib/eject/services/permission.service.ts +80 -104
- package/lib/eject/services/role.service.ts +51 -81
- package/lib/eject/services/user.service.ts +51 -74
- package/lib/eject/types/iamDto.types.ts +43 -0
- package/lib/eject/types/iamEntities.types.ts +49 -0
- package/lib/schemas/index.d.mts +61 -61
- package/lib/schemas/index.d.ts +61 -61
- package/lib/schemas/index.js +32 -32
- package/lib/schemas/index.mjs +28 -28
- package/lib/services/index.d.mts +110 -134
- package/lib/services/index.d.ts +110 -134
- package/lib/services/index.js +46 -54
- package/lib/services/index.mjs +50 -58
- package/package.json +9 -8
package/lib/services/index.d.mts
CHANGED
|
@@ -1,90 +1,98 @@
|
|
|
1
|
-
import { IdDto, IdsDto } from '@forklaunch/common';
|
|
2
|
-
import {
|
|
3
|
-
import { ResponseDtoMapperConstructor, RequestDtoMapperConstructor } from '@forklaunch/core/mappers';
|
|
4
|
-
import { MapNestedDtoArraysToCollections } from '@forklaunch/core/services';
|
|
1
|
+
import { InstanceTypeRecord, IdDto, IdsDto } from '@forklaunch/common';
|
|
2
|
+
import { OpenTelemetryCollector, MetricsDefinition, TelemetryOptions } from '@forklaunch/core/http';
|
|
5
3
|
import { OrganizationService, PermissionService, RoleService, UserService } from '@forklaunch/interfaces-iam/interfaces';
|
|
6
|
-
import {
|
|
4
|
+
import { ResponseMapperConstructor, RequestMapperConstructor, InternalMapper } from '@forklaunch/internal';
|
|
7
5
|
import { AnySchemaValidator } from '@forklaunch/validator';
|
|
8
6
|
import { EntityManager } from '@mikro-orm/core';
|
|
7
|
+
import { OrganizationDto, CreateOrganizationDto, UpdateOrganizationDto, PermissionDto, CreatePermissionDto, UpdatePermissionDto, UpdateRoleDto, RoleDto, CreateRoleDto, UserDto, CreateUserDto, UpdateUserDto } from '@forklaunch/interfaces-iam/types';
|
|
8
|
+
import { MapNestedDtoArraysToCollections } from '@forklaunch/core/services';
|
|
9
|
+
|
|
10
|
+
type OrganizationDtos<OrganizationStatus> = {
|
|
11
|
+
OrganizationMapper: OrganizationDto<OrganizationStatus>;
|
|
12
|
+
CreateOrganizationMapper: CreateOrganizationDto;
|
|
13
|
+
UpdateOrganizationMapper: UpdateOrganizationDto;
|
|
14
|
+
};
|
|
15
|
+
type PermissionDtos = {
|
|
16
|
+
PermissionMapper: PermissionDto;
|
|
17
|
+
CreatePermissionMapper: CreatePermissionDto;
|
|
18
|
+
UpdatePermissionMapper: UpdatePermissionDto;
|
|
19
|
+
RoleEntityMapper: UpdateRoleDto;
|
|
20
|
+
};
|
|
21
|
+
type RoleDtos = {
|
|
22
|
+
RoleMapper: RoleDto;
|
|
23
|
+
CreateRoleMapper: CreateRoleDto;
|
|
24
|
+
UpdateRoleMapper: UpdateRoleDto;
|
|
25
|
+
};
|
|
26
|
+
type UserDtos = {
|
|
27
|
+
UserMapper: UserDto;
|
|
28
|
+
CreateUserMapper: CreateUserDto;
|
|
29
|
+
UpdateUserMapper: UpdateUserDto;
|
|
30
|
+
};
|
|
9
31
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
32
|
+
type OrganizationEntities<OrganizationStatus> = {
|
|
33
|
+
OrganizationMapper: MapNestedDtoArraysToCollections<OrganizationDto<OrganizationStatus>, 'users'>;
|
|
34
|
+
CreateOrganizationMapper: MapNestedDtoArraysToCollections<OrganizationDto<OrganizationStatus>, 'users'>;
|
|
35
|
+
UpdateOrganizationMapper: MapNestedDtoArraysToCollections<OrganizationDto<OrganizationStatus>, 'users'>;
|
|
36
|
+
};
|
|
37
|
+
type PermissionEntities = {
|
|
38
|
+
PermissionMapper: PermissionDto;
|
|
39
|
+
CreatePermissionMapper: PermissionDto;
|
|
40
|
+
UpdatePermissionMapper: PermissionDto;
|
|
41
|
+
RoleEntityMapper: MapNestedDtoArraysToCollections<UpdateRoleDto, 'permissions'>;
|
|
42
|
+
};
|
|
43
|
+
type RoleEntities = {
|
|
44
|
+
RoleMapper: MapNestedDtoArraysToCollections<RoleDto, 'permissions'>;
|
|
45
|
+
CreateRoleMapper: MapNestedDtoArraysToCollections<RoleDto, 'permissions'>;
|
|
46
|
+
UpdateRoleMapper: MapNestedDtoArraysToCollections<RoleDto, 'permissions'>;
|
|
47
|
+
};
|
|
48
|
+
type UserEntities = {
|
|
49
|
+
UserMapper: MapNestedDtoArraysToCollections<UserDto, 'roles'>;
|
|
50
|
+
CreateUserMapper: MapNestedDtoArraysToCollections<UserDto, 'roles'>;
|
|
51
|
+
UpdateUserMapper: MapNestedDtoArraysToCollections<UserDto, 'roles'>;
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
declare class BaseOrganizationService<SchemaValidator extends AnySchemaValidator, OrganizationStatus, MapperEntities extends OrganizationEntities<OrganizationStatus>, MapperDtos extends OrganizationDtos<OrganizationStatus> = OrganizationDtos<OrganizationStatus>> implements OrganizationService<OrganizationStatus> {
|
|
28
55
|
em: EntityManager;
|
|
29
|
-
protected openTelemetryCollector: OpenTelemetryCollector<
|
|
56
|
+
protected openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
|
|
30
57
|
protected schemaValidator: SchemaValidator;
|
|
31
58
|
protected mappers: {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
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']>>;
|
|
35
62
|
};
|
|
63
|
+
protected _mappers: InternalMapper<InstanceTypeRecord<typeof this.mappers>>;
|
|
36
64
|
private evaluatedTelemetryOptions;
|
|
37
|
-
constructor(em: EntityManager, openTelemetryCollector: OpenTelemetryCollector<
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
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']>>;
|
|
41
69
|
}, options?: {
|
|
42
70
|
telemetry?: TelemetryOptions;
|
|
43
71
|
});
|
|
44
|
-
createOrganization(organizationDto:
|
|
45
|
-
getOrganization(idDto: IdDto, em?: EntityManager): Promise<
|
|
46
|
-
updateOrganization(organizationDto:
|
|
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']>;
|
|
47
75
|
deleteOrganization(idDto: IdDto, em?: EntityManager): Promise<void>;
|
|
48
76
|
}
|
|
49
77
|
|
|
50
|
-
declare class BasePermissionService<SchemaValidator extends AnySchemaValidator,
|
|
51
|
-
PermissionDtoMapper: PermissionDto;
|
|
52
|
-
CreatePermissionDtoMapper: CreatePermissionDto;
|
|
53
|
-
UpdatePermissionDtoMapper: UpdatePermissionDto;
|
|
54
|
-
RoleEntityMapper: UpdateRoleDto;
|
|
55
|
-
} = {
|
|
56
|
-
PermissionDtoMapper: PermissionDto;
|
|
57
|
-
CreatePermissionDtoMapper: CreatePermissionDto;
|
|
58
|
-
UpdatePermissionDtoMapper: UpdatePermissionDto;
|
|
59
|
-
RoleEntityMapper: UpdateRoleDto;
|
|
60
|
-
}, Entities extends {
|
|
61
|
-
PermissionDtoMapper: PermissionDto;
|
|
62
|
-
CreatePermissionDtoMapper: PermissionDto;
|
|
63
|
-
UpdatePermissionDtoMapper: PermissionDto;
|
|
64
|
-
RoleEntityMapper: MapNestedDtoArraysToCollections<UpdateRoleDto, 'permissions'>;
|
|
65
|
-
} = {
|
|
66
|
-
PermissionDtoMapper: PermissionDto;
|
|
67
|
-
CreatePermissionDtoMapper: PermissionDto;
|
|
68
|
-
UpdatePermissionDtoMapper: PermissionDto;
|
|
69
|
-
RoleEntityMapper: MapNestedDtoArraysToCollections<UpdateRoleDto, 'permissions'>;
|
|
70
|
-
}> implements PermissionService {
|
|
71
|
-
#private;
|
|
78
|
+
declare class BasePermissionService<SchemaValidator extends AnySchemaValidator, MapperEntities extends PermissionEntities, MapperDto extends PermissionDtos = PermissionDtos> implements PermissionService {
|
|
72
79
|
em: EntityManager;
|
|
73
80
|
protected roleServiceFactory: () => RoleService;
|
|
74
|
-
protected openTelemetryCollector: OpenTelemetryCollector<
|
|
81
|
+
protected openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
|
|
75
82
|
protected schemaValidator: SchemaValidator;
|
|
76
83
|
protected mappers: {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
RoleEntityMapper:
|
|
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']>>;
|
|
81
88
|
};
|
|
89
|
+
protected _mappers: InternalMapper<InstanceTypeRecord<typeof this.mappers>>;
|
|
82
90
|
private evaluatedTelemetryOptions;
|
|
83
|
-
constructor(em: EntityManager, roleServiceFactory: () => RoleService, openTelemetryCollector: OpenTelemetryCollector<
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
RoleEntityMapper:
|
|
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']>>;
|
|
88
96
|
}, options?: {
|
|
89
97
|
telemetry?: TelemetryOptions;
|
|
90
98
|
});
|
|
@@ -93,107 +101,75 @@ declare class BasePermissionService<SchemaValidator extends AnySchemaValidator,
|
|
|
93
101
|
private getBatchRoles;
|
|
94
102
|
private createPermissionDto;
|
|
95
103
|
private extractCreatePermissionDtoToEntityData;
|
|
96
|
-
createPermission(createPermissionDto:
|
|
97
|
-
createBatchPermissions(permissionDtos:
|
|
98
|
-
getPermission(idDto: IdDto, em?: EntityManager): Promise<
|
|
99
|
-
getBatchPermissions(idsDto: IdsDto, em?: EntityManager): Promise<
|
|
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'][]>;
|
|
100
108
|
private updatePermissionDto;
|
|
101
|
-
updatePermission(permissionDto:
|
|
102
|
-
updateBatchPermissions(permissionDtos:
|
|
109
|
+
updatePermission(permissionDto: MapperDto['UpdatePermissionMapper'], em?: EntityManager): Promise<MapperDto['PermissionMapper']>;
|
|
110
|
+
updateBatchPermissions(permissionDtos: MapperDto['UpdatePermissionMapper'][], em?: EntityManager): Promise<MapperDto['PermissionMapper'][]>;
|
|
103
111
|
deletePermission(idDto: IdDto, em?: EntityManager): Promise<void>;
|
|
104
112
|
deleteBatchPermissions(idsDto: IdsDto, em?: EntityManager): Promise<void>;
|
|
105
113
|
}
|
|
106
114
|
|
|
107
|
-
declare class BaseRoleService<SchemaValidator extends AnySchemaValidator,
|
|
108
|
-
RoleDtoMapper: RoleDto;
|
|
109
|
-
CreateRoleDtoMapper: CreateRoleDto;
|
|
110
|
-
UpdateRoleDtoMapper: UpdateRoleDto;
|
|
111
|
-
} = {
|
|
112
|
-
RoleDtoMapper: RoleDto;
|
|
113
|
-
CreateRoleDtoMapper: CreateRoleDto;
|
|
114
|
-
UpdateRoleDtoMapper: UpdateRoleDto;
|
|
115
|
-
}, Entities extends {
|
|
116
|
-
RoleDtoMapper: MapNestedDtoArraysToCollections<RoleDto, 'permissions'>;
|
|
117
|
-
CreateRoleDtoMapper: MapNestedDtoArraysToCollections<RoleDto, 'permissions'>;
|
|
118
|
-
UpdateRoleDtoMapper: MapNestedDtoArraysToCollections<RoleDto, 'permissions'>;
|
|
119
|
-
} = {
|
|
120
|
-
RoleDtoMapper: MapNestedDtoArraysToCollections<RoleDto, 'permissions'>;
|
|
121
|
-
CreateRoleDtoMapper: MapNestedDtoArraysToCollections<RoleDto, 'permissions'>;
|
|
122
|
-
UpdateRoleDtoMapper: MapNestedDtoArraysToCollections<RoleDto, 'permissions'>;
|
|
123
|
-
}> implements RoleService {
|
|
124
|
-
#private;
|
|
115
|
+
declare class BaseRoleService<SchemaValidator extends AnySchemaValidator, MapperEntities extends RoleEntities, MapperDto extends RoleDtos = RoleDtos> implements RoleService {
|
|
125
116
|
em: EntityManager;
|
|
126
|
-
protected openTelemetryCollector: OpenTelemetryCollector<
|
|
117
|
+
protected openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
|
|
127
118
|
protected schemaValidator: SchemaValidator;
|
|
128
119
|
protected mappers: {
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
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']>>;
|
|
132
123
|
};
|
|
124
|
+
protected _mappers: InternalMapper<InstanceTypeRecord<typeof this.mappers>>;
|
|
133
125
|
private evaluatedTelemetryOptions;
|
|
134
|
-
constructor(em: EntityManager, openTelemetryCollector: OpenTelemetryCollector<
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
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']>>;
|
|
138
130
|
}, options?: {
|
|
139
131
|
telemetry?: TelemetryOptions;
|
|
140
132
|
});
|
|
141
|
-
createRole(roleDto:
|
|
142
|
-
createBatchRoles(roleDtos:
|
|
133
|
+
createRole(roleDto: MapperDto['CreateRoleMapper'], em?: EntityManager): Promise<MapperDto['RoleMapper']>;
|
|
134
|
+
createBatchRoles(roleDtos: MapperDto['CreateRoleMapper'][], em?: EntityManager): Promise<MapperDto['RoleMapper'][]>;
|
|
143
135
|
getRole({ id }: IdDto, em?: EntityManager): Promise<RoleDto>;
|
|
144
136
|
getBatchRoles({ ids }: IdsDto, em?: EntityManager): Promise<RoleDto[]>;
|
|
145
|
-
updateRole(roleDto:
|
|
146
|
-
updateBatchRoles(roleDtos:
|
|
137
|
+
updateRole(roleDto: MapperDto['UpdateRoleMapper'], em?: EntityManager): Promise<MapperDto['RoleMapper']>;
|
|
138
|
+
updateBatchRoles(roleDtos: MapperDto['UpdateRoleMapper'][], em?: EntityManager): Promise<MapperDto['RoleMapper'][]>;
|
|
147
139
|
deleteRole(idDto: IdDto, em?: EntityManager): Promise<void>;
|
|
148
140
|
deleteBatchRoles(idsDto: IdsDto, em?: EntityManager): Promise<void>;
|
|
149
141
|
}
|
|
150
142
|
|
|
151
|
-
declare class BaseUserService<SchemaValidator extends AnySchemaValidator, OrganizationStatus,
|
|
152
|
-
UserDtoMapper: UserDto;
|
|
153
|
-
CreateUserDtoMapper: CreateUserDto;
|
|
154
|
-
UpdateUserDtoMapper: UpdateUserDto;
|
|
155
|
-
} = {
|
|
156
|
-
UserDtoMapper: UserDto;
|
|
157
|
-
CreateUserDtoMapper: CreateUserDto;
|
|
158
|
-
UpdateUserDtoMapper: UpdateUserDto;
|
|
159
|
-
}, Entities extends {
|
|
160
|
-
UserDtoMapper: MapNestedDtoArraysToCollections<UserDto, 'roles'>;
|
|
161
|
-
CreateUserDtoMapper: MapNestedDtoArraysToCollections<UserDto, 'roles'>;
|
|
162
|
-
UpdateUserDtoMapper: MapNestedDtoArraysToCollections<UserDto, 'roles'>;
|
|
163
|
-
} = {
|
|
164
|
-
UserDtoMapper: MapNestedDtoArraysToCollections<UserDto, 'roles'>;
|
|
165
|
-
CreateUserDtoMapper: MapNestedDtoArraysToCollections<UserDto, 'roles'>;
|
|
166
|
-
UpdateUserDtoMapper: MapNestedDtoArraysToCollections<UserDto, 'roles'>;
|
|
167
|
-
}> implements UserService {
|
|
168
|
-
#private;
|
|
143
|
+
declare class BaseUserService<SchemaValidator extends AnySchemaValidator, OrganizationStatus, Entities extends UserEntities, Dto extends UserDtos = UserDtos> implements UserService {
|
|
169
144
|
em: EntityManager;
|
|
170
145
|
protected passwordEncryptionPublicKeyPath: string;
|
|
171
146
|
protected roleServiceFactory: () => RoleService;
|
|
172
147
|
protected organizationServiceFactory: () => OrganizationService<OrganizationStatus>;
|
|
173
|
-
protected openTelemetryCollector: OpenTelemetryCollector<
|
|
148
|
+
protected openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
|
|
174
149
|
protected schemaValidator: SchemaValidator;
|
|
175
150
|
protected mappers: {
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
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']>>;
|
|
179
154
|
};
|
|
180
155
|
readonly options?: {
|
|
181
156
|
telemetry?: TelemetryOptions;
|
|
182
157
|
} | undefined;
|
|
158
|
+
protected _mappers: InternalMapper<InstanceTypeRecord<typeof this.mappers>>;
|
|
183
159
|
private evaluatedTelemetryOptions;
|
|
184
|
-
constructor(em: EntityManager, passwordEncryptionPublicKeyPath: string, roleServiceFactory: () => RoleService, organizationServiceFactory: () => OrganizationService<OrganizationStatus>, openTelemetryCollector: OpenTelemetryCollector<
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
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']>>;
|
|
188
164
|
}, options?: {
|
|
189
165
|
telemetry?: TelemetryOptions;
|
|
190
166
|
} | undefined);
|
|
191
|
-
createUser(userDto: Dto['
|
|
192
|
-
createBatchUsers(userDtos: Dto['
|
|
193
|
-
getUser(idDto: IdDto, em?: EntityManager): Promise<Dto['
|
|
194
|
-
getBatchUsers(idsDto: IdsDto, em?: EntityManager): Promise<Dto['
|
|
195
|
-
updateUser(userDto: Dto['
|
|
196
|
-
updateBatchUsers(userDtos: UpdateUserDto[], em?: EntityManager): Promise<Dto['
|
|
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'][]>;
|
|
197
173
|
deleteUser(idDto: IdDto, em?: EntityManager): Promise<void>;
|
|
198
174
|
deleteBatchUsers(idsDto: IdsDto, em?: EntityManager): Promise<void>;
|
|
199
175
|
verifyHasRole(idDto: IdDto, roleId: string): Promise<void>;
|