nextjs-cms 0.9.31 → 0.9.33

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 (49) hide show
  1. package/dist/api/actions/pages.d.ts +3 -3
  2. package/dist/api/trpc/root.d.ts +3 -3
  3. package/dist/api/trpc/routers/navigation.d.ts +3 -3
  4. package/dist/api/trpc/server.d.ts +9 -9
  5. package/dist/cli/lib/update-sections.d.ts.map +1 -1
  6. package/dist/cli/lib/update-sections.js +217 -59
  7. package/dist/cli/utils/schema-generator.d.ts.map +1 -1
  8. package/dist/cli/utils/schema-generator.js +4 -1
  9. package/dist/core/config/config-loader.d.ts +2 -2
  10. package/dist/core/fields/date-range.d.ts +4 -4
  11. package/dist/core/fields/document.d.ts.map +1 -1
  12. package/dist/core/fields/document.js +13 -1
  13. package/dist/core/fields/photo.d.ts +6 -6
  14. package/dist/core/fields/photo.d.ts.map +1 -1
  15. package/dist/core/fields/photo.js +30 -9
  16. package/dist/core/fields/richText.d.ts +8 -8
  17. package/dist/core/fields/select.d.ts +13 -0
  18. package/dist/core/fields/select.d.ts.map +1 -1
  19. package/dist/core/fields/select.js +1 -0
  20. package/dist/core/fields/selectMultiple.d.ts +9 -0
  21. package/dist/core/fields/selectMultiple.d.ts.map +1 -1
  22. package/dist/core/fields/selectMultiple.js +1 -0
  23. package/dist/core/fields/video.d.ts +1 -0
  24. package/dist/core/fields/video.d.ts.map +1 -1
  25. package/dist/core/fields/video.js +18 -2
  26. package/dist/core/sections/category.d.ts +6 -6
  27. package/dist/core/sections/hasItems.d.ts +12 -12
  28. package/dist/core/sections/section.d.ts +4 -4
  29. package/dist/core/sections/simple.d.ts +6 -6
  30. package/dist/db/schema.d.ts +17 -0
  31. package/dist/db/schema.d.ts.map +1 -1
  32. package/dist/db/schema.js +1 -0
  33. package/dist/translations/base/en.d.ts +6 -0
  34. package/dist/translations/base/en.d.ts.map +1 -1
  35. package/dist/translations/base/en.js +6 -0
  36. package/dist/translations/client.d.ts +76 -4
  37. package/dist/translations/client.d.ts.map +1 -1
  38. package/dist/translations/server.d.ts +76 -4
  39. package/dist/translations/server.d.ts.map +1 -1
  40. package/dist/validators/document.d.ts.map +1 -1
  41. package/dist/validators/document.js +2 -1
  42. package/dist/validators/file-extension.d.ts +3 -0
  43. package/dist/validators/file-extension.d.ts.map +1 -0
  44. package/dist/validators/file-extension.js +9 -0
  45. package/dist/validators/photo.d.ts.map +1 -1
  46. package/dist/validators/photo.js +2 -1
  47. package/dist/validators/video.d.ts.map +1 -1
  48. package/dist/validators/video.js +2 -1
  49. package/package.json +3 -3
@@ -70,13 +70,13 @@ declare const optionsSchema: z.ZodObject<{
70
70
  maxDate: z.ZodOptional<z.ZodUnion<readonly [z.ZodDate, z.ZodLiteral<"now">]>>;
71
71
  defaultStartValue: z.ZodOptional<z.ZodDate>;
72
72
  defaultEndValue: z.ZodOptional<z.ZodDate>;
73
+ order: z.ZodOptional<z.ZodNumber>;
74
+ localized: z.ZodOptional<z.ZodBoolean>;
73
75
  label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
74
76
  required: z.ZodOptional<z.ZodBoolean>;
75
77
  defaultValue: z.ZodOptional<z.ZodAny>;
76
- order: z.ZodOptional<z.ZodNumber>;
77
78
  conditionalRules: z.ZodOptional<z.ZodArray<z.ZodCustom<import("../types/index.js").ConditionalRule, import("../types/index.js").ConditionalRule>>>;
78
79
  adminGenerated: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<true>, z.ZodLiteral<false>, z.ZodLiteral<"readonly">]>>;
79
- localized: z.ZodOptional<z.ZodBoolean>;
80
80
  }, z.core.$strict>;
81
81
  declare const dateRangeFieldConfigSchema: z.ZodObject<{
82
82
  /**
@@ -97,13 +97,13 @@ declare const dateRangeFieldConfigSchema: z.ZodObject<{
97
97
  maxDate: z.ZodOptional<z.ZodUnion<readonly [z.ZodDate, z.ZodLiteral<"now">]>>;
98
98
  defaultStartValue: z.ZodOptional<z.ZodDate>;
99
99
  defaultEndValue: z.ZodOptional<z.ZodDate>;
100
+ order: z.ZodOptional<z.ZodNumber>;
101
+ localized: z.ZodOptional<z.ZodBoolean>;
100
102
  label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
101
103
  required: z.ZodOptional<z.ZodBoolean>;
102
104
  defaultValue: z.ZodOptional<z.ZodAny>;
103
- order: z.ZodOptional<z.ZodNumber>;
104
105
  conditionalRules: z.ZodOptional<z.ZodArray<z.ZodCustom<import("../types/index.js").ConditionalRule, import("../types/index.js").ConditionalRule>>>;
105
106
  adminGenerated: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<true>, z.ZodLiteral<false>, z.ZodLiteral<"readonly">]>>;
106
- localized: z.ZodOptional<z.ZodBoolean>;
107
107
  }, z.core.$strict>;
108
108
  export type DateRangeFieldConfig = z.infer<typeof dateRangeFieldConfigSchema>;
109
109
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../../src/core/fields/document.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAIxB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAS1C,QAAA,MAAM,YAAY;IACd;;;;;;;OAOG;;;;;;;;IAEH;;;;;OAKG;;;;;;;;;;;;kBAEL,CAAA;AAEF,KAAK,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;AAE1C,qBAAa,aAAc,SAAQ,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5D,gBAAyB,CAAC,UAAU,CAAC,EAAE,MAAM,CAAkB;IAC/D,QAAQ,CAAC,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAA;KAAE,CAAA;IACzD,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAA;IAE7B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,EAAE,CAAqE;IAE1G;;;OAGG;IACH,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,kBAAkB,CAAU;gBAExB,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI;IAqDxC,eAAe;;kBApED,MAAM;kBAAQ,IAAI,GAAG,IAAI;;;;;;;;;;;;;;IA6EjD,iBAAiB,CAAC,EACpB,WAAW,EACX,MAAM,EACN,aAAiB,GACpB,EAAE;QACC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;QACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;QACvB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAClC,GAAG,OAAO,CAAC,UAAU,CAAC;IAgBvB;;OAEG;IACG,WAAW;IA8BK,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMzC,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAcnC,mBAAmB,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMpG;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIX,WAAW,CAAC,KAAK,EAAE,MAAM;IAIvB,QAAQ,CAAC,KAAK,EAAE,GAAG;IAQnB,OAAO,CAAC,IAAI,EAAE,IAAI;IAK3B,aAAa;IAab;;OAEG;IACG,oBAAoB;CA6D7B;AAED,MAAM,MAAM,yBAAyB,GAAG,UAAU,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAEpF,QAAA,MAAM,aAAa;IA/Rf;;;;;;;OAOG;;;;;;;;IAEH;;;;;OAKG;;;;;;;;;;;;;;;;;;;;kBAoRL,CAAA;AAEF,QAAA,MAAM,yBAAyB;;;IApS3B;;;;;;;OAOG;;;;;;;;IAEH;;;;;OAKG;;;;;;;;;;;;;;;;;;;;kBA0RL,CAAA;AAEF;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAE3E;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,GAAG,mBAAmB,CAmBvF"}
1
+ {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../../src/core/fields/document.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAIxB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAU1C,QAAA,MAAM,YAAY;IACd;;;;;;;OAOG;;;;;;;;IAEH;;;;;OAKG;;;;;;;;;;;;kBAEL,CAAA;AAEF,KAAK,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;AAE1C,qBAAa,aAAc,SAAQ,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5D,gBAAyB,CAAC,UAAU,CAAC,EAAE,MAAM,CAAkB;IAC/D,QAAQ,CAAC,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAA;KAAE,CAAA;IACzD,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAA;IAE7B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,EAAE,CAAqE;IAE1G;;;OAGG;IACH,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,kBAAkB,CAAU;gBAExB,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI;IAqDxC,eAAe;;kBApED,MAAM;kBAAQ,IAAI,GAAG,IAAI;;;;;;;;;;;;;;IA6EjD,iBAAiB,CAAC,EACpB,WAAW,EACX,MAAM,EACN,aAAiB,GACpB,EAAE;QACC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;QACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;QACvB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAClC,GAAG,OAAO,CAAC,UAAU,CAAC;IAgBvB;;OAEG;IACG,WAAW;IA8BK,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMzC,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAcnC,mBAAmB,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMpG;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIX,WAAW,CAAC,KAAK,EAAE,MAAM;IAIvB,QAAQ,CAAC,KAAK,EAAE,GAAG;IAQnB,OAAO,CAAC,IAAI,EAAE,IAAI;IAK3B,aAAa;IAab;;OAEG;IACG,oBAAoB;CA2E7B;AAED,MAAM,MAAM,yBAAyB,GAAG,UAAU,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAEpF,QAAA,MAAM,aAAa;IA7Sf;;;;;;;OAOG;;;;;;;;IAEH;;;;;OAKG;;;;;;;;;;;;;;;;;;;;kBAkSL,CAAA;AAEF,QAAA,MAAM,yBAAyB;;;IAlT3B;;;;;;;OAOG;;;;;;;;IAEH;;;;;OAKG;;;;;;;;;;;;;;;;;;;;kBAwSL,CAAA;AAEF;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAE3E;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,GAAG,mBAAmB,CAmBvF"}
@@ -7,6 +7,7 @@ import path from 'path';
7
7
  import { FileField } from './fileField.js';
8
8
  import { getCMSConfig } from '../config/index.js';
9
9
  import getString from '../../translations/index.js';
10
+ import { humanReadableFileSize } from '../../utils/index.js';
10
11
  const maxFileSizeSchema = z.strictObject({
11
12
  size: z.number().describe('Maximum file size'),
12
13
  unit: z.enum(['kb', 'mb']).describe('Size unit'),
@@ -213,10 +214,21 @@ export class DocumentField extends FileField {
213
214
  if (!this._buffer.length) {
214
215
  throw new Error(getString('fieldIsRequired', this.language, { field: this.getLocalizedLabel() }));
215
216
  }
217
+ /**
218
+ * Check the file size
219
+ */
220
+ const fileSize = this._buffer.length;
221
+ if (fileSize > this.maxFileSize.size * (this.maxFileSize.unit === 'kb' ? 1024 : 1024 * 1024)) {
222
+ throw new Error(getString('fileSizeExceedsMax', this.language, {
223
+ field: this.getLocalizedLabel(),
224
+ actual: humanReadableFileSize(fileSize),
225
+ max: `${this.maxFileSize.size} ${this.maxFileSize.unit}`,
226
+ }));
227
+ }
216
228
  /**
217
229
  * Check extension
218
230
  */
219
- const ext = this._file.name.split('.').pop();
231
+ const ext = this._file.name.split('.').pop()?.toLowerCase();
220
232
  if (!ext || !this.extensions.includes(ext)) {
221
233
  throw new Error(getString('invalidFileTypeOrExtension', this.language, {
222
234
  field: this.getLocalizedLabel(),
@@ -104,10 +104,10 @@ declare const configSchema: z.ZodObject<{
104
104
  * @hint 'jpg' is an alias for 'jpeg'
105
105
  */
106
106
  fileType: z.ZodOptional<z.ZodArray<z.ZodEnum<{
107
- webp: "webp";
108
- jpg: "jpg";
109
107
  jpeg: "jpeg";
108
+ jpg: "jpg";
110
109
  png: "png";
110
+ webp: "webp";
111
111
  }>>>;
112
112
  /**
113
113
  * Remove the extension from the file name
@@ -299,10 +299,10 @@ declare const optionsSchema: z.ZodObject<{
299
299
  * @hint 'jpg' is an alias for 'jpeg'
300
300
  */
301
301
  fileType: z.ZodOptional<z.ZodArray<z.ZodEnum<{
302
- webp: "webp";
303
- jpg: "jpg";
304
302
  jpeg: "jpeg";
303
+ jpg: "jpg";
305
304
  png: "png";
305
+ webp: "webp";
306
306
  }>>>;
307
307
  /**
308
308
  * Remove the extension from the file name
@@ -395,10 +395,10 @@ declare const photoFieldConfigSchema: z.ZodObject<{
395
395
  * @hint 'jpg' is an alias for 'jpeg'
396
396
  */
397
397
  fileType: z.ZodOptional<z.ZodArray<z.ZodEnum<{
398
- webp: "webp";
399
- jpg: "jpg";
400
398
  jpeg: "jpeg";
399
+ jpg: "jpg";
401
400
  png: "png";
401
+ webp: "webp";
402
402
  }>>>;
403
403
  /**
404
404
  * Remove the extension from the file name
@@ -1 +1 @@
1
- {"version":3,"file":"photo.d.ts","sourceRoot":"","sources":["../../../src/core/fields/photo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"photo.d.ts","sourceRoot":"","sources":["../../../src/core/fields/photo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAKxB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AA8C1C,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;IAPZ;;;OAGG;;;;;;;6BAI0G,CAAA;AAEjH,KAAK,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAA;AAkC5C,QAAA,MAAM,YAAY;IACd,yCAAyC;;;;;;;;;;;;;;;;;;QA5CzC;;;WAGG;;;;;;;;;;;;;;;;;;QAyBC;;;WAGG;;;;;;;;IAkBP;;;;;;;OAOG;;;;;;;;IAEH;;;;;;;OAOG;;;;;;;IAEH;;;OAGG;;kBAEL,CAAA;AAEF,KAAK,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;AAE1C,qBAAa,UAAW,SAAQ,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IACtD,gBAAyB,CAAC,UAAU,CAAC,EAAE,MAAM,CAAe;IAC5D,QAAQ,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAAA;IAC9C,QAAQ,CAAC,eAAe,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAAA;IACpD,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,CAAA;IACrC,QAAQ,CAAC,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAA;KAAE,CAAA;IACzD,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAA;IAC7B,OAAO,CAAC,UAAU,CAAyC;IAC3D,yFAAyF;IACzF,OAAO,CAAC,gBAAgB,CAAyC;IACjE,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAA;IAEjC;;;OAGG;IACH,OAAO,CAAC,KAAK,CAA8B;IAC3C,OAAO,CAAC,WAAW,CAAqC;IACxD,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,kBAAkB,CAAU;gBAExB,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI;IAoCxD;;;;OAIG;YACW,YAAY;IAkBX,KAAK;IAOJ,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAnFD,MAAM;kBAAQ,IAAI,GAAG,IAAI;;;;;;;;;;;;;;IAmGvD;;OAEG;IACG,WAAW;IAiFK,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMzC,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAcnC,mBAAmB,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOpG;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIX,WAAW,CAAC,KAAK,EAAE,MAAM;IAIvB,QAAQ,CAAC,KAAK,EAAE,GAAG;IAQ5B,OAAO,CAAC,IAAI,EAAE,IAAI;IAKlB,aAAa;IAab;;OAEG;IACG,oBAAoB;CA6J7B;AAED,MAAM,MAAM,sBAAsB,GAAG,UAAU,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAE9E,QAAA,MAAM,aAAa;IAhcf,yCAAyC;;;;;;;;;;;;;;;;;;QA5CzC;;;WAGG;;;;;;;;;;;;;;;;;;QAyBC;;;WAGG;;;;;;;;IAkBP;;;;;;;OAOG;;;;;;;;IAEH;;;;;;;OAOG;;;;;;;IAEH;;;OAGG;;;;;;;;;;kBAyaL,CAAA;AAEF,QAAA,MAAM,sBAAsB;;;IArcxB,yCAAyC;;;;;;;;;;;;;;;;;;QA5CzC;;;WAGG;;;;;;;;;;;;;;;;;;QAyBC;;;WAGG;;;;;;;;IAkBP;;;;;;;OAOG;;;;;;;;IAEH;;;;;;;OAOG;;;;;;;IAEH;;;OAGG;;;;;;;;;;kBA+aL,CAAA;AAEF;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAErE;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,GAAG,gBAAgB,CAmBjF"}
@@ -176,9 +176,10 @@ export class PhotoField extends FileField {
176
176
  const cmsConfig = await getCMSConfig();
177
177
  const t = cmsConfig.media.images.thumbnail;
178
178
  const fit = t.size.fit ?? 'contain';
179
- this._thumbnail = fit === 'contain'
180
- ? { width: t.size.width, height: t.size.height, fit: 'contain', quality: t.quality }
181
- : { width: t.size.width, height: t.size.height, fit: 'cover', quality: t.quality };
179
+ this._thumbnail =
180
+ fit === 'contain'
181
+ ? { width: t.size.width, height: t.size.height, fit: 'contain', quality: t.quality }
182
+ : { width: t.size.width, height: t.size.height, fit: 'cover', quality: t.quality };
182
183
  }
183
184
  return this._thumbnail;
184
185
  }
@@ -362,7 +363,10 @@ export class PhotoField extends FileField {
362
363
  if (ext === 'jpg')
363
364
  ext = 'jpeg';
364
365
  if (!ext || !this.extensions.includes(ext)) {
365
- throw new Error(getString('invalidFileTypeOrExtension', this.language, { field: this.getLocalizedLabel(), extensions: this.extensions.join(', ') }));
366
+ throw new Error(getString('invalidFileTypeOrExtension', this.language, {
367
+ field: this.getLocalizedLabel(),
368
+ extensions: this.extensions.join(', '),
369
+ }));
366
370
  }
367
371
  /**
368
372
  * Construct the image
@@ -373,7 +377,10 @@ export class PhotoField extends FileField {
373
377
  * Check mime type
374
378
  */
375
379
  if (!this.mimeType.includes(this._file.type)) {
376
- throw new Error(getString('invalidFileTypeOrExtension', this.language, { field: this.getLocalizedLabel(), extensions: this.extensions.join(', ') }));
380
+ throw new Error(getString('invalidFileTypeOrExtension', this.language, {
381
+ field: this.getLocalizedLabel(),
382
+ extensions: this.extensions.join(', '),
383
+ }));
377
384
  }
378
385
  /**
379
386
  * Check actual mime type
@@ -383,7 +390,10 @@ export class PhotoField extends FileField {
383
390
  if (!actualMimeType ||
384
391
  !this.extensions.includes(actualMimeType.ext) ||
385
392
  !this.mimeType.includes(actualMimeType.mime)) {
386
- throw new Error(getString('invalidFileTypeOrExtension', this.language, { field: this.getLocalizedLabel(), extensions: this.extensions.join(', ') }));
393
+ throw new Error(getString('invalidFileTypeOrExtension', this.language, {
394
+ field: this.getLocalizedLabel(),
395
+ extensions: this.extensions.join(', '),
396
+ }));
387
397
  }
388
398
  /**
389
399
  * Disable caching for the image to avoid unlink issues
@@ -410,14 +420,21 @@ export class PhotoField extends FileField {
410
420
  * Check the file size
411
421
  */
412
422
  if (fileSize > this.maxFileSize.size * (this.maxFileSize.unit === 'kb' ? 1024 : 1024 * 1024)) {
413
- throw new Error(getString('fileSizeExceedsMax', this.language, { field: this.getLocalizedLabel(), actual: humanReadableFileSize(fileSize), max: `${this.maxFileSize.size} ${this.maxFileSize.unit}` }));
423
+ throw new Error(getString('fileSizeExceedsMax', this.language, {
424
+ field: this.getLocalizedLabel(),
425
+ actual: humanReadableFileSize(fileSize),
426
+ max: `${this.maxFileSize.size} ${this.maxFileSize.unit}`,
427
+ }));
414
428
  }
415
429
  /**
416
430
  * Don't just trust the file extension
417
431
  * Check the format
418
432
  */
419
433
  if (!metadata.format || !this.extensions.includes(metadata.format)) {
420
- throw new Error(getString('invalidFileTypeOrExtension', this.language, { field: this.getLocalizedLabel(), extensions: this.extensions.join(', ') }));
434
+ throw new Error(getString('invalidFileTypeOrExtension', this.language, {
435
+ field: this.getLocalizedLabel(),
436
+ extensions: this.extensions.join(', '),
437
+ }));
421
438
  }
422
439
  /**
423
440
  * Check stat
@@ -442,7 +459,11 @@ export class PhotoField extends FileField {
442
459
  */
443
460
  if (this.size && 'strict' in this.size) {
444
461
  if (metadata.width !== this.size.width || metadata.height !== this.size.height) {
445
- throw new Error(getString('imageDimensionMismatchDetailed', this.language, { field: this.getLocalizedLabel(), actual: `${metadata.width}x${metadata.height}`, required: `${this.size.width}x${this.size.height}` }));
462
+ throw new Error(getString('imageDimensionMismatchDetailed', this.language, {
463
+ field: this.getLocalizedLabel(),
464
+ actual: `${metadata.width}x${metadata.height}`,
465
+ required: `${this.size.width}x${this.size.height}`,
466
+ }));
446
467
  }
447
468
  }
448
469
  /**
@@ -31,10 +31,10 @@ declare const allowImageUploadsSchema: z.ZodObject<{
31
31
  */
32
32
  omitExtension: z.ZodOptional<z.ZodBoolean>;
33
33
  format: z.ZodOptional<z.ZodEnum<{
34
- webp: "webp";
35
- jpg: "jpg";
36
34
  jpeg: "jpeg";
35
+ jpg: "jpg";
37
36
  png: "png";
37
+ webp: "webp";
38
38
  }>>;
39
39
  }, z.core.$strict>;
40
40
  declare const configSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -73,10 +73,10 @@ declare const configSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
73
73
  */
74
74
  omitExtension: z.ZodOptional<z.ZodBoolean>;
75
75
  format: z.ZodOptional<z.ZodEnum<{
76
- webp: "webp";
77
- jpg: "jpg";
78
76
  jpeg: "jpeg";
77
+ jpg: "jpg";
79
78
  png: "png";
79
+ webp: "webp";
80
80
  }>>;
81
81
  }, z.core.$strict>>;
82
82
  }, z.core.$strict>, z.ZodObject<{
@@ -171,10 +171,10 @@ declare const optionsSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
171
171
  */
172
172
  omitExtension: z.ZodOptional<z.ZodBoolean>;
173
173
  format: z.ZodOptional<z.ZodEnum<{
174
- webp: "webp";
175
- jpg: "jpg";
176
174
  jpeg: "jpeg";
175
+ jpg: "jpg";
177
176
  png: "png";
177
+ webp: "webp";
178
178
  }>>;
179
179
  }, z.core.$strict>>;
180
180
  name: z.ZodString;
@@ -237,10 +237,10 @@ declare const richTextFieldConfigSchema: z.ZodIntersection<z.ZodDiscriminatedUni
237
237
  */
238
238
  omitExtension: z.ZodOptional<z.ZodBoolean>;
239
239
  format: z.ZodOptional<z.ZodEnum<{
240
- webp: "webp";
241
- jpg: "jpg";
242
240
  jpeg: "jpeg";
241
+ jpg: "jpg";
243
242
  png: "png";
243
+ webp: "webp";
244
244
  }>>;
245
245
  }, z.core.$strict>>;
246
246
  name: z.ZodString;
@@ -47,6 +47,10 @@ export declare const selectFieldSpecificConfigSchema: z.ZodUnion<readonly [z.Zod
47
47
  text: "text";
48
48
  }>>;
49
49
  label: z.ZodString;
50
+ labelType: z.ZodOptional<z.ZodEnum<{
51
+ number: "number";
52
+ text: "text";
53
+ }>>;
50
54
  orderBy: z.ZodOptional<z.ZodString>;
51
55
  }, z.core.$strict>;
52
56
  section: z.ZodOptional<z.ZodNever>;
@@ -99,6 +103,7 @@ export declare class SelectField extends Field<'select', SelectFieldConfig> {
99
103
  identifier: string;
100
104
  identifierType?: 'text' | 'number';
101
105
  label: string;
106
+ labelType?: 'text' | 'number';
102
107
  orderBy?: string;
103
108
  };
104
109
  readonly destinationDb?: {
@@ -210,6 +215,10 @@ export declare const selectFieldOptionsSchema: z.ZodUnion<readonly [z.ZodObject<
210
215
  text: "text";
211
216
  }>>;
212
217
  label: z.ZodString;
218
+ labelType: z.ZodOptional<z.ZodEnum<{
219
+ number: "number";
220
+ text: "text";
221
+ }>>;
213
222
  orderBy: z.ZodOptional<z.ZodString>;
214
223
  }, z.core.$strict>;
215
224
  section: z.ZodOptional<z.ZodNever>;
@@ -298,6 +307,10 @@ declare const selectFieldConfigSchema: z.ZodIntersection<z.ZodUnion<readonly [z.
298
307
  text: "text";
299
308
  }>>;
300
309
  label: z.ZodString;
310
+ labelType: z.ZodOptional<z.ZodEnum<{
311
+ number: "number";
312
+ text: "text";
313
+ }>>;
301
314
  orderBy: z.ZodOptional<z.ZodString>;
302
315
  }, z.core.$strict>;
303
316
  section: z.ZodOptional<z.ZodNever>;
@@ -1 +1 @@
1
- {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../src/core/fields/select.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../src/core/fields/select.ts"],"names":[],"mappings":"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"}
@@ -39,6 +39,7 @@ const selectFieldDbConfigSchema = selectFieldSharedExtrasSchema.extend({
39
39
  .optional()
40
40
  .describe('Identifier column type for generated lookup tables'),
41
41
  label: z.string().min(1).describe('Label column for the option'),
42
+ labelType: z.enum(['text', 'number']).optional().describe('Label column type for generated lookup tables'),
42
43
  orderBy: z.string().optional().describe('Optional order by column'),
43
44
  })
44
45
  .describe('Database configuration for select options'),
@@ -20,6 +20,10 @@ declare const selectMultipleFieldConfigSchema: z.ZodUnion<readonly [z.ZodObject<
20
20
  text: "text";
21
21
  }>>;
22
22
  label: z.ZodString;
23
+ labelType: z.ZodOptional<z.ZodEnum<{
24
+ number: "number";
25
+ text: "text";
26
+ }>>;
23
27
  orderBy: z.ZodOptional<z.ZodString>;
24
28
  }, z.core.$strict>;
25
29
  section: z.ZodOptional<z.ZodNever>;
@@ -70,6 +74,7 @@ export declare class SelectMultipleField extends Field<'select_multiple', Select
70
74
  identifier: string;
71
75
  identifierType?: 'text' | 'number';
72
76
  label: string;
77
+ labelType?: 'text' | 'number';
73
78
  orderBy?: string;
74
79
  };
75
80
  options: SelectOption[] | undefined;
@@ -168,6 +173,10 @@ declare const selectMultipleFieldHelperConfigSchema: z.ZodIntersection<z.ZodUnio
168
173
  text: "text";
169
174
  }>>;
170
175
  label: z.ZodString;
176
+ labelType: z.ZodOptional<z.ZodEnum<{
177
+ number: "number";
178
+ text: "text";
179
+ }>>;
171
180
  orderBy: z.ZodOptional<z.ZodString>;
172
181
  }, z.core.$strict>;
173
182
  section: z.ZodOptional<z.ZodNever>;
@@ -1 +1 @@
1
- {"version":3,"file":"selectMultiple.d.ts","sourceRoot":"","sources":["../../../src/core/fields/selectMultiple.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAExB,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAG/C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAAyB,KAAK,EAAE,MAAM,YAAY,CAAA;AAqDzD,QAAA,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAdnB,WAAW,GAAG,UAAU;cACxB,MAAM;gBACJ,MAAM;iBACL,eAAe,GAAG,eAAe;;cAHpC,WAAW,GAAG,UAAU;cACxB,MAAM;gBACJ,MAAM;iBACL,eAAe,GAAG,eAAe;;;;;;;;;;;;;;;oBAepD,CAAA;AAEF,KAAK,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAA;AAEhF,qBAAa,mBAAoB,SAAQ,KAAK,CAAC,iBAAiB,EAAE,yBAAyB,CAAC;IACxF,gBAAyB,CAAC,UAAU,CAAC,EAAE,MAAM,CAAwB;IACrE,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAA;IAClC,QAAQ,CAAC,WAAW,EAAE,IAAI,GAAG,SAAS,GAAG,QAAQ,CAAA;IACjD,QAAQ,CAAC,EAAE,EAAE;QACT,KAAK,EAAE,MAAM,CAAA;QACb,UAAU,EAAE,MAAM,CAAA;QAClB,cAAc,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;QAClC,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,CAAC,EAAE,MAAM,CAAA;KACnB,CAAA;IACa,OAAO,EAAE,YAAY,EAAE,GAAG,SAAS,CAAA;IACjD,SAAkB,aAAa,CAAC,EAAE;QAC9B,KAAK,EAAE,MAAM,CAAA;QACb,cAAc,EAAE,MAAM,CAAA;QACtB,gBAAgB,EAAE,MAAM,CAAA;KAC3B,CAAA;IACQ,KAAK,EAAE,YAAY,EAAE,GAAG,SAAS,CAAY;IAEtD,OAAO,CAAC,eAAe,CAAoB;gBAC/B,MAAM,EAAE,eAAe,CAAC,yBAAyB,CAAC;IAyD9D,MAAM,CAAC,aAAa,IAAI,MAAM;IAId,kBAAkB,IAAI,OAAO;IAI7C;;OAEG;IACH,QAAQ;;;;IAIR;;OAEG;IACM,cAAc,IAAI,MAAM,GAAG,YAAY,EAAE,GAAG,SAAS;IAQ9D;;;;OAIG;IACM,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,YAAY,EAAE,GAAG,IAAI,GAAG,SAAS;IA+C5D,eAAe;;;;;;;;;;;;;;;;;;IAQT,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsD1D,kBAAkB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBxE;;OAEG;IACY,KAAK;YAsBN,YAAY;IAuB1B;;;OAGG;YACW,sBAAsB;IASpC;;;OAGG;YACW,iCAAiC;IAiB/C;;;OAGG;IACH,OAAO,CAAC,aAAa;IAUrB;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAYhC,aAAa;IAWb;;OAEG;IACG,oBAAoB;CAkC7B;AAED,MAAM,MAAM,+BAA+B,GAAG,UAAU,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAqBhG,QAAA,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAzbzB,WAAW,GAAG,UAAU;cACxB,MAAM;gBACJ,MAAM;iBACL,eAAe,GAAG,eAAe;;cAHpC,WAAW,GAAG,UAAU;cACxB,MAAM;gBACJ,MAAM;iBACL,eAAe,GAAG,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBA+brD,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qCAAqC,CAAC,CAAA;AAEjG;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,eAAe,CAAC,yBAAyB,CAAC,GAAG,6BAA6B,CAiBpH"}
1
+ {"version":3,"file":"selectMultiple.d.ts","sourceRoot":"","sources":["../../../src/core/fields/selectMultiple.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,7 @@ const selectMultipleFieldDbConfigSchema = selectMultipleSharedExtrasSchema.exten
29
29
  .optional()
30
30
  .describe('Identifier column type for generated lookup tables'),
31
31
  label: z.string().min(1).describe('Label column for the option'),
32
+ labelType: z.enum(['text', 'number']).optional().describe('Label column type for generated lookup tables'),
32
33
  orderBy: z.string().optional().describe('Optional order by column'),
33
34
  })
34
35
  .describe('Database configuration for select options'),
@@ -32,6 +32,7 @@ export declare class VideoField extends FileField<'video', Config> {
32
32
  };
33
33
  readonly mimeType: string[];
34
34
  readonly extensions: string[];
35
+ readonly possibleExtensions: string[];
35
36
  /**
36
37
  * _file is the file object if it's present
37
38
  * Whereas the value is the path to the file
@@ -1 +1 @@
1
- {"version":3,"file":"video.d.ts","sourceRoot":"","sources":["../../../src/core/fields/video.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAIhD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAGxB,QAAA,MAAM,YAAY;IACd;;OAEG;;;;;;;;IAQH;;;OAGG;;;;;;kBAKL,CAAA;AAEF,KAAK,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;AAE1C,qBAAa,UAAW,SAAQ,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IACtD,gBAAyB,CAAC,UAAU,CAAC,EAAE,MAAM,CAAe;IAC5D,QAAQ,CAAC,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAA;KAAE,CAAA;IACzD,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAA;IAE7B;;;OAGG;IACH,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,kBAAkB,CAAU;gBACxB,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI;IA6BxC,eAAe;;kBAzCD,MAAM;kBAAQ,IAAI,GAAG,IAAI;;;;;;;;;;;;;;IAkDjD,iBAAiB,CAAC,EACpB,WAAW,EACX,MAAM,EACN,aAAiB,GACpB,EAAE;QACC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;QACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;QACvB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAClC,GAAG,OAAO,CAAC,UAAU,CAAC;IAgBvB;;OAEG;IACG,WAAW;IA6BK,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMzC,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAanC,mBAAmB,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMpG;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIX,WAAW,CAAC,KAAK,EAAE,MAAM;IAIvB,QAAQ,CAAC,KAAK,EAAE,GAAG;IAQnB,OAAO,CAAC,IAAI,EAAE,IAAI;IAK3B,aAAa;IAab;;OAEG;IACG,oBAAoB;CA0D7B;AAED,MAAM,MAAM,sBAAsB,GAAG,UAAU,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAE9E,QAAA,MAAM,aAAa;IAjQf;;OAEG;;;;;;;;IAQH;;;OAGG;;;;;;;;;;;;;;kBAuPL,CAAA;AAEF,QAAA,MAAM,sBAAsB;;;IAtQxB;;OAEG;;;;;;;;IAQH;;;OAGG;;;;;;;;;;;;;;kBA6PL,CAAA;AAEF;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAErE;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,GAAG,gBAAgB,CAmBjF"}
1
+ {"version":3,"file":"video.d.ts","sourceRoot":"","sources":["../../../src/core/fields/video.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAIhD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAIxB,QAAA,MAAM,YAAY;IACd;;OAEG;;;;;;;;IAQH;;;OAGG;;;;;;kBAKL,CAAA;AAEF,KAAK,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;AAE1C,qBAAa,UAAW,SAAQ,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IACtD,gBAAyB,CAAC,UAAU,CAAC,EAAE,MAAM,CAAe;IAC5D,QAAQ,CAAC,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAA;KAAE,CAAA;IACzD,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAA;IAC7B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,EAAE,CAAyB;IAE9D;;;OAGG;IACH,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,kBAAkB,CAAU;gBACxB,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI;IAgCxC,eAAe;;kBA7CD,MAAM;kBAAQ,IAAI,GAAG,IAAI;;;;;;;;;;;;;;IAsDjD,iBAAiB,CAAC,EACpB,WAAW,EACX,MAAM,EACN,aAAiB,GACpB,EAAE;QACC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;QACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;QACvB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAClC,GAAG,OAAO,CAAC,UAAU,CAAC;IAgBvB;;OAEG;IACG,WAAW;IA6BK,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMzC,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAanC,mBAAmB,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMpG;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIX,WAAW,CAAC,KAAK,EAAE,MAAM;IAIvB,QAAQ,CAAC,KAAK,EAAE,GAAG;IAQnB,OAAO,CAAC,IAAI,EAAE,IAAI;IAK3B,aAAa;IAab;;OAEG;IACG,oBAAoB;CAwE7B;AAED,MAAM,MAAM,sBAAsB,GAAG,UAAU,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAE9E,QAAA,MAAM,aAAa;IAnRf;;OAEG;;;;;;;;IAQH;;;OAGG;;;;;;;;;;;;;;kBAyQL,CAAA;AAEF,QAAA,MAAM,sBAAsB;;;IAxRxB;;OAEG;;;;;;;;IAQH;;;OAGG;;;;;;;;;;;;;;kBA+QL,CAAA;AAEF;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAErE;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,GAAG,gBAAgB,CAmBjF"}
@@ -7,6 +7,7 @@ import { FileField } from './fileField.js';
7
7
  import { getCMSConfig } from '../config/index.js';
8
8
  import * as z from 'zod';
9
9
  import getString from '../../translations/index.js';
10
+ import { humanReadableFileSize } from '../../utils/index.js';
10
11
  const configSchema = z.strictObject({
11
12
  /**
12
13
  * Maximum file size
@@ -32,6 +33,7 @@ export class VideoField extends FileField {
32
33
  maxFileSize;
33
34
  mimeType;
34
35
  extensions;
36
+ possibleExtensions = ['mp4', 'webm', 'ogg'];
35
37
  /**
36
38
  * _file is the file object if it's present
37
39
  * Whereas the value is the path to the file
@@ -43,6 +45,9 @@ export class VideoField extends FileField {
43
45
  constructor(config, file) {
44
46
  super(config, 'video');
45
47
  this._file = file;
48
+ if (config.fileType && config.fileType.some((type) => !this.possibleExtensions.includes(type))) {
49
+ throw new Error(getString('invalidFileExtension', this.language, { extensions: config.fileType.join(', ') }));
50
+ }
46
51
  this.extensions = config.fileType ?? ['mp4'];
47
52
  this.maxFileSize = config.maxFileSize ?? { size: 2, unit: 'mb' };
48
53
  /**
@@ -58,7 +63,7 @@ export class VideoField extends FileField {
58
63
  case 'ogg':
59
64
  return 'video/ogg';
60
65
  default:
61
- return '';
66
+ throw new Error(getString('invalidFileExtension', this.language, { extensions: e }));
62
67
  }
63
68
  });
64
69
  /**
@@ -187,10 +192,21 @@ export class VideoField extends FileField {
187
192
  if (!this._buffer.length) {
188
193
  throw new Error(getString('fieldIsRequired', this.language, { field: this.getLocalizedLabel() }));
189
194
  }
195
+ /**
196
+ * Check the file size
197
+ */
198
+ const fileSize = this._buffer.length;
199
+ if (fileSize > this.maxFileSize.size * (this.maxFileSize.unit === 'kb' ? 1024 : 1024 * 1024)) {
200
+ throw new Error(getString('fileSizeExceedsMax', this.language, {
201
+ field: this.getLocalizedLabel(),
202
+ actual: humanReadableFileSize(fileSize),
203
+ max: `${this.maxFileSize.size} ${this.maxFileSize.unit}`,
204
+ }));
205
+ }
190
206
  /**
191
207
  * Check extension
192
208
  */
193
- const ext = this._file.name.split('.').pop();
209
+ const ext = this._file.name.split('.').pop()?.toLowerCase();
194
210
  if (!ext || !this.extensions.includes(ext)) {
195
211
  throw new Error(getString('invalidFileTypeOrExtension', this.language, {
196
212
  field: this.getLocalizedLabel(),