@forklaunch/implementation-iam-base 0.1.11 → 0.1.12

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/package.json +5 -5
  2. package/lib/__test__/schemaEquality.test.d.ts +0 -2
  3. package/lib/__test__/schemaEquality.test.d.ts.map +0 -1
  4. package/lib/__test__/schemaEquality.test.js +0 -283
  5. package/lib/eject/domain/schemas/index.ts +0 -4
  6. package/lib/eject/domain/schemas/organization.schema.ts +0 -53
  7. package/lib/eject/domain/schemas/permission.schema.ts +0 -36
  8. package/lib/eject/domain/schemas/role.schema.ts +0 -37
  9. package/lib/eject/domain/schemas/user.schema.ts +0 -53
  10. package/lib/eject/services/index.ts +0 -4
  11. package/lib/eject/services/organization.service.ts +0 -143
  12. package/lib/eject/services/permission.service.ts +0 -345
  13. package/lib/eject/services/role.service.ts +0 -179
  14. package/lib/eject/services/user.service.ts +0 -224
  15. package/lib/jest.config.d.ts +0 -4
  16. package/lib/jest.config.d.ts.map +0 -1
  17. package/lib/jest.config.js +0 -19
  18. package/lib/schemas/index.d.ts +0 -5
  19. package/lib/schemas/index.d.ts.map +0 -1
  20. package/lib/schemas/index.js +0 -4
  21. package/lib/schemas/organization.schema.d.ts +0 -411
  22. package/lib/schemas/organization.schema.d.ts.map +0 -1
  23. package/lib/schemas/organization.schema.js +0 -7
  24. package/lib/schemas/permission.schema.d.ts +0 -104
  25. package/lib/schemas/permission.schema.d.ts.map +0 -1
  26. package/lib/schemas/permission.schema.js +0 -7
  27. package/lib/schemas/role.schema.d.ts +0 -163
  28. package/lib/schemas/role.schema.d.ts.map +0 -1
  29. package/lib/schemas/role.schema.js +0 -7
  30. package/lib/schemas/typebox/organization.schema.d.ts +0 -414
  31. package/lib/schemas/typebox/organization.schema.d.ts.map +0 -1
  32. package/lib/schemas/typebox/organization.schema.js +0 -44
  33. package/lib/schemas/typebox/permission.schema.d.ts +0 -131
  34. package/lib/schemas/typebox/permission.schema.d.ts.map +0 -1
  35. package/lib/schemas/typebox/permission.schema.js +0 -32
  36. package/lib/schemas/typebox/role.schema.d.ts +0 -199
  37. package/lib/schemas/typebox/role.schema.d.ts.map +0 -1
  38. package/lib/schemas/typebox/role.schema.js +0 -33
  39. package/lib/schemas/typebox/user.schema.d.ts +0 -339
  40. package/lib/schemas/typebox/user.schema.d.ts.map +0 -1
  41. package/lib/schemas/typebox/user.schema.js +0 -49
  42. package/lib/schemas/user.schema.d.ts +0 -290
  43. package/lib/schemas/user.schema.d.ts.map +0 -1
  44. package/lib/schemas/user.schema.js +0 -7
  45. package/lib/schemas/zod/organization.schema.d.ts +0 -374
  46. package/lib/schemas/zod/organization.schema.d.ts.map +0 -1
  47. package/lib/schemas/zod/organization.schema.js +0 -44
  48. package/lib/schemas/zod/permission.schema.d.ts +0 -63
  49. package/lib/schemas/zod/permission.schema.d.ts.map +0 -1
  50. package/lib/schemas/zod/permission.schema.js +0 -32
  51. package/lib/schemas/zod/role.schema.d.ts +0 -113
  52. package/lib/schemas/zod/role.schema.d.ts.map +0 -1
  53. package/lib/schemas/zod/role.schema.js +0 -33
  54. package/lib/schemas/zod/user.schema.d.ts +0 -225
  55. package/lib/schemas/zod/user.schema.d.ts.map +0 -1
  56. package/lib/schemas/zod/user.schema.js +0 -49
  57. package/lib/services/index.d.ts +0 -5
  58. package/lib/services/index.d.ts.map +0 -1
  59. package/lib/services/index.js +0 -4
  60. package/lib/services/organization.service.d.ts +0 -118
  61. package/lib/services/organization.service.d.ts.map +0 -1
  62. package/lib/services/organization.service.js +0 -50
  63. package/lib/services/permission.service.d.ts +0 -138
  64. package/lib/services/permission.service.d.ts.map +0 -1
  65. package/lib/services/permission.service.js +0 -203
  66. package/lib/services/role.service.d.ts +0 -118
  67. package/lib/services/role.service.d.ts.map +0 -1
  68. package/lib/services/role.service.js +0 -73
  69. package/lib/services/user.service.d.ts +0 -138
  70. package/lib/services/user.service.d.ts.map +0 -1
  71. package/lib/services/user.service.js +0 -126
  72. package/lib/tsconfig.tsbuildinfo +0 -1
  73. package/lib/vitest.config.d.ts +0 -3
  74. package/lib/vitest.config.d.ts.map +0 -1
  75. package/lib/vitest.config.js +0 -7
@@ -1,224 +0,0 @@
1
- import {
2
- OrganizationService,
3
- RoleService,
4
- UserService
5
- } from '@forklaunch/interfaces-iam/interfaces';
6
-
7
- import { IdDto, IdsDto, InstanceTypeRecord } from '@forklaunch/common';
8
- import {
9
- InternalDtoMapper,
10
- RequestDtoMapperConstructor,
11
- ResponseDtoMapperConstructor,
12
- transformIntoInternalDtoMapper
13
- } from '@forklaunch/core/mappers';
14
- import {
15
- MetricsDefinition,
16
- OpenTelemetryCollector
17
- } from '@forklaunch/core/http';
18
- import { MapNestedDtoArraysToCollections } from '@forklaunch/core/services';
19
- import {
20
- CreateUserDto,
21
- UpdateUserDto,
22
- UserDto
23
- } from '@forklaunch/interfaces-iam/types';
24
- import { AnySchemaValidator } from '@forklaunch/validator';
25
- import { EntityManager } from '@mikro-orm/core';
26
-
27
- export class BaseUserService<
28
- SchemaValidator extends AnySchemaValidator,
29
- OrganizationStatus,
30
- Metrics extends MetricsDefinition = MetricsDefinition,
31
- Dto extends {
32
- UserDtoMapper: UserDto;
33
- CreateUserDtoMapper: CreateUserDto;
34
- UpdateUserDtoMapper: UpdateUserDto;
35
- } = {
36
- UserDtoMapper: UserDto;
37
- CreateUserDtoMapper: CreateUserDto;
38
- UpdateUserDtoMapper: UpdateUserDto;
39
- },
40
- Entities extends {
41
- UserDtoMapper: MapNestedDtoArraysToCollections<UserDto, 'roles'>;
42
- CreateUserDtoMapper: MapNestedDtoArraysToCollections<UserDto, 'roles'>;
43
- UpdateUserDtoMapper: MapNestedDtoArraysToCollections<UserDto, 'roles'>;
44
- } = {
45
- UserDtoMapper: MapNestedDtoArraysToCollections<UserDto, 'roles'>;
46
- CreateUserDtoMapper: MapNestedDtoArraysToCollections<UserDto, 'roles'>;
47
- UpdateUserDtoMapper: MapNestedDtoArraysToCollections<UserDto, 'roles'>;
48
- }
49
- > implements UserService
50
- {
51
- #mapperss: InternalDtoMapper<
52
- InstanceTypeRecord<typeof this.mapperss>,
53
- Entities,
54
- Dto
55
- >;
56
-
57
- constructor(
58
- public em: EntityManager,
59
- protected passwordEncryptionPublicKeyPath: string,
60
- protected roleServiceFactory: () => RoleService,
61
- protected organizationServiceFactory: () => OrganizationService<OrganizationStatus>,
62
- protected openTelemetryCollector: OpenTelemetryCollector<Metrics>,
63
- protected schemaValidator: SchemaValidator,
64
- protected mapperss: {
65
- UserDtoMapper: ResponseDtoMapperConstructor<
66
- SchemaValidator,
67
- Dto['UserDtoMapper'],
68
- Entities['UserDtoMapper']
69
- >;
70
- CreateUserDtoMapper: RequestDtoMapperConstructor<
71
- SchemaValidator,
72
- Dto['CreateUserDtoMapper'],
73
- Entities['CreateUserDtoMapper'],
74
- (
75
- dto: never,
76
- passwordEncryptionPublicKeyPath: string
77
- ) => Entities['UpdateUserDtoMapper']
78
- >;
79
- UpdateUserDtoMapper: RequestDtoMapperConstructor<
80
- SchemaValidator,
81
- Dto['UpdateUserDtoMapper'],
82
- Entities['UpdateUserDtoMapper'],
83
- (
84
- dto: never,
85
- passwordEncryptionPublicKeyPath: string
86
- ) => Entities['UpdateUserDtoMapper']
87
- >;
88
- }
89
- ) {
90
- this.#mapperss = transformIntoInternalDtoMapper(mapperss, schemaValidator);
91
- }
92
-
93
- async createUser(
94
- userDto: Dto['CreateUserDtoMapper'],
95
- em?: EntityManager
96
- ): Promise<Dto['UserDtoMapper']> {
97
- const user =
98
- await this.#mapperss.CreateUserDtoMapper.deserializeDtoToEntity(
99
- userDto,
100
- this.passwordEncryptionPublicKeyPath
101
- );
102
- ((await em) ?? this.em).transactional(async (em) => {
103
- await em.persist(user);
104
- });
105
- return this.#mapperss.UserDtoMapper.serializeEntityToDto(user);
106
- }
107
-
108
- async createBatchUsers(
109
- userDtos: Dto['CreateUserDtoMapper'][],
110
- em?: EntityManager
111
- ): Promise<Dto['UserDtoMapper'][]> {
112
- const users = await Promise.all(
113
- userDtos.map(async (createUserDto) =>
114
- this.#mapperss.CreateUserDtoMapper.deserializeDtoToEntity(
115
- createUserDto,
116
- this.passwordEncryptionPublicKeyPath
117
- )
118
- )
119
- );
120
- await (em ?? this.em).transactional(async (em) => {
121
- await em.persist(users);
122
- });
123
-
124
- return users.map((user) =>
125
- this.#mapperss.UserDtoMapper.serializeEntityToDto(user)
126
- );
127
- }
128
-
129
- async getUser(
130
- idDto: IdDto,
131
- em?: EntityManager
132
- ): Promise<Dto['UserDtoMapper']> {
133
- const user = await (em ?? this.em).findOneOrFail('User', idDto, {
134
- populate: ['id', '*']
135
- });
136
- return this.#mapperss.UserDtoMapper.serializeEntityToDto(
137
- user as Entities['UserDtoMapper']
138
- );
139
- }
140
-
141
- async getBatchUsers(
142
- idsDto: IdsDto,
143
- em?: EntityManager
144
- ): Promise<Dto['UserDtoMapper'][]> {
145
- return (
146
- await (em ?? this.em).find('User', idsDto, {
147
- populate: ['id', '*']
148
- })
149
- ).map((user) =>
150
- this.#mapperss.UserDtoMapper.serializeEntityToDto(
151
- user as Entities['UserDtoMapper']
152
- )
153
- );
154
- }
155
-
156
- async updateUser(
157
- userDto: Dto['UpdateUserDtoMapper'],
158
- em?: EntityManager
159
- ): Promise<Dto['UserDtoMapper']> {
160
- let user = this.#mapperss.UpdateUserDtoMapper.deserializeDtoToEntity(
161
- userDto,
162
- this.passwordEncryptionPublicKeyPath
163
- );
164
- await (em ?? this.em).transactional(async (localEm) => {
165
- user = await localEm.upsert(user);
166
- });
167
- return this.#mapperss.UserDtoMapper.serializeEntityToDto(user);
168
- }
169
-
170
- async updateBatchUsers(
171
- userDtos: UpdateUserDto[],
172
- em?: EntityManager
173
- ): Promise<Dto['UserDtoMapper'][]> {
174
- let users = await Promise.all(
175
- userDtos.map(async (updateUserDto) =>
176
- this.#mapperss.UpdateUserDtoMapper.deserializeDtoToEntity(
177
- updateUserDto,
178
- this.passwordEncryptionPublicKeyPath
179
- )
180
- )
181
- );
182
- await (em ?? this.em).transactional(async (localEm) => {
183
- users = await localEm.upsertMany(users);
184
- });
185
- return users.map((user) =>
186
- this.#mapperss.UserDtoMapper.serializeEntityToDto(user)
187
- );
188
- }
189
-
190
- async deleteUser(idDto: IdDto, em?: EntityManager): Promise<void> {
191
- const entityManager = em || this.em;
192
- await entityManager.nativeDelete('User', idDto);
193
- }
194
-
195
- async deleteBatchUsers(idsDto: IdsDto, em?: EntityManager): Promise<void> {
196
- const entityManager = em || this.em;
197
- await entityManager.nativeDelete('User', idsDto);
198
- }
199
-
200
- async verifyHasRole(idDto: IdDto, roleId: string): Promise<void> {
201
- const user = await this.getUser(idDto);
202
- if (
203
- user.roles.filter((role) => {
204
- return roleId == role.id;
205
- }).length === 0
206
- ) {
207
- throw new Error(`User ${idDto.id} does not have role ${roleId}`);
208
- }
209
- }
210
-
211
- async verifyHasPermission(idDto: IdDto, permissionId: string): Promise<void> {
212
- const user = await this.getUser(idDto);
213
- if (
214
- user.roles
215
- .map((role) => role.permissions.map((permission) => permission.id))
216
- .flat()
217
- .filter((id) => id == permissionId).length === 0
218
- ) {
219
- throw new Error(
220
- `User ${idDto.id} does not have permission ${permissionId}`
221
- );
222
- }
223
- }
224
- }
@@ -1,4 +0,0 @@
1
- import type { JestConfigWithTsJest } from 'ts-jest';
2
- declare const jestConfig: JestConfigWithTsJest;
3
- export default jestConfig;
4
- //# sourceMappingURL=jest.config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jest.config.d.ts","sourceRoot":"","sources":["../jest.config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,oBAiBjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -1,19 +0,0 @@
1
- const jestConfig = {
2
- preset: 'ts-jest/presets/default-esm', // or other ESM presets
3
- moduleNameMapper: {
4
- '^(\\.{1,2}/.*)\\.js$': '$1'
5
- },
6
- transform: {
7
- // '^.+\\.[tj]sx?$' to process ts,js,tsx,jsx with `ts-jest`
8
- // '^.+\\.m?[tj]sx?$' to process ts,js,tsx,jsx,mts,mjs,mtsx,mjsx with `ts-jest`
9
- '^.+\\.[tj]sx?$': [
10
- 'ts-jest',
11
- {
12
- useESM: true
13
- }
14
- ],
15
- '^.+\\.js$': 'babel-jest'
16
- },
17
- testPathIgnorePatterns: ['.*dist/', '.*node_modules/']
18
- };
19
- export default jestConfig;
@@ -1,5 +0,0 @@
1
- export * from './organization.schema';
2
- export * from './permission.schema';
3
- export * from './role.schema';
4
- export * from './user.schema';
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../schemas/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
@@ -1,4 +0,0 @@
1
- export * from './organization.schema';
2
- export * from './permission.schema';
3
- export * from './role.schema';
4
- export * from './user.schema';
@@ -1,411 +0,0 @@
1
- export declare const BaseOrganizationServiceSchemas: <
2
- SchemaValidator extends import('@forklaunch/validator').AnySchemaValidator
3
- >(
4
- options: {
5
- uuidId: boolean;
6
- } & {
7
- validator: SchemaValidator;
8
- }
9
- ) => import('@forklaunch/core/mappers').SchemasByValidator<
10
- SchemaValidator,
11
- (options: {
12
- uuidId: boolean;
13
- }) => {
14
- CreateOrganizationSchema: {
15
- name: import('@sinclair/typebox').TString;
16
- domain: import('@sinclair/typebox').TString;
17
- subscription: import('@sinclair/typebox').TString;
18
- logoUrl: import('@sinclair/typebox').TOptional<
19
- import('@sinclair/typebox').TString
20
- >;
21
- extraFields: import('@sinclair/typebox').TOptional<
22
- import('@sinclair/typebox').TUnknown
23
- >;
24
- };
25
- UpdateOrganizationSchema: {
26
- id: import('@sinclair/typebox').TString;
27
- name: import('@sinclair/typebox').TOptional<
28
- import('@sinclair/typebox').TString
29
- >;
30
- domain: import('@sinclair/typebox').TOptional<
31
- import('@sinclair/typebox').TString
32
- >;
33
- subscription: import('@sinclair/typebox').TOptional<
34
- import('@sinclair/typebox').TString
35
- >;
36
- logoUrl: import('@sinclair/typebox').TOptional<
37
- import('@sinclair/typebox').TString
38
- >;
39
- extraFields: import('@sinclair/typebox').TOptional<
40
- import('@sinclair/typebox').TUnknown
41
- >;
42
- };
43
- OrganizationSchema: <
44
- OrganizationStatus extends Record<
45
- string,
46
- import('@forklaunch/validator').LiteralSchema
47
- >
48
- >(
49
- organizationStatus: OrganizationStatus
50
- ) => {
51
- id: import('@sinclair/typebox').TString;
52
- name: import('@sinclair/typebox').TString;
53
- users: import('@sinclair/typebox').TArray<
54
- import('@sinclair/typebox').TObject<{
55
- id: import('@sinclair/typebox').TString;
56
- email: import('@sinclair/typebox').TString;
57
- firstName: import('@sinclair/typebox').TString;
58
- lastName: import('@sinclair/typebox').TString;
59
- roles: import('@sinclair/typebox').TArray<
60
- import('@sinclair/typebox').TObject<{
61
- id: import('@sinclair/typebox').TString;
62
- name: import('@sinclair/typebox').TString;
63
- permissions: import('@sinclair/typebox').TArray<
64
- import('@sinclair/typebox').TObject<{
65
- id: import('@sinclair/typebox').TString;
66
- slug: import('@sinclair/typebox').TString;
67
- extraFields: import('@sinclair/typebox').TOptional<
68
- import('@sinclair/typebox').TUnknown
69
- >;
70
- createdAt: import('@sinclair/typebox').TOptional<
71
- import('@sinclair/typebox').TTransform<
72
- import('@sinclair/typebox').TUnion<
73
- [
74
- import('@sinclair/typebox').TDate,
75
- import('@sinclair/typebox').TNumber,
76
- import('@sinclair/typebox').TString,
77
- import('@sinclair/typebox').TBoolean,
78
- import('@sinclair/typebox').TNull
79
- ]
80
- >,
81
- Date
82
- >
83
- >;
84
- updatedAt: import('@sinclair/typebox').TOptional<
85
- import('@sinclair/typebox').TTransform<
86
- import('@sinclair/typebox').TUnion<
87
- [
88
- import('@sinclair/typebox').TDate,
89
- import('@sinclair/typebox').TNumber,
90
- import('@sinclair/typebox').TString,
91
- import('@sinclair/typebox').TBoolean,
92
- import('@sinclair/typebox').TNull
93
- ]
94
- >,
95
- Date
96
- >
97
- >;
98
- }>
99
- >;
100
- extraFields: import('@sinclair/typebox').TOptional<
101
- import('@sinclair/typebox').TUnknown
102
- >;
103
- createdAt: import('@sinclair/typebox').TOptional<
104
- import('@sinclair/typebox').TTransform<
105
- import('@sinclair/typebox').TUnion<
106
- [
107
- import('@sinclair/typebox').TDate,
108
- import('@sinclair/typebox').TNumber,
109
- import('@sinclair/typebox').TString,
110
- import('@sinclair/typebox').TBoolean,
111
- import('@sinclair/typebox').TNull
112
- ]
113
- >,
114
- Date
115
- >
116
- >;
117
- updatedAt: import('@sinclair/typebox').TOptional<
118
- import('@sinclair/typebox').TTransform<
119
- import('@sinclair/typebox').TUnion<
120
- [
121
- import('@sinclair/typebox').TDate,
122
- import('@sinclair/typebox').TNumber,
123
- import('@sinclair/typebox').TString,
124
- import('@sinclair/typebox').TBoolean,
125
- import('@sinclair/typebox').TNull
126
- ]
127
- >,
128
- Date
129
- >
130
- >;
131
- }>
132
- >;
133
- phoneNumber: import('@sinclair/typebox').TOptional<
134
- import('@sinclair/typebox').TString
135
- >;
136
- subscription: import('@sinclair/typebox').TOptional<
137
- import('@sinclair/typebox').TString
138
- >;
139
- extraFields: import('@sinclair/typebox').TOptional<
140
- import('@sinclair/typebox').TUnknown
141
- >;
142
- createdAt: import('@sinclair/typebox').TOptional<
143
- import('@sinclair/typebox').TTransform<
144
- import('@sinclair/typebox').TUnion<
145
- [
146
- import('@sinclair/typebox').TDate,
147
- import('@sinclair/typebox').TNumber,
148
- import('@sinclair/typebox').TString,
149
- import('@sinclair/typebox').TBoolean,
150
- import('@sinclair/typebox').TNull
151
- ]
152
- >,
153
- Date
154
- >
155
- >;
156
- updatedAt: import('@sinclair/typebox').TOptional<
157
- import('@sinclair/typebox').TTransform<
158
- import('@sinclair/typebox').TUnion<
159
- [
160
- import('@sinclair/typebox').TDate,
161
- import('@sinclair/typebox').TNumber,
162
- import('@sinclair/typebox').TString,
163
- import('@sinclair/typebox').TBoolean,
164
- import('@sinclair/typebox').TNull
165
- ]
166
- >,
167
- Date
168
- >
169
- >;
170
- }>
171
- >;
172
- domain: import('@sinclair/typebox').TString;
173
- subscription: import('@sinclair/typebox').TString;
174
- status: import('@sinclair/typebox').TUnion<
175
- [
176
- {
177
- [K in keyof OrganizationStatus]: import(
178
- '@sinclair/typebox'
179
- ).TLiteral<OrganizationStatus[K]>;
180
- }[keyof OrganizationStatus]
181
- ]
182
- >;
183
- logoUrl: import('@sinclair/typebox').TOptional<
184
- import('@sinclair/typebox').TString
185
- >;
186
- extraFields: import('@sinclair/typebox').TOptional<
187
- import('@sinclair/typebox').TUnknown
188
- >;
189
- createdAt: import('@sinclair/typebox').TOptional<
190
- import('@sinclair/typebox').TTransform<
191
- import('@sinclair/typebox').TUnion<
192
- [
193
- import('@sinclair/typebox').TDate,
194
- import('@sinclair/typebox').TNumber,
195
- import('@sinclair/typebox').TString,
196
- import('@sinclair/typebox').TBoolean,
197
- import('@sinclair/typebox').TNull
198
- ]
199
- >,
200
- Date
201
- >
202
- >;
203
- updatedAt: import('@sinclair/typebox').TOptional<
204
- import('@sinclair/typebox').TTransform<
205
- import('@sinclair/typebox').TUnion<
206
- [
207
- import('@sinclair/typebox').TDate,
208
- import('@sinclair/typebox').TNumber,
209
- import('@sinclair/typebox').TString,
210
- import('@sinclair/typebox').TBoolean,
211
- import('@sinclair/typebox').TNull
212
- ]
213
- >,
214
- Date
215
- >
216
- >;
217
- };
218
- },
219
- (options: {
220
- uuidId: boolean;
221
- }) => {
222
- CreateOrganizationSchema: {
223
- name: import('zod').ZodString;
224
- domain: import('zod').ZodString;
225
- subscription: import('zod').ZodString;
226
- logoUrl: import('zod').ZodOptional<import('zod').ZodString>;
227
- extraFields: import('zod').ZodOptional<import('zod').ZodUnknown>;
228
- };
229
- UpdateOrganizationSchema: {
230
- id: import('zod').ZodString;
231
- name: import('zod').ZodOptional<import('zod').ZodString>;
232
- domain: import('zod').ZodOptional<import('zod').ZodString>;
233
- subscription: import('zod').ZodOptional<import('zod').ZodString>;
234
- logoUrl: import('zod').ZodOptional<import('zod').ZodString>;
235
- extraFields: import('zod').ZodOptional<import('zod').ZodUnknown>;
236
- };
237
- OrganizationSchema: <
238
- OrganizationStatus extends Record<
239
- string,
240
- import('@forklaunch/validator').LiteralSchema
241
- >
242
- >(
243
- organizationStatus: OrganizationStatus
244
- ) => {
245
- id: import('zod').ZodString;
246
- name: import('zod').ZodString;
247
- users: import('zod').ZodArray<
248
- import('zod').ZodObject<
249
- {
250
- id: import('zod').ZodString;
251
- email: import('zod').ZodString;
252
- firstName: import('zod').ZodString;
253
- lastName: import('zod').ZodString;
254
- roles: import('zod').ZodArray<
255
- import('zod').ZodObject<
256
- {
257
- id: import('zod').ZodString;
258
- name: import('zod').ZodString;
259
- permissions: import('zod').ZodArray<
260
- import('zod').ZodObject<
261
- {
262
- id: import('zod').ZodString;
263
- slug: import('zod').ZodString;
264
- extraFields: import('zod').ZodOptional<
265
- import('zod').ZodUnknown
266
- >;
267
- createdAt: import('zod').ZodOptional<
268
- import('zod').ZodDate
269
- >;
270
- updatedAt: import('zod').ZodOptional<
271
- import('zod').ZodDate
272
- >;
273
- },
274
- import('zod').UnknownKeysParam,
275
- import('zod').ZodTypeAny,
276
- {
277
- id: string;
278
- slug: string;
279
- extraFields?: unknown;
280
- createdAt?: Date | undefined;
281
- updatedAt?: Date | undefined;
282
- },
283
- {
284
- id: string;
285
- slug: string;
286
- extraFields?: unknown;
287
- createdAt?: Date | undefined;
288
- updatedAt?: Date | undefined;
289
- }
290
- >,
291
- 'many'
292
- >;
293
- extraFields: import('zod').ZodOptional<
294
- import('zod').ZodUnknown
295
- >;
296
- createdAt: import('zod').ZodOptional<import('zod').ZodDate>;
297
- updatedAt: import('zod').ZodOptional<import('zod').ZodDate>;
298
- },
299
- import('zod').UnknownKeysParam,
300
- import('zod').ZodTypeAny,
301
- {
302
- id: string;
303
- name: string;
304
- permissions: {
305
- id: string;
306
- slug: string;
307
- extraFields?: unknown;
308
- createdAt?: Date | undefined;
309
- updatedAt?: Date | undefined;
310
- }[];
311
- extraFields?: unknown;
312
- createdAt?: Date | undefined;
313
- updatedAt?: Date | undefined;
314
- },
315
- {
316
- id: string;
317
- name: string;
318
- permissions: {
319
- id: string;
320
- slug: string;
321
- extraFields?: unknown;
322
- createdAt?: Date | undefined;
323
- updatedAt?: Date | undefined;
324
- }[];
325
- extraFields?: unknown;
326
- createdAt?: Date | undefined;
327
- updatedAt?: Date | undefined;
328
- }
329
- >,
330
- 'many'
331
- >;
332
- phoneNumber: import('zod').ZodOptional<import('zod').ZodString>;
333
- subscription: import('zod').ZodOptional<import('zod').ZodString>;
334
- extraFields: import('zod').ZodOptional<import('zod').ZodUnknown>;
335
- createdAt: import('zod').ZodOptional<import('zod').ZodDate>;
336
- updatedAt: import('zod').ZodOptional<import('zod').ZodDate>;
337
- },
338
- import('zod').UnknownKeysParam,
339
- import('zod').ZodTypeAny,
340
- {
341
- id: string;
342
- email: string;
343
- firstName: string;
344
- lastName: string;
345
- roles: {
346
- id: string;
347
- name: string;
348
- permissions: {
349
- id: string;
350
- slug: string;
351
- extraFields?: unknown;
352
- createdAt?: Date | undefined;
353
- updatedAt?: Date | undefined;
354
- }[];
355
- extraFields?: unknown;
356
- createdAt?: Date | undefined;
357
- updatedAt?: Date | undefined;
358
- }[];
359
- extraFields?: unknown;
360
- createdAt?: Date | undefined;
361
- updatedAt?: Date | undefined;
362
- phoneNumber?: string | undefined;
363
- subscription?: string | undefined;
364
- },
365
- {
366
- id: string;
367
- email: string;
368
- firstName: string;
369
- lastName: string;
370
- roles: {
371
- id: string;
372
- name: string;
373
- permissions: {
374
- id: string;
375
- slug: string;
376
- extraFields?: unknown;
377
- createdAt?: Date | undefined;
378
- updatedAt?: Date | undefined;
379
- }[];
380
- extraFields?: unknown;
381
- createdAt?: Date | undefined;
382
- updatedAt?: Date | undefined;
383
- }[];
384
- extraFields?: unknown;
385
- createdAt?: Date | undefined;
386
- updatedAt?: Date | undefined;
387
- phoneNumber?: string | undefined;
388
- subscription?: string | undefined;
389
- }
390
- >,
391
- 'many'
392
- >;
393
- domain: import('zod').ZodString;
394
- subscription: import('zod').ZodString;
395
- status: import('zod').ZodUnion<
396
- [
397
- {
398
- [K in keyof OrganizationStatus]: import('zod').ZodLiteral<
399
- OrganizationStatus[K]
400
- >;
401
- }[keyof OrganizationStatus]
402
- ]
403
- >;
404
- logoUrl: import('zod').ZodOptional<import('zod').ZodString>;
405
- extraFields: import('zod').ZodOptional<import('zod').ZodUnknown>;
406
- createdAt: import('zod').ZodOptional<import('zod').ZodDate>;
407
- updatedAt: import('zod').ZodOptional<import('zod').ZodDate>;
408
- };
409
- }
410
- >;
411
- //# sourceMappingURL=organization.schema.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"organization.schema.d.ts","sourceRoot":"","sources":["../../schemas/organization.schema.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG1C,CAAC"}
@@ -1,7 +0,0 @@
1
- import { serviceSchemaResolver } from '@forklaunch/core/mappers';
2
- import { BaseOrganizationServiceSchemas as TypeBoxSchemas } from './typebox/organization.schema';
3
- import { BaseOrganizationServiceSchemas as ZodSchemas } from './zod/organization.schema';
4
- export const BaseOrganizationServiceSchemas = serviceSchemaResolver(
5
- TypeBoxSchemas,
6
- ZodSchemas
7
- );