@forklaunch/implementation-iam-base 0.2.3 → 0.3.0

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.
Files changed (69) hide show
  1. package/lib/schemas/index.d.mts +474 -0
  2. package/lib/schemas/index.d.ts +474 -5
  3. package/lib/schemas/index.js +339 -4
  4. package/lib/schemas/index.mjs +369 -0
  5. package/lib/services/index.d.mts +203 -0
  6. package/lib/services/index.d.ts +203 -5
  7. package/lib/services/index.js +666 -4
  8. package/lib/services/index.mjs +652 -0
  9. package/package.json +6 -5
  10. package/lib/__test__/schemaEquality.test.d.ts +0 -2
  11. package/lib/__test__/schemaEquality.test.d.ts.map +0 -1
  12. package/lib/__test__/schemaEquality.test.js +0 -283
  13. package/lib/jest.config.d.ts +0 -4
  14. package/lib/jest.config.d.ts.map +0 -1
  15. package/lib/jest.config.js +0 -19
  16. package/lib/schemas/index.d.ts.map +0 -1
  17. package/lib/schemas/organization.schema.d.ts +0 -423
  18. package/lib/schemas/organization.schema.d.ts.map +0 -1
  19. package/lib/schemas/organization.schema.js +0 -7
  20. package/lib/schemas/permission.schema.d.ts +0 -104
  21. package/lib/schemas/permission.schema.d.ts.map +0 -1
  22. package/lib/schemas/permission.schema.js +0 -7
  23. package/lib/schemas/role.schema.d.ts +0 -163
  24. package/lib/schemas/role.schema.d.ts.map +0 -1
  25. package/lib/schemas/role.schema.js +0 -7
  26. package/lib/schemas/typebox/organization.schema.d.ts +0 -382
  27. package/lib/schemas/typebox/organization.schema.d.ts.map +0 -1
  28. package/lib/schemas/typebox/organization.schema.js +0 -44
  29. package/lib/schemas/typebox/permission.schema.d.ts +0 -123
  30. package/lib/schemas/typebox/permission.schema.d.ts.map +0 -1
  31. package/lib/schemas/typebox/permission.schema.js +0 -32
  32. package/lib/schemas/typebox/role.schema.d.ts +0 -183
  33. package/lib/schemas/typebox/role.schema.d.ts.map +0 -1
  34. package/lib/schemas/typebox/role.schema.js +0 -33
  35. package/lib/schemas/typebox/user.schema.d.ts +0 -315
  36. package/lib/schemas/typebox/user.schema.d.ts.map +0 -1
  37. package/lib/schemas/typebox/user.schema.js +0 -49
  38. package/lib/schemas/user.schema.d.ts +0 -298
  39. package/lib/schemas/user.schema.d.ts.map +0 -1
  40. package/lib/schemas/user.schema.js +0 -7
  41. package/lib/schemas/zod/organization.schema.d.ts +0 -418
  42. package/lib/schemas/zod/organization.schema.d.ts.map +0 -1
  43. package/lib/schemas/zod/organization.schema.js +0 -44
  44. package/lib/schemas/zod/permission.schema.d.ts +0 -71
  45. package/lib/schemas/zod/permission.schema.d.ts.map +0 -1
  46. package/lib/schemas/zod/permission.schema.js +0 -32
  47. package/lib/schemas/zod/role.schema.d.ts +0 -129
  48. package/lib/schemas/zod/role.schema.d.ts.map +0 -1
  49. package/lib/schemas/zod/role.schema.js +0 -33
  50. package/lib/schemas/zod/user.schema.d.ts +0 -249
  51. package/lib/schemas/zod/user.schema.d.ts.map +0 -1
  52. package/lib/schemas/zod/user.schema.js +0 -49
  53. package/lib/services/index.d.ts.map +0 -1
  54. package/lib/services/organization.service.d.ts +0 -123
  55. package/lib/services/organization.service.d.ts.map +0 -1
  56. package/lib/services/organization.service.js +0 -88
  57. package/lib/services/permission.service.d.ts +0 -149
  58. package/lib/services/permission.service.d.ts.map +0 -1
  59. package/lib/services/permission.service.js +0 -264
  60. package/lib/services/role.service.d.ts +0 -123
  61. package/lib/services/role.service.d.ts.map +0 -1
  62. package/lib/services/role.service.js +0 -139
  63. package/lib/services/user.service.d.ts +0 -134
  64. package/lib/services/user.service.d.ts.map +0 -1
  65. package/lib/services/user.service.js +0 -185
  66. package/lib/tsconfig.tsbuildinfo +0 -1
  67. package/lib/vitest.config.d.ts +0 -3
  68. package/lib/vitest.config.d.ts.map +0 -1
  69. package/lib/vitest.config.js +0 -7
@@ -1,129 +0,0 @@
1
- export declare const CreateRoleSchema: {
2
- name: import('zod').ZodString;
3
- permissionIds: import('zod').ZodOptional<
4
- import('zod').ZodArray<import('zod').ZodString, 'many'>
5
- >;
6
- extraFields: import('zod').ZodOptional<import('zod').ZodUnknown>;
7
- };
8
- export declare const UpdateRoleSchema: ({
9
- uuidId
10
- }: {
11
- uuidId: boolean;
12
- }) => {
13
- id: import('zod').ZodString;
14
- name: import('zod').ZodOptional<import('zod').ZodString>;
15
- permissionIds: import('zod').ZodOptional<
16
- import('zod').ZodArray<import('zod').ZodString, 'many'>
17
- >;
18
- extraFields: import('zod').ZodOptional<import('zod').ZodUnknown>;
19
- };
20
- export declare const RoleSchema: ({
21
- uuidId
22
- }: {
23
- uuidId: boolean;
24
- }) => {
25
- id: import('zod').ZodString;
26
- name: import('zod').ZodString;
27
- permissions: import('zod').ZodArray<
28
- import('zod').ZodObject<
29
- {
30
- id: import('zod').ZodString;
31
- slug: import('zod').ZodString;
32
- extraFields: import('zod').ZodOptional<import('zod').ZodUnknown>;
33
- createdAt: import('zod').ZodOptional<
34
- import('zod').ZodEffects<import('zod').ZodDate, Date, unknown>
35
- >;
36
- updatedAt: import('zod').ZodOptional<
37
- import('zod').ZodEffects<import('zod').ZodDate, Date, unknown>
38
- >;
39
- },
40
- import('zod').UnknownKeysParam,
41
- import('zod').ZodTypeAny,
42
- {
43
- id: string;
44
- slug: string;
45
- extraFields?: unknown;
46
- createdAt?: Date | undefined;
47
- updatedAt?: Date | undefined;
48
- },
49
- {
50
- id: string;
51
- slug: string;
52
- extraFields?: unknown;
53
- createdAt?: unknown;
54
- updatedAt?: unknown;
55
- }
56
- >,
57
- 'many'
58
- >;
59
- extraFields: import('zod').ZodOptional<import('zod').ZodUnknown>;
60
- createdAt: import('zod').ZodOptional<
61
- import('zod').ZodEffects<import('zod').ZodDate, Date, unknown>
62
- >;
63
- updatedAt: import('zod').ZodOptional<
64
- import('zod').ZodEffects<import('zod').ZodDate, Date, unknown>
65
- >;
66
- };
67
- export declare const BaseRoleServiceSchemas: (options: {
68
- uuidId: boolean;
69
- }) => {
70
- CreateRoleSchema: {
71
- name: import('zod').ZodString;
72
- permissionIds: import('zod').ZodOptional<
73
- import('zod').ZodArray<import('zod').ZodString, 'many'>
74
- >;
75
- extraFields: import('zod').ZodOptional<import('zod').ZodUnknown>;
76
- };
77
- UpdateRoleSchema: {
78
- id: import('zod').ZodString;
79
- name: import('zod').ZodOptional<import('zod').ZodString>;
80
- permissionIds: import('zod').ZodOptional<
81
- import('zod').ZodArray<import('zod').ZodString, 'many'>
82
- >;
83
- extraFields: import('zod').ZodOptional<import('zod').ZodUnknown>;
84
- };
85
- RoleSchema: {
86
- id: import('zod').ZodString;
87
- name: import('zod').ZodString;
88
- permissions: import('zod').ZodArray<
89
- import('zod').ZodObject<
90
- {
91
- id: import('zod').ZodString;
92
- slug: import('zod').ZodString;
93
- extraFields: import('zod').ZodOptional<import('zod').ZodUnknown>;
94
- createdAt: import('zod').ZodOptional<
95
- import('zod').ZodEffects<import('zod').ZodDate, Date, unknown>
96
- >;
97
- updatedAt: import('zod').ZodOptional<
98
- import('zod').ZodEffects<import('zod').ZodDate, Date, unknown>
99
- >;
100
- },
101
- import('zod').UnknownKeysParam,
102
- import('zod').ZodTypeAny,
103
- {
104
- id: string;
105
- slug: string;
106
- extraFields?: unknown;
107
- createdAt?: Date | undefined;
108
- updatedAt?: Date | undefined;
109
- },
110
- {
111
- id: string;
112
- slug: string;
113
- extraFields?: unknown;
114
- createdAt?: unknown;
115
- updatedAt?: unknown;
116
- }
117
- >,
118
- 'many'
119
- >;
120
- extraFields: import('zod').ZodOptional<import('zod').ZodUnknown>;
121
- createdAt: import('zod').ZodOptional<
122
- import('zod').ZodEffects<import('zod').ZodDate, Date, unknown>
123
- >;
124
- updatedAt: import('zod').ZodOptional<
125
- import('zod').ZodEffects<import('zod').ZodDate, Date, unknown>
126
- >;
127
- };
128
- };
129
- //# sourceMappingURL=role.schema.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"role.schema.d.ts","sourceRoot":"","sources":["../../../schemas/zod/role.schema.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,gBAAgB;;;;CAI5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,YAAY;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE;;;;;CAK9D,CAAC;AAEH,eAAO,MAAM,UAAU,GAAI,YAAY;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;CAOxD,CAAC;AAEH,eAAO,MAAM,sBAAsB,GAAI,SAAS;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIjE,CAAC"}
@@ -1,33 +0,0 @@
1
- import {
2
- array,
3
- date,
4
- optional,
5
- string,
6
- unknown,
7
- uuid
8
- } from '@forklaunch/validator/zod';
9
- import { PermissionSchema } from './permission.schema';
10
- export const CreateRoleSchema = {
11
- name: string,
12
- permissionIds: optional(array(string)),
13
- extraFields: optional(unknown)
14
- };
15
- export const UpdateRoleSchema = ({ uuidId }) => ({
16
- id: uuidId ? uuid : string,
17
- name: optional(string),
18
- permissionIds: optional(array(string)),
19
- extraFields: optional(unknown)
20
- });
21
- export const RoleSchema = ({ uuidId }) => ({
22
- id: uuidId ? uuid : string,
23
- name: string,
24
- permissions: array(PermissionSchema({ uuidId })),
25
- extraFields: optional(unknown),
26
- createdAt: optional(date),
27
- updatedAt: optional(date)
28
- });
29
- export const BaseRoleServiceSchemas = (options) => ({
30
- CreateRoleSchema,
31
- UpdateRoleSchema: UpdateRoleSchema(options),
32
- RoleSchema: RoleSchema(options)
33
- });
@@ -1,249 +0,0 @@
1
- export declare const CreateUserSchema: {
2
- email: import('zod').ZodString;
3
- password: import('zod').ZodString;
4
- firstName: import('zod').ZodString;
5
- lastName: import('zod').ZodString;
6
- organizationId: import('zod').ZodString;
7
- roleIds: import('zod').ZodArray<import('zod').ZodString, 'many'>;
8
- phoneNumber: import('zod').ZodOptional<import('zod').ZodString>;
9
- subscription: import('zod').ZodOptional<import('zod').ZodString>;
10
- extraFields: import('zod').ZodOptional<import('zod').ZodUnknown>;
11
- };
12
- export declare const UpdateUserSchema: ({
13
- uuidId
14
- }: {
15
- uuidId: boolean;
16
- }) => {
17
- id: import('zod').ZodString;
18
- email: import('zod').ZodOptional<import('zod').ZodString>;
19
- password: import('zod').ZodOptional<import('zod').ZodString>;
20
- firstName: import('zod').ZodOptional<import('zod').ZodString>;
21
- lastName: import('zod').ZodOptional<import('zod').ZodString>;
22
- roleIds: import('zod').ZodOptional<
23
- import('zod').ZodArray<import('zod').ZodString, 'many'>
24
- >;
25
- phoneNumber: import('zod').ZodOptional<import('zod').ZodString>;
26
- subscription: import('zod').ZodOptional<import('zod').ZodString>;
27
- extraFields: import('zod').ZodOptional<import('zod').ZodUnknown>;
28
- };
29
- export declare const UserSchema: ({
30
- uuidId
31
- }: {
32
- uuidId: boolean;
33
- }) => {
34
- id: import('zod').ZodString;
35
- email: import('zod').ZodString;
36
- firstName: import('zod').ZodString;
37
- lastName: import('zod').ZodString;
38
- roles: import('zod').ZodArray<
39
- import('zod').ZodObject<
40
- {
41
- id: import('zod').ZodString;
42
- name: import('zod').ZodString;
43
- permissions: import('zod').ZodArray<
44
- import('zod').ZodObject<
45
- {
46
- id: import('zod').ZodString;
47
- slug: import('zod').ZodString;
48
- extraFields: import('zod').ZodOptional<import('zod').ZodUnknown>;
49
- createdAt: import('zod').ZodOptional<
50
- import('zod').ZodEffects<import('zod').ZodDate, Date, unknown>
51
- >;
52
- updatedAt: import('zod').ZodOptional<
53
- import('zod').ZodEffects<import('zod').ZodDate, Date, unknown>
54
- >;
55
- },
56
- import('zod').UnknownKeysParam,
57
- import('zod').ZodTypeAny,
58
- {
59
- id: string;
60
- slug: string;
61
- extraFields?: unknown;
62
- createdAt?: Date | undefined;
63
- updatedAt?: Date | undefined;
64
- },
65
- {
66
- id: string;
67
- slug: string;
68
- extraFields?: unknown;
69
- createdAt?: unknown;
70
- updatedAt?: unknown;
71
- }
72
- >,
73
- 'many'
74
- >;
75
- extraFields: import('zod').ZodOptional<import('zod').ZodUnknown>;
76
- createdAt: import('zod').ZodOptional<
77
- import('zod').ZodEffects<import('zod').ZodDate, Date, unknown>
78
- >;
79
- updatedAt: import('zod').ZodOptional<
80
- import('zod').ZodEffects<import('zod').ZodDate, Date, unknown>
81
- >;
82
- },
83
- import('zod').UnknownKeysParam,
84
- import('zod').ZodTypeAny,
85
- {
86
- id: string;
87
- name: string;
88
- permissions: {
89
- id: string;
90
- slug: string;
91
- extraFields?: unknown;
92
- createdAt?: Date | undefined;
93
- updatedAt?: Date | undefined;
94
- }[];
95
- extraFields?: unknown;
96
- createdAt?: Date | undefined;
97
- updatedAt?: Date | undefined;
98
- },
99
- {
100
- id: string;
101
- name: string;
102
- permissions: {
103
- id: string;
104
- slug: string;
105
- extraFields?: unknown;
106
- createdAt?: unknown;
107
- updatedAt?: unknown;
108
- }[];
109
- extraFields?: unknown;
110
- createdAt?: unknown;
111
- updatedAt?: unknown;
112
- }
113
- >,
114
- 'many'
115
- >;
116
- phoneNumber: import('zod').ZodOptional<import('zod').ZodString>;
117
- subscription: import('zod').ZodOptional<import('zod').ZodString>;
118
- extraFields: import('zod').ZodOptional<import('zod').ZodUnknown>;
119
- createdAt: import('zod').ZodOptional<
120
- import('zod').ZodEffects<import('zod').ZodDate, Date, unknown>
121
- >;
122
- updatedAt: import('zod').ZodOptional<
123
- import('zod').ZodEffects<import('zod').ZodDate, Date, unknown>
124
- >;
125
- };
126
- export declare const BaseUserServiceSchemas: (options: {
127
- uuidId: boolean;
128
- }) => {
129
- CreateUserSchema: {
130
- email: import('zod').ZodString;
131
- password: import('zod').ZodString;
132
- firstName: import('zod').ZodString;
133
- lastName: import('zod').ZodString;
134
- organizationId: import('zod').ZodString;
135
- roleIds: import('zod').ZodArray<import('zod').ZodString, 'many'>;
136
- phoneNumber: import('zod').ZodOptional<import('zod').ZodString>;
137
- subscription: import('zod').ZodOptional<import('zod').ZodString>;
138
- extraFields: import('zod').ZodOptional<import('zod').ZodUnknown>;
139
- };
140
- UpdateUserSchema: {
141
- id: import('zod').ZodString;
142
- email: import('zod').ZodOptional<import('zod').ZodString>;
143
- password: import('zod').ZodOptional<import('zod').ZodString>;
144
- firstName: import('zod').ZodOptional<import('zod').ZodString>;
145
- lastName: import('zod').ZodOptional<import('zod').ZodString>;
146
- roleIds: import('zod').ZodOptional<
147
- import('zod').ZodArray<import('zod').ZodString, 'many'>
148
- >;
149
- phoneNumber: import('zod').ZodOptional<import('zod').ZodString>;
150
- subscription: import('zod').ZodOptional<import('zod').ZodString>;
151
- extraFields: import('zod').ZodOptional<import('zod').ZodUnknown>;
152
- };
153
- UserSchema: {
154
- id: import('zod').ZodString;
155
- email: import('zod').ZodString;
156
- firstName: import('zod').ZodString;
157
- lastName: import('zod').ZodString;
158
- roles: import('zod').ZodArray<
159
- import('zod').ZodObject<
160
- {
161
- id: import('zod').ZodString;
162
- name: import('zod').ZodString;
163
- permissions: import('zod').ZodArray<
164
- import('zod').ZodObject<
165
- {
166
- id: import('zod').ZodString;
167
- slug: import('zod').ZodString;
168
- extraFields: import('zod').ZodOptional<
169
- import('zod').ZodUnknown
170
- >;
171
- createdAt: import('zod').ZodOptional<
172
- import('zod').ZodEffects<import('zod').ZodDate, Date, unknown>
173
- >;
174
- updatedAt: import('zod').ZodOptional<
175
- import('zod').ZodEffects<import('zod').ZodDate, Date, unknown>
176
- >;
177
- },
178
- import('zod').UnknownKeysParam,
179
- import('zod').ZodTypeAny,
180
- {
181
- id: string;
182
- slug: string;
183
- extraFields?: unknown;
184
- createdAt?: Date | undefined;
185
- updatedAt?: Date | undefined;
186
- },
187
- {
188
- id: string;
189
- slug: string;
190
- extraFields?: unknown;
191
- createdAt?: unknown;
192
- updatedAt?: unknown;
193
- }
194
- >,
195
- 'many'
196
- >;
197
- extraFields: import('zod').ZodOptional<import('zod').ZodUnknown>;
198
- createdAt: import('zod').ZodOptional<
199
- import('zod').ZodEffects<import('zod').ZodDate, Date, unknown>
200
- >;
201
- updatedAt: import('zod').ZodOptional<
202
- import('zod').ZodEffects<import('zod').ZodDate, Date, unknown>
203
- >;
204
- },
205
- import('zod').UnknownKeysParam,
206
- import('zod').ZodTypeAny,
207
- {
208
- id: string;
209
- name: string;
210
- permissions: {
211
- id: string;
212
- slug: string;
213
- extraFields?: unknown;
214
- createdAt?: Date | undefined;
215
- updatedAt?: Date | undefined;
216
- }[];
217
- extraFields?: unknown;
218
- createdAt?: Date | undefined;
219
- updatedAt?: Date | undefined;
220
- },
221
- {
222
- id: string;
223
- name: string;
224
- permissions: {
225
- id: string;
226
- slug: string;
227
- extraFields?: unknown;
228
- createdAt?: unknown;
229
- updatedAt?: unknown;
230
- }[];
231
- extraFields?: unknown;
232
- createdAt?: unknown;
233
- updatedAt?: unknown;
234
- }
235
- >,
236
- 'many'
237
- >;
238
- phoneNumber: import('zod').ZodOptional<import('zod').ZodString>;
239
- subscription: import('zod').ZodOptional<import('zod').ZodString>;
240
- extraFields: import('zod').ZodOptional<import('zod').ZodUnknown>;
241
- createdAt: import('zod').ZodOptional<
242
- import('zod').ZodEffects<import('zod').ZodDate, Date, unknown>
243
- >;
244
- updatedAt: import('zod').ZodOptional<
245
- import('zod').ZodEffects<import('zod').ZodDate, Date, unknown>
246
- >;
247
- };
248
- };
249
- //# sourceMappingURL=user.schema.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user.schema.d.ts","sourceRoot":"","sources":["../../../schemas/zod/user.schema.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,gBAAgB;;;;;;;;;;CAU5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,YAAY;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE;;;;;;;;;;CAU9D,CAAC;AAEH,eAAO,MAAM,UAAU,GAAI,YAAY;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAWxD,CAAC;AAEH,eAAO,MAAM,sBAAsB,GAAI,SAAS;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIjE,CAAC"}
@@ -1,49 +0,0 @@
1
- import {
2
- array,
3
- date,
4
- email,
5
- optional,
6
- string,
7
- unknown,
8
- uuid
9
- } from '@forklaunch/validator/zod';
10
- import { RoleSchema } from './role.schema';
11
- export const CreateUserSchema = {
12
- email: email,
13
- password: string,
14
- firstName: string,
15
- lastName: string,
16
- organizationId: string,
17
- roleIds: array(string),
18
- phoneNumber: optional(string),
19
- subscription: optional(string),
20
- extraFields: optional(unknown)
21
- };
22
- export const UpdateUserSchema = ({ uuidId }) => ({
23
- id: uuidId ? uuid : string,
24
- email: optional(email),
25
- password: optional(string),
26
- firstName: optional(string),
27
- lastName: optional(string),
28
- roleIds: optional(array(string)),
29
- phoneNumber: optional(string),
30
- subscription: optional(string),
31
- extraFields: optional(unknown)
32
- });
33
- export const UserSchema = ({ uuidId }) => ({
34
- id: uuidId ? uuid : string,
35
- email: email,
36
- firstName: string,
37
- lastName: string,
38
- roles: array(RoleSchema({ uuidId })),
39
- phoneNumber: optional(string),
40
- subscription: optional(string),
41
- extraFields: optional(unknown),
42
- createdAt: optional(date),
43
- updatedAt: optional(date)
44
- });
45
- export const BaseUserServiceSchemas = (options) => ({
46
- CreateUserSchema,
47
- UpdateUserSchema: UpdateUserSchema(options),
48
- UserSchema: UserSchema(options)
49
- });
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../services/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC"}
@@ -1,123 +0,0 @@
1
- import { IdDto } from '@forklaunch/common';
2
- import {
3
- MetricsDefinition,
4
- OpenTelemetryCollector,
5
- TelemetryOptions
6
- } from '@forklaunch/core/http';
7
- import {
8
- RequestDtoMapperConstructor,
9
- ResponseDtoMapperConstructor
10
- } from '@forklaunch/core/mappers';
11
- import { MapNestedDtoArraysToCollections } from '@forklaunch/core/services';
12
- import { OrganizationService } from '@forklaunch/interfaces-iam/interfaces';
13
- import {
14
- CreateOrganizationDto,
15
- OrganizationDto,
16
- UpdateOrganizationDto
17
- } from '@forklaunch/interfaces-iam/types';
18
- import { AnySchemaValidator } from '@forklaunch/validator';
19
- import { EntityManager } from '@mikro-orm/core';
20
- export declare class BaseOrganizationService<
21
- SchemaValidator extends AnySchemaValidator,
22
- OrganizationStatus,
23
- Metrics extends MetricsDefinition = MetricsDefinition,
24
- Dto extends {
25
- OrganizationDtoMapper: OrganizationDto<OrganizationStatus>;
26
- CreateOrganizationDtoMapper: CreateOrganizationDto;
27
- UpdateOrganizationDtoMapper: UpdateOrganizationDto;
28
- } = {
29
- OrganizationDtoMapper: OrganizationDto<OrganizationStatus>;
30
- CreateOrganizationDtoMapper: CreateOrganizationDto;
31
- UpdateOrganizationDtoMapper: UpdateOrganizationDto;
32
- },
33
- Entities extends {
34
- OrganizationDtoMapper: MapNestedDtoArraysToCollections<
35
- OrganizationDto<OrganizationStatus>,
36
- 'users'
37
- >;
38
- CreateOrganizationDtoMapper: MapNestedDtoArraysToCollections<
39
- OrganizationDto<OrganizationStatus>,
40
- 'users'
41
- >;
42
- UpdateOrganizationDtoMapper: MapNestedDtoArraysToCollections<
43
- OrganizationDto<OrganizationStatus>,
44
- 'users'
45
- >;
46
- } = {
47
- OrganizationDtoMapper: MapNestedDtoArraysToCollections<
48
- OrganizationDto<OrganizationStatus>,
49
- 'users'
50
- >;
51
- CreateOrganizationDtoMapper: MapNestedDtoArraysToCollections<
52
- OrganizationDto<OrganizationStatus>,
53
- 'users'
54
- >;
55
- UpdateOrganizationDtoMapper: MapNestedDtoArraysToCollections<
56
- OrganizationDto<OrganizationStatus>,
57
- 'users'
58
- >;
59
- }
60
- > implements OrganizationService<OrganizationStatus>
61
- {
62
- #private;
63
- em: EntityManager;
64
- protected openTelemetryCollector: OpenTelemetryCollector<Metrics>;
65
- protected schemaValidator: SchemaValidator;
66
- protected mappers: {
67
- OrganizationDtoMapper: ResponseDtoMapperConstructor<
68
- SchemaValidator,
69
- Dto['OrganizationDtoMapper'],
70
- Entities['OrganizationDtoMapper']
71
- >;
72
- CreateOrganizationDtoMapper: RequestDtoMapperConstructor<
73
- SchemaValidator,
74
- Dto['CreateOrganizationDtoMapper'],
75
- Entities['CreateOrganizationDtoMapper']
76
- >;
77
- UpdateOrganizationDtoMapper: RequestDtoMapperConstructor<
78
- SchemaValidator,
79
- Dto['UpdateOrganizationDtoMapper'],
80
- Entities['UpdateOrganizationDtoMapper']
81
- >;
82
- };
83
- private evaluatedTelemetryOptions;
84
- constructor(
85
- em: EntityManager,
86
- openTelemetryCollector: OpenTelemetryCollector<Metrics>,
87
- schemaValidator: SchemaValidator,
88
- mappers: {
89
- OrganizationDtoMapper: ResponseDtoMapperConstructor<
90
- SchemaValidator,
91
- Dto['OrganizationDtoMapper'],
92
- Entities['OrganizationDtoMapper']
93
- >;
94
- CreateOrganizationDtoMapper: RequestDtoMapperConstructor<
95
- SchemaValidator,
96
- Dto['CreateOrganizationDtoMapper'],
97
- Entities['CreateOrganizationDtoMapper']
98
- >;
99
- UpdateOrganizationDtoMapper: RequestDtoMapperConstructor<
100
- SchemaValidator,
101
- Dto['UpdateOrganizationDtoMapper'],
102
- Entities['UpdateOrganizationDtoMapper']
103
- >;
104
- },
105
- options?: {
106
- telemetry?: TelemetryOptions;
107
- }
108
- );
109
- createOrganization(
110
- organizationDto: Dto['CreateOrganizationDtoMapper'],
111
- em?: EntityManager
112
- ): Promise<Dto['OrganizationDtoMapper']>;
113
- getOrganization(
114
- idDto: IdDto,
115
- em?: EntityManager
116
- ): Promise<Dto['OrganizationDtoMapper']>;
117
- updateOrganization(
118
- organizationDto: Dto['UpdateOrganizationDtoMapper'],
119
- em?: EntityManager
120
- ): Promise<Dto['OrganizationDtoMapper']>;
121
- deleteOrganization(idDto: IdDto, em?: EntityManager): Promise<void>;
122
- }
123
- //# sourceMappingURL=organization.service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"organization.service.d.ts","sourceRoot":"","sources":["../../services/organization.service.ts"],"names":[],"mappings":"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"}
@@ -1,88 +0,0 @@
1
- import { evaluateTelemetryOptions } from '@forklaunch/core/http';
2
- import { transformIntoInternalDtoMapper } from '@forklaunch/core/mappers';
3
- export class BaseOrganizationService {
4
- em;
5
- openTelemetryCollector;
6
- schemaValidator;
7
- mappers;
8
- #mappers;
9
- evaluatedTelemetryOptions;
10
- constructor(em, openTelemetryCollector, schemaValidator, mappers, options) {
11
- this.em = em;
12
- this.openTelemetryCollector = openTelemetryCollector;
13
- this.schemaValidator = schemaValidator;
14
- this.mappers = mappers;
15
- this.#mappers = transformIntoInternalDtoMapper(mappers, schemaValidator);
16
- this.evaluatedTelemetryOptions = options?.telemetry
17
- ? evaluateTelemetryOptions(options.telemetry).enabled
18
- : {
19
- logging: false,
20
- metrics: false,
21
- tracing: false
22
- };
23
- }
24
- async createOrganization(organizationDto, em) {
25
- if (this.evaluatedTelemetryOptions.logging) {
26
- this.openTelemetryCollector.info(
27
- 'Creating organization',
28
- organizationDto
29
- );
30
- }
31
- const organization =
32
- await this.#mappers.CreateOrganizationDtoMapper.deserializeDtoToEntity(
33
- organizationDto,
34
- em ?? this.em
35
- );
36
- if (em) {
37
- await em.persist(organization);
38
- } else {
39
- await this.em.persistAndFlush(organization);
40
- }
41
- return this.#mappers.OrganizationDtoMapper.serializeEntityToDto(
42
- organization
43
- );
44
- }
45
- async getOrganization(idDto, em) {
46
- if (this.evaluatedTelemetryOptions.logging) {
47
- this.openTelemetryCollector.info('Getting organization', idDto);
48
- }
49
- const organization = await (em ?? this.em).findOneOrFail(
50
- 'Organization',
51
- idDto
52
- );
53
- return this.#mappers.OrganizationDtoMapper.serializeEntityToDto(
54
- organization
55
- );
56
- }
57
- async updateOrganization(organizationDto, em) {
58
- if (this.evaluatedTelemetryOptions.logging) {
59
- this.openTelemetryCollector.info(
60
- 'Updating organization',
61
- organizationDto
62
- );
63
- }
64
- const updatedOrganization =
65
- await this.#mappers.UpdateOrganizationDtoMapper.deserializeDtoToEntity(
66
- organizationDto,
67
- em ?? this.em
68
- );
69
- if (em) {
70
- await em.persist(updatedOrganization);
71
- } else {
72
- await this.em.persistAndFlush(updatedOrganization);
73
- }
74
- return this.#mappers.OrganizationDtoMapper.serializeEntityToDto(
75
- updatedOrganization
76
- );
77
- }
78
- async deleteOrganization(idDto, em) {
79
- if (this.evaluatedTelemetryOptions.logging) {
80
- this.openTelemetryCollector.info('Deleting organization', idDto);
81
- }
82
- if (em) {
83
- await em.nativeDelete('Organization', idDto);
84
- } else {
85
- await this.em.nativeDelete('Organization', idDto);
86
- }
87
- }
88
- }