@forklaunch/implementation-iam-base 0.5.0 → 0.5.1
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 +36 -4
- package/lib/eject/services/permission.service.ts +48 -5
- package/lib/eject/services/role.service.ts +36 -4
- package/lib/eject/services/user.service.ts +45 -7
- package/lib/services/index.d.mts +12 -12
- package/lib/services/index.d.ts +12 -12
- package/lib/services/index.js +27 -7
- package/lib/services/index.mjs +27 -7
- package/package.json +1 -1
|
@@ -31,12 +31,40 @@ export class BaseOrganizationService<
|
|
|
31
31
|
metrics?: boolean;
|
|
32
32
|
tracing?: boolean;
|
|
33
33
|
};
|
|
34
|
+
public em: EntityManager;
|
|
35
|
+
protected openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
|
|
36
|
+
protected schemaValidator: SchemaValidator;
|
|
37
|
+
protected mappers: {
|
|
38
|
+
OrganizationMapper: ResponseMapperConstructor<
|
|
39
|
+
SchemaValidator,
|
|
40
|
+
MapperDtos['OrganizationMapper'],
|
|
41
|
+
MapperEntities['OrganizationMapper']
|
|
42
|
+
>;
|
|
43
|
+
CreateOrganizationMapper: RequestMapperConstructor<
|
|
44
|
+
SchemaValidator,
|
|
45
|
+
MapperDtos['CreateOrganizationMapper'],
|
|
46
|
+
MapperEntities['CreateOrganizationMapper'],
|
|
47
|
+
(
|
|
48
|
+
dto: MapperDtos['CreateOrganizationMapper'],
|
|
49
|
+
em: EntityManager
|
|
50
|
+
) => Promise<MapperEntities['CreateOrganizationMapper']>
|
|
51
|
+
>;
|
|
52
|
+
UpdateOrganizationMapper: RequestMapperConstructor<
|
|
53
|
+
SchemaValidator,
|
|
54
|
+
MapperDtos['UpdateOrganizationMapper'],
|
|
55
|
+
MapperEntities['UpdateOrganizationMapper'],
|
|
56
|
+
(
|
|
57
|
+
dto: MapperDtos['UpdateOrganizationMapper'],
|
|
58
|
+
em: EntityManager
|
|
59
|
+
) => Promise<MapperEntities['UpdateOrganizationMapper']>
|
|
60
|
+
>;
|
|
61
|
+
};
|
|
34
62
|
|
|
35
63
|
constructor(
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
64
|
+
em: EntityManager,
|
|
65
|
+
openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>,
|
|
66
|
+
schemaValidator: SchemaValidator,
|
|
67
|
+
mappers: {
|
|
40
68
|
OrganizationMapper: ResponseMapperConstructor<
|
|
41
69
|
SchemaValidator,
|
|
42
70
|
MapperDtos['OrganizationMapper'],
|
|
@@ -65,6 +93,10 @@ export class BaseOrganizationService<
|
|
|
65
93
|
telemetry?: TelemetryOptions;
|
|
66
94
|
}
|
|
67
95
|
) {
|
|
96
|
+
this.em = em;
|
|
97
|
+
this.openTelemetryCollector = openTelemetryCollector;
|
|
98
|
+
this.schemaValidator = schemaValidator;
|
|
99
|
+
this.mappers = mappers;
|
|
68
100
|
this._mappers = transformIntoInternalMapper(mappers, schemaValidator);
|
|
69
101
|
this.evaluatedTelemetryOptions = options?.telemetry
|
|
70
102
|
? evaluateTelemetryOptions(options.telemetry).enabled
|
|
@@ -33,13 +33,51 @@ export class BasePermissionService<
|
|
|
33
33
|
metrics?: boolean;
|
|
34
34
|
tracing?: boolean;
|
|
35
35
|
};
|
|
36
|
+
public em: EntityManager;
|
|
37
|
+
protected roleServiceFactory: () => RoleService;
|
|
38
|
+
protected openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
|
|
39
|
+
protected schemaValidator: SchemaValidator;
|
|
40
|
+
protected mappers: {
|
|
41
|
+
PermissionMapper: ResponseMapperConstructor<
|
|
42
|
+
SchemaValidator,
|
|
43
|
+
MapperDto['PermissionMapper'],
|
|
44
|
+
MapperEntities['PermissionMapper']
|
|
45
|
+
>;
|
|
46
|
+
CreatePermissionMapper: RequestMapperConstructor<
|
|
47
|
+
SchemaValidator,
|
|
48
|
+
MapperDto['CreatePermissionMapper'],
|
|
49
|
+
MapperEntities['CreatePermissionMapper'],
|
|
50
|
+
(
|
|
51
|
+
dto: MapperDto['CreatePermissionMapper'],
|
|
52
|
+
em: EntityManager
|
|
53
|
+
) => Promise<MapperEntities['CreatePermissionMapper']>
|
|
54
|
+
>;
|
|
55
|
+
UpdatePermissionMapper: RequestMapperConstructor<
|
|
56
|
+
SchemaValidator,
|
|
57
|
+
MapperDto['UpdatePermissionMapper'],
|
|
58
|
+
MapperEntities['UpdatePermissionMapper'],
|
|
59
|
+
(
|
|
60
|
+
dto: MapperDto['UpdatePermissionMapper'],
|
|
61
|
+
em: EntityManager
|
|
62
|
+
) => Promise<MapperEntities['UpdatePermissionMapper']>
|
|
63
|
+
>;
|
|
64
|
+
RoleEntityMapper: RequestMapperConstructor<
|
|
65
|
+
SchemaValidator,
|
|
66
|
+
MapperDto['RoleEntityMapper'],
|
|
67
|
+
MapperEntities['RoleEntityMapper'],
|
|
68
|
+
(
|
|
69
|
+
dto: MapperDto['RoleEntityMapper'],
|
|
70
|
+
em: EntityManager
|
|
71
|
+
) => Promise<MapperEntities['RoleEntityMapper']>
|
|
72
|
+
>;
|
|
73
|
+
};
|
|
36
74
|
|
|
37
75
|
constructor(
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
76
|
+
em: EntityManager,
|
|
77
|
+
roleServiceFactory: () => RoleService,
|
|
78
|
+
openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>,
|
|
79
|
+
schemaValidator: SchemaValidator,
|
|
80
|
+
mappers: {
|
|
43
81
|
PermissionMapper: ResponseMapperConstructor<
|
|
44
82
|
SchemaValidator,
|
|
45
83
|
MapperDto['PermissionMapper'],
|
|
@@ -77,6 +115,11 @@ export class BasePermissionService<
|
|
|
77
115
|
telemetry?: TelemetryOptions;
|
|
78
116
|
}
|
|
79
117
|
) {
|
|
118
|
+
this.em = em;
|
|
119
|
+
this.roleServiceFactory = roleServiceFactory;
|
|
120
|
+
this.openTelemetryCollector = openTelemetryCollector;
|
|
121
|
+
this.schemaValidator = schemaValidator;
|
|
122
|
+
this.mappers = mappers;
|
|
80
123
|
this._mappers = transformIntoInternalMapper(mappers, schemaValidator);
|
|
81
124
|
this.evaluatedTelemetryOptions = options?.telemetry
|
|
82
125
|
? evaluateTelemetryOptions(options.telemetry).enabled
|
|
@@ -31,12 +31,40 @@ export class BaseRoleService<
|
|
|
31
31
|
metrics?: boolean;
|
|
32
32
|
tracing?: boolean;
|
|
33
33
|
};
|
|
34
|
+
public em: EntityManager;
|
|
35
|
+
protected openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
|
|
36
|
+
protected schemaValidator: SchemaValidator;
|
|
37
|
+
protected mappers: {
|
|
38
|
+
RoleMapper: ResponseMapperConstructor<
|
|
39
|
+
SchemaValidator,
|
|
40
|
+
MapperDto['RoleMapper'],
|
|
41
|
+
MapperEntities['RoleMapper']
|
|
42
|
+
>;
|
|
43
|
+
CreateRoleMapper: RequestMapperConstructor<
|
|
44
|
+
SchemaValidator,
|
|
45
|
+
MapperDto['CreateRoleMapper'],
|
|
46
|
+
MapperEntities['CreateRoleMapper'],
|
|
47
|
+
(
|
|
48
|
+
dto: MapperDto['CreateRoleMapper'],
|
|
49
|
+
em: EntityManager
|
|
50
|
+
) => Promise<MapperEntities['CreateRoleMapper']>
|
|
51
|
+
>;
|
|
52
|
+
UpdateRoleMapper: RequestMapperConstructor<
|
|
53
|
+
SchemaValidator,
|
|
54
|
+
MapperDto['UpdateRoleMapper'],
|
|
55
|
+
MapperEntities['UpdateRoleMapper'],
|
|
56
|
+
(
|
|
57
|
+
dto: MapperDto['UpdateRoleMapper'],
|
|
58
|
+
em: EntityManager
|
|
59
|
+
) => Promise<MapperEntities['UpdateRoleMapper']>
|
|
60
|
+
>;
|
|
61
|
+
};
|
|
34
62
|
|
|
35
63
|
constructor(
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
64
|
+
em: EntityManager,
|
|
65
|
+
openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>,
|
|
66
|
+
schemaValidator: SchemaValidator,
|
|
67
|
+
mappers: {
|
|
40
68
|
RoleMapper: ResponseMapperConstructor<
|
|
41
69
|
SchemaValidator,
|
|
42
70
|
MapperDto['RoleMapper'],
|
|
@@ -65,6 +93,10 @@ export class BaseRoleService<
|
|
|
65
93
|
telemetry?: TelemetryOptions;
|
|
66
94
|
}
|
|
67
95
|
) {
|
|
96
|
+
this.em = em;
|
|
97
|
+
this.openTelemetryCollector = openTelemetryCollector;
|
|
98
|
+
this.schemaValidator = schemaValidator;
|
|
99
|
+
this.mappers = mappers;
|
|
68
100
|
this._mappers = transformIntoInternalMapper(mappers, schemaValidator);
|
|
69
101
|
this.evaluatedTelemetryOptions = options?.telemetry
|
|
70
102
|
? evaluateTelemetryOptions(options.telemetry).enabled
|
|
@@ -36,15 +36,46 @@ export class BaseUserService<
|
|
|
36
36
|
metrics?: boolean;
|
|
37
37
|
tracing?: boolean;
|
|
38
38
|
};
|
|
39
|
+
public em: EntityManager;
|
|
40
|
+
protected passwordEncryptionPublicKeyPath: string;
|
|
41
|
+
protected roleServiceFactory: () => RoleService;
|
|
42
|
+
protected organizationServiceFactory: () => OrganizationService<OrganizationStatus>;
|
|
43
|
+
protected openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
|
|
44
|
+
protected schemaValidator: SchemaValidator;
|
|
45
|
+
protected mappers: {
|
|
46
|
+
UserMapper: ResponseMapperConstructor<
|
|
47
|
+
SchemaValidator,
|
|
48
|
+
Dto['UserMapper'],
|
|
49
|
+
Entities['UserMapper']
|
|
50
|
+
>;
|
|
51
|
+
CreateUserMapper: RequestMapperConstructor<
|
|
52
|
+
SchemaValidator,
|
|
53
|
+
Dto['CreateUserMapper'],
|
|
54
|
+
Entities['CreateUserMapper'],
|
|
55
|
+
(
|
|
56
|
+
dto: Dto['CreateUserMapper'],
|
|
57
|
+
em: EntityManager
|
|
58
|
+
) => Promise<Entities['CreateUserMapper']>
|
|
59
|
+
>;
|
|
60
|
+
UpdateUserMapper: RequestMapperConstructor<
|
|
61
|
+
SchemaValidator,
|
|
62
|
+
Dto['UpdateUserMapper'],
|
|
63
|
+
Entities['UpdateUserMapper'],
|
|
64
|
+
(
|
|
65
|
+
dto: Dto['UpdateUserMapper'],
|
|
66
|
+
em: EntityManager
|
|
67
|
+
) => Promise<Entities['UpdateUserMapper']>
|
|
68
|
+
>;
|
|
69
|
+
};
|
|
39
70
|
|
|
40
71
|
constructor(
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
72
|
+
em: EntityManager,
|
|
73
|
+
passwordEncryptionPublicKeyPath: string,
|
|
74
|
+
roleServiceFactory: () => RoleService,
|
|
75
|
+
organizationServiceFactory: () => OrganizationService<OrganizationStatus>,
|
|
76
|
+
openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>,
|
|
77
|
+
schemaValidator: SchemaValidator,
|
|
78
|
+
mappers: {
|
|
48
79
|
UserMapper: ResponseMapperConstructor<
|
|
49
80
|
SchemaValidator,
|
|
50
81
|
Dto['UserMapper'],
|
|
@@ -73,6 +104,13 @@ export class BaseUserService<
|
|
|
73
104
|
telemetry?: TelemetryOptions;
|
|
74
105
|
}
|
|
75
106
|
) {
|
|
107
|
+
this.em = em;
|
|
108
|
+
this.passwordEncryptionPublicKeyPath = passwordEncryptionPublicKeyPath;
|
|
109
|
+
this.roleServiceFactory = roleServiceFactory;
|
|
110
|
+
this.organizationServiceFactory = organizationServiceFactory;
|
|
111
|
+
this.openTelemetryCollector = openTelemetryCollector;
|
|
112
|
+
this.schemaValidator = schemaValidator;
|
|
113
|
+
this.mappers = mappers;
|
|
76
114
|
this._mappers = transformIntoInternalMapper(mappers, schemaValidator);
|
|
77
115
|
this.evaluatedTelemetryOptions = options?.telemetry
|
|
78
116
|
? evaluateTelemetryOptions(options.telemetry).enabled
|
package/lib/services/index.d.mts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { InstanceTypeRecord, IdDto, IdsDto } from '@forklaunch/common';
|
|
2
2
|
import { OpenTelemetryCollector, MetricsDefinition, TelemetryOptions } from '@forklaunch/core/http';
|
|
3
3
|
import { OrganizationService, PermissionService, RoleService, UserService } from '@forklaunch/interfaces-iam/interfaces';
|
|
4
|
-
import { ResponseMapperConstructor, RequestMapperConstructor
|
|
4
|
+
import { InternalMapper, ResponseMapperConstructor, RequestMapperConstructor } from '@forklaunch/internal';
|
|
5
5
|
import { AnySchemaValidator } from '@forklaunch/validator';
|
|
6
6
|
import { EntityManager } from '@mikro-orm/core';
|
|
7
7
|
import { OrganizationDto, CreateOrganizationDto, UpdateOrganizationDto, PermissionDto, CreatePermissionDto, UpdatePermissionDto, UpdateRoleDto, RoleDto, CreateRoleDto, UserDto, CreateUserDto, UpdateUserDto } from '@forklaunch/interfaces-iam/types';
|
|
@@ -52,6 +52,8 @@ type UserEntities = {
|
|
|
52
52
|
};
|
|
53
53
|
|
|
54
54
|
declare class BaseOrganizationService<SchemaValidator extends AnySchemaValidator, OrganizationStatus, MapperEntities extends OrganizationEntities<OrganizationStatus>, MapperDtos extends OrganizationDtos<OrganizationStatus> = OrganizationDtos<OrganizationStatus>> implements OrganizationService<OrganizationStatus> {
|
|
55
|
+
protected _mappers: InternalMapper<InstanceTypeRecord<typeof this.mappers>>;
|
|
56
|
+
private evaluatedTelemetryOptions;
|
|
55
57
|
em: EntityManager;
|
|
56
58
|
protected openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
|
|
57
59
|
protected schemaValidator: SchemaValidator;
|
|
@@ -60,8 +62,6 @@ declare class BaseOrganizationService<SchemaValidator extends AnySchemaValidator
|
|
|
60
62
|
CreateOrganizationMapper: RequestMapperConstructor<SchemaValidator, MapperDtos['CreateOrganizationMapper'], MapperEntities['CreateOrganizationMapper'], (dto: MapperDtos['CreateOrganizationMapper'], em: EntityManager) => Promise<MapperEntities['CreateOrganizationMapper']>>;
|
|
61
63
|
UpdateOrganizationMapper: RequestMapperConstructor<SchemaValidator, MapperDtos['UpdateOrganizationMapper'], MapperEntities['UpdateOrganizationMapper'], (dto: MapperDtos['UpdateOrganizationMapper'], em: EntityManager) => Promise<MapperEntities['UpdateOrganizationMapper']>>;
|
|
62
64
|
};
|
|
63
|
-
protected _mappers: InternalMapper<InstanceTypeRecord<typeof this.mappers>>;
|
|
64
|
-
private evaluatedTelemetryOptions;
|
|
65
65
|
constructor(em: EntityManager, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, schemaValidator: SchemaValidator, mappers: {
|
|
66
66
|
OrganizationMapper: ResponseMapperConstructor<SchemaValidator, MapperDtos['OrganizationMapper'], MapperEntities['OrganizationMapper']>;
|
|
67
67
|
CreateOrganizationMapper: RequestMapperConstructor<SchemaValidator, MapperDtos['CreateOrganizationMapper'], MapperEntities['CreateOrganizationMapper'], (dto: MapperDtos['CreateOrganizationMapper'], em: EntityManager) => Promise<MapperEntities['CreateOrganizationMapper']>>;
|
|
@@ -76,6 +76,8 @@ declare class BaseOrganizationService<SchemaValidator extends AnySchemaValidator
|
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
declare class BasePermissionService<SchemaValidator extends AnySchemaValidator, MapperEntities extends PermissionEntities, MapperDto extends PermissionDtos = PermissionDtos> implements PermissionService {
|
|
79
|
+
protected _mappers: InternalMapper<InstanceTypeRecord<typeof this.mappers>>;
|
|
80
|
+
private evaluatedTelemetryOptions;
|
|
79
81
|
em: EntityManager;
|
|
80
82
|
protected roleServiceFactory: () => RoleService;
|
|
81
83
|
protected openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
|
|
@@ -86,8 +88,6 @@ declare class BasePermissionService<SchemaValidator extends AnySchemaValidator,
|
|
|
86
88
|
UpdatePermissionMapper: RequestMapperConstructor<SchemaValidator, MapperDto['UpdatePermissionMapper'], MapperEntities['UpdatePermissionMapper'], (dto: MapperDto['UpdatePermissionMapper'], em: EntityManager) => Promise<MapperEntities['UpdatePermissionMapper']>>;
|
|
87
89
|
RoleEntityMapper: RequestMapperConstructor<SchemaValidator, MapperDto['RoleEntityMapper'], MapperEntities['RoleEntityMapper'], (dto: MapperDto['RoleEntityMapper'], em: EntityManager) => Promise<MapperEntities['RoleEntityMapper']>>;
|
|
88
90
|
};
|
|
89
|
-
protected _mappers: InternalMapper<InstanceTypeRecord<typeof this.mappers>>;
|
|
90
|
-
private evaluatedTelemetryOptions;
|
|
91
91
|
constructor(em: EntityManager, roleServiceFactory: () => RoleService, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, schemaValidator: SchemaValidator, mappers: {
|
|
92
92
|
PermissionMapper: ResponseMapperConstructor<SchemaValidator, MapperDto['PermissionMapper'], MapperEntities['PermissionMapper']>;
|
|
93
93
|
CreatePermissionMapper: RequestMapperConstructor<SchemaValidator, MapperDto['CreatePermissionMapper'], MapperEntities['CreatePermissionMapper'], (dto: MapperDto['CreatePermissionMapper'], em: EntityManager) => Promise<MapperEntities['CreatePermissionMapper']>>;
|
|
@@ -113,6 +113,8 @@ declare class BasePermissionService<SchemaValidator extends AnySchemaValidator,
|
|
|
113
113
|
}
|
|
114
114
|
|
|
115
115
|
declare class BaseRoleService<SchemaValidator extends AnySchemaValidator, MapperEntities extends RoleEntities, MapperDto extends RoleDtos = RoleDtos> implements RoleService {
|
|
116
|
+
protected _mappers: InternalMapper<InstanceTypeRecord<typeof this.mappers>>;
|
|
117
|
+
private evaluatedTelemetryOptions;
|
|
116
118
|
em: EntityManager;
|
|
117
119
|
protected openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
|
|
118
120
|
protected schemaValidator: SchemaValidator;
|
|
@@ -121,8 +123,6 @@ declare class BaseRoleService<SchemaValidator extends AnySchemaValidator, Mapper
|
|
|
121
123
|
CreateRoleMapper: RequestMapperConstructor<SchemaValidator, MapperDto['CreateRoleMapper'], MapperEntities['CreateRoleMapper'], (dto: MapperDto['CreateRoleMapper'], em: EntityManager) => Promise<MapperEntities['CreateRoleMapper']>>;
|
|
122
124
|
UpdateRoleMapper: RequestMapperConstructor<SchemaValidator, MapperDto['UpdateRoleMapper'], MapperEntities['UpdateRoleMapper'], (dto: MapperDto['UpdateRoleMapper'], em: EntityManager) => Promise<MapperEntities['UpdateRoleMapper']>>;
|
|
123
125
|
};
|
|
124
|
-
protected _mappers: InternalMapper<InstanceTypeRecord<typeof this.mappers>>;
|
|
125
|
-
private evaluatedTelemetryOptions;
|
|
126
126
|
constructor(em: EntityManager, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, schemaValidator: SchemaValidator, mappers: {
|
|
127
127
|
RoleMapper: ResponseMapperConstructor<SchemaValidator, MapperDto['RoleMapper'], MapperEntities['RoleMapper']>;
|
|
128
128
|
CreateRoleMapper: RequestMapperConstructor<SchemaValidator, MapperDto['CreateRoleMapper'], MapperEntities['CreateRoleMapper'], (dto: MapperDto['CreateRoleMapper'], em: EntityManager) => Promise<MapperEntities['CreateRoleMapper']>>;
|
|
@@ -141,6 +141,11 @@ declare class BaseRoleService<SchemaValidator extends AnySchemaValidator, Mapper
|
|
|
141
141
|
}
|
|
142
142
|
|
|
143
143
|
declare class BaseUserService<SchemaValidator extends AnySchemaValidator, OrganizationStatus, Entities extends UserEntities, Dto extends UserDtos = UserDtos> implements UserService {
|
|
144
|
+
readonly options?: {
|
|
145
|
+
telemetry?: TelemetryOptions;
|
|
146
|
+
} | undefined;
|
|
147
|
+
protected _mappers: InternalMapper<InstanceTypeRecord<typeof this.mappers>>;
|
|
148
|
+
private evaluatedTelemetryOptions;
|
|
144
149
|
em: EntityManager;
|
|
145
150
|
protected passwordEncryptionPublicKeyPath: string;
|
|
146
151
|
protected roleServiceFactory: () => RoleService;
|
|
@@ -152,11 +157,6 @@ declare class BaseUserService<SchemaValidator extends AnySchemaValidator, Organi
|
|
|
152
157
|
CreateUserMapper: RequestMapperConstructor<SchemaValidator, Dto['CreateUserMapper'], Entities['CreateUserMapper'], (dto: Dto['CreateUserMapper'], em: EntityManager) => Promise<Entities['CreateUserMapper']>>;
|
|
153
158
|
UpdateUserMapper: RequestMapperConstructor<SchemaValidator, Dto['UpdateUserMapper'], Entities['UpdateUserMapper'], (dto: Dto['UpdateUserMapper'], em: EntityManager) => Promise<Entities['UpdateUserMapper']>>;
|
|
154
159
|
};
|
|
155
|
-
readonly options?: {
|
|
156
|
-
telemetry?: TelemetryOptions;
|
|
157
|
-
} | undefined;
|
|
158
|
-
protected _mappers: InternalMapper<InstanceTypeRecord<typeof this.mappers>>;
|
|
159
|
-
private evaluatedTelemetryOptions;
|
|
160
160
|
constructor(em: EntityManager, passwordEncryptionPublicKeyPath: string, roleServiceFactory: () => RoleService, organizationServiceFactory: () => OrganizationService<OrganizationStatus>, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, schemaValidator: SchemaValidator, mappers: {
|
|
161
161
|
UserMapper: ResponseMapperConstructor<SchemaValidator, Dto['UserMapper'], Entities['UserMapper']>;
|
|
162
162
|
CreateUserMapper: RequestMapperConstructor<SchemaValidator, Dto['CreateUserMapper'], Entities['CreateUserMapper'], (dto: Dto['CreateUserMapper'], em: EntityManager) => Promise<Entities['CreateUserMapper']>>;
|
package/lib/services/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { InstanceTypeRecord, IdDto, IdsDto } from '@forklaunch/common';
|
|
2
2
|
import { OpenTelemetryCollector, MetricsDefinition, TelemetryOptions } from '@forklaunch/core/http';
|
|
3
3
|
import { OrganizationService, PermissionService, RoleService, UserService } from '@forklaunch/interfaces-iam/interfaces';
|
|
4
|
-
import { ResponseMapperConstructor, RequestMapperConstructor
|
|
4
|
+
import { InternalMapper, ResponseMapperConstructor, RequestMapperConstructor } from '@forklaunch/internal';
|
|
5
5
|
import { AnySchemaValidator } from '@forklaunch/validator';
|
|
6
6
|
import { EntityManager } from '@mikro-orm/core';
|
|
7
7
|
import { OrganizationDto, CreateOrganizationDto, UpdateOrganizationDto, PermissionDto, CreatePermissionDto, UpdatePermissionDto, UpdateRoleDto, RoleDto, CreateRoleDto, UserDto, CreateUserDto, UpdateUserDto } from '@forklaunch/interfaces-iam/types';
|
|
@@ -52,6 +52,8 @@ type UserEntities = {
|
|
|
52
52
|
};
|
|
53
53
|
|
|
54
54
|
declare class BaseOrganizationService<SchemaValidator extends AnySchemaValidator, OrganizationStatus, MapperEntities extends OrganizationEntities<OrganizationStatus>, MapperDtos extends OrganizationDtos<OrganizationStatus> = OrganizationDtos<OrganizationStatus>> implements OrganizationService<OrganizationStatus> {
|
|
55
|
+
protected _mappers: InternalMapper<InstanceTypeRecord<typeof this.mappers>>;
|
|
56
|
+
private evaluatedTelemetryOptions;
|
|
55
57
|
em: EntityManager;
|
|
56
58
|
protected openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
|
|
57
59
|
protected schemaValidator: SchemaValidator;
|
|
@@ -60,8 +62,6 @@ declare class BaseOrganizationService<SchemaValidator extends AnySchemaValidator
|
|
|
60
62
|
CreateOrganizationMapper: RequestMapperConstructor<SchemaValidator, MapperDtos['CreateOrganizationMapper'], MapperEntities['CreateOrganizationMapper'], (dto: MapperDtos['CreateOrganizationMapper'], em: EntityManager) => Promise<MapperEntities['CreateOrganizationMapper']>>;
|
|
61
63
|
UpdateOrganizationMapper: RequestMapperConstructor<SchemaValidator, MapperDtos['UpdateOrganizationMapper'], MapperEntities['UpdateOrganizationMapper'], (dto: MapperDtos['UpdateOrganizationMapper'], em: EntityManager) => Promise<MapperEntities['UpdateOrganizationMapper']>>;
|
|
62
64
|
};
|
|
63
|
-
protected _mappers: InternalMapper<InstanceTypeRecord<typeof this.mappers>>;
|
|
64
|
-
private evaluatedTelemetryOptions;
|
|
65
65
|
constructor(em: EntityManager, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, schemaValidator: SchemaValidator, mappers: {
|
|
66
66
|
OrganizationMapper: ResponseMapperConstructor<SchemaValidator, MapperDtos['OrganizationMapper'], MapperEntities['OrganizationMapper']>;
|
|
67
67
|
CreateOrganizationMapper: RequestMapperConstructor<SchemaValidator, MapperDtos['CreateOrganizationMapper'], MapperEntities['CreateOrganizationMapper'], (dto: MapperDtos['CreateOrganizationMapper'], em: EntityManager) => Promise<MapperEntities['CreateOrganizationMapper']>>;
|
|
@@ -76,6 +76,8 @@ declare class BaseOrganizationService<SchemaValidator extends AnySchemaValidator
|
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
declare class BasePermissionService<SchemaValidator extends AnySchemaValidator, MapperEntities extends PermissionEntities, MapperDto extends PermissionDtos = PermissionDtos> implements PermissionService {
|
|
79
|
+
protected _mappers: InternalMapper<InstanceTypeRecord<typeof this.mappers>>;
|
|
80
|
+
private evaluatedTelemetryOptions;
|
|
79
81
|
em: EntityManager;
|
|
80
82
|
protected roleServiceFactory: () => RoleService;
|
|
81
83
|
protected openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
|
|
@@ -86,8 +88,6 @@ declare class BasePermissionService<SchemaValidator extends AnySchemaValidator,
|
|
|
86
88
|
UpdatePermissionMapper: RequestMapperConstructor<SchemaValidator, MapperDto['UpdatePermissionMapper'], MapperEntities['UpdatePermissionMapper'], (dto: MapperDto['UpdatePermissionMapper'], em: EntityManager) => Promise<MapperEntities['UpdatePermissionMapper']>>;
|
|
87
89
|
RoleEntityMapper: RequestMapperConstructor<SchemaValidator, MapperDto['RoleEntityMapper'], MapperEntities['RoleEntityMapper'], (dto: MapperDto['RoleEntityMapper'], em: EntityManager) => Promise<MapperEntities['RoleEntityMapper']>>;
|
|
88
90
|
};
|
|
89
|
-
protected _mappers: InternalMapper<InstanceTypeRecord<typeof this.mappers>>;
|
|
90
|
-
private evaluatedTelemetryOptions;
|
|
91
91
|
constructor(em: EntityManager, roleServiceFactory: () => RoleService, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, schemaValidator: SchemaValidator, mappers: {
|
|
92
92
|
PermissionMapper: ResponseMapperConstructor<SchemaValidator, MapperDto['PermissionMapper'], MapperEntities['PermissionMapper']>;
|
|
93
93
|
CreatePermissionMapper: RequestMapperConstructor<SchemaValidator, MapperDto['CreatePermissionMapper'], MapperEntities['CreatePermissionMapper'], (dto: MapperDto['CreatePermissionMapper'], em: EntityManager) => Promise<MapperEntities['CreatePermissionMapper']>>;
|
|
@@ -113,6 +113,8 @@ declare class BasePermissionService<SchemaValidator extends AnySchemaValidator,
|
|
|
113
113
|
}
|
|
114
114
|
|
|
115
115
|
declare class BaseRoleService<SchemaValidator extends AnySchemaValidator, MapperEntities extends RoleEntities, MapperDto extends RoleDtos = RoleDtos> implements RoleService {
|
|
116
|
+
protected _mappers: InternalMapper<InstanceTypeRecord<typeof this.mappers>>;
|
|
117
|
+
private evaluatedTelemetryOptions;
|
|
116
118
|
em: EntityManager;
|
|
117
119
|
protected openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
|
|
118
120
|
protected schemaValidator: SchemaValidator;
|
|
@@ -121,8 +123,6 @@ declare class BaseRoleService<SchemaValidator extends AnySchemaValidator, Mapper
|
|
|
121
123
|
CreateRoleMapper: RequestMapperConstructor<SchemaValidator, MapperDto['CreateRoleMapper'], MapperEntities['CreateRoleMapper'], (dto: MapperDto['CreateRoleMapper'], em: EntityManager) => Promise<MapperEntities['CreateRoleMapper']>>;
|
|
122
124
|
UpdateRoleMapper: RequestMapperConstructor<SchemaValidator, MapperDto['UpdateRoleMapper'], MapperEntities['UpdateRoleMapper'], (dto: MapperDto['UpdateRoleMapper'], em: EntityManager) => Promise<MapperEntities['UpdateRoleMapper']>>;
|
|
123
125
|
};
|
|
124
|
-
protected _mappers: InternalMapper<InstanceTypeRecord<typeof this.mappers>>;
|
|
125
|
-
private evaluatedTelemetryOptions;
|
|
126
126
|
constructor(em: EntityManager, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, schemaValidator: SchemaValidator, mappers: {
|
|
127
127
|
RoleMapper: ResponseMapperConstructor<SchemaValidator, MapperDto['RoleMapper'], MapperEntities['RoleMapper']>;
|
|
128
128
|
CreateRoleMapper: RequestMapperConstructor<SchemaValidator, MapperDto['CreateRoleMapper'], MapperEntities['CreateRoleMapper'], (dto: MapperDto['CreateRoleMapper'], em: EntityManager) => Promise<MapperEntities['CreateRoleMapper']>>;
|
|
@@ -141,6 +141,11 @@ declare class BaseRoleService<SchemaValidator extends AnySchemaValidator, Mapper
|
|
|
141
141
|
}
|
|
142
142
|
|
|
143
143
|
declare class BaseUserService<SchemaValidator extends AnySchemaValidator, OrganizationStatus, Entities extends UserEntities, Dto extends UserDtos = UserDtos> implements UserService {
|
|
144
|
+
readonly options?: {
|
|
145
|
+
telemetry?: TelemetryOptions;
|
|
146
|
+
} | undefined;
|
|
147
|
+
protected _mappers: InternalMapper<InstanceTypeRecord<typeof this.mappers>>;
|
|
148
|
+
private evaluatedTelemetryOptions;
|
|
144
149
|
em: EntityManager;
|
|
145
150
|
protected passwordEncryptionPublicKeyPath: string;
|
|
146
151
|
protected roleServiceFactory: () => RoleService;
|
|
@@ -152,11 +157,6 @@ declare class BaseUserService<SchemaValidator extends AnySchemaValidator, Organi
|
|
|
152
157
|
CreateUserMapper: RequestMapperConstructor<SchemaValidator, Dto['CreateUserMapper'], Entities['CreateUserMapper'], (dto: Dto['CreateUserMapper'], em: EntityManager) => Promise<Entities['CreateUserMapper']>>;
|
|
153
158
|
UpdateUserMapper: RequestMapperConstructor<SchemaValidator, Dto['UpdateUserMapper'], Entities['UpdateUserMapper'], (dto: Dto['UpdateUserMapper'], em: EntityManager) => Promise<Entities['UpdateUserMapper']>>;
|
|
154
159
|
};
|
|
155
|
-
readonly options?: {
|
|
156
|
-
telemetry?: TelemetryOptions;
|
|
157
|
-
} | undefined;
|
|
158
|
-
protected _mappers: InternalMapper<InstanceTypeRecord<typeof this.mappers>>;
|
|
159
|
-
private evaluatedTelemetryOptions;
|
|
160
160
|
constructor(em: EntityManager, passwordEncryptionPublicKeyPath: string, roleServiceFactory: () => RoleService, organizationServiceFactory: () => OrganizationService<OrganizationStatus>, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, schemaValidator: SchemaValidator, mappers: {
|
|
161
161
|
UserMapper: ResponseMapperConstructor<SchemaValidator, Dto['UserMapper'], Entities['UserMapper']>;
|
|
162
162
|
CreateUserMapper: RequestMapperConstructor<SchemaValidator, Dto['CreateUserMapper'], Entities['CreateUserMapper'], (dto: Dto['CreateUserMapper'], em: EntityManager) => Promise<Entities['CreateUserMapper']>>;
|
package/lib/services/index.js
CHANGED
|
@@ -31,6 +31,12 @@ module.exports = __toCommonJS(services_exports);
|
|
|
31
31
|
var import_http = require("@forklaunch/core/http");
|
|
32
32
|
var import_internal = require("@forklaunch/internal");
|
|
33
33
|
var BaseOrganizationService = class {
|
|
34
|
+
_mappers;
|
|
35
|
+
evaluatedTelemetryOptions;
|
|
36
|
+
em;
|
|
37
|
+
openTelemetryCollector;
|
|
38
|
+
schemaValidator;
|
|
39
|
+
mappers;
|
|
34
40
|
constructor(em, openTelemetryCollector, schemaValidator, mappers, options) {
|
|
35
41
|
this.em = em;
|
|
36
42
|
this.openTelemetryCollector = openTelemetryCollector;
|
|
@@ -43,8 +49,6 @@ var BaseOrganizationService = class {
|
|
|
43
49
|
tracing: false
|
|
44
50
|
};
|
|
45
51
|
}
|
|
46
|
-
_mappers;
|
|
47
|
-
evaluatedTelemetryOptions;
|
|
48
52
|
async createOrganization(organizationDto, em) {
|
|
49
53
|
if (this.evaluatedTelemetryOptions.logging) {
|
|
50
54
|
this.openTelemetryCollector.info(
|
|
@@ -111,6 +115,13 @@ var BaseOrganizationService = class {
|
|
|
111
115
|
var import_http2 = require("@forklaunch/core/http");
|
|
112
116
|
var import_internal2 = require("@forklaunch/internal");
|
|
113
117
|
var BasePermissionService = class {
|
|
118
|
+
_mappers;
|
|
119
|
+
evaluatedTelemetryOptions;
|
|
120
|
+
em;
|
|
121
|
+
roleServiceFactory;
|
|
122
|
+
openTelemetryCollector;
|
|
123
|
+
schemaValidator;
|
|
124
|
+
mappers;
|
|
114
125
|
constructor(em, roleServiceFactory, openTelemetryCollector, schemaValidator, mappers, options) {
|
|
115
126
|
this.em = em;
|
|
116
127
|
this.roleServiceFactory = roleServiceFactory;
|
|
@@ -124,8 +135,6 @@ var BasePermissionService = class {
|
|
|
124
135
|
tracing: false
|
|
125
136
|
};
|
|
126
137
|
}
|
|
127
|
-
_mappers;
|
|
128
|
-
evaluatedTelemetryOptions;
|
|
129
138
|
// start: global helper functions
|
|
130
139
|
async updateRolesWithPermissions(roles, permissions) {
|
|
131
140
|
return Promise.all(
|
|
@@ -354,6 +363,12 @@ var BasePermissionService = class {
|
|
|
354
363
|
var import_http3 = require("@forklaunch/core/http");
|
|
355
364
|
var import_internal3 = require("@forklaunch/internal");
|
|
356
365
|
var BaseRoleService = class {
|
|
366
|
+
_mappers;
|
|
367
|
+
evaluatedTelemetryOptions;
|
|
368
|
+
em;
|
|
369
|
+
openTelemetryCollector;
|
|
370
|
+
schemaValidator;
|
|
371
|
+
mappers;
|
|
357
372
|
constructor(em, openTelemetryCollector, schemaValidator, mappers, options) {
|
|
358
373
|
this.em = em;
|
|
359
374
|
this.openTelemetryCollector = openTelemetryCollector;
|
|
@@ -366,8 +381,6 @@ var BaseRoleService = class {
|
|
|
366
381
|
tracing: false
|
|
367
382
|
};
|
|
368
383
|
}
|
|
369
|
-
_mappers;
|
|
370
|
-
evaluatedTelemetryOptions;
|
|
371
384
|
async createRole(roleDto, em) {
|
|
372
385
|
if (this.evaluatedTelemetryOptions.logging) {
|
|
373
386
|
this.openTelemetryCollector.info("Creating role", roleDto);
|
|
@@ -494,6 +507,7 @@ var import_http4 = require("@forklaunch/core/http");
|
|
|
494
507
|
var import_internal4 = require("@forklaunch/internal");
|
|
495
508
|
var BaseUserService = class {
|
|
496
509
|
constructor(em, passwordEncryptionPublicKeyPath, roleServiceFactory, organizationServiceFactory, openTelemetryCollector, schemaValidator, mappers, options) {
|
|
510
|
+
this.options = options;
|
|
497
511
|
this.em = em;
|
|
498
512
|
this.passwordEncryptionPublicKeyPath = passwordEncryptionPublicKeyPath;
|
|
499
513
|
this.roleServiceFactory = roleServiceFactory;
|
|
@@ -501,7 +515,6 @@ var BaseUserService = class {
|
|
|
501
515
|
this.openTelemetryCollector = openTelemetryCollector;
|
|
502
516
|
this.schemaValidator = schemaValidator;
|
|
503
517
|
this.mappers = mappers;
|
|
504
|
-
this.options = options;
|
|
505
518
|
this._mappers = (0, import_internal4.transformIntoInternalMapper)(mappers, schemaValidator);
|
|
506
519
|
this.evaluatedTelemetryOptions = options?.telemetry ? (0, import_http4.evaluateTelemetryOptions)(options.telemetry).enabled : {
|
|
507
520
|
logging: false,
|
|
@@ -511,6 +524,13 @@ var BaseUserService = class {
|
|
|
511
524
|
}
|
|
512
525
|
_mappers;
|
|
513
526
|
evaluatedTelemetryOptions;
|
|
527
|
+
em;
|
|
528
|
+
passwordEncryptionPublicKeyPath;
|
|
529
|
+
roleServiceFactory;
|
|
530
|
+
organizationServiceFactory;
|
|
531
|
+
openTelemetryCollector;
|
|
532
|
+
schemaValidator;
|
|
533
|
+
mappers;
|
|
514
534
|
async createUser(userDto, em) {
|
|
515
535
|
if (this.evaluatedTelemetryOptions.logging) {
|
|
516
536
|
this.openTelemetryCollector.info("Creating user", userDto);
|
package/lib/services/index.mjs
CHANGED
|
@@ -6,6 +6,12 @@ import {
|
|
|
6
6
|
transformIntoInternalMapper
|
|
7
7
|
} from "@forklaunch/internal";
|
|
8
8
|
var BaseOrganizationService = class {
|
|
9
|
+
_mappers;
|
|
10
|
+
evaluatedTelemetryOptions;
|
|
11
|
+
em;
|
|
12
|
+
openTelemetryCollector;
|
|
13
|
+
schemaValidator;
|
|
14
|
+
mappers;
|
|
9
15
|
constructor(em, openTelemetryCollector, schemaValidator, mappers, options) {
|
|
10
16
|
this.em = em;
|
|
11
17
|
this.openTelemetryCollector = openTelemetryCollector;
|
|
@@ -18,8 +24,6 @@ var BaseOrganizationService = class {
|
|
|
18
24
|
tracing: false
|
|
19
25
|
};
|
|
20
26
|
}
|
|
21
|
-
_mappers;
|
|
22
|
-
evaluatedTelemetryOptions;
|
|
23
27
|
async createOrganization(organizationDto, em) {
|
|
24
28
|
if (this.evaluatedTelemetryOptions.logging) {
|
|
25
29
|
this.openTelemetryCollector.info(
|
|
@@ -90,6 +94,13 @@ import {
|
|
|
90
94
|
transformIntoInternalMapper as transformIntoInternalMapper2
|
|
91
95
|
} from "@forklaunch/internal";
|
|
92
96
|
var BasePermissionService = class {
|
|
97
|
+
_mappers;
|
|
98
|
+
evaluatedTelemetryOptions;
|
|
99
|
+
em;
|
|
100
|
+
roleServiceFactory;
|
|
101
|
+
openTelemetryCollector;
|
|
102
|
+
schemaValidator;
|
|
103
|
+
mappers;
|
|
93
104
|
constructor(em, roleServiceFactory, openTelemetryCollector, schemaValidator, mappers, options) {
|
|
94
105
|
this.em = em;
|
|
95
106
|
this.roleServiceFactory = roleServiceFactory;
|
|
@@ -103,8 +114,6 @@ var BasePermissionService = class {
|
|
|
103
114
|
tracing: false
|
|
104
115
|
};
|
|
105
116
|
}
|
|
106
|
-
_mappers;
|
|
107
|
-
evaluatedTelemetryOptions;
|
|
108
117
|
// start: global helper functions
|
|
109
118
|
async updateRolesWithPermissions(roles, permissions) {
|
|
110
119
|
return Promise.all(
|
|
@@ -337,6 +346,12 @@ import {
|
|
|
337
346
|
transformIntoInternalMapper as transformIntoInternalMapper3
|
|
338
347
|
} from "@forklaunch/internal";
|
|
339
348
|
var BaseRoleService = class {
|
|
349
|
+
_mappers;
|
|
350
|
+
evaluatedTelemetryOptions;
|
|
351
|
+
em;
|
|
352
|
+
openTelemetryCollector;
|
|
353
|
+
schemaValidator;
|
|
354
|
+
mappers;
|
|
340
355
|
constructor(em, openTelemetryCollector, schemaValidator, mappers, options) {
|
|
341
356
|
this.em = em;
|
|
342
357
|
this.openTelemetryCollector = openTelemetryCollector;
|
|
@@ -349,8 +364,6 @@ var BaseRoleService = class {
|
|
|
349
364
|
tracing: false
|
|
350
365
|
};
|
|
351
366
|
}
|
|
352
|
-
_mappers;
|
|
353
|
-
evaluatedTelemetryOptions;
|
|
354
367
|
async createRole(roleDto, em) {
|
|
355
368
|
if (this.evaluatedTelemetryOptions.logging) {
|
|
356
369
|
this.openTelemetryCollector.info("Creating role", roleDto);
|
|
@@ -481,6 +494,7 @@ import {
|
|
|
481
494
|
} from "@forklaunch/internal";
|
|
482
495
|
var BaseUserService = class {
|
|
483
496
|
constructor(em, passwordEncryptionPublicKeyPath, roleServiceFactory, organizationServiceFactory, openTelemetryCollector, schemaValidator, mappers, options) {
|
|
497
|
+
this.options = options;
|
|
484
498
|
this.em = em;
|
|
485
499
|
this.passwordEncryptionPublicKeyPath = passwordEncryptionPublicKeyPath;
|
|
486
500
|
this.roleServiceFactory = roleServiceFactory;
|
|
@@ -488,7 +502,6 @@ var BaseUserService = class {
|
|
|
488
502
|
this.openTelemetryCollector = openTelemetryCollector;
|
|
489
503
|
this.schemaValidator = schemaValidator;
|
|
490
504
|
this.mappers = mappers;
|
|
491
|
-
this.options = options;
|
|
492
505
|
this._mappers = transformIntoInternalMapper4(mappers, schemaValidator);
|
|
493
506
|
this.evaluatedTelemetryOptions = options?.telemetry ? evaluateTelemetryOptions4(options.telemetry).enabled : {
|
|
494
507
|
logging: false,
|
|
@@ -498,6 +511,13 @@ var BaseUserService = class {
|
|
|
498
511
|
}
|
|
499
512
|
_mappers;
|
|
500
513
|
evaluatedTelemetryOptions;
|
|
514
|
+
em;
|
|
515
|
+
passwordEncryptionPublicKeyPath;
|
|
516
|
+
roleServiceFactory;
|
|
517
|
+
organizationServiceFactory;
|
|
518
|
+
openTelemetryCollector;
|
|
519
|
+
schemaValidator;
|
|
520
|
+
mappers;
|
|
501
521
|
async createUser(userDto, em) {
|
|
502
522
|
if (this.evaluatedTelemetryOptions.logging) {
|
|
503
523
|
this.openTelemetryCollector.info("Creating user", userDto);
|