@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.
@@ -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
- public em: EntityManager,
37
- protected openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>,
38
- protected schemaValidator: SchemaValidator,
39
- protected mappers: {
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
- public em: EntityManager,
39
- protected roleServiceFactory: () => RoleService,
40
- protected openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>,
41
- protected schemaValidator: SchemaValidator,
42
- protected mappers: {
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
- public em: EntityManager,
37
- protected openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>,
38
- protected schemaValidator: SchemaValidator,
39
- protected mappers: {
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
- public em: EntityManager,
42
- protected passwordEncryptionPublicKeyPath: string,
43
- protected roleServiceFactory: () => RoleService,
44
- protected organizationServiceFactory: () => OrganizationService<OrganizationStatus>,
45
- protected openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>,
46
- protected schemaValidator: SchemaValidator,
47
- protected mappers: {
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
@@ -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, InternalMapper } from '@forklaunch/internal';
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']>>;
@@ -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, InternalMapper } from '@forklaunch/internal';
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']>>;
@@ -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);
@@ -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);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forklaunch/implementation-iam-base",
3
- "version": "0.5.0",
3
+ "version": "0.5.1",
4
4
  "description": "Billing basic implementation for forklaunch",
5
5
  "homepage": "https://github.com/forklaunch/forklaunch-js#readme",
6
6
  "bugs": {