@forklaunch/implementation-iam-base 0.1.12 → 0.1.14

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 (75) hide show
  1. package/lib/__test__/schemaEquality.test.d.ts +2 -0
  2. package/lib/__test__/schemaEquality.test.d.ts.map +1 -0
  3. package/lib/__test__/schemaEquality.test.js +283 -0
  4. package/lib/eject/domain/schemas/index.ts +4 -0
  5. package/lib/eject/domain/schemas/organization.schema.ts +53 -0
  6. package/lib/eject/domain/schemas/permission.schema.ts +36 -0
  7. package/lib/eject/domain/schemas/role.schema.ts +37 -0
  8. package/lib/eject/domain/schemas/user.schema.ts +53 -0
  9. package/lib/eject/services/index.ts +4 -0
  10. package/lib/eject/services/organization.service.ts +143 -0
  11. package/lib/eject/services/permission.service.ts +345 -0
  12. package/lib/eject/services/role.service.ts +179 -0
  13. package/lib/eject/services/user.service.ts +224 -0
  14. package/lib/jest.config.d.ts +4 -0
  15. package/lib/jest.config.d.ts.map +1 -0
  16. package/lib/jest.config.js +19 -0
  17. package/lib/schemas/index.d.ts +5 -0
  18. package/lib/schemas/index.d.ts.map +1 -0
  19. package/lib/schemas/index.js +4 -0
  20. package/lib/schemas/organization.schema.d.ts +411 -0
  21. package/lib/schemas/organization.schema.d.ts.map +1 -0
  22. package/lib/schemas/organization.schema.js +7 -0
  23. package/lib/schemas/permission.schema.d.ts +104 -0
  24. package/lib/schemas/permission.schema.d.ts.map +1 -0
  25. package/lib/schemas/permission.schema.js +7 -0
  26. package/lib/schemas/role.schema.d.ts +163 -0
  27. package/lib/schemas/role.schema.d.ts.map +1 -0
  28. package/lib/schemas/role.schema.js +7 -0
  29. package/lib/schemas/typebox/organization.schema.d.ts +414 -0
  30. package/lib/schemas/typebox/organization.schema.d.ts.map +1 -0
  31. package/lib/schemas/typebox/organization.schema.js +44 -0
  32. package/lib/schemas/typebox/permission.schema.d.ts +131 -0
  33. package/lib/schemas/typebox/permission.schema.d.ts.map +1 -0
  34. package/lib/schemas/typebox/permission.schema.js +32 -0
  35. package/lib/schemas/typebox/role.schema.d.ts +199 -0
  36. package/lib/schemas/typebox/role.schema.d.ts.map +1 -0
  37. package/lib/schemas/typebox/role.schema.js +33 -0
  38. package/lib/schemas/typebox/user.schema.d.ts +339 -0
  39. package/lib/schemas/typebox/user.schema.d.ts.map +1 -0
  40. package/lib/schemas/typebox/user.schema.js +49 -0
  41. package/lib/schemas/user.schema.d.ts +290 -0
  42. package/lib/schemas/user.schema.d.ts.map +1 -0
  43. package/lib/schemas/user.schema.js +7 -0
  44. package/lib/schemas/zod/organization.schema.d.ts +374 -0
  45. package/lib/schemas/zod/organization.schema.d.ts.map +1 -0
  46. package/lib/schemas/zod/organization.schema.js +44 -0
  47. package/lib/schemas/zod/permission.schema.d.ts +63 -0
  48. package/lib/schemas/zod/permission.schema.d.ts.map +1 -0
  49. package/lib/schemas/zod/permission.schema.js +32 -0
  50. package/lib/schemas/zod/role.schema.d.ts +113 -0
  51. package/lib/schemas/zod/role.schema.d.ts.map +1 -0
  52. package/lib/schemas/zod/role.schema.js +33 -0
  53. package/lib/schemas/zod/user.schema.d.ts +225 -0
  54. package/lib/schemas/zod/user.schema.d.ts.map +1 -0
  55. package/lib/schemas/zod/user.schema.js +49 -0
  56. package/lib/services/index.d.ts +5 -0
  57. package/lib/services/index.d.ts.map +1 -0
  58. package/lib/services/index.js +4 -0
  59. package/lib/services/organization.service.d.ts +118 -0
  60. package/lib/services/organization.service.d.ts.map +1 -0
  61. package/lib/services/organization.service.js +50 -0
  62. package/lib/services/permission.service.d.ts +138 -0
  63. package/lib/services/permission.service.d.ts.map +1 -0
  64. package/lib/services/permission.service.js +203 -0
  65. package/lib/services/role.service.d.ts +118 -0
  66. package/lib/services/role.service.d.ts.map +1 -0
  67. package/lib/services/role.service.js +73 -0
  68. package/lib/services/user.service.d.ts +138 -0
  69. package/lib/services/user.service.d.ts.map +1 -0
  70. package/lib/services/user.service.js +126 -0
  71. package/lib/tsconfig.tsbuildinfo +1 -0
  72. package/lib/vitest.config.d.ts +3 -0
  73. package/lib/vitest.config.d.ts.map +1 -0
  74. package/lib/vitest.config.js +7 -0
  75. package/package.json +8 -8
@@ -0,0 +1,199 @@
1
+ export declare const CreateRoleSchema: {
2
+ name: import('@sinclair/typebox').TString;
3
+ permissionIds: import('@sinclair/typebox').TOptional<
4
+ import('@sinclair/typebox').TArray<import('@sinclair/typebox').TString>
5
+ >;
6
+ extraFields: import('@sinclair/typebox').TOptional<
7
+ import('@sinclair/typebox').TUnknown
8
+ >;
9
+ };
10
+ export declare const UpdateRoleSchema: ({
11
+ uuidId
12
+ }: {
13
+ uuidId: boolean;
14
+ }) => {
15
+ id: import('@sinclair/typebox').TString;
16
+ name: import('@sinclair/typebox').TOptional<
17
+ import('@sinclair/typebox').TString
18
+ >;
19
+ permissionIds: import('@sinclair/typebox').TOptional<
20
+ import('@sinclair/typebox').TArray<import('@sinclair/typebox').TString>
21
+ >;
22
+ extraFields: import('@sinclair/typebox').TOptional<
23
+ import('@sinclair/typebox').TUnknown
24
+ >;
25
+ };
26
+ export declare const RoleSchema: ({
27
+ uuidId
28
+ }: {
29
+ uuidId: boolean;
30
+ }) => {
31
+ id: import('@sinclair/typebox').TString;
32
+ name: import('@sinclair/typebox').TString;
33
+ permissions: import('@sinclair/typebox').TArray<
34
+ import('@sinclair/typebox').TObject<{
35
+ id: import('@sinclair/typebox').TString;
36
+ slug: import('@sinclair/typebox').TString;
37
+ extraFields: import('@sinclair/typebox').TOptional<
38
+ import('@sinclair/typebox').TUnknown
39
+ >;
40
+ createdAt: import('@sinclair/typebox').TOptional<
41
+ import('@sinclair/typebox').TTransform<
42
+ import('@sinclair/typebox').TUnion<
43
+ [
44
+ import('@sinclair/typebox').TDate,
45
+ import('@sinclair/typebox').TNumber,
46
+ import('@sinclair/typebox').TString,
47
+ import('@sinclair/typebox').TBoolean,
48
+ import('@sinclair/typebox').TNull
49
+ ]
50
+ >,
51
+ Date
52
+ >
53
+ >;
54
+ updatedAt: import('@sinclair/typebox').TOptional<
55
+ import('@sinclair/typebox').TTransform<
56
+ import('@sinclair/typebox').TUnion<
57
+ [
58
+ import('@sinclair/typebox').TDate,
59
+ import('@sinclair/typebox').TNumber,
60
+ import('@sinclair/typebox').TString,
61
+ import('@sinclair/typebox').TBoolean,
62
+ import('@sinclair/typebox').TNull
63
+ ]
64
+ >,
65
+ Date
66
+ >
67
+ >;
68
+ }>
69
+ >;
70
+ extraFields: import('@sinclair/typebox').TOptional<
71
+ import('@sinclair/typebox').TUnknown
72
+ >;
73
+ createdAt: import('@sinclair/typebox').TOptional<
74
+ import('@sinclair/typebox').TTransform<
75
+ import('@sinclair/typebox').TUnion<
76
+ [
77
+ import('@sinclair/typebox').TDate,
78
+ import('@sinclair/typebox').TNumber,
79
+ import('@sinclair/typebox').TString,
80
+ import('@sinclair/typebox').TBoolean,
81
+ import('@sinclair/typebox').TNull
82
+ ]
83
+ >,
84
+ Date
85
+ >
86
+ >;
87
+ updatedAt: import('@sinclair/typebox').TOptional<
88
+ import('@sinclair/typebox').TTransform<
89
+ import('@sinclair/typebox').TUnion<
90
+ [
91
+ import('@sinclair/typebox').TDate,
92
+ import('@sinclair/typebox').TNumber,
93
+ import('@sinclair/typebox').TString,
94
+ import('@sinclair/typebox').TBoolean,
95
+ import('@sinclair/typebox').TNull
96
+ ]
97
+ >,
98
+ Date
99
+ >
100
+ >;
101
+ };
102
+ export declare const BaseRoleServiceSchemas: (options: {
103
+ uuidId: boolean;
104
+ }) => {
105
+ CreateRoleSchema: {
106
+ name: import('@sinclair/typebox').TString;
107
+ permissionIds: import('@sinclair/typebox').TOptional<
108
+ import('@sinclair/typebox').TArray<import('@sinclair/typebox').TString>
109
+ >;
110
+ extraFields: import('@sinclair/typebox').TOptional<
111
+ import('@sinclair/typebox').TUnknown
112
+ >;
113
+ };
114
+ UpdateRoleSchema: {
115
+ id: import('@sinclair/typebox').TString;
116
+ name: import('@sinclair/typebox').TOptional<
117
+ import('@sinclair/typebox').TString
118
+ >;
119
+ permissionIds: import('@sinclair/typebox').TOptional<
120
+ import('@sinclair/typebox').TArray<import('@sinclair/typebox').TString>
121
+ >;
122
+ extraFields: import('@sinclair/typebox').TOptional<
123
+ import('@sinclair/typebox').TUnknown
124
+ >;
125
+ };
126
+ RoleSchema: {
127
+ id: import('@sinclair/typebox').TString;
128
+ name: import('@sinclair/typebox').TString;
129
+ permissions: import('@sinclair/typebox').TArray<
130
+ import('@sinclair/typebox').TObject<{
131
+ id: import('@sinclair/typebox').TString;
132
+ slug: import('@sinclair/typebox').TString;
133
+ extraFields: import('@sinclair/typebox').TOptional<
134
+ import('@sinclair/typebox').TUnknown
135
+ >;
136
+ createdAt: import('@sinclair/typebox').TOptional<
137
+ import('@sinclair/typebox').TTransform<
138
+ import('@sinclair/typebox').TUnion<
139
+ [
140
+ import('@sinclair/typebox').TDate,
141
+ import('@sinclair/typebox').TNumber,
142
+ import('@sinclair/typebox').TString,
143
+ import('@sinclair/typebox').TBoolean,
144
+ import('@sinclair/typebox').TNull
145
+ ]
146
+ >,
147
+ Date
148
+ >
149
+ >;
150
+ updatedAt: import('@sinclair/typebox').TOptional<
151
+ import('@sinclair/typebox').TTransform<
152
+ import('@sinclair/typebox').TUnion<
153
+ [
154
+ import('@sinclair/typebox').TDate,
155
+ import('@sinclair/typebox').TNumber,
156
+ import('@sinclair/typebox').TString,
157
+ import('@sinclair/typebox').TBoolean,
158
+ import('@sinclair/typebox').TNull
159
+ ]
160
+ >,
161
+ Date
162
+ >
163
+ >;
164
+ }>
165
+ >;
166
+ extraFields: import('@sinclair/typebox').TOptional<
167
+ import('@sinclair/typebox').TUnknown
168
+ >;
169
+ createdAt: import('@sinclair/typebox').TOptional<
170
+ import('@sinclair/typebox').TTransform<
171
+ import('@sinclair/typebox').TUnion<
172
+ [
173
+ import('@sinclair/typebox').TDate,
174
+ import('@sinclair/typebox').TNumber,
175
+ import('@sinclair/typebox').TString,
176
+ import('@sinclair/typebox').TBoolean,
177
+ import('@sinclair/typebox').TNull
178
+ ]
179
+ >,
180
+ Date
181
+ >
182
+ >;
183
+ updatedAt: import('@sinclair/typebox').TOptional<
184
+ import('@sinclair/typebox').TTransform<
185
+ import('@sinclair/typebox').TUnion<
186
+ [
187
+ import('@sinclair/typebox').TDate,
188
+ import('@sinclair/typebox').TNumber,
189
+ import('@sinclair/typebox').TString,
190
+ import('@sinclair/typebox').TBoolean,
191
+ import('@sinclair/typebox').TNull
192
+ ]
193
+ >,
194
+ Date
195
+ >
196
+ >;
197
+ };
198
+ };
199
+ //# sourceMappingURL=role.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role.schema.d.ts","sourceRoot":"","sources":["../../../schemas/typebox/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"}
@@ -0,0 +1,33 @@
1
+ import {
2
+ array,
3
+ date,
4
+ optional,
5
+ string,
6
+ unknown,
7
+ uuid
8
+ } from '@forklaunch/validator/typebox';
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
+ });
@@ -0,0 +1,339 @@
1
+ export declare const CreateUserSchema: {
2
+ email: import('@sinclair/typebox').TString;
3
+ password: import('@sinclair/typebox').TString;
4
+ firstName: import('@sinclair/typebox').TString;
5
+ lastName: import('@sinclair/typebox').TString;
6
+ organizationId: import('@sinclair/typebox').TString;
7
+ roleIds: import('@sinclair/typebox').TArray<
8
+ import('@sinclair/typebox').TString
9
+ >;
10
+ phoneNumber: import('@sinclair/typebox').TOptional<
11
+ import('@sinclair/typebox').TString
12
+ >;
13
+ subscription: import('@sinclair/typebox').TOptional<
14
+ import('@sinclair/typebox').TString
15
+ >;
16
+ extraFields: import('@sinclair/typebox').TOptional<
17
+ import('@sinclair/typebox').TUnknown
18
+ >;
19
+ };
20
+ export declare const UpdateUserSchema: ({
21
+ uuidId
22
+ }: {
23
+ uuidId: boolean;
24
+ }) => {
25
+ id: import('@sinclair/typebox').TString;
26
+ email: import('@sinclair/typebox').TOptional<
27
+ import('@sinclair/typebox').TString
28
+ >;
29
+ password: import('@sinclair/typebox').TOptional<
30
+ import('@sinclair/typebox').TString
31
+ >;
32
+ firstName: import('@sinclair/typebox').TOptional<
33
+ import('@sinclair/typebox').TString
34
+ >;
35
+ lastName: import('@sinclair/typebox').TOptional<
36
+ import('@sinclair/typebox').TString
37
+ >;
38
+ roleIds: import('@sinclair/typebox').TOptional<
39
+ import('@sinclair/typebox').TArray<import('@sinclair/typebox').TString>
40
+ >;
41
+ phoneNumber: import('@sinclair/typebox').TOptional<
42
+ import('@sinclair/typebox').TString
43
+ >;
44
+ subscription: import('@sinclair/typebox').TOptional<
45
+ import('@sinclair/typebox').TString
46
+ >;
47
+ extraFields: import('@sinclair/typebox').TOptional<
48
+ import('@sinclair/typebox').TUnknown
49
+ >;
50
+ };
51
+ export declare const UserSchema: ({
52
+ uuidId
53
+ }: {
54
+ uuidId: boolean;
55
+ }) => {
56
+ id: import('@sinclair/typebox').TString;
57
+ email: import('@sinclair/typebox').TString;
58
+ firstName: import('@sinclair/typebox').TString;
59
+ lastName: import('@sinclair/typebox').TString;
60
+ roles: import('@sinclair/typebox').TArray<
61
+ import('@sinclair/typebox').TObject<{
62
+ id: import('@sinclair/typebox').TString;
63
+ name: import('@sinclair/typebox').TString;
64
+ permissions: import('@sinclair/typebox').TArray<
65
+ import('@sinclair/typebox').TObject<{
66
+ id: import('@sinclair/typebox').TString;
67
+ slug: import('@sinclair/typebox').TString;
68
+ extraFields: import('@sinclair/typebox').TOptional<
69
+ import('@sinclair/typebox').TUnknown
70
+ >;
71
+ createdAt: import('@sinclair/typebox').TOptional<
72
+ import('@sinclair/typebox').TTransform<
73
+ import('@sinclair/typebox').TUnion<
74
+ [
75
+ import('@sinclair/typebox').TDate,
76
+ import('@sinclair/typebox').TNumber,
77
+ import('@sinclair/typebox').TString,
78
+ import('@sinclair/typebox').TBoolean,
79
+ import('@sinclair/typebox').TNull
80
+ ]
81
+ >,
82
+ Date
83
+ >
84
+ >;
85
+ updatedAt: import('@sinclair/typebox').TOptional<
86
+ import('@sinclair/typebox').TTransform<
87
+ import('@sinclair/typebox').TUnion<
88
+ [
89
+ import('@sinclair/typebox').TDate,
90
+ import('@sinclair/typebox').TNumber,
91
+ import('@sinclair/typebox').TString,
92
+ import('@sinclair/typebox').TBoolean,
93
+ import('@sinclair/typebox').TNull
94
+ ]
95
+ >,
96
+ Date
97
+ >
98
+ >;
99
+ }>
100
+ >;
101
+ extraFields: import('@sinclair/typebox').TOptional<
102
+ import('@sinclair/typebox').TUnknown
103
+ >;
104
+ createdAt: import('@sinclair/typebox').TOptional<
105
+ import('@sinclair/typebox').TTransform<
106
+ import('@sinclair/typebox').TUnion<
107
+ [
108
+ import('@sinclair/typebox').TDate,
109
+ import('@sinclair/typebox').TNumber,
110
+ import('@sinclair/typebox').TString,
111
+ import('@sinclair/typebox').TBoolean,
112
+ import('@sinclair/typebox').TNull
113
+ ]
114
+ >,
115
+ Date
116
+ >
117
+ >;
118
+ updatedAt: import('@sinclair/typebox').TOptional<
119
+ import('@sinclair/typebox').TTransform<
120
+ import('@sinclair/typebox').TUnion<
121
+ [
122
+ import('@sinclair/typebox').TDate,
123
+ import('@sinclair/typebox').TNumber,
124
+ import('@sinclair/typebox').TString,
125
+ import('@sinclair/typebox').TBoolean,
126
+ import('@sinclair/typebox').TNull
127
+ ]
128
+ >,
129
+ Date
130
+ >
131
+ >;
132
+ }>
133
+ >;
134
+ phoneNumber: import('@sinclair/typebox').TOptional<
135
+ import('@sinclair/typebox').TString
136
+ >;
137
+ subscription: import('@sinclair/typebox').TOptional<
138
+ import('@sinclair/typebox').TString
139
+ >;
140
+ extraFields: import('@sinclair/typebox').TOptional<
141
+ import('@sinclair/typebox').TUnknown
142
+ >;
143
+ createdAt: import('@sinclair/typebox').TOptional<
144
+ import('@sinclair/typebox').TTransform<
145
+ import('@sinclair/typebox').TUnion<
146
+ [
147
+ import('@sinclair/typebox').TDate,
148
+ import('@sinclair/typebox').TNumber,
149
+ import('@sinclair/typebox').TString,
150
+ import('@sinclair/typebox').TBoolean,
151
+ import('@sinclair/typebox').TNull
152
+ ]
153
+ >,
154
+ Date
155
+ >
156
+ >;
157
+ updatedAt: import('@sinclair/typebox').TOptional<
158
+ import('@sinclair/typebox').TTransform<
159
+ import('@sinclair/typebox').TUnion<
160
+ [
161
+ import('@sinclair/typebox').TDate,
162
+ import('@sinclair/typebox').TNumber,
163
+ import('@sinclair/typebox').TString,
164
+ import('@sinclair/typebox').TBoolean,
165
+ import('@sinclair/typebox').TNull
166
+ ]
167
+ >,
168
+ Date
169
+ >
170
+ >;
171
+ };
172
+ export declare const BaseUserServiceSchemas: (options: {
173
+ uuidId: boolean;
174
+ }) => {
175
+ CreateUserSchema: {
176
+ email: import('@sinclair/typebox').TString;
177
+ password: import('@sinclair/typebox').TString;
178
+ firstName: import('@sinclair/typebox').TString;
179
+ lastName: import('@sinclair/typebox').TString;
180
+ organizationId: import('@sinclair/typebox').TString;
181
+ roleIds: import('@sinclair/typebox').TArray<
182
+ import('@sinclair/typebox').TString
183
+ >;
184
+ phoneNumber: import('@sinclair/typebox').TOptional<
185
+ import('@sinclair/typebox').TString
186
+ >;
187
+ subscription: import('@sinclair/typebox').TOptional<
188
+ import('@sinclair/typebox').TString
189
+ >;
190
+ extraFields: import('@sinclair/typebox').TOptional<
191
+ import('@sinclair/typebox').TUnknown
192
+ >;
193
+ };
194
+ UpdateUserSchema: {
195
+ id: import('@sinclair/typebox').TString;
196
+ email: import('@sinclair/typebox').TOptional<
197
+ import('@sinclair/typebox').TString
198
+ >;
199
+ password: import('@sinclair/typebox').TOptional<
200
+ import('@sinclair/typebox').TString
201
+ >;
202
+ firstName: import('@sinclair/typebox').TOptional<
203
+ import('@sinclair/typebox').TString
204
+ >;
205
+ lastName: import('@sinclair/typebox').TOptional<
206
+ import('@sinclair/typebox').TString
207
+ >;
208
+ roleIds: import('@sinclair/typebox').TOptional<
209
+ import('@sinclair/typebox').TArray<import('@sinclair/typebox').TString>
210
+ >;
211
+ phoneNumber: import('@sinclair/typebox').TOptional<
212
+ import('@sinclair/typebox').TString
213
+ >;
214
+ subscription: import('@sinclair/typebox').TOptional<
215
+ import('@sinclair/typebox').TString
216
+ >;
217
+ extraFields: import('@sinclair/typebox').TOptional<
218
+ import('@sinclair/typebox').TUnknown
219
+ >;
220
+ };
221
+ UserSchema: {
222
+ id: import('@sinclair/typebox').TString;
223
+ email: import('@sinclair/typebox').TString;
224
+ firstName: import('@sinclair/typebox').TString;
225
+ lastName: import('@sinclair/typebox').TString;
226
+ roles: import('@sinclair/typebox').TArray<
227
+ import('@sinclair/typebox').TObject<{
228
+ id: import('@sinclair/typebox').TString;
229
+ name: import('@sinclair/typebox').TString;
230
+ permissions: import('@sinclair/typebox').TArray<
231
+ import('@sinclair/typebox').TObject<{
232
+ id: import('@sinclair/typebox').TString;
233
+ slug: import('@sinclair/typebox').TString;
234
+ extraFields: import('@sinclair/typebox').TOptional<
235
+ import('@sinclair/typebox').TUnknown
236
+ >;
237
+ createdAt: import('@sinclair/typebox').TOptional<
238
+ import('@sinclair/typebox').TTransform<
239
+ import('@sinclair/typebox').TUnion<
240
+ [
241
+ import('@sinclair/typebox').TDate,
242
+ import('@sinclair/typebox').TNumber,
243
+ import('@sinclair/typebox').TString,
244
+ import('@sinclair/typebox').TBoolean,
245
+ import('@sinclair/typebox').TNull
246
+ ]
247
+ >,
248
+ Date
249
+ >
250
+ >;
251
+ updatedAt: import('@sinclair/typebox').TOptional<
252
+ import('@sinclair/typebox').TTransform<
253
+ import('@sinclair/typebox').TUnion<
254
+ [
255
+ import('@sinclair/typebox').TDate,
256
+ import('@sinclair/typebox').TNumber,
257
+ import('@sinclair/typebox').TString,
258
+ import('@sinclair/typebox').TBoolean,
259
+ import('@sinclair/typebox').TNull
260
+ ]
261
+ >,
262
+ Date
263
+ >
264
+ >;
265
+ }>
266
+ >;
267
+ extraFields: import('@sinclair/typebox').TOptional<
268
+ import('@sinclair/typebox').TUnknown
269
+ >;
270
+ createdAt: import('@sinclair/typebox').TOptional<
271
+ import('@sinclair/typebox').TTransform<
272
+ import('@sinclair/typebox').TUnion<
273
+ [
274
+ import('@sinclair/typebox').TDate,
275
+ import('@sinclair/typebox').TNumber,
276
+ import('@sinclair/typebox').TString,
277
+ import('@sinclair/typebox').TBoolean,
278
+ import('@sinclair/typebox').TNull
279
+ ]
280
+ >,
281
+ Date
282
+ >
283
+ >;
284
+ updatedAt: import('@sinclair/typebox').TOptional<
285
+ import('@sinclair/typebox').TTransform<
286
+ import('@sinclair/typebox').TUnion<
287
+ [
288
+ import('@sinclair/typebox').TDate,
289
+ import('@sinclair/typebox').TNumber,
290
+ import('@sinclair/typebox').TString,
291
+ import('@sinclair/typebox').TBoolean,
292
+ import('@sinclair/typebox').TNull
293
+ ]
294
+ >,
295
+ Date
296
+ >
297
+ >;
298
+ }>
299
+ >;
300
+ phoneNumber: import('@sinclair/typebox').TOptional<
301
+ import('@sinclair/typebox').TString
302
+ >;
303
+ subscription: import('@sinclair/typebox').TOptional<
304
+ import('@sinclair/typebox').TString
305
+ >;
306
+ extraFields: import('@sinclair/typebox').TOptional<
307
+ import('@sinclair/typebox').TUnknown
308
+ >;
309
+ createdAt: import('@sinclair/typebox').TOptional<
310
+ import('@sinclair/typebox').TTransform<
311
+ import('@sinclair/typebox').TUnion<
312
+ [
313
+ import('@sinclair/typebox').TDate,
314
+ import('@sinclair/typebox').TNumber,
315
+ import('@sinclair/typebox').TString,
316
+ import('@sinclair/typebox').TBoolean,
317
+ import('@sinclair/typebox').TNull
318
+ ]
319
+ >,
320
+ Date
321
+ >
322
+ >;
323
+ updatedAt: import('@sinclair/typebox').TOptional<
324
+ import('@sinclair/typebox').TTransform<
325
+ import('@sinclair/typebox').TUnion<
326
+ [
327
+ import('@sinclair/typebox').TDate,
328
+ import('@sinclair/typebox').TNumber,
329
+ import('@sinclair/typebox').TString,
330
+ import('@sinclair/typebox').TBoolean,
331
+ import('@sinclair/typebox').TNull
332
+ ]
333
+ >,
334
+ Date
335
+ >
336
+ >;
337
+ };
338
+ };
339
+ //# sourceMappingURL=user.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.schema.d.ts","sourceRoot":"","sources":["../../../schemas/typebox/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"}
@@ -0,0 +1,49 @@
1
+ import {
2
+ array,
3
+ date,
4
+ email,
5
+ optional,
6
+ string,
7
+ unknown,
8
+ uuid
9
+ } from '@forklaunch/validator/typebox';
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
+ });