@webiny/api-headless-cms 6.0.0-rc.2 → 6.0.0-rc.4

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 (96) hide show
  1. package/crud/contentEntry/searchableFields.js +6 -2
  2. package/crud/contentEntry/searchableFields.js.map +1 -1
  3. package/crud/contentModel/validation.d.ts +9 -9
  4. package/crud/contentModel/validation.js +3 -3
  5. package/crud/contentModel/validation.js.map +1 -1
  6. package/domain/contentModel/errors.d.ts +1 -1
  7. package/domain/contentModel/errors.js.map +1 -1
  8. package/domain/contentModel/schemas.d.ts +126 -8
  9. package/domain/contentModel/schemas.js +12 -13
  10. package/domain/contentModel/schemas.js.map +1 -1
  11. package/export/graphql/index.js +1 -1
  12. package/export/graphql/index.js.map +1 -1
  13. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.d.ts +2 -2
  14. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.js +3 -4
  15. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.js.map +1 -1
  16. package/features/contentModel/CreateModel/CreateModelRepository.js +4 -1
  17. package/features/contentModel/CreateModel/CreateModelRepository.js.map +1 -1
  18. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js +12 -3
  19. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js.map +1 -1
  20. package/features/contentModel/UpdateModel/UpdateModelRepository.js +8 -2
  21. package/features/contentModel/UpdateModel/UpdateModelRepository.js.map +1 -1
  22. package/features/contentModel/UpdateModel/UpdateModelUseCase.js +4 -1
  23. package/features/contentModel/UpdateModel/UpdateModelUseCase.js.map +1 -1
  24. package/features/modelBuilder/feature.js +2 -2
  25. package/features/modelBuilder/feature.js.map +1 -1
  26. package/features/modelBuilder/fields/BaseFieldBuilder.d.ts +36 -0
  27. package/features/modelBuilder/fields/BaseFieldBuilder.js +41 -0
  28. package/features/modelBuilder/fields/BaseFieldBuilder.js.map +1 -0
  29. package/features/modelBuilder/fields/DataFieldBuilder.d.ts +228 -0
  30. package/features/modelBuilder/fields/DataFieldBuilder.js +219 -0
  31. package/features/modelBuilder/fields/DataFieldBuilder.js.map +1 -0
  32. package/features/modelBuilder/fields/DynamicZoneFieldType.d.ts +2 -2
  33. package/features/modelBuilder/fields/DynamicZoneFieldType.js +6 -3
  34. package/features/modelBuilder/fields/DynamicZoneFieldType.js.map +1 -1
  35. package/features/modelBuilder/fields/FieldBuilder.d.ts +5 -228
  36. package/features/modelBuilder/fields/FieldBuilder.js +3 -231
  37. package/features/modelBuilder/fields/FieldBuilder.js.map +1 -1
  38. package/features/modelBuilder/fields/LayoutFieldBuilder.d.ts +7 -0
  39. package/features/modelBuilder/fields/LayoutFieldBuilder.js +9 -0
  40. package/features/modelBuilder/fields/LayoutFieldBuilder.js.map +1 -0
  41. package/features/modelBuilder/fields/ObjectFieldType.d.ts +4 -3
  42. package/features/modelBuilder/fields/ObjectFieldType.js +19 -4
  43. package/features/modelBuilder/fields/ObjectFieldType.js.map +1 -1
  44. package/features/modelBuilder/fields/UiAlertFieldType.d.ts +8 -4
  45. package/features/modelBuilder/fields/UiAlertFieldType.js +23 -6
  46. package/features/modelBuilder/fields/UiAlertFieldType.js.map +1 -1
  47. package/features/modelBuilder/fields/UiSeparatorFieldType.d.ts +6 -4
  48. package/features/modelBuilder/fields/UiSeparatorFieldType.js +18 -4
  49. package/features/modelBuilder/fields/UiSeparatorFieldType.js.map +1 -1
  50. package/features/modelBuilder/fields/UiTabsFieldType.d.ts +28 -0
  51. package/features/modelBuilder/fields/UiTabsFieldType.js +75 -0
  52. package/features/modelBuilder/fields/UiTabsFieldType.js.map +1 -0
  53. package/features/modelBuilder/fields/abstractions.d.ts +2 -2
  54. package/features/modelBuilder/fields/abstractions.js.map +1 -1
  55. package/features/modelBuilder/index.d.ts +2 -0
  56. package/features/modelBuilder/index.js +2 -0
  57. package/features/modelBuilder/index.js.map +1 -1
  58. package/features/modelBuilder/models/BaseModelBuilder.d.ts +8 -3
  59. package/features/modelBuilder/models/BaseModelBuilder.js +19 -0
  60. package/features/modelBuilder/models/BaseModelBuilder.js.map +1 -1
  61. package/features/modelBuilder/models/PrivateModelBuilder.js +4 -2
  62. package/features/modelBuilder/models/PrivateModelBuilder.js.map +1 -1
  63. package/features/modelBuilder/models/PublicModelBuilder.js +16 -11
  64. package/features/modelBuilder/models/PublicModelBuilder.js.map +1 -1
  65. package/graphql/schema/cms/helpers/index.d.ts +1 -0
  66. package/graphql/schema/cms/helpers/index.js +1 -0
  67. package/graphql/schema/cms/helpers/index.js.map +1 -1
  68. package/graphql/schema/cms/helpers/transformWhereToNested.d.ts +17 -0
  69. package/graphql/schema/cms/helpers/transformWhereToNested.js +54 -0
  70. package/graphql/schema/cms/helpers/transformWhereToNested.js.map +1 -0
  71. package/graphql/schema/cms/helpers.d.ts +1 -0
  72. package/graphql/schema/cms/helpers.js +1 -0
  73. package/graphql/schema/cms/helpers.js.map +1 -1
  74. package/graphql/schema/cms/listEntriesResolver.js +6 -2
  75. package/graphql/schema/cms/listEntriesResolver.js.map +1 -1
  76. package/graphql/schema/contentModels.js +21 -3
  77. package/graphql/schema/contentModels.js.map +1 -1
  78. package/graphqlFields/index.js +1 -2
  79. package/graphqlFields/index.js.map +1 -1
  80. package/package.json +20 -20
  81. package/plugins/CmsModelPlugin.js +19 -4
  82. package/plugins/CmsModelPlugin.js.map +1 -1
  83. package/types/fields/objectField.d.ts +2 -0
  84. package/types/fields/objectField.js.map +1 -1
  85. package/types/model.d.ts +32 -3
  86. package/types/model.js.map +1 -1
  87. package/types/modelField.d.ts +19 -3
  88. package/types/modelField.js.map +1 -1
  89. package/utils/createModelField.js +4 -2
  90. package/utils/createModelField.js.map +1 -1
  91. package/features/modelBuilder/fields/UiFieldType.d.ts +0 -18
  92. package/features/modelBuilder/fields/UiFieldType.js +0 -25
  93. package/features/modelBuilder/fields/UiFieldType.js.map +0 -1
  94. package/graphqlFields/ui.d.ts +0 -2
  95. package/graphqlFields/ui.js +0 -32
  96. package/graphqlFields/ui.js.map +0 -1
@@ -43,7 +43,11 @@ const buildSearchableFieldList = params => {
43
43
  const path = [...parents, field.fieldId].join(".");
44
44
  result.push(path);
45
45
  return result;
46
- }, []);
46
+ },
47
+ /**
48
+ * We always add id and entry id
49
+ */
50
+ ["id", "entryId"]);
47
51
  };
48
52
  export const getSearchableFields = params => {
49
53
  const {
@@ -59,7 +63,7 @@ export const getSearchableFields = params => {
59
63
  fields,
60
64
  input,
61
65
  plugins: fieldPluginMap,
62
- parents: []
66
+ parents: ["values"]
63
67
  });
64
68
  };
65
69
 
@@ -1 +1 @@
1
- {"version":3,"names":["buildSearchableFieldList","params","input","plugins","fields","parents","reduce","result","field","plugin","type","childFields","settings","length","childResults","fieldId","push","fullTextSearch","disableFullTextSearch","path","join","getSearchableFields","fieldPluginMap","byType","collection","fieldType"],"sources":["searchableFields.ts"],"sourcesContent":["import type { CmsModelField, CmsModelFieldToGraphQLPlugin } from \"~/types/index.js\";\nimport type { PluginsContainer } from \"@webiny/plugins\";\n\ninterface BuildParams {\n input: string[];\n fields: CmsModelField[];\n plugins: Record<string, CmsModelFieldToGraphQLPlugin>;\n parents: string[];\n}\nconst buildSearchableFieldList = (params: BuildParams): string[] => {\n const { input, plugins, fields, parents } = params;\n return fields.reduce<string[]>((result, field) => {\n /**\n * We need to check if the field is full text searchable, and for that we need a plugin for the field type.\n */\n const plugin = plugins[field.type];\n if (!plugin) {\n return result;\n }\n /**\n * There is a possibility that searchable fields exist in nested object field, so check that as well.\n */\n const childFields = field.settings?.fields || [];\n if (childFields.length > 0) {\n /**\n * So we build a list of searchable child fields and push it into the main result set.\n */\n const childResults = buildSearchableFieldList({\n fields: childFields,\n parents: [...parents, field.fieldId],\n plugins,\n input\n });\n\n result.push(...childResults);\n return result;\n }\n /**\n * If not searchable, continue further.\n */\n if (!plugin.fullTextSearch || field.settings?.disableFullTextSearch === true) {\n return result;\n }\n\n /**\n * Combine all parent paths with the current one and push it.\n */\n const path = [...parents, field.fieldId].join(\".\");\n result.push(path);\n\n return result;\n }, []);\n};\n\ninterface Params {\n input: string[];\n fields: CmsModelField[];\n plugins: PluginsContainer;\n}\nexport const getSearchableFields = (params: Params): string[] => {\n const { plugins, input, fields } = params;\n const fieldPluginMap = plugins\n .byType<CmsModelFieldToGraphQLPlugin>(\"cms-model-field-to-graphql\")\n .reduce(\n (collection, field) => {\n collection[field.fieldType] = field;\n return collection;\n },\n {} as Record<string, CmsModelFieldToGraphQLPlugin>\n );\n\n return buildSearchableFieldList({\n fields,\n input,\n plugins: fieldPluginMap,\n parents: []\n });\n};\n"],"mappings":"AASA,MAAMA,wBAAwB,GAAIC,MAAmB,IAAe;EAChE,MAAM;IAAEC,KAAK;IAAEC,OAAO;IAAEC,MAAM;IAAEC;EAAQ,CAAC,GAAGJ,MAAM;EAClD,OAAOG,MAAM,CAACE,MAAM,CAAW,CAACC,MAAM,EAAEC,KAAK,KAAK;IAC9C;AACR;AACA;IACQ,MAAMC,MAAM,GAAGN,OAAO,CAACK,KAAK,CAACE,IAAI,CAAC;IAClC,IAAI,CAACD,MAAM,EAAE;MACT,OAAOF,MAAM;IACjB;IACA;AACR;AACA;IACQ,MAAMI,WAAW,GAAGH,KAAK,CAACI,QAAQ,EAAER,MAAM,IAAI,EAAE;IAChD,IAAIO,WAAW,CAACE,MAAM,GAAG,CAAC,EAAE;MACxB;AACZ;AACA;MACY,MAAMC,YAAY,GAAGd,wBAAwB,CAAC;QAC1CI,MAAM,EAAEO,WAAW;QACnBN,OAAO,EAAE,CAAC,GAAGA,OAAO,EAAEG,KAAK,CAACO,OAAO,CAAC;QACpCZ,OAAO;QACPD;MACJ,CAAC,CAAC;MAEFK,MAAM,CAACS,IAAI,CAAC,GAAGF,YAAY,CAAC;MAC5B,OAAOP,MAAM;IACjB;IACA;AACR;AACA;IACQ,IAAI,CAACE,MAAM,CAACQ,cAAc,IAAIT,KAAK,CAACI,QAAQ,EAAEM,qBAAqB,KAAK,IAAI,EAAE;MAC1E,OAAOX,MAAM;IACjB;;IAEA;AACR;AACA;IACQ,MAAMY,IAAI,GAAG,CAAC,GAAGd,OAAO,EAAEG,KAAK,CAACO,OAAO,CAAC,CAACK,IAAI,CAAC,GAAG,CAAC;IAClDb,MAAM,CAACS,IAAI,CAACG,IAAI,CAAC;IAEjB,OAAOZ,MAAM;EACjB,CAAC,EAAE,EAAE,CAAC;AACV,CAAC;AAOD,OAAO,MAAMc,mBAAmB,GAAIpB,MAAc,IAAe;EAC7D,MAAM;IAAEE,OAAO;IAAED,KAAK;IAAEE;EAAO,CAAC,GAAGH,MAAM;EACzC,MAAMqB,cAAc,GAAGnB,OAAO,CACzBoB,MAAM,CAA+B,4BAA4B,CAAC,CAClEjB,MAAM,CACH,CAACkB,UAAU,EAAEhB,KAAK,KAAK;IACnBgB,UAAU,CAAChB,KAAK,CAACiB,SAAS,CAAC,GAAGjB,KAAK;IACnC,OAAOgB,UAAU;EACrB,CAAC,EACD,CAAC,CACL,CAAC;EAEL,OAAOxB,wBAAwB,CAAC;IAC5BI,MAAM;IACNF,KAAK;IACLC,OAAO,EAAEmB,cAAc;IACvBjB,OAAO,EAAE;EACb,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["buildSearchableFieldList","params","input","plugins","fields","parents","reduce","result","field","plugin","type","childFields","settings","length","childResults","fieldId","push","fullTextSearch","disableFullTextSearch","path","join","getSearchableFields","fieldPluginMap","byType","collection","fieldType"],"sources":["searchableFields.ts"],"sourcesContent":["import type { CmsModelField, CmsModelFieldToGraphQLPlugin } from \"~/types/index.js\";\nimport type { PluginsContainer } from \"@webiny/plugins\";\n\ninterface BuildParams {\n input: string[];\n fields: CmsModelField[];\n plugins: Record<string, CmsModelFieldToGraphQLPlugin>;\n parents: string[];\n}\nconst buildSearchableFieldList = (params: BuildParams): string[] => {\n const { input, plugins, fields, parents } = params;\n return fields.reduce<string[]>(\n (result, field) => {\n /**\n * We need to check if the field is full text searchable, and for that we need a plugin for the field type.\n */\n const plugin = plugins[field.type];\n if (!plugin) {\n return result;\n }\n /**\n * There is a possibility that searchable fields exist in nested object field, so check that as well.\n */\n const childFields = field.settings?.fields || [];\n if (childFields.length > 0) {\n /**\n * So we build a list of searchable child fields and push it into the main result set.\n */\n const childResults = buildSearchableFieldList({\n fields: childFields,\n parents: [...parents, field.fieldId],\n plugins,\n input\n });\n\n result.push(...childResults);\n return result;\n }\n /**\n * If not searchable, continue further.\n */\n if (!plugin.fullTextSearch || field.settings?.disableFullTextSearch === true) {\n return result;\n }\n\n /**\n * Combine all parent paths with the current one and push it.\n */\n const path = [...parents, field.fieldId].join(\".\");\n result.push(path);\n\n return result;\n },\n /**\n * We always add id and entry id\n */\n [\"id\", \"entryId\"]\n );\n};\n\ninterface Params {\n input: string[];\n fields: CmsModelField[];\n plugins: PluginsContainer;\n}\nexport const getSearchableFields = (params: Params): string[] => {\n const { plugins, input, fields } = params;\n const fieldPluginMap = plugins\n .byType<CmsModelFieldToGraphQLPlugin>(\"cms-model-field-to-graphql\")\n .reduce<Record<string, CmsModelFieldToGraphQLPlugin>>((collection, field) => {\n collection[field.fieldType] = field;\n return collection;\n }, {});\n\n return buildSearchableFieldList({\n fields,\n input,\n plugins: fieldPluginMap,\n parents: [\"values\"]\n });\n};\n"],"mappings":"AASA,MAAMA,wBAAwB,GAAIC,MAAmB,IAAe;EAChE,MAAM;IAAEC,KAAK;IAAEC,OAAO;IAAEC,MAAM;IAAEC;EAAQ,CAAC,GAAGJ,MAAM;EAClD,OAAOG,MAAM,CAACE,MAAM,CAChB,CAACC,MAAM,EAAEC,KAAK,KAAK;IACf;AACZ;AACA;IACY,MAAMC,MAAM,GAAGN,OAAO,CAACK,KAAK,CAACE,IAAI,CAAC;IAClC,IAAI,CAACD,MAAM,EAAE;MACT,OAAOF,MAAM;IACjB;IACA;AACZ;AACA;IACY,MAAMI,WAAW,GAAGH,KAAK,CAACI,QAAQ,EAAER,MAAM,IAAI,EAAE;IAChD,IAAIO,WAAW,CAACE,MAAM,GAAG,CAAC,EAAE;MACxB;AAChB;AACA;MACgB,MAAMC,YAAY,GAAGd,wBAAwB,CAAC;QAC1CI,MAAM,EAAEO,WAAW;QACnBN,OAAO,EAAE,CAAC,GAAGA,OAAO,EAAEG,KAAK,CAACO,OAAO,CAAC;QACpCZ,OAAO;QACPD;MACJ,CAAC,CAAC;MAEFK,MAAM,CAACS,IAAI,CAAC,GAAGF,YAAY,CAAC;MAC5B,OAAOP,MAAM;IACjB;IACA;AACZ;AACA;IACY,IAAI,CAACE,MAAM,CAACQ,cAAc,IAAIT,KAAK,CAACI,QAAQ,EAAEM,qBAAqB,KAAK,IAAI,EAAE;MAC1E,OAAOX,MAAM;IACjB;;IAEA;AACZ;AACA;IACY,MAAMY,IAAI,GAAG,CAAC,GAAGd,OAAO,EAAEG,KAAK,CAACO,OAAO,CAAC,CAACK,IAAI,CAAC,GAAG,CAAC;IAClDb,MAAM,CAACS,IAAI,CAACG,IAAI,CAAC;IAEjB,OAAOZ,MAAM;EACjB,CAAC;EACD;AACR;AACA;EACQ,CAAC,IAAI,EAAE,SAAS,CACpB,CAAC;AACL,CAAC;AAOD,OAAO,MAAMc,mBAAmB,GAAIpB,MAAc,IAAe;EAC7D,MAAM;IAAEE,OAAO;IAAED,KAAK;IAAEE;EAAO,CAAC,GAAGH,MAAM;EACzC,MAAMqB,cAAc,GAAGnB,OAAO,CACzBoB,MAAM,CAA+B,4BAA4B,CAAC,CAClEjB,MAAM,CAA+C,CAACkB,UAAU,EAAEhB,KAAK,KAAK;IACzEgB,UAAU,CAAChB,KAAK,CAACiB,SAAS,CAAC,GAAGjB,KAAK;IACnC,OAAOgB,UAAU;EACrB,CAAC,EAAE,CAAC,CAAC,CAAC;EAEV,OAAOxB,wBAAwB,CAAC;IAC5BI,MAAM;IACNF,KAAK;IACLC,OAAO,EAAEmB,cAAc;IACvBjB,OAAO,EAAE,CAAC,QAAQ;EACtB,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
@@ -221,7 +221,7 @@ export declare const createModelCreateValidation: () => zod.ZodObject<{
221
221
  tags?: string[] | undefined;
222
222
  settings?: zod.objectInputType<{}, zod.ZodTypeAny, "passthrough"> | null | undefined;
223
223
  }>, "many">>;
224
- layout: zod.ZodDefault<zod.ZodArray<zod.ZodArray<zod.ZodString, "many">, "many">>;
224
+ layout: zod.ZodDefault<zod.ZodArray<zod.ZodArray<zod.ZodAny, "many">, "many">>;
225
225
  tags: zod.ZodOptional<zod.ZodArray<zod.ZodString, "many">>;
226
226
  titleFieldId: zod.ZodOptional<zod.ZodNullable<zod.ZodOptional<zod.ZodString>>>;
227
227
  descriptionFieldId: zod.ZodOptional<zod.ZodNullable<zod.ZodOptional<zod.ZodString>>>;
@@ -277,7 +277,7 @@ export declare const createModelCreateValidation: () => zod.ZodObject<{
277
277
  enabled: boolean;
278
278
  } | undefined;
279
279
  }[];
280
- layout: string[][];
280
+ layout: any[][];
281
281
  singularApiName: string;
282
282
  pluralApiName: string;
283
283
  group: string;
@@ -335,7 +335,7 @@ export declare const createModelCreateValidation: () => zod.ZodObject<{
335
335
  tags?: string[] | undefined;
336
336
  settings?: zod.objectInputType<{}, zod.ZodTypeAny, "passthrough"> | null | undefined;
337
337
  }[] | undefined;
338
- layout?: string[][] | undefined;
338
+ layout?: any[][] | undefined;
339
339
  modelId?: string | undefined;
340
340
  titleFieldId?: string | null | undefined;
341
341
  descriptionFieldId?: string | null | undefined;
@@ -564,7 +564,7 @@ export declare const createModelImportValidation: () => zod.ZodObject<{
564
564
  tags?: string[] | undefined;
565
565
  settings?: zod.objectInputType<{}, zod.ZodTypeAny, "passthrough"> | null | undefined;
566
566
  }>, "many">;
567
- layout: zod.ZodArray<zod.ZodArray<zod.ZodString, "many">, "many">;
567
+ layout: zod.ZodArray<zod.ZodArray<zod.ZodAny, "many">, "many">;
568
568
  tags: zod.ZodOptional<zod.ZodArray<zod.ZodString, "many">>;
569
569
  titleFieldId: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
570
570
  descriptionFieldId: zod.ZodOptional<zod.ZodNullable<zod.ZodOptional<zod.ZodString>>>;
@@ -619,7 +619,7 @@ export declare const createModelImportValidation: () => zod.ZodObject<{
619
619
  enabled: boolean;
620
620
  } | undefined;
621
621
  }[];
622
- layout: string[][];
622
+ layout: any[][];
623
623
  singularApiName: string;
624
624
  pluralApiName: string;
625
625
  group: string;
@@ -666,7 +666,7 @@ export declare const createModelImportValidation: () => zod.ZodObject<{
666
666
  tags?: string[] | undefined;
667
667
  settings?: zod.objectInputType<{}, zod.ZodTypeAny, "passthrough"> | null | undefined;
668
668
  }[];
669
- layout: string[][];
669
+ layout: any[][];
670
670
  singularApiName: string;
671
671
  pluralApiName: string;
672
672
  modelId: string;
@@ -956,7 +956,7 @@ export declare const createModelUpdateValidation: () => zod.ZodObject<{
956
956
  tags?: string[] | undefined;
957
957
  settings?: zod.objectInputType<{}, zod.ZodTypeAny, "passthrough"> | null | undefined;
958
958
  }>, "many">;
959
- layout: zod.ZodArray<zod.ZodArray<zod.ZodString, "many">, "many">;
959
+ layout: zod.ZodArray<zod.ZodArray<zod.ZodAny, "many">, "many">;
960
960
  titleFieldId: zod.ZodOptional<zod.ZodNullable<zod.ZodOptional<zod.ZodString>>>;
961
961
  descriptionFieldId: zod.ZodOptional<zod.ZodNullable<zod.ZodOptional<zod.ZodString>>>;
962
962
  imageFieldId: zod.ZodOptional<zod.ZodNullable<zod.ZodOptional<zod.ZodString>>>;
@@ -1010,7 +1010,7 @@ export declare const createModelUpdateValidation: () => zod.ZodObject<{
1010
1010
  enabled: boolean;
1011
1011
  } | undefined;
1012
1012
  }[];
1013
- layout: string[][];
1013
+ layout: any[][];
1014
1014
  name?: string | undefined;
1015
1015
  tags?: string[] | undefined;
1016
1016
  singularApiName?: string | undefined;
@@ -1056,7 +1056,7 @@ export declare const createModelUpdateValidation: () => zod.ZodObject<{
1056
1056
  tags?: string[] | undefined;
1057
1057
  settings?: zod.objectInputType<{}, zod.ZodTypeAny, "passthrough"> | null | undefined;
1058
1058
  }[];
1059
- layout: string[][];
1059
+ layout: any[][];
1060
1060
  name?: string | undefined;
1061
1061
  description?: string | null | undefined;
1062
1062
  icon?: zod.objectInputType<{
@@ -143,7 +143,7 @@ export const createModelCreateValidation = () => {
143
143
  group: shortString,
144
144
  icon,
145
145
  fields: zod.array(fieldSchema).default([]),
146
- layout: zod.array(zod.array(shortString)).default([]),
146
+ layout: zod.array(zod.array(zod.any())).default([]),
147
147
  tags: zod.array(shortString).optional(),
148
148
  titleFieldId: optionalShortString.nullish(),
149
149
  descriptionFieldId: optionalShortString.nullish(),
@@ -167,7 +167,7 @@ export const createModelImportValidation = () => {
167
167
  group: shortString,
168
168
  icon,
169
169
  fields: zod.array(fieldSchema).min(1),
170
- layout: zod.array(zod.array(shortString)),
170
+ layout: zod.array(zod.array(zod.any())),
171
171
  tags: zod.array(shortString).optional(),
172
172
  titleFieldId: shortString.nullish(),
173
173
  descriptionFieldId: optionalShortString.nullish(),
@@ -204,7 +204,7 @@ export const createModelUpdateValidation = () => {
204
204
  group: optionalShortString,
205
205
  icon,
206
206
  fields: zod.array(fieldSchema),
207
- layout: zod.array(zod.array(shortString)),
207
+ layout: zod.array(zod.array(zod.any())),
208
208
  titleFieldId: optionalShortString.nullish(),
209
209
  descriptionFieldId: optionalShortString.nullish(),
210
210
  imageFieldId: optionalShortString.nullish(),
@@ -1 +1 @@
1
- {"version":3,"names":["zod","upperFirst","camelCase","fieldSystemFields","str","string","trim","shortString","max","longString","optionalShortString","optional","optionalLongString","optionalNullishShortString","nullish","default","optionalNullishLongString","icon","object","type","name","value","passthrough","transform","fieldSchema","id","storageId","fieldId","regex","message","superRefine","ctx","includes","addIssue","code","ZodIssueCode","custom","label","help","description","note","placeholder","tags","array","list","boolean","predefinedValues","enabled","values","selected","undefined","renderer","settings","nullable","validation","listValidation","apiNameRefinementValidation","match","refinementSingularValidationMessage","refinementPluralValidationMessage","refinementModelIdValidation","camelCasedValue","toLowerCase","refinementModelIdValidationMessage","modelIdTransformation","createModelCreateValidation","modelId","singularApiName","min","refine","pluralApiName","group","fields","layout","titleFieldId","descriptionFieldId","imageFieldId","defaultFields","createModelImportValidation","createModelCreateFromValidation","createModelUpdateValidation"],"sources":["validation.ts"],"sourcesContent":["import zod from \"zod\";\nimport upperFirst from \"lodash/upperFirst.js\";\nimport camelCase from \"lodash/camelCase.js\";\n\nconst fieldSystemFields: string[] = [\n \"id\",\n \"entryId\",\n \"createdOn\",\n \"modifiedOn\",\n \"publishedOn\",\n \"savedOn\",\n \"deletedOn\",\n \"restoredOn\",\n \"firstPublishedOn\",\n \"lastPublishedOn\",\n \"createdBy\",\n \"modifiedBy\",\n \"savedBy\",\n \"deletedBy\",\n \"restoredBy\",\n \"firstPublishedBy\",\n \"lastPublishedBy\",\n \"revisionCreatedOn\",\n \"revisionModifiedOn\",\n \"revisionSavedOn\",\n \"revisionDeletedOn\",\n \"revisionRestoredOn\",\n \"revisionFirstPublishedOn\",\n \"revisionLastPublishedOn\",\n \"revisionCreatedBy\",\n \"revisionModifiedBy\",\n \"revisionSavedBy\",\n \"revisionDeletedBy\",\n \"revisionRestoredBy\",\n \"revisionFirstPublishedBy\",\n \"revisionLastPublishedBy\",\n \"meta\",\n \"wbyAco_location\"\n];\n\nconst str = zod.string().trim();\nconst shortString = str.max(255);\nconst longString = str.max(255);\nconst optionalShortString = shortString.optional();\nconst optionalLongString = longString.optional();\nconst optionalNullishShortString = optionalShortString.nullish().default(null);\nconst optionalNullishLongString = optionalLongString.nullish().default(null);\n\nconst icon = zod\n .object({\n type: zod.string(),\n name: zod.string(),\n value: zod.string().optional()\n })\n .passthrough()\n .optional()\n .nullish()\n .default(null)\n .transform(value => {\n if (typeof value === \"string\") {\n return {\n type: \"icon\",\n name: value\n };\n }\n return value;\n });\n\nconst fieldSchema = zod.object({\n id: shortString,\n storageId: zod\n .string()\n .optional()\n .transform(() => {\n return \"\";\n }),\n fieldId: shortString\n .max(100)\n .regex(/^!?[a-zA-Z]/, {\n message: `Provided value is not valid - must not start with a number.`\n })\n .regex(/^(^[a-zA-Z0-9]+)$/, {\n message: `Provided value is not valid - must be alphanumeric string.`\n })\n .superRefine((value, ctx) => {\n if (fieldSystemFields.includes(value)) {\n return ctx.addIssue({\n code: zod.ZodIssueCode.custom,\n message: `Field ID \"${value}\" is a reserved keyword, and is not allowed.`\n });\n }\n }),\n label: shortString,\n help: optionalNullishLongString,\n description: optionalNullishShortString,\n note: optionalNullishShortString,\n placeholder: optionalNullishShortString,\n type: shortString,\n tags: zod.array(shortString).optional().default([]),\n list: zod\n .boolean()\n .optional()\n .nullish()\n .transform(value => {\n return !!value;\n })\n .default(false),\n predefinedValues: zod\n .object({\n enabled: zod.boolean(),\n values: zod\n .array(\n zod.object({\n value: shortString,\n label: shortString,\n selected: zod.boolean().optional().default(false)\n })\n )\n .default([])\n })\n .default({\n enabled: false,\n values: []\n })\n .nullish()\n .optional()\n .transform(value => {\n return value || undefined;\n }),\n renderer: zod\n .object({\n name: shortString,\n settings: zod.object({}).passthrough().nullish().optional()\n })\n .optional()\n .nullable()\n .default(null),\n validation: zod\n .array(\n zod.object({\n name: shortString,\n message: optionalShortString.default(\"Value is required.\"),\n settings: zod\n .object({})\n .passthrough()\n .optional()\n .nullish()\n .transform(value => {\n return value || {};\n })\n .default({})\n })\n )\n .nullish()\n .optional()\n .default([])\n .transform(value => value || []),\n listValidation: zod\n .array(\n zod.object({\n name: shortString,\n message: optionalShortString.default(\"Value is required.\"),\n settings: zod\n .object({})\n .passthrough()\n .optional()\n .nullish()\n .transform(value => {\n return value || {};\n })\n .default({})\n })\n )\n .nullish()\n .optional()\n .default([])\n .transform(value => value || []),\n settings: zod\n .object({})\n .passthrough()\n .optional()\n .nullish()\n .transform(value => {\n return value || {};\n })\n .default({})\n});\n\nconst apiNameRefinementValidation = (value: string): boolean => {\n if (value.match(/^[A-Z]/) === null) {\n return false;\n }\n return value === upperFirst(camelCase(value));\n};\nconst refinementSingularValidationMessage = (value?: string) => {\n return {\n message: `The Singular API Name value \"${\n value || \"undefined\"\n }\" is not valid. It must in Upper First + Camel Cased form. For example: \"ArticleCategory\" or \"CarMake\".`\n };\n};\nconst refinementPluralValidationMessage = (value?: string) => {\n return {\n message: `The Plural API Name value \"${\n value || \"undefined\"\n }\" is not valid. It must in Upper First + Camel Cased form. For example: \"ArticleCategories\" or \"CarMakes\".`\n };\n};\n\nconst refinementModelIdValidation = (value?: string) => {\n if (!value) {\n return true;\n } else if (value.match(/^[a-zA-Z]/) === null) {\n return false;\n }\n const camelCasedValue = camelCase(value).toLowerCase();\n return camelCasedValue === value.toLowerCase();\n};\nconst refinementModelIdValidationMessage = (value?: string) => {\n if (!value) {\n return {};\n } else if (value.match(/^[a-zA-Z]/) === null) {\n return {\n message: `The modelId \"${value}\" is not valid. It must start with a A-Z or a-z.`\n };\n }\n return {\n message: `The modelId \"${value}\" is not valid.`\n };\n};\n\nconst modelIdTransformation = (value?: string) => {\n if (!value) {\n return value;\n }\n const camelCasedValue = camelCase(value);\n if (camelCasedValue.toLowerCase() === value.toLowerCase()) {\n return value;\n }\n return camelCasedValue;\n};\n\nexport const createModelCreateValidation = () => {\n return zod.object({\n name: shortString,\n modelId: optionalShortString.transform(modelIdTransformation),\n singularApiName: shortString\n .min(1)\n .refine(apiNameRefinementValidation, refinementSingularValidationMessage),\n pluralApiName: shortString\n .min(1)\n .refine(apiNameRefinementValidation, refinementPluralValidationMessage),\n description: optionalNullishShortString.transform(value => {\n return value || \"\";\n }),\n group: shortString,\n icon,\n fields: zod.array(fieldSchema).default([]),\n layout: zod.array(zod.array(shortString)).default([]),\n tags: zod.array(shortString).optional(),\n titleFieldId: optionalShortString.nullish(),\n descriptionFieldId: optionalShortString.nullish(),\n imageFieldId: optionalShortString.nullish(),\n defaultFields: zod.boolean().nullish()\n });\n};\n\nexport const createModelImportValidation = () => {\n return zod.object({\n name: shortString.min(1).refine(\n value => {\n return value.match(/[a-zA-Z]/) !== null;\n },\n value => {\n return {\n message: `The name \"${value}\" is not valid.`\n };\n }\n ),\n modelId: shortString\n .min(1)\n .refine(refinementModelIdValidation, refinementModelIdValidationMessage)\n .transform(modelIdTransformation),\n singularApiName: shortString\n .min(1)\n .refine(apiNameRefinementValidation, refinementSingularValidationMessage),\n pluralApiName: shortString\n .min(1)\n .refine(apiNameRefinementValidation, refinementPluralValidationMessage),\n description: optionalNullishShortString,\n group: shortString,\n icon,\n fields: zod.array(fieldSchema).min(1),\n layout: zod.array(zod.array(shortString)),\n tags: zod.array(shortString).optional(),\n titleFieldId: shortString.nullish(),\n descriptionFieldId: optionalShortString.nullish(),\n imageFieldId: optionalShortString.nullish()\n });\n};\n\nexport const createModelCreateFromValidation = () => {\n return zod.object({\n name: shortString,\n modelId: optionalShortString.transform(modelIdTransformation),\n singularApiName: shortString.refine(\n apiNameRefinementValidation,\n refinementSingularValidationMessage\n ),\n pluralApiName: shortString.refine(\n apiNameRefinementValidation,\n refinementPluralValidationMessage\n ),\n description: optionalNullishShortString,\n group: shortString,\n icon\n });\n};\n\nexport const createModelUpdateValidation = () => {\n return zod.object({\n name: optionalShortString,\n singularApiName: optionalShortString.refine(value => {\n if (!value) {\n return true;\n }\n return apiNameRefinementValidation(value);\n }, refinementSingularValidationMessage),\n pluralApiName: optionalShortString.refine(value => {\n if (!value) {\n return true;\n }\n return apiNameRefinementValidation(value);\n }, refinementPluralValidationMessage),\n description: optionalNullishShortString,\n group: optionalShortString,\n icon,\n fields: zod.array(fieldSchema),\n layout: zod.array(zod.array(shortString)),\n titleFieldId: optionalShortString.nullish(),\n descriptionFieldId: optionalShortString.nullish(),\n imageFieldId: optionalShortString.nullish(),\n tags: zod.array(shortString).optional()\n });\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["zod","upperFirst","camelCase","fieldSystemFields","str","string","trim","shortString","max","longString","optionalShortString","optional","optionalLongString","optionalNullishShortString","nullish","default","optionalNullishLongString","icon","object","type","name","value","passthrough","transform","fieldSchema","id","storageId","fieldId","regex","message","superRefine","ctx","includes","addIssue","code","ZodIssueCode","custom","label","help","description","note","placeholder","tags","array","list","boolean","predefinedValues","enabled","values","selected","undefined","renderer","settings","nullable","validation","listValidation","apiNameRefinementValidation","match","refinementSingularValidationMessage","refinementPluralValidationMessage","refinementModelIdValidation","camelCasedValue","toLowerCase","refinementModelIdValidationMessage","modelIdTransformation","createModelCreateValidation","modelId","singularApiName","min","refine","pluralApiName","group","fields","layout","any","titleFieldId","descriptionFieldId","imageFieldId","defaultFields","createModelImportValidation","createModelCreateFromValidation","createModelUpdateValidation"],"sources":["validation.ts"],"sourcesContent":["import zod from \"zod\";\nimport upperFirst from \"lodash/upperFirst.js\";\nimport camelCase from \"lodash/camelCase.js\";\n\nconst fieldSystemFields: string[] = [\n \"id\",\n \"entryId\",\n \"createdOn\",\n \"modifiedOn\",\n \"publishedOn\",\n \"savedOn\",\n \"deletedOn\",\n \"restoredOn\",\n \"firstPublishedOn\",\n \"lastPublishedOn\",\n \"createdBy\",\n \"modifiedBy\",\n \"savedBy\",\n \"deletedBy\",\n \"restoredBy\",\n \"firstPublishedBy\",\n \"lastPublishedBy\",\n \"revisionCreatedOn\",\n \"revisionModifiedOn\",\n \"revisionSavedOn\",\n \"revisionDeletedOn\",\n \"revisionRestoredOn\",\n \"revisionFirstPublishedOn\",\n \"revisionLastPublishedOn\",\n \"revisionCreatedBy\",\n \"revisionModifiedBy\",\n \"revisionSavedBy\",\n \"revisionDeletedBy\",\n \"revisionRestoredBy\",\n \"revisionFirstPublishedBy\",\n \"revisionLastPublishedBy\",\n \"meta\",\n \"wbyAco_location\"\n];\n\nconst str = zod.string().trim();\nconst shortString = str.max(255);\nconst longString = str.max(255);\nconst optionalShortString = shortString.optional();\nconst optionalLongString = longString.optional();\nconst optionalNullishShortString = optionalShortString.nullish().default(null);\nconst optionalNullishLongString = optionalLongString.nullish().default(null);\n\nconst icon = zod\n .object({\n type: zod.string(),\n name: zod.string(),\n value: zod.string().optional()\n })\n .passthrough()\n .optional()\n .nullish()\n .default(null)\n .transform(value => {\n if (typeof value === \"string\") {\n return {\n type: \"icon\",\n name: value\n };\n }\n return value;\n });\n\nconst fieldSchema = zod.object({\n id: shortString,\n storageId: zod\n .string()\n .optional()\n .transform(() => {\n return \"\";\n }),\n fieldId: shortString\n .max(100)\n .regex(/^!?[a-zA-Z]/, {\n message: `Provided value is not valid - must not start with a number.`\n })\n .regex(/^(^[a-zA-Z0-9]+)$/, {\n message: `Provided value is not valid - must be alphanumeric string.`\n })\n .superRefine((value, ctx) => {\n if (fieldSystemFields.includes(value)) {\n return ctx.addIssue({\n code: zod.ZodIssueCode.custom,\n message: `Field ID \"${value}\" is a reserved keyword, and is not allowed.`\n });\n }\n }),\n label: shortString,\n help: optionalNullishLongString,\n description: optionalNullishShortString,\n note: optionalNullishShortString,\n placeholder: optionalNullishShortString,\n type: shortString,\n tags: zod.array(shortString).optional().default([]),\n list: zod\n .boolean()\n .optional()\n .nullish()\n .transform(value => {\n return !!value;\n })\n .default(false),\n predefinedValues: zod\n .object({\n enabled: zod.boolean(),\n values: zod\n .array(\n zod.object({\n value: shortString,\n label: shortString,\n selected: zod.boolean().optional().default(false)\n })\n )\n .default([])\n })\n .default({\n enabled: false,\n values: []\n })\n .nullish()\n .optional()\n .transform(value => {\n return value || undefined;\n }),\n renderer: zod\n .object({\n name: shortString,\n settings: zod.object({}).passthrough().nullish().optional()\n })\n .optional()\n .nullable()\n .default(null),\n validation: zod\n .array(\n zod.object({\n name: shortString,\n message: optionalShortString.default(\"Value is required.\"),\n settings: zod\n .object({})\n .passthrough()\n .optional()\n .nullish()\n .transform(value => {\n return value || {};\n })\n .default({})\n })\n )\n .nullish()\n .optional()\n .default([])\n .transform(value => value || []),\n listValidation: zod\n .array(\n zod.object({\n name: shortString,\n message: optionalShortString.default(\"Value is required.\"),\n settings: zod\n .object({})\n .passthrough()\n .optional()\n .nullish()\n .transform(value => {\n return value || {};\n })\n .default({})\n })\n )\n .nullish()\n .optional()\n .default([])\n .transform(value => value || []),\n settings: zod\n .object({})\n .passthrough()\n .optional()\n .nullish()\n .transform(value => {\n return value || {};\n })\n .default({})\n});\n\nconst apiNameRefinementValidation = (value: string): boolean => {\n if (value.match(/^[A-Z]/) === null) {\n return false;\n }\n return value === upperFirst(camelCase(value));\n};\nconst refinementSingularValidationMessage = (value?: string) => {\n return {\n message: `The Singular API Name value \"${\n value || \"undefined\"\n }\" is not valid. It must in Upper First + Camel Cased form. For example: \"ArticleCategory\" or \"CarMake\".`\n };\n};\nconst refinementPluralValidationMessage = (value?: string) => {\n return {\n message: `The Plural API Name value \"${\n value || \"undefined\"\n }\" is not valid. It must in Upper First + Camel Cased form. For example: \"ArticleCategories\" or \"CarMakes\".`\n };\n};\n\nconst refinementModelIdValidation = (value?: string) => {\n if (!value) {\n return true;\n } else if (value.match(/^[a-zA-Z]/) === null) {\n return false;\n }\n const camelCasedValue = camelCase(value).toLowerCase();\n return camelCasedValue === value.toLowerCase();\n};\nconst refinementModelIdValidationMessage = (value?: string) => {\n if (!value) {\n return {};\n } else if (value.match(/^[a-zA-Z]/) === null) {\n return {\n message: `The modelId \"${value}\" is not valid. It must start with a A-Z or a-z.`\n };\n }\n return {\n message: `The modelId \"${value}\" is not valid.`\n };\n};\n\nconst modelIdTransformation = (value?: string) => {\n if (!value) {\n return value;\n }\n const camelCasedValue = camelCase(value);\n if (camelCasedValue.toLowerCase() === value.toLowerCase()) {\n return value;\n }\n return camelCasedValue;\n};\n\nexport const createModelCreateValidation = () => {\n return zod.object({\n name: shortString,\n modelId: optionalShortString.transform(modelIdTransformation),\n singularApiName: shortString\n .min(1)\n .refine(apiNameRefinementValidation, refinementSingularValidationMessage),\n pluralApiName: shortString\n .min(1)\n .refine(apiNameRefinementValidation, refinementPluralValidationMessage),\n description: optionalNullishShortString.transform(value => {\n return value || \"\";\n }),\n group: shortString,\n icon,\n fields: zod.array(fieldSchema).default([]),\n layout: zod.array(zod.array(zod.any())).default([]),\n tags: zod.array(shortString).optional(),\n titleFieldId: optionalShortString.nullish(),\n descriptionFieldId: optionalShortString.nullish(),\n imageFieldId: optionalShortString.nullish(),\n defaultFields: zod.boolean().nullish()\n });\n};\n\nexport const createModelImportValidation = () => {\n return zod.object({\n name: shortString.min(1).refine(\n value => {\n return value.match(/[a-zA-Z]/) !== null;\n },\n value => {\n return {\n message: `The name \"${value}\" is not valid.`\n };\n }\n ),\n modelId: shortString\n .min(1)\n .refine(refinementModelIdValidation, refinementModelIdValidationMessage)\n .transform(modelIdTransformation),\n singularApiName: shortString\n .min(1)\n .refine(apiNameRefinementValidation, refinementSingularValidationMessage),\n pluralApiName: shortString\n .min(1)\n .refine(apiNameRefinementValidation, refinementPluralValidationMessage),\n description: optionalNullishShortString,\n group: shortString,\n icon,\n fields: zod.array(fieldSchema).min(1),\n layout: zod.array(zod.array(zod.any())),\n tags: zod.array(shortString).optional(),\n titleFieldId: shortString.nullish(),\n descriptionFieldId: optionalShortString.nullish(),\n imageFieldId: optionalShortString.nullish()\n });\n};\n\nexport const createModelCreateFromValidation = () => {\n return zod.object({\n name: shortString,\n modelId: optionalShortString.transform(modelIdTransformation),\n singularApiName: shortString.refine(\n apiNameRefinementValidation,\n refinementSingularValidationMessage\n ),\n pluralApiName: shortString.refine(\n apiNameRefinementValidation,\n refinementPluralValidationMessage\n ),\n description: optionalNullishShortString,\n group: shortString,\n icon\n });\n};\n\nexport const createModelUpdateValidation = () => {\n return zod.object({\n name: optionalShortString,\n singularApiName: optionalShortString.refine(value => {\n if (!value) {\n return true;\n }\n return apiNameRefinementValidation(value);\n }, refinementSingularValidationMessage),\n pluralApiName: optionalShortString.refine(value => {\n if (!value) {\n return true;\n }\n return apiNameRefinementValidation(value);\n }, refinementPluralValidationMessage),\n description: optionalNullishShortString,\n group: optionalShortString,\n icon,\n fields: zod.array(fieldSchema),\n layout: zod.array(zod.array(zod.any())),\n titleFieldId: optionalShortString.nullish(),\n descriptionFieldId: optionalShortString.nullish(),\n imageFieldId: optionalShortString.nullish(),\n tags: zod.array(shortString).optional()\n });\n};\n"],"mappings":"AAAA,OAAOA,GAAG,MAAM,KAAK;AACrB,OAAOC,UAAU,MAAM,sBAAsB;AAC7C,OAAOC,SAAS,MAAM,qBAAqB;AAE3C,MAAMC,iBAA2B,GAAG,CAChC,IAAI,EACJ,SAAS,EACT,WAAW,EACX,YAAY,EACZ,aAAa,EACb,SAAS,EACT,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,SAAS,EACT,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,0BAA0B,EAC1B,yBAAyB,EACzB,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,0BAA0B,EAC1B,yBAAyB,EACzB,MAAM,EACN,iBAAiB,CACpB;AAED,MAAMC,GAAG,GAAGJ,GAAG,CAACK,MAAM,CAAC,CAAC,CAACC,IAAI,CAAC,CAAC;AAC/B,MAAMC,WAAW,GAAGH,GAAG,CAACI,GAAG,CAAC,GAAG,CAAC;AAChC,MAAMC,UAAU,GAAGL,GAAG,CAACI,GAAG,CAAC,GAAG,CAAC;AAC/B,MAAME,mBAAmB,GAAGH,WAAW,CAACI,QAAQ,CAAC,CAAC;AAClD,MAAMC,kBAAkB,GAAGH,UAAU,CAACE,QAAQ,CAAC,CAAC;AAChD,MAAME,0BAA0B,GAAGH,mBAAmB,CAACI,OAAO,CAAC,CAAC,CAACC,OAAO,CAAC,IAAI,CAAC;AAC9E,MAAMC,yBAAyB,GAAGJ,kBAAkB,CAACE,OAAO,CAAC,CAAC,CAACC,OAAO,CAAC,IAAI,CAAC;AAE5E,MAAME,IAAI,GAAGjB,GAAG,CACXkB,MAAM,CAAC;EACJC,IAAI,EAAEnB,GAAG,CAACK,MAAM,CAAC,CAAC;EAClBe,IAAI,EAAEpB,GAAG,CAACK,MAAM,CAAC,CAAC;EAClBgB,KAAK,EAAErB,GAAG,CAACK,MAAM,CAAC,CAAC,CAACM,QAAQ,CAAC;AACjC,CAAC,CAAC,CACDW,WAAW,CAAC,CAAC,CACbX,QAAQ,CAAC,CAAC,CACVG,OAAO,CAAC,CAAC,CACTC,OAAO,CAAC,IAAI,CAAC,CACbQ,SAAS,CAACF,KAAK,IAAI;EAChB,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAC3B,OAAO;MACHF,IAAI,EAAE,MAAM;MACZC,IAAI,EAAEC;IACV,CAAC;EACL;EACA,OAAOA,KAAK;AAChB,CAAC,CAAC;AAEN,MAAMG,WAAW,GAAGxB,GAAG,CAACkB,MAAM,CAAC;EAC3BO,EAAE,EAAElB,WAAW;EACfmB,SAAS,EAAE1B,GAAG,CACTK,MAAM,CAAC,CAAC,CACRM,QAAQ,CAAC,CAAC,CACVY,SAAS,CAAC,MAAM;IACb,OAAO,EAAE;EACb,CAAC,CAAC;EACNI,OAAO,EAAEpB,WAAW,CACfC,GAAG,CAAC,GAAG,CAAC,CACRoB,KAAK,CAAC,aAAa,EAAE;IAClBC,OAAO,EAAE;EACb,CAAC,CAAC,CACDD,KAAK,CAAC,mBAAmB,EAAE;IACxBC,OAAO,EAAE;EACb,CAAC,CAAC,CACDC,WAAW,CAAC,CAACT,KAAK,EAAEU,GAAG,KAAK;IACzB,IAAI5B,iBAAiB,CAAC6B,QAAQ,CAACX,KAAK,CAAC,EAAE;MACnC,OAAOU,GAAG,CAACE,QAAQ,CAAC;QAChBC,IAAI,EAAElC,GAAG,CAACmC,YAAY,CAACC,MAAM;QAC7BP,OAAO,EAAE,aAAaR,KAAK;MAC/B,CAAC,CAAC;IACN;EACJ,CAAC,CAAC;EACNgB,KAAK,EAAE9B,WAAW;EAClB+B,IAAI,EAAEtB,yBAAyB;EAC/BuB,WAAW,EAAE1B,0BAA0B;EACvC2B,IAAI,EAAE3B,0BAA0B;EAChC4B,WAAW,EAAE5B,0BAA0B;EACvCM,IAAI,EAAEZ,WAAW;EACjBmC,IAAI,EAAE1C,GAAG,CAAC2C,KAAK,CAACpC,WAAW,CAAC,CAACI,QAAQ,CAAC,CAAC,CAACI,OAAO,CAAC,EAAE,CAAC;EACnD6B,IAAI,EAAE5C,GAAG,CACJ6C,OAAO,CAAC,CAAC,CACTlC,QAAQ,CAAC,CAAC,CACVG,OAAO,CAAC,CAAC,CACTS,SAAS,CAACF,KAAK,IAAI;IAChB,OAAO,CAAC,CAACA,KAAK;EAClB,CAAC,CAAC,CACDN,OAAO,CAAC,KAAK,CAAC;EACnB+B,gBAAgB,EAAE9C,GAAG,CAChBkB,MAAM,CAAC;IACJ6B,OAAO,EAAE/C,GAAG,CAAC6C,OAAO,CAAC,CAAC;IACtBG,MAAM,EAAEhD,GAAG,CACN2C,KAAK,CACF3C,GAAG,CAACkB,MAAM,CAAC;MACPG,KAAK,EAAEd,WAAW;MAClB8B,KAAK,EAAE9B,WAAW;MAClB0C,QAAQ,EAAEjD,GAAG,CAAC6C,OAAO,CAAC,CAAC,CAAClC,QAAQ,CAAC,CAAC,CAACI,OAAO,CAAC,KAAK;IACpD,CAAC,CACL,CAAC,CACAA,OAAO,CAAC,EAAE;EACnB,CAAC,CAAC,CACDA,OAAO,CAAC;IACLgC,OAAO,EAAE,KAAK;IACdC,MAAM,EAAE;EACZ,CAAC,CAAC,CACDlC,OAAO,CAAC,CAAC,CACTH,QAAQ,CAAC,CAAC,CACVY,SAAS,CAACF,KAAK,IAAI;IAChB,OAAOA,KAAK,IAAI6B,SAAS;EAC7B,CAAC,CAAC;EACNC,QAAQ,EAAEnD,GAAG,CACRkB,MAAM,CAAC;IACJE,IAAI,EAAEb,WAAW;IACjB6C,QAAQ,EAAEpD,GAAG,CAACkB,MAAM,CAAC,CAAC,CAAC,CAAC,CAACI,WAAW,CAAC,CAAC,CAACR,OAAO,CAAC,CAAC,CAACH,QAAQ,CAAC;EAC9D,CAAC,CAAC,CACDA,QAAQ,CAAC,CAAC,CACV0C,QAAQ,CAAC,CAAC,CACVtC,OAAO,CAAC,IAAI,CAAC;EAClBuC,UAAU,EAAEtD,GAAG,CACV2C,KAAK,CACF3C,GAAG,CAACkB,MAAM,CAAC;IACPE,IAAI,EAAEb,WAAW;IACjBsB,OAAO,EAAEnB,mBAAmB,CAACK,OAAO,CAAC,oBAAoB,CAAC;IAC1DqC,QAAQ,EAAEpD,GAAG,CACRkB,MAAM,CAAC,CAAC,CAAC,CAAC,CACVI,WAAW,CAAC,CAAC,CACbX,QAAQ,CAAC,CAAC,CACVG,OAAO,CAAC,CAAC,CACTS,SAAS,CAACF,KAAK,IAAI;MAChB,OAAOA,KAAK,IAAI,CAAC,CAAC;IACtB,CAAC,CAAC,CACDN,OAAO,CAAC,CAAC,CAAC;EACnB,CAAC,CACL,CAAC,CACAD,OAAO,CAAC,CAAC,CACTH,QAAQ,CAAC,CAAC,CACVI,OAAO,CAAC,EAAE,CAAC,CACXQ,SAAS,CAACF,KAAK,IAAIA,KAAK,IAAI,EAAE,CAAC;EACpCkC,cAAc,EAAEvD,GAAG,CACd2C,KAAK,CACF3C,GAAG,CAACkB,MAAM,CAAC;IACPE,IAAI,EAAEb,WAAW;IACjBsB,OAAO,EAAEnB,mBAAmB,CAACK,OAAO,CAAC,oBAAoB,CAAC;IAC1DqC,QAAQ,EAAEpD,GAAG,CACRkB,MAAM,CAAC,CAAC,CAAC,CAAC,CACVI,WAAW,CAAC,CAAC,CACbX,QAAQ,CAAC,CAAC,CACVG,OAAO,CAAC,CAAC,CACTS,SAAS,CAACF,KAAK,IAAI;MAChB,OAAOA,KAAK,IAAI,CAAC,CAAC;IACtB,CAAC,CAAC,CACDN,OAAO,CAAC,CAAC,CAAC;EACnB,CAAC,CACL,CAAC,CACAD,OAAO,CAAC,CAAC,CACTH,QAAQ,CAAC,CAAC,CACVI,OAAO,CAAC,EAAE,CAAC,CACXQ,SAAS,CAACF,KAAK,IAAIA,KAAK,IAAI,EAAE,CAAC;EACpC+B,QAAQ,EAAEpD,GAAG,CACRkB,MAAM,CAAC,CAAC,CAAC,CAAC,CACVI,WAAW,CAAC,CAAC,CACbX,QAAQ,CAAC,CAAC,CACVG,OAAO,CAAC,CAAC,CACTS,SAAS,CAACF,KAAK,IAAI;IAChB,OAAOA,KAAK,IAAI,CAAC,CAAC;EACtB,CAAC,CAAC,CACDN,OAAO,CAAC,CAAC,CAAC;AACnB,CAAC,CAAC;AAEF,MAAMyC,2BAA2B,GAAInC,KAAa,IAAc;EAC5D,IAAIA,KAAK,CAACoC,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;IAChC,OAAO,KAAK;EAChB;EACA,OAAOpC,KAAK,KAAKpB,UAAU,CAACC,SAAS,CAACmB,KAAK,CAAC,CAAC;AACjD,CAAC;AACD,MAAMqC,mCAAmC,GAAIrC,KAAc,IAAK;EAC5D,OAAO;IACHQ,OAAO,EAAE,gCACLR,KAAK,IAAI,WAAW;EAE5B,CAAC;AACL,CAAC;AACD,MAAMsC,iCAAiC,GAAItC,KAAc,IAAK;EAC1D,OAAO;IACHQ,OAAO,EAAE,8BACLR,KAAK,IAAI,WAAW;EAE5B,CAAC;AACL,CAAC;AAED,MAAMuC,2BAA2B,GAAIvC,KAAc,IAAK;EACpD,IAAI,CAACA,KAAK,EAAE;IACR,OAAO,IAAI;EACf,CAAC,MAAM,IAAIA,KAAK,CAACoC,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;IAC1C,OAAO,KAAK;EAChB;EACA,MAAMI,eAAe,GAAG3D,SAAS,CAACmB,KAAK,CAAC,CAACyC,WAAW,CAAC,CAAC;EACtD,OAAOD,eAAe,KAAKxC,KAAK,CAACyC,WAAW,CAAC,CAAC;AAClD,CAAC;AACD,MAAMC,kCAAkC,GAAI1C,KAAc,IAAK;EAC3D,IAAI,CAACA,KAAK,EAAE;IACR,OAAO,CAAC,CAAC;EACb,CAAC,MAAM,IAAIA,KAAK,CAACoC,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;IAC1C,OAAO;MACH5B,OAAO,EAAE,gBAAgBR,KAAK;IAClC,CAAC;EACL;EACA,OAAO;IACHQ,OAAO,EAAE,gBAAgBR,KAAK;EAClC,CAAC;AACL,CAAC;AAED,MAAM2C,qBAAqB,GAAI3C,KAAc,IAAK;EAC9C,IAAI,CAACA,KAAK,EAAE;IACR,OAAOA,KAAK;EAChB;EACA,MAAMwC,eAAe,GAAG3D,SAAS,CAACmB,KAAK,CAAC;EACxC,IAAIwC,eAAe,CAACC,WAAW,CAAC,CAAC,KAAKzC,KAAK,CAACyC,WAAW,CAAC,CAAC,EAAE;IACvD,OAAOzC,KAAK;EAChB;EACA,OAAOwC,eAAe;AAC1B,CAAC;AAED,OAAO,MAAMI,2BAA2B,GAAGA,CAAA,KAAM;EAC7C,OAAOjE,GAAG,CAACkB,MAAM,CAAC;IACdE,IAAI,EAAEb,WAAW;IACjB2D,OAAO,EAAExD,mBAAmB,CAACa,SAAS,CAACyC,qBAAqB,CAAC;IAC7DG,eAAe,EAAE5D,WAAW,CACvB6D,GAAG,CAAC,CAAC,CAAC,CACNC,MAAM,CAACb,2BAA2B,EAAEE,mCAAmC,CAAC;IAC7EY,aAAa,EAAE/D,WAAW,CACrB6D,GAAG,CAAC,CAAC,CAAC,CACNC,MAAM,CAACb,2BAA2B,EAAEG,iCAAiC,CAAC;IAC3EpB,WAAW,EAAE1B,0BAA0B,CAACU,SAAS,CAACF,KAAK,IAAI;MACvD,OAAOA,KAAK,IAAI,EAAE;IACtB,CAAC,CAAC;IACFkD,KAAK,EAAEhE,WAAW;IAClBU,IAAI;IACJuD,MAAM,EAAExE,GAAG,CAAC2C,KAAK,CAACnB,WAAW,CAAC,CAACT,OAAO,CAAC,EAAE,CAAC;IAC1C0D,MAAM,EAAEzE,GAAG,CAAC2C,KAAK,CAAC3C,GAAG,CAAC2C,KAAK,CAAC3C,GAAG,CAAC0E,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC3D,OAAO,CAAC,EAAE,CAAC;IACnD2B,IAAI,EAAE1C,GAAG,CAAC2C,KAAK,CAACpC,WAAW,CAAC,CAACI,QAAQ,CAAC,CAAC;IACvCgE,YAAY,EAAEjE,mBAAmB,CAACI,OAAO,CAAC,CAAC;IAC3C8D,kBAAkB,EAAElE,mBAAmB,CAACI,OAAO,CAAC,CAAC;IACjD+D,YAAY,EAAEnE,mBAAmB,CAACI,OAAO,CAAC,CAAC;IAC3CgE,aAAa,EAAE9E,GAAG,CAAC6C,OAAO,CAAC,CAAC,CAAC/B,OAAO,CAAC;EACzC,CAAC,CAAC;AACN,CAAC;AAED,OAAO,MAAMiE,2BAA2B,GAAGA,CAAA,KAAM;EAC7C,OAAO/E,GAAG,CAACkB,MAAM,CAAC;IACdE,IAAI,EAAEb,WAAW,CAAC6D,GAAG,CAAC,CAAC,CAAC,CAACC,MAAM,CAC3BhD,KAAK,IAAI;MACL,OAAOA,KAAK,CAACoC,KAAK,CAAC,UAAU,CAAC,KAAK,IAAI;IAC3C,CAAC,EACDpC,KAAK,IAAI;MACL,OAAO;QACHQ,OAAO,EAAE,aAAaR,KAAK;MAC/B,CAAC;IACL,CACJ,CAAC;IACD6C,OAAO,EAAE3D,WAAW,CACf6D,GAAG,CAAC,CAAC,CAAC,CACNC,MAAM,CAACT,2BAA2B,EAAEG,kCAAkC,CAAC,CACvExC,SAAS,CAACyC,qBAAqB,CAAC;IACrCG,eAAe,EAAE5D,WAAW,CACvB6D,GAAG,CAAC,CAAC,CAAC,CACNC,MAAM,CAACb,2BAA2B,EAAEE,mCAAmC,CAAC;IAC7EY,aAAa,EAAE/D,WAAW,CACrB6D,GAAG,CAAC,CAAC,CAAC,CACNC,MAAM,CAACb,2BAA2B,EAAEG,iCAAiC,CAAC;IAC3EpB,WAAW,EAAE1B,0BAA0B;IACvC0D,KAAK,EAAEhE,WAAW;IAClBU,IAAI;IACJuD,MAAM,EAAExE,GAAG,CAAC2C,KAAK,CAACnB,WAAW,CAAC,CAAC4C,GAAG,CAAC,CAAC,CAAC;IACrCK,MAAM,EAAEzE,GAAG,CAAC2C,KAAK,CAAC3C,GAAG,CAAC2C,KAAK,CAAC3C,GAAG,CAAC0E,GAAG,CAAC,CAAC,CAAC,CAAC;IACvChC,IAAI,EAAE1C,GAAG,CAAC2C,KAAK,CAACpC,WAAW,CAAC,CAACI,QAAQ,CAAC,CAAC;IACvCgE,YAAY,EAAEpE,WAAW,CAACO,OAAO,CAAC,CAAC;IACnC8D,kBAAkB,EAAElE,mBAAmB,CAACI,OAAO,CAAC,CAAC;IACjD+D,YAAY,EAAEnE,mBAAmB,CAACI,OAAO,CAAC;EAC9C,CAAC,CAAC;AACN,CAAC;AAED,OAAO,MAAMkE,+BAA+B,GAAGA,CAAA,KAAM;EACjD,OAAOhF,GAAG,CAACkB,MAAM,CAAC;IACdE,IAAI,EAAEb,WAAW;IACjB2D,OAAO,EAAExD,mBAAmB,CAACa,SAAS,CAACyC,qBAAqB,CAAC;IAC7DG,eAAe,EAAE5D,WAAW,CAAC8D,MAAM,CAC/Bb,2BAA2B,EAC3BE,mCACJ,CAAC;IACDY,aAAa,EAAE/D,WAAW,CAAC8D,MAAM,CAC7Bb,2BAA2B,EAC3BG,iCACJ,CAAC;IACDpB,WAAW,EAAE1B,0BAA0B;IACvC0D,KAAK,EAAEhE,WAAW;IAClBU;EACJ,CAAC,CAAC;AACN,CAAC;AAED,OAAO,MAAMgE,2BAA2B,GAAGA,CAAA,KAAM;EAC7C,OAAOjF,GAAG,CAACkB,MAAM,CAAC;IACdE,IAAI,EAAEV,mBAAmB;IACzByD,eAAe,EAAEzD,mBAAmB,CAAC2D,MAAM,CAAChD,KAAK,IAAI;MACjD,IAAI,CAACA,KAAK,EAAE;QACR,OAAO,IAAI;MACf;MACA,OAAOmC,2BAA2B,CAACnC,KAAK,CAAC;IAC7C,CAAC,EAAEqC,mCAAmC,CAAC;IACvCY,aAAa,EAAE5D,mBAAmB,CAAC2D,MAAM,CAAChD,KAAK,IAAI;MAC/C,IAAI,CAACA,KAAK,EAAE;QACR,OAAO,IAAI;MACf;MACA,OAAOmC,2BAA2B,CAACnC,KAAK,CAAC;IAC7C,CAAC,EAAEsC,iCAAiC,CAAC;IACrCpB,WAAW,EAAE1B,0BAA0B;IACvC0D,KAAK,EAAE7D,mBAAmB;IAC1BO,IAAI;IACJuD,MAAM,EAAExE,GAAG,CAAC2C,KAAK,CAACnB,WAAW,CAAC;IAC9BiD,MAAM,EAAEzE,GAAG,CAAC2C,KAAK,CAAC3C,GAAG,CAAC2C,KAAK,CAAC3C,GAAG,CAAC0E,GAAG,CAAC,CAAC,CAAC,CAAC;IACvCC,YAAY,EAAEjE,mBAAmB,CAACI,OAAO,CAAC,CAAC;IAC3C8D,kBAAkB,EAAElE,mBAAmB,CAACI,OAAO,CAAC,CAAC;IACjD+D,YAAY,EAAEnE,mBAAmB,CAACI,OAAO,CAAC,CAAC;IAC3C4B,IAAI,EAAE1C,GAAG,CAAC2C,KAAK,CAACpC,WAAW,CAAC,CAACI,QAAQ,CAAC;EAC1C,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
@@ -30,7 +30,7 @@ export declare class ModelValidationError extends BaseError<GenericRecord<string
30
30
  readonly code: "Cms/Model/ValidationError";
31
31
  constructor(params: {
32
32
  message: string;
33
- data?: GenericRecord<string>;
33
+ data?: GenericRecord<string> | null;
34
34
  } | string);
35
35
  }
36
36
  export declare class ModelCannotUpdateCodeModelError extends BaseError<{
@@ -1 +1 @@
1
- {"version":3,"names":["BaseError","ModelNotAuthorizedError","code","constructor","message","fromModel","model","modelId","ModelNotFoundError","ModelAlreadyExistsError","params","data","ModelPersistenceError","error","ModelValidationError","undefined","ModelCannotUpdateCodeModelError","ModelCannotDeleteCodeModelError","ModelSlugTakenError","slug","ModelCannotDeleteHasEntriesError","ModelCannotDeleteHasEntriesInTrashError"],"sources":["errors.ts"],"sourcesContent":["import { BaseError } from \"@webiny/feature/api\";\nimport type { CmsModel } from \"~/types/index.js\";\nimport type { GenericRecord } from \"@webiny/utils\";\n\nexport class ModelNotAuthorizedError extends BaseError {\n override readonly code = \"Cms/Model/NotAuthorized\" as const;\n\n constructor(message?: string) {\n super({\n message: message || `Not allowed to access content models.`\n });\n }\n\n static fromModel(model: CmsModel): ModelNotAuthorizedError {\n return new ModelNotAuthorizedError(\n `Not allowed to access content model \"${model.modelId}\".`\n );\n }\n}\n\nexport class ModelNotFoundError extends BaseError {\n override readonly code = \"Cms/Model/NotFound\" as const;\n\n constructor(modelId: string) {\n super({\n message: `Model \"${modelId}\" was not found!`\n });\n }\n}\n\ninterface ModelAlreadyExistsParams {\n modelId: string;\n message?: string;\n}\n\nexport class ModelAlreadyExistsError extends BaseError<{ modelId: string }> {\n override readonly code = \"Cms/Model/AlreadyExists\" as const;\n\n constructor(params: ModelAlreadyExistsParams) {\n super({\n message: params.message ?? `Model \"${params.modelId}\" already exists!`,\n data: { modelId: params.modelId }\n });\n }\n}\n\nexport class ModelPersistenceError extends BaseError<{ error: Error }> {\n override readonly code = \"Cms/Model/PersistenceError\" as const;\n\n constructor(error: Error) {\n super({\n message: error.message,\n data: {\n error\n }\n });\n }\n}\n\nexport class ModelValidationError extends BaseError<GenericRecord<string> | undefined> {\n override readonly code = \"Cms/Model/ValidationError\" as const;\n\n constructor(params: { message: string; data?: GenericRecord<string> } | string) {\n if (typeof params === \"string\") {\n super({ message: params });\n return;\n }\n\n super({\n message: params.message,\n data: params.data ?? undefined\n });\n }\n}\n\nexport class ModelCannotUpdateCodeModelError extends BaseError<{ modelId: string }> {\n override readonly code = \"Cms/Model/CannotUpdateCodeModel\" as const;\n\n constructor(modelId: string) {\n super({\n message: `Cannot update model \"${modelId}\" defined via code.`,\n data: { modelId }\n });\n }\n}\n\nexport class ModelCannotDeleteCodeModelError extends BaseError<{ modelId: string }> {\n override readonly code = \"Cms/Model/CannotDeleteCodeModel\" as const;\n\n constructor(modelId: string) {\n super({\n message: `Cannot delete model \"${modelId}\" defined via code.`,\n data: { modelId }\n });\n }\n}\n\nexport class ModelSlugTakenError extends BaseError {\n override readonly code = \"Cms/Model/SlugTaken\" as const;\n\n constructor(slug: string) {\n super({\n message: `Model slug/API name \"${slug}\" is already taken.`\n });\n }\n}\n\nexport class ModelCannotDeleteHasEntriesError extends BaseError {\n override readonly code = \"Cms/Model/CannotDeleteHasEntries\" as const;\n\n constructor(modelId: string) {\n super({\n message: `Cannot delete content model \"${modelId}\" because there are existing entries.`\n });\n }\n}\n\nexport class ModelCannotDeleteHasEntriesInTrashError extends BaseError {\n override readonly code = \"Cms/Model/CannotDeleteHasEntriesInTrash\" as const;\n\n constructor(modelId: string) {\n super({\n message: `Cannot delete content model \"${modelId}\" because there are existing entries in the trash.`\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["BaseError","ModelNotAuthorizedError","code","constructor","message","fromModel","model","modelId","ModelNotFoundError","ModelAlreadyExistsError","params","data","ModelPersistenceError","error","ModelValidationError","undefined","ModelCannotUpdateCodeModelError","ModelCannotDeleteCodeModelError","ModelSlugTakenError","slug","ModelCannotDeleteHasEntriesError","ModelCannotDeleteHasEntriesInTrashError"],"sources":["errors.ts"],"sourcesContent":["import { BaseError } from \"@webiny/feature/api\";\nimport type { CmsModel } from \"~/types/index.js\";\nimport type { GenericRecord } from \"@webiny/utils\";\n\nexport class ModelNotAuthorizedError extends BaseError {\n override readonly code = \"Cms/Model/NotAuthorized\" as const;\n\n constructor(message?: string) {\n super({\n message: message || `Not allowed to access content models.`\n });\n }\n\n static fromModel(model: CmsModel): ModelNotAuthorizedError {\n return new ModelNotAuthorizedError(\n `Not allowed to access content model \"${model.modelId}\".`\n );\n }\n}\n\nexport class ModelNotFoundError extends BaseError {\n override readonly code = \"Cms/Model/NotFound\" as const;\n\n constructor(modelId: string) {\n super({\n message: `Model \"${modelId}\" was not found!`\n });\n }\n}\n\ninterface ModelAlreadyExistsParams {\n modelId: string;\n message?: string;\n}\n\nexport class ModelAlreadyExistsError extends BaseError<{ modelId: string }> {\n override readonly code = \"Cms/Model/AlreadyExists\" as const;\n\n constructor(params: ModelAlreadyExistsParams) {\n super({\n message: params.message ?? `Model \"${params.modelId}\" already exists!`,\n data: { modelId: params.modelId }\n });\n }\n}\n\nexport class ModelPersistenceError extends BaseError<{ error: Error }> {\n override readonly code = \"Cms/Model/PersistenceError\" as const;\n\n constructor(error: Error) {\n super({\n message: error.message,\n data: {\n error\n }\n });\n }\n}\n\nexport class ModelValidationError extends BaseError<GenericRecord<string> | undefined> {\n override readonly code = \"Cms/Model/ValidationError\" as const;\n\n constructor(params: { message: string; data?: GenericRecord<string> | null } | string) {\n if (typeof params === \"string\") {\n super({ message: params });\n return;\n }\n\n super({\n message: params.message,\n data: params.data ?? undefined\n });\n }\n}\n\nexport class ModelCannotUpdateCodeModelError extends BaseError<{ modelId: string }> {\n override readonly code = \"Cms/Model/CannotUpdateCodeModel\" as const;\n\n constructor(modelId: string) {\n super({\n message: `Cannot update model \"${modelId}\" defined via code.`,\n data: { modelId }\n });\n }\n}\n\nexport class ModelCannotDeleteCodeModelError extends BaseError<{ modelId: string }> {\n override readonly code = \"Cms/Model/CannotDeleteCodeModel\" as const;\n\n constructor(modelId: string) {\n super({\n message: `Cannot delete model \"${modelId}\" defined via code.`,\n data: { modelId }\n });\n }\n}\n\nexport class ModelSlugTakenError extends BaseError {\n override readonly code = \"Cms/Model/SlugTaken\" as const;\n\n constructor(slug: string) {\n super({\n message: `Model slug/API name \"${slug}\" is already taken.`\n });\n }\n}\n\nexport class ModelCannotDeleteHasEntriesError extends BaseError {\n override readonly code = \"Cms/Model/CannotDeleteHasEntries\" as const;\n\n constructor(modelId: string) {\n super({\n message: `Cannot delete content model \"${modelId}\" because there are existing entries.`\n });\n }\n}\n\nexport class ModelCannotDeleteHasEntriesInTrashError extends BaseError {\n override readonly code = \"Cms/Model/CannotDeleteHasEntriesInTrash\" as const;\n\n constructor(modelId: string) {\n super({\n message: `Cannot delete content model \"${modelId}\" because there are existing entries in the trash.`\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -30,7 +30,7 @@ export declare const createModelCreateValidation: () => zod.ZodObject<{
30
30
  fields: zod.ZodDefault<zod.ZodArray<zod.ZodObject<{
31
31
  id: zod.ZodString;
32
32
  storageId: zod.ZodEffects<zod.ZodOptional<zod.ZodString>, string, string | undefined>;
33
- fieldId: zod.ZodEffects<zod.ZodString, string, string>;
33
+ fieldId: zod.ZodString;
34
34
  label: zod.ZodString;
35
35
  help: zod.ZodDefault<zod.ZodOptional<zod.ZodNullable<zod.ZodOptional<zod.ZodString>>>>;
36
36
  description: zod.ZodDefault<zod.ZodOptional<zod.ZodNullable<zod.ZodOptional<zod.ZodString>>>>;
@@ -144,6 +144,37 @@ export declare const createModelCreateValidation: () => zod.ZodObject<{
144
144
  message?: string | undefined;
145
145
  }[] | null | undefined>;
146
146
  settings: zod.ZodDefault<zod.ZodEffects<zod.ZodOptional<zod.ZodNullable<zod.ZodOptional<zod.ZodObject<{}, "passthrough", zod.ZodTypeAny, zod.objectOutputType<{}, zod.ZodTypeAny, "passthrough">, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>>>, zod.objectOutputType<{}, zod.ZodTypeAny, "passthrough">, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough"> | null | undefined>>;
147
+ rules: zod.ZodEffects<zod.ZodDefault<zod.ZodOptional<zod.ZodNullable<zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
148
+ type: zod.ZodEnum<["accessControl", "entryValue"]>;
149
+ target: zod.ZodString;
150
+ operator: zod.ZodString;
151
+ value: zod.ZodUnion<[zod.ZodString, zod.ZodNumber, zod.ZodBoolean, zod.ZodNull]>;
152
+ action: zod.ZodString;
153
+ }, "strip", zod.ZodTypeAny, {
154
+ type: "accessControl" | "entryValue";
155
+ value: string | number | boolean | null;
156
+ target: string;
157
+ action: string;
158
+ operator: string;
159
+ }, {
160
+ type: "accessControl" | "entryValue";
161
+ value: string | number | boolean | null;
162
+ target: string;
163
+ action: string;
164
+ operator: string;
165
+ }>, "many">>>>>, {
166
+ type: "accessControl" | "entryValue";
167
+ value: string | number | boolean | null;
168
+ target: string;
169
+ action: string;
170
+ operator: string;
171
+ }[], {
172
+ type: "accessControl" | "entryValue";
173
+ value: string | number | boolean | null;
174
+ target: string;
175
+ action: string;
176
+ operator: string;
177
+ }[] | null | undefined>;
147
178
  }, "strip", zod.ZodTypeAny, {
148
179
  id: string;
149
180
  description: string | null;
@@ -177,6 +208,13 @@ export declare const createModelCreateValidation: () => zod.ZodObject<{
177
208
  settings: {} & {
178
209
  [k: string]: unknown;
179
210
  };
211
+ rules: {
212
+ type: "accessControl" | "entryValue";
213
+ value: string | number | boolean | null;
214
+ target: string;
215
+ action: string;
216
+ operator: string;
217
+ }[];
180
218
  predefinedValues?: {
181
219
  values: {
182
220
  label: string;
@@ -220,8 +258,15 @@ export declare const createModelCreateValidation: () => zod.ZodObject<{
220
258
  list?: boolean | null | undefined;
221
259
  tags?: string[] | undefined;
222
260
  settings?: zod.objectInputType<{}, zod.ZodTypeAny, "passthrough"> | null | undefined;
261
+ rules?: {
262
+ type: "accessControl" | "entryValue";
263
+ value: string | number | boolean | null;
264
+ target: string;
265
+ action: string;
266
+ operator: string;
267
+ }[] | null | undefined;
223
268
  }>, "many">>;
224
- layout: zod.ZodDefault<zod.ZodArray<zod.ZodArray<zod.ZodString, "many">, "many">>;
269
+ layout: zod.ZodDefault<zod.ZodArray<zod.ZodArray<zod.ZodAny, "many">, "many">>;
225
270
  tags: zod.ZodOptional<zod.ZodArray<zod.ZodString, "many">>;
226
271
  titleFieldId: zod.ZodOptional<zod.ZodNullable<zod.ZodOptional<zod.ZodString>>>;
227
272
  descriptionFieldId: zod.ZodOptional<zod.ZodNullable<zod.ZodOptional<zod.ZodString>>>;
@@ -268,6 +313,13 @@ export declare const createModelCreateValidation: () => zod.ZodObject<{
268
313
  settings: {} & {
269
314
  [k: string]: unknown;
270
315
  };
316
+ rules: {
317
+ type: "accessControl" | "entryValue";
318
+ value: string | number | boolean | null;
319
+ target: string;
320
+ action: string;
321
+ operator: string;
322
+ }[];
271
323
  predefinedValues?: {
272
324
  values: {
273
325
  label: string;
@@ -277,7 +329,7 @@ export declare const createModelCreateValidation: () => zod.ZodObject<{
277
329
  enabled: boolean;
278
330
  } | undefined;
279
331
  }[];
280
- layout: string[][];
332
+ layout: any[][];
281
333
  singularApiName: string;
282
334
  pluralApiName: string;
283
335
  group: string;
@@ -334,8 +386,15 @@ export declare const createModelCreateValidation: () => zod.ZodObject<{
334
386
  list?: boolean | null | undefined;
335
387
  tags?: string[] | undefined;
336
388
  settings?: zod.objectInputType<{}, zod.ZodTypeAny, "passthrough"> | null | undefined;
389
+ rules?: {
390
+ type: "accessControl" | "entryValue";
391
+ value: string | number | boolean | null;
392
+ target: string;
393
+ action: string;
394
+ operator: string;
395
+ }[] | null | undefined;
337
396
  }[] | undefined;
338
- layout?: string[][] | undefined;
397
+ layout?: any[][] | undefined;
339
398
  modelId?: string | undefined;
340
399
  titleFieldId?: string | null | undefined;
341
400
  descriptionFieldId?: string | null | undefined;
@@ -372,7 +431,7 @@ export declare const createModelUpdateValidation: () => zod.ZodObject<{
372
431
  fields: zod.ZodArray<zod.ZodObject<{
373
432
  id: zod.ZodString;
374
433
  storageId: zod.ZodEffects<zod.ZodOptional<zod.ZodString>, string, string | undefined>;
375
- fieldId: zod.ZodEffects<zod.ZodString, string, string>;
434
+ fieldId: zod.ZodString;
376
435
  label: zod.ZodString;
377
436
  help: zod.ZodDefault<zod.ZodOptional<zod.ZodNullable<zod.ZodOptional<zod.ZodString>>>>;
378
437
  description: zod.ZodDefault<zod.ZodOptional<zod.ZodNullable<zod.ZodOptional<zod.ZodString>>>>;
@@ -486,6 +545,37 @@ export declare const createModelUpdateValidation: () => zod.ZodObject<{
486
545
  message?: string | undefined;
487
546
  }[] | null | undefined>;
488
547
  settings: zod.ZodDefault<zod.ZodEffects<zod.ZodOptional<zod.ZodNullable<zod.ZodOptional<zod.ZodObject<{}, "passthrough", zod.ZodTypeAny, zod.objectOutputType<{}, zod.ZodTypeAny, "passthrough">, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>>>, zod.objectOutputType<{}, zod.ZodTypeAny, "passthrough">, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough"> | null | undefined>>;
548
+ rules: zod.ZodEffects<zod.ZodDefault<zod.ZodOptional<zod.ZodNullable<zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
549
+ type: zod.ZodEnum<["accessControl", "entryValue"]>;
550
+ target: zod.ZodString;
551
+ operator: zod.ZodString;
552
+ value: zod.ZodUnion<[zod.ZodString, zod.ZodNumber, zod.ZodBoolean, zod.ZodNull]>;
553
+ action: zod.ZodString;
554
+ }, "strip", zod.ZodTypeAny, {
555
+ type: "accessControl" | "entryValue";
556
+ value: string | number | boolean | null;
557
+ target: string;
558
+ action: string;
559
+ operator: string;
560
+ }, {
561
+ type: "accessControl" | "entryValue";
562
+ value: string | number | boolean | null;
563
+ target: string;
564
+ action: string;
565
+ operator: string;
566
+ }>, "many">>>>>, {
567
+ type: "accessControl" | "entryValue";
568
+ value: string | number | boolean | null;
569
+ target: string;
570
+ action: string;
571
+ operator: string;
572
+ }[], {
573
+ type: "accessControl" | "entryValue";
574
+ value: string | number | boolean | null;
575
+ target: string;
576
+ action: string;
577
+ operator: string;
578
+ }[] | null | undefined>;
489
579
  }, "strip", zod.ZodTypeAny, {
490
580
  id: string;
491
581
  description: string | null;
@@ -519,6 +609,13 @@ export declare const createModelUpdateValidation: () => zod.ZodObject<{
519
609
  settings: {} & {
520
610
  [k: string]: unknown;
521
611
  };
612
+ rules: {
613
+ type: "accessControl" | "entryValue";
614
+ value: string | number | boolean | null;
615
+ target: string;
616
+ action: string;
617
+ operator: string;
618
+ }[];
522
619
  predefinedValues?: {
523
620
  values: {
524
621
  label: string;
@@ -562,8 +659,15 @@ export declare const createModelUpdateValidation: () => zod.ZodObject<{
562
659
  list?: boolean | null | undefined;
563
660
  tags?: string[] | undefined;
564
661
  settings?: zod.objectInputType<{}, zod.ZodTypeAny, "passthrough"> | null | undefined;
662
+ rules?: {
663
+ type: "accessControl" | "entryValue";
664
+ value: string | number | boolean | null;
665
+ target: string;
666
+ action: string;
667
+ operator: string;
668
+ }[] | null | undefined;
565
669
  }>, "many">;
566
- layout: zod.ZodArray<zod.ZodArray<zod.ZodString, "many">, "many">;
670
+ layout: zod.ZodArray<zod.ZodArray<zod.ZodAny, "many">, "many">;
567
671
  titleFieldId: zod.ZodOptional<zod.ZodNullable<zod.ZodOptional<zod.ZodString>>>;
568
672
  descriptionFieldId: zod.ZodOptional<zod.ZodNullable<zod.ZodOptional<zod.ZodString>>>;
569
673
  imageFieldId: zod.ZodOptional<zod.ZodNullable<zod.ZodOptional<zod.ZodString>>>;
@@ -608,6 +712,13 @@ export declare const createModelUpdateValidation: () => zod.ZodObject<{
608
712
  settings: {} & {
609
713
  [k: string]: unknown;
610
714
  };
715
+ rules: {
716
+ type: "accessControl" | "entryValue";
717
+ value: string | number | boolean | null;
718
+ target: string;
719
+ action: string;
720
+ operator: string;
721
+ }[];
611
722
  predefinedValues?: {
612
723
  values: {
613
724
  label: string;
@@ -617,7 +728,7 @@ export declare const createModelUpdateValidation: () => zod.ZodObject<{
617
728
  enabled: boolean;
618
729
  } | undefined;
619
730
  }[];
620
- layout: string[][];
731
+ layout: any[][];
621
732
  name?: string | undefined;
622
733
  tags?: string[] | undefined;
623
734
  singularApiName?: string | undefined;
@@ -662,8 +773,15 @@ export declare const createModelUpdateValidation: () => zod.ZodObject<{
662
773
  list?: boolean | null | undefined;
663
774
  tags?: string[] | undefined;
664
775
  settings?: zod.objectInputType<{}, zod.ZodTypeAny, "passthrough"> | null | undefined;
776
+ rules?: {
777
+ type: "accessControl" | "entryValue";
778
+ value: string | number | boolean | null;
779
+ target: string;
780
+ action: string;
781
+ operator: string;
782
+ }[] | null | undefined;
665
783
  }[];
666
- layout: string[][];
784
+ layout: any[][];
667
785
  name?: string | undefined;
668
786
  description?: string | null | undefined;
669
787
  icon?: zod.objectInputType<{
@@ -1,7 +1,6 @@
1
1
  import zod from "zod";
2
2
  import upperFirst from "lodash/upperFirst.js";
3
3
  import camelCase from "lodash/camelCase.js";
4
- const fieldSystemFields = ["id", "entryId", "createdOn", "modifiedOn", "publishedOn", "savedOn", "deletedOn", "restoredOn", "firstPublishedOn", "lastPublishedOn", "createdBy", "modifiedBy", "savedBy", "deletedBy", "restoredBy", "firstPublishedBy", "lastPublishedBy", "revisionCreatedOn", "revisionModifiedOn", "revisionSavedOn", "revisionDeletedOn", "revisionRestoredOn", "revisionFirstPublishedOn", "revisionLastPublishedOn", "revisionCreatedBy", "revisionModifiedBy", "revisionSavedBy", "revisionDeletedBy", "revisionRestoredBy", "revisionFirstPublishedBy", "revisionLastPublishedBy", "meta", "wbyAco_location"];
5
4
  const str = zod.string().trim();
6
5
  const shortString = str.max(255);
7
6
  const longString = str;
@@ -28,16 +27,9 @@ const fieldSchema = zod.object({
28
27
  return "";
29
28
  }),
30
29
  fieldId: shortString.max(100).regex(/^!?[a-zA-Z]/, {
31
- message: `Provided value is not valid - must not start with a number.`
30
+ message: `Must not start with a number.`
32
31
  }).regex(/^(^[a-zA-Z0-9]+)$/, {
33
- message: `Provided value is not valid - must be alphanumeric string.`
34
- }).superRefine((value, ctx) => {
35
- if (fieldSystemFields.includes(value)) {
36
- return ctx.addIssue({
37
- code: zod.ZodIssueCode.custom,
38
- message: `Field ID "${value}" is a reserved keyword, and is not allowed.`
39
- });
40
- }
32
+ message: `Must be alphanumeric string.`
41
33
  }),
42
34
  label: shortString,
43
35
  help: optionalNullishLongString,
@@ -82,7 +74,14 @@ const fieldSchema = zod.object({
82
74
  })).nullish().optional().default([]).transform(value => value || []),
83
75
  settings: zod.object({}).passthrough().optional().nullish().transform(value => {
84
76
  return value || {};
85
- }).default({})
77
+ }).default({}),
78
+ rules: zod.array(zod.object({
79
+ type: zod.enum(["accessControl", "entryValue"]),
80
+ target: shortString,
81
+ operator: shortString,
82
+ value: zod.union([zod.string(), zod.number(), zod.boolean(), zod.null()]),
83
+ action: shortString
84
+ })).optional().nullish().default([]).transform(value => value || [])
86
85
  });
87
86
  const apiNameRefinementValidation = value => {
88
87
  if (value.match(/^[A-Z]/) === null) {
@@ -122,7 +121,7 @@ export const createModelCreateValidation = () => {
122
121
  group: shortString,
123
122
  icon,
124
123
  fields: zod.array(fieldSchema).default([]),
125
- layout: zod.array(zod.array(shortString)).default([]),
124
+ layout: zod.array(zod.array(zod.any())).default([]),
126
125
  tags: zod.array(shortString).optional(),
127
126
  titleFieldId: optionalShortString.nullish(),
128
127
  descriptionFieldId: optionalShortString.nullish(),
@@ -149,7 +148,7 @@ export const createModelUpdateValidation = () => {
149
148
  group: optionalShortString,
150
149
  icon,
151
150
  fields: zod.array(fieldSchema),
152
- layout: zod.array(zod.array(shortString)),
151
+ layout: zod.array(zod.array(zod.any())),
153
152
  titleFieldId: optionalShortString.nullish(),
154
153
  descriptionFieldId: optionalShortString.nullish(),
155
154
  imageFieldId: optionalShortString.nullish(),