@kanian77/pastry-shared 0.0.4 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/types/PermissionsEnum.d.ts +5 -1
- package/dist/types/PermissionsEnum.d.ts.map +1 -1
- package/dist/types/PermissionsEnum.js +4 -0
- package/dist/types/PermissionsEnum.js.map +1 -1
- package/package.json +1 -1
- package/src/functions/getEnvFile.ts +0 -19
- package/src/functions/index.ts +0 -2
- package/src/functions/isNotNullNorUndefined.ts +0 -5
- package/src/index.ts +0 -4
- package/src/types/ContentStatusEnum.ts +0 -7
- package/src/types/EnvFileNames.ts +0 -7
- package/src/types/Envs.ts +0 -7
- package/src/types/FindAllBySchemaIdOptions.ts +0 -10
- package/src/types/FindAllBySchemaIdsOptions.ts +0 -10
- package/src/types/FindAllOptions.ts +0 -11
- package/src/types/FindByDerivedSchemaFromSlugOptions.ts +0 -10
- package/src/types/PAGINATION_DEFAULTS.ts +0 -8
- package/src/types/PaginatedResult.ts +0 -9
- package/src/types/PaginationMeta.ts +0 -11
- package/src/types/PaginationParams.ts +0 -7
- package/src/types/PermissionsEnum.ts +0 -10
- package/src/types/PhoneNumberTypes.ts +0 -8
- package/src/types/RelationTypeEnum.ts +0 -4
- package/src/types/SortConfig.ts +0 -7
- package/src/types/TokenPayloadInterface.ts +0 -12
- package/src/types/UserRoleEnum.ts +0 -7
- package/src/types/UserTypeEnum.ts +0 -4
- package/src/types/index.ts +0 -17
- package/src/zod-schemas/baseZodContentRelationSchema.ts +0 -14
- package/src/zod-schemas/baseZodContentSchema.ts +0 -24
- package/src/zod-schemas/baseZodEntitySchema.ts +0 -13
- package/src/zod-schemas/baseZodPermissionSchema.ts +0 -8
- package/src/zod-schemas/baseZodSchemaSchema.ts +0 -142
- package/src/zod-schemas/baseZodUserRoleSchema.ts +0 -12
- package/src/zod-schemas/baseZodUserSchema.ts +0 -16
- package/src/zod-schemas/index.ts +0 -8
- package/src/zod-schemas/phoneNumberSchema.ts +0 -10
|
@@ -6,6 +6,10 @@ export declare enum PermissionsEnum {
|
|
|
6
6
|
SCHEMA_CREATE = "SCHEMA_CREATE",
|
|
7
7
|
SCHEMA_READ = "SCHEMA_READ",
|
|
8
8
|
SCHEMA_UPDATE = "SCHEMA_UPDATE",
|
|
9
|
-
SCHEMA_DELETE = "SCHEMA_DELETE"
|
|
9
|
+
SCHEMA_DELETE = "SCHEMA_DELETE",
|
|
10
|
+
USER_CREATE = "USER_CREATE",
|
|
11
|
+
USER_READ = "USER_READ",
|
|
12
|
+
USER_UPDATE = "USER_UPDATE",
|
|
13
|
+
USER_DELETE = "USER_DELETE"
|
|
10
14
|
}
|
|
11
15
|
//# sourceMappingURL=PermissionsEnum.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PermissionsEnum.d.ts","sourceRoot":"","sources":["../../src/types/PermissionsEnum.ts"],"names":[],"mappings":"AAAA,oBAAY,eAAe;IACvB,cAAc,mBAAmB;IACjC,YAAY,iBAAiB;IAC7B,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,aAAa,kBAAkB;IAC/B,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;
|
|
1
|
+
{"version":3,"file":"PermissionsEnum.d.ts","sourceRoot":"","sources":["../../src/types/PermissionsEnum.ts"],"names":[],"mappings":"AAAA,oBAAY,eAAe;IACvB,cAAc,mBAAmB;IACjC,YAAY,iBAAiB;IAC7B,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,aAAa,kBAAkB;IAC/B,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;CAC9B"}
|
|
@@ -8,5 +8,9 @@ export var PermissionsEnum;
|
|
|
8
8
|
PermissionsEnum["SCHEMA_READ"] = "SCHEMA_READ";
|
|
9
9
|
PermissionsEnum["SCHEMA_UPDATE"] = "SCHEMA_UPDATE";
|
|
10
10
|
PermissionsEnum["SCHEMA_DELETE"] = "SCHEMA_DELETE";
|
|
11
|
+
PermissionsEnum["USER_CREATE"] = "USER_CREATE";
|
|
12
|
+
PermissionsEnum["USER_READ"] = "USER_READ";
|
|
13
|
+
PermissionsEnum["USER_UPDATE"] = "USER_UPDATE";
|
|
14
|
+
PermissionsEnum["USER_DELETE"] = "USER_DELETE";
|
|
11
15
|
})(PermissionsEnum || (PermissionsEnum = {}));
|
|
12
16
|
//# sourceMappingURL=PermissionsEnum.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PermissionsEnum.js","sourceRoot":"","sources":["../../src/types/PermissionsEnum.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"PermissionsEnum.js","sourceRoot":"","sources":["../../src/types/PermissionsEnum.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,eAaX;AAbD,WAAY,eAAe;IACvB,oDAAiC,CAAA;IACjC,gDAA6B,CAAA;IAC7B,oDAAiC,CAAA;IACjC,oDAAiC,CAAA;IACjC,kDAA+B,CAAA;IAC/B,8CAA2B,CAAA;IAC3B,kDAA+B,CAAA;IAC/B,kDAA+B,CAAA;IAC/B,8CAA2B,CAAA;IAC3B,0CAAuB,CAAA;IACvB,8CAA2B,CAAA;IAC3B,8CAA2B,CAAA;AAC/B,CAAC,EAbW,eAAe,KAAf,eAAe,QAa1B"}
|
package/package.json
CHANGED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { EnvFileNames } from '../types/EnvFileNames';
|
|
2
|
-
import { Envs } from '../types/Envs';
|
|
3
|
-
|
|
4
|
-
export const getEnvFile = () => {
|
|
5
|
-
switch (process.env.ENV) {
|
|
6
|
-
case Envs.DEVELOPMENT:
|
|
7
|
-
return EnvFileNames.DEVELOPMENT;
|
|
8
|
-
case Envs.TESTING:
|
|
9
|
-
return EnvFileNames.TESTING;
|
|
10
|
-
case Envs.PRODUCTION:
|
|
11
|
-
return EnvFileNames.PRODUCTION;
|
|
12
|
-
case Envs.DEBUGGING:
|
|
13
|
-
return EnvFileNames.DEBUGGING;
|
|
14
|
-
case Envs.STAGING:
|
|
15
|
-
return EnvFileNames.STAGING;
|
|
16
|
-
default:
|
|
17
|
-
return undefined;
|
|
18
|
-
}
|
|
19
|
-
};
|
package/src/functions/index.ts
DELETED
package/src/index.ts
DELETED
package/src/types/Envs.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { PaginationParams } from './PaginationParams';
|
|
2
|
-
import { SortConfig } from './SortConfig';
|
|
3
|
-
import { FindAllOptions } from './FindAllOptions';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Repository options for findAll
|
|
7
|
-
*/
|
|
8
|
-
export interface FindAllBySchemaIdOptions extends FindAllOptions {
|
|
9
|
-
schemaId: string;
|
|
10
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { PaginationParams } from './PaginationParams';
|
|
2
|
-
import { SortConfig } from './SortConfig';
|
|
3
|
-
import { FindAllOptions } from './FindAllOptions';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Repository options for findAll
|
|
7
|
-
*/
|
|
8
|
-
export interface FindAllBySchemaIdsOptions extends FindAllOptions {
|
|
9
|
-
schemaIds: string[];
|
|
10
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { PaginationParams } from "./PaginationParams";
|
|
2
|
-
import { SortConfig } from "./SortConfig";
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Repository options for findAll
|
|
6
|
-
*/
|
|
7
|
-
export interface FindAllOptions {
|
|
8
|
-
withDeleted?: boolean;
|
|
9
|
-
pagination?: PaginationParams;
|
|
10
|
-
sort?: SortConfig;
|
|
11
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { PaginationParams } from './PaginationParams';
|
|
2
|
-
import { SortConfig } from './SortConfig';
|
|
3
|
-
import { FindAllOptions } from './FindAllOptions';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Repository options for findByDerivedSchemaFromSlug
|
|
7
|
-
*/
|
|
8
|
-
export interface FindByDerivedSchemaFromSlugOptions extends FindAllOptions {
|
|
9
|
-
slug: string;
|
|
10
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export enum PermissionsEnum {
|
|
2
|
-
CONTENT_CREATE = 'CONTENT_CREATE',
|
|
3
|
-
CONTENT_READ = 'CONTENT_READ',
|
|
4
|
-
CONTENT_UPDATE = 'CONTENT_UPDATE',
|
|
5
|
-
CONTENT_DELETE = 'CONTENT_DELETE',
|
|
6
|
-
SCHEMA_CREATE = 'SCHEMA_CREATE',
|
|
7
|
-
SCHEMA_READ = 'SCHEMA_READ',
|
|
8
|
-
SCHEMA_UPDATE = 'SCHEMA_UPDATE',
|
|
9
|
-
SCHEMA_DELETE = 'SCHEMA_DELETE',
|
|
10
|
-
}
|
package/src/types/SortConfig.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { UserRoleInterface } from '../zod-schemas';
|
|
2
|
-
import { PhoneNumberInterface } from '../zod-schemas/phoneNumberSchema';
|
|
3
|
-
export interface TokenPayloadInterface {
|
|
4
|
-
userId: string;
|
|
5
|
-
firstName: string;
|
|
6
|
-
lastName: string;
|
|
7
|
-
email?: string;
|
|
8
|
-
role: Pick<UserRoleInterface, 'id' | 'slug' | 'name' | 'description'>;
|
|
9
|
-
phoneNumber?: PhoneNumberInterface;
|
|
10
|
-
exp: number;
|
|
11
|
-
iat: number;
|
|
12
|
-
}
|
package/src/types/index.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export * from './EnvFileNames';
|
|
2
|
-
export * from './Envs';
|
|
3
|
-
export * from './ContentStatusEnum';
|
|
4
|
-
export * from './RelationTypeEnum';
|
|
5
|
-
export * from './UserRoleEnum';
|
|
6
|
-
export * from './PermissionsEnum';
|
|
7
|
-
export * from './TokenPayloadInterface';
|
|
8
|
-
export * from './UserTypeEnum';
|
|
9
|
-
export * from './PAGINATION_DEFAULTS';
|
|
10
|
-
export * from './PaginationParams';
|
|
11
|
-
export * from './PaginatedResult';
|
|
12
|
-
export * from './PaginationMeta';
|
|
13
|
-
export * from './FindAllOptions';
|
|
14
|
-
export * from './SortConfig';
|
|
15
|
-
export * from './FindAllBySchemaIdOptions';
|
|
16
|
-
export * from './FindByDerivedSchemaFromSlugOptions';
|
|
17
|
-
export * from './FindAllBySchemaIdsOptions';
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { baseZodEntitySchema } from './baseZodEntitySchema';
|
|
3
|
-
|
|
4
|
-
export const relationTypeZodEnum = z.enum(['one', 'many']);
|
|
5
|
-
export const baseZodContentRelationSchema = baseZodEntitySchema.extend({
|
|
6
|
-
sourceContentId: z.uuid(),
|
|
7
|
-
targetContentId: z.uuid(),
|
|
8
|
-
relationType: relationTypeZodEnum.default('one'),
|
|
9
|
-
sourceFieldSlug: z.string().optional(),
|
|
10
|
-
});
|
|
11
|
-
|
|
12
|
-
export type ContentRelationInterface = z.infer<
|
|
13
|
-
typeof baseZodContentRelationSchema
|
|
14
|
-
>;
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { baseZodEntitySchema } from './baseZodEntitySchema';
|
|
3
|
-
|
|
4
|
-
// Enum for content status
|
|
5
|
-
export const ContentStatusZodEnum = z.enum([
|
|
6
|
-
'draft',
|
|
7
|
-
'published',
|
|
8
|
-
'archived',
|
|
9
|
-
'review',
|
|
10
|
-
'deleted',
|
|
11
|
-
]);
|
|
12
|
-
|
|
13
|
-
export const baseZodContentSchema = baseZodEntitySchema.extend({
|
|
14
|
-
name: z.string().min(1).max(255),
|
|
15
|
-
schemaId: z.uuid(),
|
|
16
|
-
definition: z.any(), // Could be refined if you have a known structure
|
|
17
|
-
indexes: z.any().optional(),
|
|
18
|
-
status: ContentStatusZodEnum.default('draft'),
|
|
19
|
-
slug: z.string().max(255).optional(),
|
|
20
|
-
metadata: z.any().optional(),
|
|
21
|
-
userId: z.uuid(),
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
export type ContentInterface = z.infer<typeof baseZodContentSchema>;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
|
|
3
|
-
export const baseZodEntitySchema = z.object({
|
|
4
|
-
id: z.uuid(),
|
|
5
|
-
createdAt: z.date(),
|
|
6
|
-
updatedAt: z.date().optional(),
|
|
7
|
-
createdBy: z.uuid().optional(),
|
|
8
|
-
updatedBy: z.uuid().optional(),
|
|
9
|
-
deleted: z.boolean().default(false),
|
|
10
|
-
deletedAt: z.date().nullable().optional(),
|
|
11
|
-
});
|
|
12
|
-
|
|
13
|
-
export type BaseEntityInterface = z.infer<typeof baseZodEntitySchema>;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { PermissionsEnum } from '../types';
|
|
3
|
-
import { baseZodEntitySchema } from './baseZodEntitySchema';
|
|
4
|
-
|
|
5
|
-
export const baseZodPermissionSchema = baseZodEntitySchema.extend({
|
|
6
|
-
action: z.enum(PermissionsEnum),
|
|
7
|
-
roleId: z.uuid(),
|
|
8
|
-
});
|
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { baseZodEntitySchema } from './baseZodEntitySchema';
|
|
3
|
-
import { RelationTypeEnum } from '../types';
|
|
4
|
-
|
|
5
|
-
// Allowed field types
|
|
6
|
-
export const FieldTypeEnum = z.enum([
|
|
7
|
-
'text',
|
|
8
|
-
'richText',
|
|
9
|
-
'number',
|
|
10
|
-
'boolean',
|
|
11
|
-
'dateTime',
|
|
12
|
-
'json',
|
|
13
|
-
'relation',
|
|
14
|
-
'media',
|
|
15
|
-
'select',
|
|
16
|
-
]);
|
|
17
|
-
|
|
18
|
-
// Base properties shared by all fields
|
|
19
|
-
export const BaseFieldSchema = z.object({
|
|
20
|
-
slug: z
|
|
21
|
-
.string()
|
|
22
|
-
.min(3)
|
|
23
|
-
.regex(
|
|
24
|
-
/^[a-zA-Z0-9_]+$/,
|
|
25
|
-
'API slugs can only contain letters, numbers, and underscores',
|
|
26
|
-
),
|
|
27
|
-
label: z.string().min(1),
|
|
28
|
-
description: z.string().optional(),
|
|
29
|
-
required: z.boolean().default(false),
|
|
30
|
-
readOnly: z.boolean().default(false),
|
|
31
|
-
definition: z.object().optional(),
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
// Schema for a simple text field
|
|
35
|
-
const TextFieldSchema = BaseFieldSchema.extend({
|
|
36
|
-
type: z.literal(FieldTypeEnum.enum.text),
|
|
37
|
-
minLength: z.number().int().min(0).optional(),
|
|
38
|
-
maxLength: z.number().int().min(1).optional(),
|
|
39
|
-
/** * A hint for the admin UI on how to render this field.
|
|
40
|
-
*/
|
|
41
|
-
format: z
|
|
42
|
-
.enum(['singleLine', 'multiLine', 'email', 'url', 'slug'])
|
|
43
|
-
.default('singleLine'),
|
|
44
|
-
defaultValue: z.string().optional(),
|
|
45
|
-
});
|
|
46
|
-
|
|
47
|
-
// Schema for a rich text (Markdown/WYSIWYG) field
|
|
48
|
-
const RichTextFieldSchema = BaseFieldSchema.extend({
|
|
49
|
-
type: z.literal(FieldTypeEnum.enum.richText),
|
|
50
|
-
editorType: z.enum(['markdown', 'wysiwyg']).default('markdown'),
|
|
51
|
-
defaultValue: z.string().optional(),
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
// Schema for a number field
|
|
55
|
-
const NumberFieldSchema = BaseFieldSchema.extend({
|
|
56
|
-
type: z.literal(FieldTypeEnum.enum.number),
|
|
57
|
-
format: z.enum(['integer', 'decimal']).default('decimal'),
|
|
58
|
-
min: z.number().optional(),
|
|
59
|
-
max: z.number().optional(),
|
|
60
|
-
defaultValue: z.number().optional(),
|
|
61
|
-
});
|
|
62
|
-
|
|
63
|
-
// Schema for a boolean (toggle/checkbox) field
|
|
64
|
-
const BooleanFieldSchema = BaseFieldSchema.extend({
|
|
65
|
-
type: z.literal(FieldTypeEnum.enum.boolean),
|
|
66
|
-
display: z.enum(['toggle', 'checkbox']).default('toggle'),
|
|
67
|
-
defaultValue: z.boolean().optional(),
|
|
68
|
-
});
|
|
69
|
-
|
|
70
|
-
// Schema for a date/time field
|
|
71
|
-
const DateTimeFieldSchema = BaseFieldSchema.extend({
|
|
72
|
-
type: z.literal(FieldTypeEnum.enum.dateTime),
|
|
73
|
-
format: z.enum(['date', 'dateTime', 'time']).default('dateTime'),
|
|
74
|
-
defaultValue: z.date().or(z.string().datetime()).optional(),
|
|
75
|
-
});
|
|
76
|
-
|
|
77
|
-
// Schema for a "select" (enum) field
|
|
78
|
-
const SelectOptionSchema = z.object({
|
|
79
|
-
label: z.string(),
|
|
80
|
-
value: z.string(),
|
|
81
|
-
});
|
|
82
|
-
|
|
83
|
-
const SelectFieldSchema = BaseFieldSchema.extend({
|
|
84
|
-
type: z.literal(FieldTypeEnum.enum.select),
|
|
85
|
-
options: z.array(SelectOptionSchema).min(1, 'Must have at least one option'),
|
|
86
|
-
allowMultiple: z.boolean().default(false),
|
|
87
|
-
defaultValue: z.string().or(z.array(z.string())).optional(),
|
|
88
|
-
});
|
|
89
|
-
|
|
90
|
-
// Schema for a relation (e.g., link to a 'User' or 'Category')
|
|
91
|
-
const RelationFieldSchema = BaseFieldSchema.extend({
|
|
92
|
-
type: z.literal(FieldTypeEnum.enum.relation),
|
|
93
|
-
/**
|
|
94
|
-
* The apiId of the collection this field relates to.
|
|
95
|
-
*/
|
|
96
|
-
targetCollectionId: z.string(),
|
|
97
|
-
relationType: z.enum(RelationTypeEnum),
|
|
98
|
-
display: z.enum(['select', 'autocomplete']).default('select'),
|
|
99
|
-
});
|
|
100
|
-
|
|
101
|
-
// Schema for a file/media upload field
|
|
102
|
-
const MediaFieldSchema = BaseFieldSchema.extend({
|
|
103
|
-
type: z.literal(FieldTypeEnum.enum.media),
|
|
104
|
-
allowMultiple: z.boolean().default(false),
|
|
105
|
-
allowedMimeTypes: z.array(z.string()).optional(), // e.g., ['image/jpeg', 'application/pdf']
|
|
106
|
-
maxSizeInBytes: z.number().int().min(1).optional(),
|
|
107
|
-
});
|
|
108
|
-
|
|
109
|
-
// Schema for a raw JSON editor field
|
|
110
|
-
const JsonFieldSchema = BaseFieldSchema.extend({
|
|
111
|
-
type: z.literal(FieldTypeEnum.enum.json),
|
|
112
|
-
defaultValue: z.record(z.string(), z.any()).optional(),
|
|
113
|
-
});
|
|
114
|
-
|
|
115
|
-
export const FieldSchema = z.discriminatedUnion('type', [
|
|
116
|
-
TextFieldSchema,
|
|
117
|
-
RichTextFieldSchema,
|
|
118
|
-
NumberFieldSchema,
|
|
119
|
-
BooleanFieldSchema,
|
|
120
|
-
DateTimeFieldSchema,
|
|
121
|
-
SelectFieldSchema,
|
|
122
|
-
RelationFieldSchema,
|
|
123
|
-
MediaFieldSchema,
|
|
124
|
-
JsonFieldSchema,
|
|
125
|
-
]);
|
|
126
|
-
|
|
127
|
-
export type FieldDefinition = z.infer<typeof FieldSchema>;
|
|
128
|
-
|
|
129
|
-
// Base schema definition
|
|
130
|
-
export const baseZodSchemaSchema = baseZodEntitySchema.extend({
|
|
131
|
-
name: z.string().min(1),
|
|
132
|
-
slug: z.string().regex(/^[a-z0-9_\-]+$/), // unique identifier
|
|
133
|
-
description: z.string().optional(),
|
|
134
|
-
fields: z.array(FieldSchema).min(1),
|
|
135
|
-
version: z.number().default(1),
|
|
136
|
-
userId: z.uuid(),
|
|
137
|
-
parentSchemaId: z.uuid().optional(),
|
|
138
|
-
});
|
|
139
|
-
|
|
140
|
-
export type FieldType = z.infer<typeof FieldTypeEnum>;
|
|
141
|
-
export type Field = z.infer<typeof FieldSchema>;
|
|
142
|
-
export type SchemaInterface = z.infer<typeof baseZodSchemaSchema>;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { baseZodEntitySchema } from './baseZodEntitySchema';
|
|
3
|
-
import { UserRoleEnum } from '../types';
|
|
4
|
-
|
|
5
|
-
export const baseZodUserRoleSchema = baseZodEntitySchema.extend({
|
|
6
|
-
name: z.string().min(1).max(255),
|
|
7
|
-
slug: z.string().max(255).optional(),
|
|
8
|
-
description: z.string().optional(),
|
|
9
|
-
type: z.enum(UserRoleEnum),
|
|
10
|
-
});
|
|
11
|
-
|
|
12
|
-
export type UserRoleInterface = z.infer<typeof baseZodUserRoleSchema>;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { baseZodEntitySchema } from './baseZodEntitySchema';
|
|
3
|
-
import { UserTypeEnum } from '../types';
|
|
4
|
-
import { phoneNumberSchema } from './phoneNumberSchema';
|
|
5
|
-
|
|
6
|
-
export const baseZodUserSchema = baseZodEntitySchema.extend({
|
|
7
|
-
email: z.email().optional(),
|
|
8
|
-
password: z.string().optional(),
|
|
9
|
-
firstName: z.string().max(255).optional(),
|
|
10
|
-
lastName: z.string().max(255).optional(),
|
|
11
|
-
roleId: z.uuid(),
|
|
12
|
-
phoneNumber: phoneNumberSchema.optional(),
|
|
13
|
-
userType: z.enum(UserTypeEnum),
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
export type UserInterface = z.infer<typeof baseZodUserSchema>;
|
package/src/zod-schemas/index.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export * from './baseZodSchemaSchema';
|
|
2
|
-
export * from './baseZodEntitySchema';
|
|
3
|
-
export * from './baseZodContentSchema';
|
|
4
|
-
export * from './baseZodContentRelationSchema';
|
|
5
|
-
export * from './baseZodUserRoleSchema';
|
|
6
|
-
export * from './baseZodUserSchema';
|
|
7
|
-
export * from './baseZodPermissionSchema';
|
|
8
|
-
export * from './phoneNumberSchema';
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { PhoneNumberTypes } from '../types/PhoneNumberTypes';
|
|
3
|
-
|
|
4
|
-
export const phoneNumberSchema = z.object({
|
|
5
|
-
countryCode: z.string(),
|
|
6
|
-
number: z.string(),
|
|
7
|
-
type: z.enum(PhoneNumberTypes),
|
|
8
|
-
});
|
|
9
|
-
|
|
10
|
-
export type PhoneNumberInterface = z.infer<typeof phoneNumberSchema>;
|