nextjs-cms 0.5.9 → 0.5.11
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/api/axios/axiosInstance.d.ts +1 -1
- package/dist/api/axios/axiosInstance.js +8 -8
- package/dist/api/index.d.ts +855 -855
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +12 -12
- package/dist/api/lib/serverActions.d.ts +239 -239
- package/dist/api/lib/serverActions.d.ts.map +1 -1
- package/dist/api/lib/serverActions.js +834 -834
- package/dist/api/root.d.ts +828 -828
- package/dist/api/root.js +30 -30
- package/dist/api/routers/accountSettings.d.ts +60 -60
- package/dist/api/routers/accountSettings.js +108 -108
- package/dist/api/routers/admins.d.ts +105 -105
- package/dist/api/routers/admins.js +219 -219
- package/dist/api/routers/auth.d.ts +47 -47
- package/dist/api/routers/auth.js +25 -25
- package/dist/api/routers/categorySection.d.ts +103 -103
- package/dist/api/routers/categorySection.js +38 -38
- package/dist/api/routers/cmsSettings.d.ts +48 -48
- package/dist/api/routers/cmsSettings.js +51 -51
- package/dist/api/routers/cpanel.d.ts +83 -83
- package/dist/api/routers/cpanel.js +216 -216
- package/dist/api/routers/files.d.ts +47 -47
- package/dist/api/routers/files.js +23 -23
- package/dist/api/routers/gallery.d.ts +35 -35
- package/dist/api/routers/gallery.js +62 -62
- package/dist/api/routers/googleAnalytics.d.ts +30 -30
- package/dist/api/routers/googleAnalytics.js +7 -7
- package/dist/api/routers/hasItemsSection.d.ts +139 -139
- package/dist/api/routers/hasItemsSection.js +34 -34
- package/dist/api/routers/navigation.d.ts +51 -51
- package/dist/api/routers/navigation.js +11 -11
- package/dist/api/routers/simpleSection.d.ts +57 -57
- package/dist/api/routers/simpleSection.js +12 -12
- package/dist/api/trpc.d.ts +106 -106
- package/dist/api/trpc.js +72 -72
- package/dist/auth/axios/axiosInstance.d.ts +1 -1
- package/dist/auth/axios/axiosInstance.js +8 -8
- package/dist/auth/csrf.d.ts +29 -29
- package/dist/auth/csrf.js +76 -76
- package/dist/auth/hooks/index.d.ts +3 -3
- package/dist/auth/hooks/index.d.ts.map +1 -1
- package/dist/auth/hooks/index.js +3 -3
- package/dist/auth/hooks/useAxiosPrivate.d.ts +4 -4
- package/dist/auth/hooks/useAxiosPrivate.js +74 -74
- package/dist/auth/hooks/useRefreshToken.d.ts +6 -6
- package/dist/auth/hooks/useRefreshToken.js +79 -79
- package/dist/auth/index.d.ts +22 -22
- package/dist/auth/index.js +44 -44
- package/dist/auth/jwt.d.ts +5 -5
- package/dist/auth/jwt.js +25 -25
- package/dist/auth/lib/actions.d.ts +32 -32
- package/dist/auth/lib/actions.d.ts.map +1 -1
- package/dist/auth/lib/actions.js +209 -209
- package/dist/auth/lib/client.d.ts +3 -3
- package/dist/auth/lib/client.js +46 -46
- package/dist/auth/lib/index.d.ts +2 -2
- package/dist/auth/lib/index.d.ts.map +1 -1
- package/dist/auth/lib/index.js +2 -2
- package/dist/auth/react.d.ts +105 -105
- package/dist/auth/react.d.ts.map +1 -1
- package/dist/auth/react.js +347 -347
- package/dist/auth/trpc.d.ts +5 -5
- package/dist/auth/trpc.d.ts.map +1 -1
- package/dist/auth/trpc.js +81 -81
- package/dist/core/config/config-loader.d.ts +91 -91
- package/dist/core/config/config-loader.js +230 -230
- package/dist/core/config/index.d.ts +2 -2
- package/dist/core/config/index.d.ts.map +1 -1
- package/dist/core/config/index.js +1 -1
- package/dist/core/config/loader.d.ts +1 -1
- package/dist/core/config/loader.js +42 -42
- package/dist/core/db/index.d.ts +1 -1
- package/dist/core/db/index.d.ts.map +1 -1
- package/dist/core/db/index.js +1 -1
- package/dist/core/db/table-checker/DbTable.d.ts +5 -5
- package/dist/core/db/table-checker/DbTable.js +5 -5
- package/dist/core/db/table-checker/MysqlTable.d.ts +33 -33
- package/dist/core/db/table-checker/MysqlTable.d.ts.map +1 -1
- package/dist/core/db/table-checker/MysqlTable.js +94 -94
- package/dist/core/db/table-checker/index.d.ts +1 -1
- package/dist/core/db/table-checker/index.d.ts.map +1 -1
- package/dist/core/db/table-checker/index.js +1 -1
- package/dist/core/factories/FieldFactory.d.ts +123 -123
- package/dist/core/factories/FieldFactory.d.ts.map +1 -1
- package/dist/core/factories/FieldFactory.js +411 -411
- package/dist/core/factories/SectionFactory.d.ts +109 -109
- package/dist/core/factories/SectionFactory.d.ts.map +1 -1
- package/dist/core/factories/SectionFactory.js +415 -415
- package/dist/core/factories/index.d.ts +2 -2
- package/dist/core/factories/index.d.ts.map +1 -1
- package/dist/core/factories/index.js +2 -2
- package/dist/core/fields/checkbox.d.ts +62 -62
- package/dist/core/fields/checkbox.d.ts.map +1 -1
- package/dist/core/fields/checkbox.js +62 -62
- package/dist/core/fields/color.d.ts +83 -83
- package/dist/core/fields/color.d.ts.map +1 -1
- package/dist/core/fields/color.js +91 -91
- package/dist/core/fields/date.d.ts +99 -99
- package/dist/core/fields/date.d.ts.map +1 -1
- package/dist/core/fields/date.js +108 -108
- package/dist/core/fields/document.d.ts +179 -179
- package/dist/core/fields/document.d.ts.map +1 -1
- package/dist/core/fields/document.js +277 -277
- package/dist/core/fields/field-group.d.ts +17 -17
- package/dist/core/fields/field-group.d.ts.map +1 -1
- package/dist/core/fields/field-group.js +6 -6
- package/dist/core/fields/field.d.ts +125 -125
- package/dist/core/fields/field.d.ts.map +1 -1
- package/dist/core/fields/field.js +148 -148
- package/dist/core/fields/fileField.d.ts +14 -14
- package/dist/core/fields/fileField.d.ts.map +1 -1
- package/dist/core/fields/fileField.js +5 -5
- package/dist/core/fields/index.d.ts +64 -64
- package/dist/core/fields/index.d.ts.map +1 -1
- package/dist/core/fields/index.js +18 -18
- package/dist/core/fields/map.d.ts +166 -166
- package/dist/core/fields/map.d.ts.map +1 -1
- package/dist/core/fields/map.js +152 -152
- package/dist/core/fields/number.d.ts +185 -185
- package/dist/core/fields/number.d.ts.map +1 -1
- package/dist/core/fields/number.js +241 -241
- package/dist/core/fields/password.d.ts +108 -108
- package/dist/core/fields/password.d.ts.map +1 -1
- package/dist/core/fields/password.js +133 -133
- package/dist/core/fields/photo.d.ts +288 -288
- package/dist/core/fields/photo.d.ts.map +1 -1
- package/dist/core/fields/photo.js +410 -410
- package/dist/core/fields/richText.d.ts +294 -294
- package/dist/core/fields/richText.d.ts.map +1 -1
- package/dist/core/fields/richText.js +338 -338
- package/dist/core/fields/select.d.ts +365 -365
- package/dist/core/fields/select.d.ts.map +1 -1
- package/dist/core/fields/select.js +499 -499
- package/dist/core/fields/selectMultiple.d.ts +235 -235
- package/dist/core/fields/selectMultiple.d.ts.map +1 -1
- package/dist/core/fields/selectMultiple.js +417 -417
- package/dist/core/fields/tags.d.ts +130 -130
- package/dist/core/fields/tags.d.ts.map +1 -1
- package/dist/core/fields/tags.js +105 -105
- package/dist/core/fields/text.d.ts +135 -135
- package/dist/core/fields/text.d.ts.map +1 -1
- package/dist/core/fields/text.js +157 -157
- package/dist/core/fields/textArea.d.ts +106 -106
- package/dist/core/fields/textArea.d.ts.map +1 -1
- package/dist/core/fields/textArea.js +126 -126
- package/dist/core/fields/video.d.ts +147 -147
- package/dist/core/fields/video.d.ts.map +1 -1
- package/dist/core/fields/video.js +248 -248
- package/dist/core/helpers/entity.d.ts +7 -7
- package/dist/core/helpers/entity.js +27 -27
- package/dist/core/helpers/index.d.ts +4 -4
- package/dist/core/helpers/index.d.ts.map +1 -1
- package/dist/core/helpers/index.js +3 -3
- package/dist/core/index.d.ts +7 -7
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +7 -7
- package/dist/core/sections/category.d.ts +282 -282
- package/dist/core/sections/category.d.ts.map +1 -1
- package/dist/core/sections/category.js +147 -147
- package/dist/core/sections/hasItems.d.ts +631 -631
- package/dist/core/sections/hasItems.d.ts.map +1 -1
- package/dist/core/sections/hasItems.js +144 -144
- package/dist/core/sections/index.d.ts +4 -4
- package/dist/core/sections/index.d.ts.map +1 -1
- package/dist/core/sections/index.js +4 -4
- package/dist/core/sections/section.d.ts +225 -225
- package/dist/core/sections/section.d.ts.map +1 -1
- package/dist/core/sections/section.js +341 -341
- package/dist/core/sections/simple.d.ts +98 -98
- package/dist/core/sections/simple.d.ts.map +1 -1
- package/dist/core/sections/simple.js +95 -95
- package/dist/core/security/dom.d.ts +10 -10
- package/dist/core/security/dom.js +92 -92
- package/dist/core/submit/ItemEditSubmit.d.ts +75 -75
- package/dist/core/submit/ItemEditSubmit.js +186 -186
- package/dist/core/submit/NewItemSubmit.d.ts +13 -13
- package/dist/core/submit/NewItemSubmit.js +93 -93
- package/dist/core/submit/SimpleSectionSubmit.d.ts +12 -12
- package/dist/core/submit/SimpleSectionSubmit.js +93 -93
- package/dist/core/submit/index.d.ts +4 -4
- package/dist/core/submit/index.js +4 -4
- package/dist/core/submit/submit.d.ts +115 -115
- package/dist/core/submit/submit.js +479 -479
- package/dist/core/types/index.d.ts +279 -279
- package/dist/core/types/index.d.ts.map +1 -1
- package/dist/core/types/index.js +1 -1
- package/dist/db/client.d.ts +8 -8
- package/dist/db/client.d.ts.map +1 -1
- package/dist/db/client.js +19 -19
- package/dist/db/config.d.ts +5 -5
- package/dist/db/config.js +22 -22
- package/dist/db/drizzle.config.d.ts +5 -5
- package/dist/db/drizzle.config.js +18 -18
- package/dist/db/index.d.ts +2 -2
- package/dist/db/index.js +3 -3
- package/dist/db/schema.d.ts +638 -638
- package/dist/db/schema.js +73 -73
- package/dist/index.d.ts +7 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -7
- package/dist/translations/index.d.ts +2 -2
- package/dist/translations/index.js +15 -15
- package/dist/utils/CpanelApi.d.ts +24 -24
- package/dist/utils/CpanelApi.js +64 -64
- package/dist/utils/constants.d.ts +13 -13
- package/dist/utils/constants.js +61 -61
- package/dist/utils/index.d.ts +4 -4
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +4 -4
- package/dist/utils/utils.d.ts +59 -59
- package/dist/utils/utils.js +132 -132
- package/dist/validators/checkbox.d.ts +3 -3
- package/dist/validators/checkbox.d.ts.map +1 -1
- package/dist/validators/checkbox.js +12 -12
- package/dist/validators/color.d.ts +3 -3
- package/dist/validators/color.d.ts.map +1 -1
- package/dist/validators/color.js +7 -7
- package/dist/validators/date.d.ts +3 -3
- package/dist/validators/date.d.ts.map +1 -1
- package/dist/validators/date.js +5 -5
- package/dist/validators/document.d.ts +3 -3
- package/dist/validators/document.d.ts.map +1 -1
- package/dist/validators/document.js +57 -57
- package/dist/validators/index.d.ts +14 -14
- package/dist/validators/index.d.ts.map +1 -1
- package/dist/validators/index.js +14 -14
- package/dist/validators/map.d.ts +3 -3
- package/dist/validators/map.d.ts.map +1 -1
- package/dist/validators/map.js +5 -5
- package/dist/validators/number.d.ts +3 -3
- package/dist/validators/number.d.ts.map +1 -1
- package/dist/validators/number.js +20 -20
- package/dist/validators/password.d.ts +3 -3
- package/dist/validators/password.d.ts.map +1 -1
- package/dist/validators/password.js +11 -11
- package/dist/validators/photo.d.ts +3 -3
- package/dist/validators/photo.d.ts.map +1 -1
- package/dist/validators/photo.js +100 -100
- package/dist/validators/richText.d.ts +3 -3
- package/dist/validators/richText.d.ts.map +1 -1
- package/dist/validators/richText.js +8 -8
- package/dist/validators/select-multiple.d.ts +9 -9
- package/dist/validators/select-multiple.d.ts.map +1 -1
- package/dist/validators/select-multiple.js +20 -20
- package/dist/validators/select.d.ts +3 -3
- package/dist/validators/select.d.ts.map +1 -1
- package/dist/validators/select.js +5 -5
- package/dist/validators/text.d.ts +3 -3
- package/dist/validators/text.d.ts.map +1 -1
- package/dist/validators/text.js +7 -7
- package/dist/validators/textarea.d.ts +3 -3
- package/dist/validators/textarea.d.ts.map +1 -1
- package/dist/validators/textarea.js +7 -7
- package/dist/validators/video.d.ts +3 -3
- package/dist/validators/video.d.ts.map +1 -1
- package/dist/validators/video.js +57 -57
- package/package.json +4 -5
|
@@ -1,109 +1,109 @@
|
|
|
1
|
-
import type { BaseFieldConfig } from
|
|
2
|
-
import { Field } from
|
|
3
|
-
import { entityKind } from
|
|
4
|
-
import * as z from 'zod';
|
|
5
|
-
declare const passwordValidationTypeSchema: z.ZodObject<{
|
|
6
|
-
regex: z.ZodCustom<RegExp, RegExp>;
|
|
7
|
-
message: z.ZodString;
|
|
8
|
-
}, z.core.$strict>;
|
|
9
|
-
export type PasswordValidationType = z.infer<typeof passwordValidationTypeSchema>;
|
|
10
|
-
declare const passwordFieldConfigSchema: z.ZodObject<{
|
|
11
|
-
placeholder: z.ZodOptional<z.ZodString>;
|
|
12
|
-
minLength: z.ZodOptional<z.ZodNumber>;
|
|
13
|
-
maxLength: z.ZodOptional<z.ZodNumber>;
|
|
14
|
-
userGenerated: z.ZodOptional<z.ZodBoolean>;
|
|
15
|
-
validation: z.ZodOptional<z.ZodObject<{
|
|
16
|
-
regex: z.ZodCustom<RegExp, RegExp>;
|
|
17
|
-
message: z.ZodString;
|
|
18
|
-
}, z.core.$strict>>;
|
|
19
|
-
}, z.core.$strict>;
|
|
20
|
-
type Config = z.infer<typeof passwordFieldConfigSchema>;
|
|
21
|
-
export declare class PasswordField extends Field<'password', Config> {
|
|
22
|
-
static readonly [entityKind]: string;
|
|
23
|
-
readonly maxLength: number | undefined;
|
|
24
|
-
readonly minLength: number | undefined;
|
|
25
|
-
readonly placeholder: string | undefined;
|
|
26
|
-
readonly validation: PasswordValidationType | undefined;
|
|
27
|
-
constructor(config: BaseFieldConfig<Config>);
|
|
28
|
-
/**
|
|
29
|
-
* bcrypt the value
|
|
30
|
-
*/
|
|
31
|
-
bcryptValue(): Promise<void>;
|
|
32
|
-
exportForClient(): {
|
|
33
|
-
maxLength: number | undefined;
|
|
34
|
-
minLength: number | undefined;
|
|
35
|
-
placeholder: string | undefined;
|
|
36
|
-
validation: {
|
|
37
|
-
regex: RegExp;
|
|
38
|
-
message: string;
|
|
39
|
-
} | undefined;
|
|
40
|
-
type: "password";
|
|
41
|
-
name: string;
|
|
42
|
-
label: string;
|
|
43
|
-
required: boolean;
|
|
44
|
-
conditionalFields: import("../types.js").ConditionalField[];
|
|
45
|
-
readonly: boolean;
|
|
46
|
-
defaultValue: any;
|
|
47
|
-
value: any;
|
|
48
|
-
};
|
|
49
|
-
/**
|
|
50
|
-
* Get the value of the field
|
|
51
|
-
*/
|
|
52
|
-
getValue(): string;
|
|
53
|
-
checkRequired(): void;
|
|
54
|
-
/**
|
|
55
|
-
* Prepare the field for submission
|
|
56
|
-
*/
|
|
57
|
-
prepareForSubmission(): Promise<void>;
|
|
58
|
-
}
|
|
59
|
-
export type PasswordFieldClientConfig = ReturnType<PasswordField['exportForClient']>;
|
|
60
|
-
declare const optionsSchema: z.ZodObject<{
|
|
61
|
-
placeholder: z.ZodOptional<z.ZodString>;
|
|
62
|
-
minLength: z.ZodOptional<z.ZodNumber>;
|
|
63
|
-
maxLength: z.ZodOptional<z.ZodNumber>;
|
|
64
|
-
userGenerated: z.ZodOptional<z.ZodBoolean>;
|
|
65
|
-
validation: z.ZodOptional<z.ZodObject<{
|
|
66
|
-
regex: z.ZodCustom<RegExp, RegExp>;
|
|
67
|
-
message: z.ZodString;
|
|
68
|
-
}, z.core.$strict>>;
|
|
69
|
-
name: z.ZodString;
|
|
70
|
-
label: z.ZodOptional<z.ZodString>;
|
|
71
|
-
required: z.ZodOptional<z.ZodBoolean>;
|
|
72
|
-
defaultValue: z.ZodOptional<z.ZodAny>;
|
|
73
|
-
order: z.ZodOptional<z.ZodNumber>;
|
|
74
|
-
conditionalRules: z.ZodOptional<z.ZodArray<z.ZodCustom<import("../types.js").ConditionalRule, import("../types.js").ConditionalRule>>>;
|
|
75
|
-
adminGenerated: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<true>, z.ZodLiteral<false>, z.ZodLiteral<"readonly">]>>;
|
|
76
|
-
}, z.core.$strict>;
|
|
77
|
-
declare const configSchema: z.ZodObject<{
|
|
78
|
-
type: z.ZodLiteral<"password">;
|
|
79
|
-
build: z.ZodFunction<z.core.$ZodFunctionArgs, z.ZodCustom<PasswordField, PasswordField>>;
|
|
80
|
-
placeholder: z.ZodOptional<z.ZodString>;
|
|
81
|
-
minLength: z.ZodOptional<z.ZodNumber>;
|
|
82
|
-
maxLength: z.ZodOptional<z.ZodNumber>;
|
|
83
|
-
userGenerated: z.ZodOptional<z.ZodBoolean>;
|
|
84
|
-
validation: z.ZodOptional<z.ZodObject<{
|
|
85
|
-
regex: z.ZodCustom<RegExp, RegExp>;
|
|
86
|
-
message: z.ZodString;
|
|
87
|
-
}, z.core.$strict>>;
|
|
88
|
-
name: z.ZodString;
|
|
89
|
-
label: z.ZodOptional<z.ZodString>;
|
|
90
|
-
required: z.ZodOptional<z.ZodBoolean>;
|
|
91
|
-
defaultValue: z.ZodOptional<z.ZodAny>;
|
|
92
|
-
order: z.ZodOptional<z.ZodNumber>;
|
|
93
|
-
conditionalRules: z.ZodOptional<z.ZodArray<z.ZodCustom<import("../types.js").ConditionalRule, import("../types.js").ConditionalRule>>>;
|
|
94
|
-
adminGenerated: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<true>, z.ZodLiteral<false>, z.ZodLiteral<"readonly">]>>;
|
|
95
|
-
}, z.core.$strict>;
|
|
96
|
-
/**
|
|
97
|
-
* Password field configuration type
|
|
98
|
-
* This is a plain object that can be serialized and used anywhere
|
|
99
|
-
* The build() method allows creating a PasswordField instance when needed
|
|
100
|
-
*/
|
|
101
|
-
export type PasswordFieldConfig = z.infer<typeof configSchema>;
|
|
102
|
-
/**
|
|
103
|
-
* Helper function to create a password field configuration
|
|
104
|
-
* Returns a config object with a build() method that can be serialized and used anywhere
|
|
105
|
-
* @param field
|
|
106
|
-
*/
|
|
107
|
-
export declare function passwordField(field: z.infer<typeof optionsSchema>): PasswordFieldConfig;
|
|
108
|
-
export {};
|
|
1
|
+
import type { BaseFieldConfig } from './field.js';
|
|
2
|
+
import { Field } from './field.js';
|
|
3
|
+
import { entityKind } from '../helpers/index.js';
|
|
4
|
+
import * as z from 'zod';
|
|
5
|
+
declare const passwordValidationTypeSchema: z.ZodObject<{
|
|
6
|
+
regex: z.ZodCustom<RegExp, RegExp>;
|
|
7
|
+
message: z.ZodString;
|
|
8
|
+
}, z.core.$strict>;
|
|
9
|
+
export type PasswordValidationType = z.infer<typeof passwordValidationTypeSchema>;
|
|
10
|
+
declare const passwordFieldConfigSchema: z.ZodObject<{
|
|
11
|
+
placeholder: z.ZodOptional<z.ZodString>;
|
|
12
|
+
minLength: z.ZodOptional<z.ZodNumber>;
|
|
13
|
+
maxLength: z.ZodOptional<z.ZodNumber>;
|
|
14
|
+
userGenerated: z.ZodOptional<z.ZodBoolean>;
|
|
15
|
+
validation: z.ZodOptional<z.ZodObject<{
|
|
16
|
+
regex: z.ZodCustom<RegExp, RegExp>;
|
|
17
|
+
message: z.ZodString;
|
|
18
|
+
}, z.core.$strict>>;
|
|
19
|
+
}, z.core.$strict>;
|
|
20
|
+
type Config = z.infer<typeof passwordFieldConfigSchema>;
|
|
21
|
+
export declare class PasswordField extends Field<'password', Config> {
|
|
22
|
+
static readonly [entityKind]: string;
|
|
23
|
+
readonly maxLength: number | undefined;
|
|
24
|
+
readonly minLength: number | undefined;
|
|
25
|
+
readonly placeholder: string | undefined;
|
|
26
|
+
readonly validation: PasswordValidationType | undefined;
|
|
27
|
+
constructor(config: BaseFieldConfig<Config>);
|
|
28
|
+
/**
|
|
29
|
+
* bcrypt the value
|
|
30
|
+
*/
|
|
31
|
+
bcryptValue(): Promise<void>;
|
|
32
|
+
exportForClient(): {
|
|
33
|
+
maxLength: number | undefined;
|
|
34
|
+
minLength: number | undefined;
|
|
35
|
+
placeholder: string | undefined;
|
|
36
|
+
validation: {
|
|
37
|
+
regex: RegExp;
|
|
38
|
+
message: string;
|
|
39
|
+
} | undefined;
|
|
40
|
+
type: "password";
|
|
41
|
+
name: string;
|
|
42
|
+
label: string;
|
|
43
|
+
required: boolean;
|
|
44
|
+
conditionalFields: import("../types/index.js").ConditionalField[];
|
|
45
|
+
readonly: boolean;
|
|
46
|
+
defaultValue: any;
|
|
47
|
+
value: any;
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Get the value of the field
|
|
51
|
+
*/
|
|
52
|
+
getValue(): string;
|
|
53
|
+
checkRequired(): void;
|
|
54
|
+
/**
|
|
55
|
+
* Prepare the field for submission
|
|
56
|
+
*/
|
|
57
|
+
prepareForSubmission(): Promise<void>;
|
|
58
|
+
}
|
|
59
|
+
export type PasswordFieldClientConfig = ReturnType<PasswordField['exportForClient']>;
|
|
60
|
+
declare const optionsSchema: z.ZodObject<{
|
|
61
|
+
placeholder: z.ZodOptional<z.ZodString>;
|
|
62
|
+
minLength: z.ZodOptional<z.ZodNumber>;
|
|
63
|
+
maxLength: z.ZodOptional<z.ZodNumber>;
|
|
64
|
+
userGenerated: z.ZodOptional<z.ZodBoolean>;
|
|
65
|
+
validation: z.ZodOptional<z.ZodObject<{
|
|
66
|
+
regex: z.ZodCustom<RegExp, RegExp>;
|
|
67
|
+
message: z.ZodString;
|
|
68
|
+
}, z.core.$strict>>;
|
|
69
|
+
name: z.ZodString;
|
|
70
|
+
label: z.ZodOptional<z.ZodString>;
|
|
71
|
+
required: z.ZodOptional<z.ZodBoolean>;
|
|
72
|
+
defaultValue: z.ZodOptional<z.ZodAny>;
|
|
73
|
+
order: z.ZodOptional<z.ZodNumber>;
|
|
74
|
+
conditionalRules: z.ZodOptional<z.ZodArray<z.ZodCustom<import("../types/index.js").ConditionalRule, import("../types/index.js").ConditionalRule>>>;
|
|
75
|
+
adminGenerated: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<true>, z.ZodLiteral<false>, z.ZodLiteral<"readonly">]>>;
|
|
76
|
+
}, z.core.$strict>;
|
|
77
|
+
declare const configSchema: z.ZodObject<{
|
|
78
|
+
type: z.ZodLiteral<"password">;
|
|
79
|
+
build: z.ZodFunction<z.core.$ZodFunctionArgs, z.ZodCustom<PasswordField, PasswordField>>;
|
|
80
|
+
placeholder: z.ZodOptional<z.ZodString>;
|
|
81
|
+
minLength: z.ZodOptional<z.ZodNumber>;
|
|
82
|
+
maxLength: z.ZodOptional<z.ZodNumber>;
|
|
83
|
+
userGenerated: z.ZodOptional<z.ZodBoolean>;
|
|
84
|
+
validation: z.ZodOptional<z.ZodObject<{
|
|
85
|
+
regex: z.ZodCustom<RegExp, RegExp>;
|
|
86
|
+
message: z.ZodString;
|
|
87
|
+
}, z.core.$strict>>;
|
|
88
|
+
name: z.ZodString;
|
|
89
|
+
label: z.ZodOptional<z.ZodString>;
|
|
90
|
+
required: z.ZodOptional<z.ZodBoolean>;
|
|
91
|
+
defaultValue: z.ZodOptional<z.ZodAny>;
|
|
92
|
+
order: z.ZodOptional<z.ZodNumber>;
|
|
93
|
+
conditionalRules: z.ZodOptional<z.ZodArray<z.ZodCustom<import("../types/index.js").ConditionalRule, import("../types/index.js").ConditionalRule>>>;
|
|
94
|
+
adminGenerated: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<true>, z.ZodLiteral<false>, z.ZodLiteral<"readonly">]>>;
|
|
95
|
+
}, z.core.$strict>;
|
|
96
|
+
/**
|
|
97
|
+
* Password field configuration type
|
|
98
|
+
* This is a plain object that can be serialized and used anywhere
|
|
99
|
+
* The build() method allows creating a PasswordField instance when needed
|
|
100
|
+
*/
|
|
101
|
+
export type PasswordFieldConfig = z.infer<typeof configSchema>;
|
|
102
|
+
/**
|
|
103
|
+
* Helper function to create a password field configuration
|
|
104
|
+
* Returns a config object with a build() method that can be serialized and used anywhere
|
|
105
|
+
* @param field
|
|
106
|
+
*/
|
|
107
|
+
export declare function passwordField(field: z.infer<typeof optionsSchema>): PasswordFieldConfig;
|
|
108
|
+
export {};
|
|
109
109
|
//# sourceMappingURL=password.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"password.d.ts","sourceRoot":"","sources":["../../../src/core/fields/password.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"password.d.ts","sourceRoot":"","sources":["../../../src/core/fields/password.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,KAAK,EAAyB,MAAM,YAAY,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAEhD,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAExB,QAAA,MAAM,4BAA4B;;;kBAGhC,CAAA;AAEF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAA;AAEjF,QAAA,MAAM,yBAAyB;;;;;;;;;kBAM7B,CAAA;AAEF,KAAK,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEvD,qBAAa,aAAc,SAAQ,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC;IACxD,gBAAyB,CAAC,UAAU,CAAC,EAAE,MAAM,CAAkB;IAC/D,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IACxC,QAAQ,CAAC,UAAU,EAAE,sBAAsB,GAAG,SAAS,CAAA;gBAE3C,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC;IAQ3C;;OAEG;IACG,WAAW;IAMD,eAAe;;;;;;;;;;;;;;;;;IAU/B;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB,aAAa;IAWb;;OAEG;IACG,oBAAoB;CAuC7B;AAED,MAAM,MAAM,yBAAyB,GAAG,UAAU,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAEpF,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;kBAGjB,CAAA;AAEF,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;kBAIhB,CAAA;AAEF;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;AAE9D;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,GAAG,mBAAmB,CAmBvF"}
|
|
@@ -1,133 +1,133 @@
|
|
|
1
|
-
import { Field, baseFieldConfigSchema } from
|
|
2
|
-
import { entityKind } from
|
|
3
|
-
import bcrypt from 'bcrypt';
|
|
4
|
-
import * as z from 'zod';
|
|
5
|
-
const passwordValidationTypeSchema = z.strictObject({
|
|
6
|
-
regex: z.custom().describe('The regex pattern for validation'),
|
|
7
|
-
message: z.string().describe('The error message if validation fails'),
|
|
8
|
-
});
|
|
9
|
-
const passwordFieldConfigSchema = z.strictObject({
|
|
10
|
-
placeholder: z.string().optional().describe('The placeholder text for the field'),
|
|
11
|
-
minLength: z.number().optional().describe('The minimum length of the field value'),
|
|
12
|
-
maxLength: z.number().optional().describe('The maximum length of the field value'),
|
|
13
|
-
userGenerated: z.boolean().optional().describe('Whether the field is user generated'),
|
|
14
|
-
validation: passwordValidationTypeSchema.optional().describe('Validation rules for the password'),
|
|
15
|
-
});
|
|
16
|
-
export class PasswordField extends Field {
|
|
17
|
-
static [entityKind] = 'PasswordField';
|
|
18
|
-
maxLength;
|
|
19
|
-
minLength;
|
|
20
|
-
placeholder;
|
|
21
|
-
validation;
|
|
22
|
-
constructor(config) {
|
|
23
|
-
super(config, 'password');
|
|
24
|
-
this.maxLength = config.maxLength;
|
|
25
|
-
this.minLength = config.minLength;
|
|
26
|
-
this.placeholder = config.placeholder;
|
|
27
|
-
this.validation = config.validation;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* bcrypt the value
|
|
31
|
-
*/
|
|
32
|
-
async bcryptValue() {
|
|
33
|
-
if (this.value) {
|
|
34
|
-
this.value = await bcrypt.hash(this.value, 10);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
exportForClient() {
|
|
38
|
-
return {
|
|
39
|
-
...super.exportForClient(),
|
|
40
|
-
maxLength: this.maxLength,
|
|
41
|
-
minLength: this.minLength,
|
|
42
|
-
placeholder: this.placeholder,
|
|
43
|
-
validation: this.validation,
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Get the value of the field
|
|
48
|
-
*/
|
|
49
|
-
getValue() {
|
|
50
|
-
return this.value;
|
|
51
|
-
}
|
|
52
|
-
checkRequired() {
|
|
53
|
-
/**
|
|
54
|
-
* Check if the field is required
|
|
55
|
-
*/
|
|
56
|
-
if (this.adminGenerated && this.required) {
|
|
57
|
-
if (!this.value || this.value.trim().length === 0) {
|
|
58
|
-
throw new Error(`Field ${this.label} is required`);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Prepare the field for submission
|
|
64
|
-
*/
|
|
65
|
-
async prepareForSubmission() {
|
|
66
|
-
/**
|
|
67
|
-
* Validate the value
|
|
68
|
-
*/
|
|
69
|
-
if (this.validation && this.validation.regex && this.validation.message) {
|
|
70
|
-
/**
|
|
71
|
-
* Check the provided regex
|
|
72
|
-
*/
|
|
73
|
-
if (!this.validation.regex.test(this.value)) {
|
|
74
|
-
/**
|
|
75
|
-
* Display the provided message
|
|
76
|
-
*/
|
|
77
|
-
throw new Error(`Field ${this.label}: ${this.validation.message}`);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Check minimum length
|
|
82
|
-
*/
|
|
83
|
-
if (this.minLength) {
|
|
84
|
-
if (this.minLength > this.value.length) {
|
|
85
|
-
throw new Error(`Field ${this.label} must be at least ${this.minLength} characters long`);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Check maximum length
|
|
90
|
-
*/
|
|
91
|
-
if (this.maxLength) {
|
|
92
|
-
if (this.maxLength < this.value.length) {
|
|
93
|
-
throw new Error(`Field ${this.label} must be at most ${this.maxLength} characters long`);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* bcrypt the value, do this only once for a field
|
|
98
|
-
*/
|
|
99
|
-
await this.bcryptValue();
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
const optionsSchema = z.strictObject({
|
|
103
|
-
...baseFieldConfigSchema.shape,
|
|
104
|
-
...passwordFieldConfigSchema.shape,
|
|
105
|
-
});
|
|
106
|
-
const configSchema = z.strictObject({
|
|
107
|
-
...optionsSchema.shape,
|
|
108
|
-
type: z.literal('password').describe('The type of the field'),
|
|
109
|
-
build: z.function().output(z.instanceof(PasswordField)).describe('Build a PasswordField instance from this config'),
|
|
110
|
-
});
|
|
111
|
-
/**
|
|
112
|
-
* Helper function to create a password field configuration
|
|
113
|
-
* Returns a config object with a build() method that can be serialized and used anywhere
|
|
114
|
-
* @param field
|
|
115
|
-
*/
|
|
116
|
-
export function passwordField(field) {
|
|
117
|
-
/**
|
|
118
|
-
* Validate the field config
|
|
119
|
-
*/
|
|
120
|
-
const result = optionsSchema.safeParse(field);
|
|
121
|
-
if (!result.success) {
|
|
122
|
-
throw new Error(`[Field: ${field.name}]: ${z.prettifyError(result.error)}`);
|
|
123
|
-
}
|
|
124
|
-
const config = {
|
|
125
|
-
...field,
|
|
126
|
-
type: 'password',
|
|
127
|
-
build() {
|
|
128
|
-
// Use the original field config directly (it doesn't have build() method)
|
|
129
|
-
return new PasswordField(field);
|
|
130
|
-
},
|
|
131
|
-
};
|
|
132
|
-
return config;
|
|
133
|
-
}
|
|
1
|
+
import { Field, baseFieldConfigSchema } from './field.js';
|
|
2
|
+
import { entityKind } from '../helpers/index.js';
|
|
3
|
+
import bcrypt from 'bcrypt';
|
|
4
|
+
import * as z from 'zod';
|
|
5
|
+
const passwordValidationTypeSchema = z.strictObject({
|
|
6
|
+
regex: z.custom().describe('The regex pattern for validation'),
|
|
7
|
+
message: z.string().describe('The error message if validation fails'),
|
|
8
|
+
});
|
|
9
|
+
const passwordFieldConfigSchema = z.strictObject({
|
|
10
|
+
placeholder: z.string().optional().describe('The placeholder text for the field'),
|
|
11
|
+
minLength: z.number().optional().describe('The minimum length of the field value'),
|
|
12
|
+
maxLength: z.number().optional().describe('The maximum length of the field value'),
|
|
13
|
+
userGenerated: z.boolean().optional().describe('Whether the field is user generated'),
|
|
14
|
+
validation: passwordValidationTypeSchema.optional().describe('Validation rules for the password'),
|
|
15
|
+
});
|
|
16
|
+
export class PasswordField extends Field {
|
|
17
|
+
static [entityKind] = 'PasswordField';
|
|
18
|
+
maxLength;
|
|
19
|
+
minLength;
|
|
20
|
+
placeholder;
|
|
21
|
+
validation;
|
|
22
|
+
constructor(config) {
|
|
23
|
+
super(config, 'password');
|
|
24
|
+
this.maxLength = config.maxLength;
|
|
25
|
+
this.minLength = config.minLength;
|
|
26
|
+
this.placeholder = config.placeholder;
|
|
27
|
+
this.validation = config.validation;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* bcrypt the value
|
|
31
|
+
*/
|
|
32
|
+
async bcryptValue() {
|
|
33
|
+
if (this.value) {
|
|
34
|
+
this.value = await bcrypt.hash(this.value, 10);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
exportForClient() {
|
|
38
|
+
return {
|
|
39
|
+
...super.exportForClient(),
|
|
40
|
+
maxLength: this.maxLength,
|
|
41
|
+
minLength: this.minLength,
|
|
42
|
+
placeholder: this.placeholder,
|
|
43
|
+
validation: this.validation,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Get the value of the field
|
|
48
|
+
*/
|
|
49
|
+
getValue() {
|
|
50
|
+
return this.value;
|
|
51
|
+
}
|
|
52
|
+
checkRequired() {
|
|
53
|
+
/**
|
|
54
|
+
* Check if the field is required
|
|
55
|
+
*/
|
|
56
|
+
if (this.adminGenerated && this.required) {
|
|
57
|
+
if (!this.value || this.value.trim().length === 0) {
|
|
58
|
+
throw new Error(`Field ${this.label} is required`);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Prepare the field for submission
|
|
64
|
+
*/
|
|
65
|
+
async prepareForSubmission() {
|
|
66
|
+
/**
|
|
67
|
+
* Validate the value
|
|
68
|
+
*/
|
|
69
|
+
if (this.validation && this.validation.regex && this.validation.message) {
|
|
70
|
+
/**
|
|
71
|
+
* Check the provided regex
|
|
72
|
+
*/
|
|
73
|
+
if (!this.validation.regex.test(this.value)) {
|
|
74
|
+
/**
|
|
75
|
+
* Display the provided message
|
|
76
|
+
*/
|
|
77
|
+
throw new Error(`Field ${this.label}: ${this.validation.message}`);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Check minimum length
|
|
82
|
+
*/
|
|
83
|
+
if (this.minLength) {
|
|
84
|
+
if (this.minLength > this.value.length) {
|
|
85
|
+
throw new Error(`Field ${this.label} must be at least ${this.minLength} characters long`);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Check maximum length
|
|
90
|
+
*/
|
|
91
|
+
if (this.maxLength) {
|
|
92
|
+
if (this.maxLength < this.value.length) {
|
|
93
|
+
throw new Error(`Field ${this.label} must be at most ${this.maxLength} characters long`);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* bcrypt the value, do this only once for a field
|
|
98
|
+
*/
|
|
99
|
+
await this.bcryptValue();
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
const optionsSchema = z.strictObject({
|
|
103
|
+
...baseFieldConfigSchema.shape,
|
|
104
|
+
...passwordFieldConfigSchema.shape,
|
|
105
|
+
});
|
|
106
|
+
const configSchema = z.strictObject({
|
|
107
|
+
...optionsSchema.shape,
|
|
108
|
+
type: z.literal('password').describe('The type of the field'),
|
|
109
|
+
build: z.function().output(z.instanceof(PasswordField)).describe('Build a PasswordField instance from this config'),
|
|
110
|
+
});
|
|
111
|
+
/**
|
|
112
|
+
* Helper function to create a password field configuration
|
|
113
|
+
* Returns a config object with a build() method that can be serialized and used anywhere
|
|
114
|
+
* @param field
|
|
115
|
+
*/
|
|
116
|
+
export function passwordField(field) {
|
|
117
|
+
/**
|
|
118
|
+
* Validate the field config
|
|
119
|
+
*/
|
|
120
|
+
const result = optionsSchema.safeParse(field);
|
|
121
|
+
if (!result.success) {
|
|
122
|
+
throw new Error(`[Field: ${field.name}]: ${z.prettifyError(result.error)}`);
|
|
123
|
+
}
|
|
124
|
+
const config = {
|
|
125
|
+
...field,
|
|
126
|
+
type: 'password',
|
|
127
|
+
build() {
|
|
128
|
+
// Use the original field config directly (it doesn't have build() method)
|
|
129
|
+
return new PasswordField(field);
|
|
130
|
+
},
|
|
131
|
+
};
|
|
132
|
+
return config;
|
|
133
|
+
}
|