nextjs-cms 0.5.75 → 0.5.77

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.
@@ -346,8 +346,8 @@ declare const selectFieldConfigSchema: z.ZodIntersection<z.ZodUnion<readonly [z.
346
346
  }, z.core.$strict>]>, z.ZodObject<{
347
347
  type: z.ZodLiteral<"select">;
348
348
  optionsType: z.ZodEnum<{
349
- section: "section";
350
349
  db: "db";
350
+ section: "section";
351
351
  static: "static";
352
352
  }>;
353
353
  build: z.ZodFunction<z.core.$ZodFunctionArgs, z.ZodCustom<SelectField, SelectField>>;
@@ -118,6 +118,8 @@ declare const optionsSchema: z.ZodObject<{
118
118
  allowRecursiveDelete: z.ZodOptional<z.ZodBoolean>;
119
119
  fields: z.ZodUnion<[z.ZodArray<z.ZodCustom<FieldConfig, FieldConfig>>, z.ZodArray<z.ZodCustom<FieldGroupConfig, FieldGroupConfig>>]>;
120
120
  name: z.ZodString;
121
+ order: z.ZodNumber;
122
+ readonly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
121
123
  db: z.ZodObject<{
122
124
  table: z.ZodString;
123
125
  identifier: z.ZodOptional<z.ZodCustom<FieldConfig, FieldConfig>>;
@@ -141,9 +143,6 @@ declare const optionsSchema: z.ZodObject<{
141
143
  name: z.ZodOptional<z.ZodString>;
142
144
  }, z.core.$strict>>>;
143
145
  }, z.core.$strict>;
144
- variants: z.ZodOptional<z.ZodArray<z.ZodCustom<import("../types/index.js").Variant, import("../types/index.js").Variant>>>;
145
- order: z.ZodNumber;
146
- readonly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
147
146
  icon: z.ZodOptional<z.ZodString>;
148
147
  gallery: z.ZodOptional<z.ZodObject<{
149
148
  db: z.ZodObject<{
@@ -160,6 +159,7 @@ declare const optionsSchema: z.ZodObject<{
160
159
  quality: z.ZodNumber;
161
160
  }, z.core.$strict>>;
162
161
  }, z.core.$strict>>;
162
+ variants: z.ZodOptional<z.ZodArray<z.ZodCustom<import("../types/index.js").Variant, import("../types/index.js").Variant>>>;
163
163
  hooks: z.ZodOptional<z.ZodCustom<import("./section.js").Hooks, import("./section.js").Hooks>>;
164
164
  }, z.core.$strict>;
165
165
  export declare const categorySectionConfigSchema: z.ZodObject<{
@@ -215,6 +215,8 @@ export declare const categorySectionConfigSchema: z.ZodObject<{
215
215
  */
216
216
  allowRecursiveDelete: z.ZodOptional<z.ZodBoolean>;
217
217
  name: z.ZodString;
218
+ order: z.ZodNumber;
219
+ readonly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
218
220
  db: z.ZodObject<{
219
221
  table: z.ZodString;
220
222
  identifier: z.ZodOptional<z.ZodCustom<FieldConfig, FieldConfig>>;
@@ -238,9 +240,6 @@ export declare const categorySectionConfigSchema: z.ZodObject<{
238
240
  name: z.ZodOptional<z.ZodString>;
239
241
  }, z.core.$strict>>>;
240
242
  }, z.core.$strict>;
241
- variants: z.ZodOptional<z.ZodArray<z.ZodCustom<import("../types/index.js").Variant, import("../types/index.js").Variant>>>;
242
- order: z.ZodNumber;
243
- readonly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
244
243
  icon: z.ZodOptional<z.ZodString>;
245
244
  gallery: z.ZodOptional<z.ZodObject<{
246
245
  db: z.ZodObject<{
@@ -257,6 +256,7 @@ export declare const categorySectionConfigSchema: z.ZodObject<{
257
256
  quality: z.ZodNumber;
258
257
  }, z.core.$strict>>;
259
258
  }, z.core.$strict>>;
259
+ variants: z.ZodOptional<z.ZodArray<z.ZodCustom<import("../types/index.js").Variant, import("../types/index.js").Variant>>>;
260
260
  hooks: z.ZodOptional<z.ZodCustom<import("./section.js").Hooks, import("./section.js").Hooks>>;
261
261
  }, z.core.$strict>;
262
262
  export type CategorySectionOptions = z.infer<typeof optionsSchema>;
@@ -369,6 +369,8 @@ declare const optionsSchema: z.ZodObject<{
369
369
  generateQR: z.ZodOptional<z.ZodBoolean>;
370
370
  fields: z.ZodUnion<[z.ZodArray<z.ZodCustom<FieldConfig, FieldConfig>>, z.ZodArray<z.ZodCustom<FieldGroupConfig, FieldGroupConfig>>]>;
371
371
  name: z.ZodString;
372
+ order: z.ZodNumber;
373
+ readonly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
372
374
  db: z.ZodObject<{
373
375
  table: z.ZodString;
374
376
  identifier: z.ZodOptional<z.ZodCustom<FieldConfig, FieldConfig>>;
@@ -392,9 +394,6 @@ declare const optionsSchema: z.ZodObject<{
392
394
  name: z.ZodOptional<z.ZodString>;
393
395
  }, z.core.$strict>>>;
394
396
  }, z.core.$strict>;
395
- variants: z.ZodOptional<z.ZodArray<z.ZodCustom<import("../types/index.js").Variant, import("../types/index.js").Variant>>>;
396
- order: z.ZodNumber;
397
- readonly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
398
397
  icon: z.ZodOptional<z.ZodString>;
399
398
  gallery: z.ZodOptional<z.ZodObject<{
400
399
  db: z.ZodObject<{
@@ -411,6 +410,7 @@ declare const optionsSchema: z.ZodObject<{
411
410
  quality: z.ZodNumber;
412
411
  }, z.core.$strict>>;
413
412
  }, z.core.$strict>>;
413
+ variants: z.ZodOptional<z.ZodArray<z.ZodCustom<import("../types/index.js").Variant, import("../types/index.js").Variant>>>;
414
414
  hooks: z.ZodOptional<z.ZodCustom<import("./section.js").Hooks, import("./section.js").Hooks>>;
415
415
  }, z.core.$strict>;
416
416
  declare const hasItemsSectionConfigSchema: z.ZodObject<{
@@ -586,6 +586,8 @@ declare const hasItemsSectionConfigSchema: z.ZodObject<{
586
586
  }>>;
587
587
  generateQR: z.ZodOptional<z.ZodBoolean>;
588
588
  name: z.ZodString;
589
+ order: z.ZodNumber;
590
+ readonly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
589
591
  db: z.ZodObject<{
590
592
  table: z.ZodString;
591
593
  identifier: z.ZodOptional<z.ZodCustom<FieldConfig, FieldConfig>>;
@@ -609,9 +611,6 @@ declare const hasItemsSectionConfigSchema: z.ZodObject<{
609
611
  name: z.ZodOptional<z.ZodString>;
610
612
  }, z.core.$strict>>>;
611
613
  }, z.core.$strict>;
612
- variants: z.ZodOptional<z.ZodArray<z.ZodCustom<import("../types/index.js").Variant, import("../types/index.js").Variant>>>;
613
- order: z.ZodNumber;
614
- readonly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
615
614
  icon: z.ZodOptional<z.ZodString>;
616
615
  gallery: z.ZodOptional<z.ZodObject<{
617
616
  db: z.ZodObject<{
@@ -628,6 +627,7 @@ declare const hasItemsSectionConfigSchema: z.ZodObject<{
628
627
  quality: z.ZodNumber;
629
628
  }, z.core.$strict>>;
630
629
  }, z.core.$strict>>;
630
+ variants: z.ZodOptional<z.ZodArray<z.ZodCustom<import("../types/index.js").Variant, import("../types/index.js").Variant>>>;
631
631
  hooks: z.ZodOptional<z.ZodCustom<import("./section.js").Hooks, import("./section.js").Hooks>>;
632
632
  }, z.core.$strict>;
633
633
  export type HasItemsSectionOptions = z.infer<typeof optionsSchema>;
@@ -63,6 +63,8 @@ export declare const baseSectionOptionsSchema: z.ZodObject<{
63
63
  export declare const baseHelperFunctionOptionsSchema: z.ZodObject<{
64
64
  fields: z.ZodUnion<[z.ZodArray<z.ZodCustom<FieldConfig, FieldConfig>>, z.ZodArray<z.ZodCustom<FieldGroupConfig, FieldGroupConfig>>]>;
65
65
  name: z.ZodString;
66
+ order: z.ZodNumber;
67
+ readonly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
66
68
  db: z.ZodObject<{
67
69
  table: z.ZodString;
68
70
  identifier: z.ZodOptional<z.ZodCustom<FieldConfig, FieldConfig>>;
@@ -86,9 +88,6 @@ export declare const baseHelperFunctionOptionsSchema: z.ZodObject<{
86
88
  name: z.ZodOptional<z.ZodString>;
87
89
  }, z.core.$strict>>>;
88
90
  }, z.core.$strict>;
89
- variants: z.ZodOptional<z.ZodArray<z.ZodCustom<Variant, Variant>>>;
90
- order: z.ZodNumber;
91
- readonly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
92
91
  icon: z.ZodOptional<z.ZodString>;
93
92
  gallery: z.ZodOptional<z.ZodObject<{
94
93
  db: z.ZodObject<{
@@ -105,16 +104,31 @@ export declare const baseHelperFunctionOptionsSchema: z.ZodObject<{
105
104
  quality: z.ZodNumber;
106
105
  }, z.core.$strict>>;
107
106
  }, z.core.$strict>>;
107
+ variants: z.ZodOptional<z.ZodArray<z.ZodCustom<Variant, Variant>>>;
108
108
  hooks: z.ZodOptional<z.ZodCustom<Hooks, Hooks>>;
109
109
  }, z.core.$strict>;
110
110
  export declare function validateSectionConfig(config: BaseSectionOptions): void;
111
+ export type BeforeUpdateContext = {
112
+ itemId?: string | number;
113
+ values: Record<string, unknown>;
114
+ section: Section;
115
+ };
111
116
  export type AfterUpdateContext = {
112
117
  itemId?: string | number;
113
118
  values: Record<string, unknown>;
114
119
  section: Section;
115
120
  };
121
+ export type OnErrorContext = {
122
+ itemId?: string | number;
123
+ values: Record<string, unknown>;
124
+ section: Section;
125
+ errorMessage: string;
126
+ error?: unknown;
127
+ };
116
128
  export type Hooks = {
129
+ beforeUpdate?: (ctx: BeforeUpdateContext) => Promise<void> | void;
117
130
  afterUpdate?: (ctx: AfterUpdateContext) => Promise<void> | void;
131
+ onError?: (ctx: OnErrorContext) => Promise<void> | void;
118
132
  };
119
133
  export declare abstract class Section<TExtraSectionConfig extends object = object> {
120
134
  static readonly [entityKind]: string;
@@ -1 +1 @@
1
- {"version":3,"file":"section.d.ts","sourceRoot":"","sources":["../../../src/core/sections/section.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"section.d.ts","sourceRoot":"","sources":["../../../src/core/sections/section.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,6 @@ declare const optionsSchema: z.ZodObject<{
23
23
  }, z.core.$strict>;
24
24
  fields: z.ZodUnion<[z.ZodArray<z.ZodCustom<FieldConfig, FieldConfig>>, z.ZodArray<z.ZodCustom<FieldGroupConfig, FieldGroupConfig>>]>;
25
25
  name: z.ZodString;
26
- variants: z.ZodOptional<z.ZodArray<z.ZodCustom<import("../types/index.js").Variant, import("../types/index.js").Variant>>>;
27
26
  order: z.ZodNumber;
28
27
  readonly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
29
28
  icon: z.ZodOptional<z.ZodString>;
@@ -42,6 +41,7 @@ declare const optionsSchema: z.ZodObject<{
42
41
  quality: z.ZodNumber;
43
42
  }, z.core.$strict>>;
44
43
  }, z.core.$strict>>;
44
+ variants: z.ZodOptional<z.ZodArray<z.ZodCustom<import("../types/index.js").Variant, import("../types/index.js").Variant>>>;
45
45
  hooks: z.ZodOptional<z.ZodCustom<import("./section.js").Hooks, import("./section.js").Hooks>>;
46
46
  }, z.core.$strict>;
47
47
  declare const simpleSectionConfigSchema: z.ZodObject<{
@@ -54,7 +54,6 @@ declare const simpleSectionConfigSchema: z.ZodObject<{
54
54
  table: z.ZodString;
55
55
  }, z.core.$strict>;
56
56
  name: z.ZodString;
57
- variants: z.ZodOptional<z.ZodArray<z.ZodCustom<import("../types/index.js").Variant, import("../types/index.js").Variant>>>;
58
57
  order: z.ZodNumber;
59
58
  readonly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
60
59
  icon: z.ZodOptional<z.ZodString>;
@@ -73,6 +72,7 @@ declare const simpleSectionConfigSchema: z.ZodObject<{
73
72
  quality: z.ZodNumber;
74
73
  }, z.core.$strict>>;
75
74
  }, z.core.$strict>>;
75
+ variants: z.ZodOptional<z.ZodArray<z.ZodCustom<import("../types/index.js").Variant, import("../types/index.js").Variant>>>;
76
76
  hooks: z.ZodOptional<z.ZodCustom<import("./section.js").Hooks, import("./section.js").Hooks>>;
77
77
  }, z.core.$strict>;
78
78
  export type SimpleSectionOptions = z.infer<typeof optionsSchema>;
@@ -26,11 +26,21 @@ export declare abstract class Submit {
26
26
  * Constructor
27
27
  */
28
28
  constructor({ preSubmit, sectionName, user, postData }: ConstructorType);
29
+ /**
30
+ * Run custom hooks before the item is updated
31
+ * @protected
32
+ */
33
+ protected runPreSubmitHooks(): Promise<void>;
29
34
  /**
30
35
  * Run custom hooks after the item is updated
31
36
  * @protected
32
37
  */
33
38
  protected runPostSubmitHooks(): Promise<void>;
39
+ /**
40
+ * Run custom hooks when an error occurs
41
+ * @protected
42
+ */
43
+ protected runErrorHooks(error?: unknown): Promise<void>;
34
44
  /**
35
45
  * Log operation to the database
36
46
  */
@@ -1 +1 @@
1
- {"version":3,"file":"submit.d.ts","sourceRoot":"","sources":["../../../src/core/submit/submit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AAGtC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,EAAE,UAAU,EAAM,MAAM,YAAY,CAAA;AAG3C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEtC,KAAK,eAAe,GAAG;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,IAAI,CAAA;IACV,QAAQ,EAAE,QAAQ,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;CACtB,CAAA;AAED,8BAAsB,MAAM;IACxB,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,MAAM,CAAW;IAC/C,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IAC7B,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAY;IAC1D,SAAS,CAAC,MAAM,EAAE,OAAO,CAAQ;IACjC,SAAS,CAAC,aAAa,EAAE,MAAM,CAAK;IACpC,OAAO,CAAC,QAAQ,CAAwB;IACxC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAA;IAC5B,SAAS,CAAC,YAAY,EAAG,OAAO,CAAA;IAChC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAQ;IACpC,SAAS,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAK;IACrD,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,CAAK;IAE9B;;OAEG;gBACS,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,eAAe;IAOvE;;;OAGG;cACa,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAanD;;OAEG;YACW,YAAY;IAM1B;;OAEG;IACU,UAAU,CAAC,YAAY,GAAE,GAAG,GAAG,GAAS;IAIrD;;;;;OAKG;YACW,qBAAqB;IA4BnC;;;;OAIG;YACW,UAAU;IAoDxB;;;;OAIG;cACa,kBAAkB;IAMlC;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAElD;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAqB7B;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,aAAa,IAAI,GAAG,GAAG,SAAS;IAEnD;;;;OAIG;IACH,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK;IAIpC;;;;OAIG;IACH,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK;IAqBpC,SAAS,CAAC,uBAAuB,CAAC,KAAK,EAAE,KAAK;IAM9C,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK;IAUxC;;;;OAIG;cACa,WAAW,CAAC,KAAK,EAAE,KAAK;cAoDxB,YAAY;IAU5B;;;;OAIG;YACW,YAAY;IA6B1B;;OAEG;IACU,MAAM;YAsEL,aAAa;IAkF3B,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,KAAK,IAAI,OAAO,CAEnB;IAED,IAAI,OAAO,IAAI,MAAM,EAAE,GAAG,IAAI,CAE7B;IAED,OAAO,CAAC,SAAS;CAMpB"}
1
+ {"version":3,"file":"submit.d.ts","sourceRoot":"","sources":["../../../src/core/submit/submit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AAGtC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,EAAE,UAAU,EAAM,MAAM,YAAY,CAAA;AAG3C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEtC,KAAK,eAAe,GAAG;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,IAAI,CAAA;IACV,QAAQ,EAAE,QAAQ,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;CACtB,CAAA;AAED,8BAAsB,MAAM;IACxB,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,MAAM,CAAW;IAC/C,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IAC7B,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAY;IAC1D,SAAS,CAAC,MAAM,EAAE,OAAO,CAAQ;IACjC,SAAS,CAAC,aAAa,EAAE,MAAM,CAAK;IACpC,OAAO,CAAC,QAAQ,CAAwB;IACxC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAA;IAC5B,SAAS,CAAC,YAAY,EAAG,OAAO,CAAA;IAChC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAQ;IACpC,SAAS,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAK;IACrD,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,CAAK;IAE9B;;OAEG;gBACS,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,eAAe;IAOvE;;;OAGG;cACa,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAclD;;;OAGG;cACa,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAcnD;;;OAGG;cACa,aAAa,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB7D;;OAEG;YACW,YAAY;IAM1B;;OAEG;IACU,UAAU,CAAC,YAAY,GAAE,GAAG,GAAG,GAAS;IAIrD;;;;;OAKG;YACW,qBAAqB;IA4BnC;;;;OAIG;YACW,UAAU;IAoDxB;;;;OAIG;cACa,kBAAkB;IAMlC;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAElD;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAqB7B;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,aAAa,IAAI,GAAG,GAAG,SAAS;IAEnD;;;;OAIG;IACH,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK;IAIpC;;;;OAIG;IACH,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK;IAqBpC,SAAS,CAAC,uBAAuB,CAAC,KAAK,EAAE,KAAK;IAM9C,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK;IAUxC;;;;OAIG;cACa,WAAW,CAAC,KAAK,EAAE,KAAK;cAoDxB,YAAY;IAU5B;;;;OAIG;YACW,YAAY;IA6B1B;;OAEG;IACU,MAAM;YAsFL,aAAa;IAkF3B,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,KAAK,IAAI,OAAO,CAEnB;IAED,IAAI,OAAO,IAAI,MAAM,EAAE,GAAG,IAAI,CAE7B;IAED,OAAO,CAAC,SAAS;CAMpB"}
@@ -26,11 +26,32 @@ export class Submit {
26
26
  this._postData = postData;
27
27
  this.preSubmit = preSubmit ?? false;
28
28
  }
29
+ /**
30
+ * Run custom hooks before the item is updated
31
+ * @protected
32
+ */
33
+ async runPreSubmitHooks() {
34
+ if (!this._sectionInfo.hooks?.beforeUpdate)
35
+ return;
36
+ try {
37
+ await this._sectionInfo.hooks?.beforeUpdate?.({
38
+ itemId: this._itemId,
39
+ values: this.sqlNamesAndValues,
40
+ section: this._sectionInfo,
41
+ });
42
+ }
43
+ catch (e) {
44
+ // Do not break the submit flow if a hook throws
45
+ console.error('beforeUpdate hook failed:', e);
46
+ }
47
+ }
29
48
  /**
30
49
  * Run custom hooks after the item is updated
31
50
  * @protected
32
51
  */
33
52
  async runPostSubmitHooks() {
53
+ if (!this._sectionInfo.hooks?.afterUpdate)
54
+ return;
34
55
  try {
35
56
  await this._sectionInfo.hooks?.afterUpdate?.({
36
57
  itemId: this._itemId,
@@ -43,6 +64,30 @@ export class Submit {
43
64
  console.error('afterUpdate hook failed:', e);
44
65
  }
45
66
  }
67
+ /**
68
+ * Run custom hooks when an error occurs
69
+ * @protected
70
+ */
71
+ async runErrorHooks(error) {
72
+ if (!this._sectionInfo.hooks?.onError)
73
+ return;
74
+ // Only run if sectionInfo is available
75
+ if (!this._sectionInfo)
76
+ return;
77
+ try {
78
+ await this._sectionInfo.hooks?.onError?.({
79
+ itemId: this._itemId,
80
+ values: this.sqlNamesAndValues,
81
+ section: this._sectionInfo,
82
+ errorMessage: this._errorMessage,
83
+ error: error,
84
+ });
85
+ }
86
+ catch (e) {
87
+ // Do not break the submit flow if a hook throws
88
+ console.error('onError hook failed:', e);
89
+ }
90
+ }
46
91
  /**
47
92
  * Log operation to the database
48
93
  */
@@ -335,6 +380,10 @@ export class Submit {
335
380
  if (this.preSubmit) {
336
381
  return;
337
382
  }
383
+ /**
384
+ * Run pre-submit hooks (beforeUpdate)
385
+ */
386
+ await this.runPreSubmitHooks();
338
387
  /**
339
388
  * Build the sql query
340
389
  */
@@ -368,6 +417,16 @@ export class Submit {
368
417
  * Rollback the post submit operations for each field (if any)
369
418
  */
370
419
  await this.postSubmitRollback();
420
+ /**
421
+ * Run error hooks
422
+ */
423
+ await this.runErrorHooks({
424
+ itemId: this._itemId,
425
+ values: this.sqlNamesAndValues,
426
+ section: this._sectionInfo,
427
+ errorMessage: this._errorMessage,
428
+ error: this._error,
429
+ });
371
430
  }
372
431
  catch (e) {
373
432
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nextjs-cms",
3
- "version": "0.5.75",
3
+ "version": "0.5.77",
4
4
  "main": "./dist/index.js",
5
5
  "types": "./dist/index.d.ts",
6
6
  "type": "module",
@@ -171,8 +171,8 @@
171
171
  "tsx": "^4.20.6",
172
172
  "typescript": "^5.9.2",
173
173
  "@lzcms/eslint-config": "0.3.0",
174
- "@lzcms/prettier-config": "0.1.0",
175
- "@lzcms/tsconfig": "0.1.0"
174
+ "@lzcms/tsconfig": "0.1.0",
175
+ "@lzcms/prettier-config": "0.1.0"
176
176
  },
177
177
  "license": "MIT",
178
178
  "keywords": [