@dani-builder/strapi-plugin-builder 0.9.0 → 0.11.0

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 (61) hide show
  1. package/AGENTS.md +4 -3
  2. package/README.md +10 -2
  3. package/dist/server/src/components/blocks/inquiry-form.json +7 -0
  4. package/dist/server/src/config/builder.d.ts +4 -2
  5. package/dist/server/src/config/builder.d.ts.map +1 -1
  6. package/dist/server/src/config/builder.js.map +1 -1
  7. package/dist/server/src/config/index.d.ts +25 -0
  8. package/dist/server/src/config/index.d.ts.map +1 -1
  9. package/dist/server/src/config/index.js +95 -1
  10. package/dist/server/src/config/index.js.map +1 -1
  11. package/dist/server/src/content-type-availability.d.ts +19 -0
  12. package/dist/server/src/content-type-availability.d.ts.map +1 -0
  13. package/dist/server/src/content-type-availability.js +61 -0
  14. package/dist/server/src/content-type-availability.js.map +1 -0
  15. package/dist/server/src/content-type-config.d.ts +6 -0
  16. package/dist/server/src/content-type-config.d.ts.map +1 -0
  17. package/dist/server/src/content-type-config.js +13 -0
  18. package/dist/server/src/content-type-config.js.map +1 -0
  19. package/dist/server/src/content-types/category/index.d.ts +6 -0
  20. package/dist/server/src/content-types/category/index.d.ts.map +1 -1
  21. package/dist/server/src/content-types/category/schema.json +6 -0
  22. package/dist/server/src/content-types/faq/index.d.ts +1 -0
  23. package/dist/server/src/content-types/faq/index.d.ts.map +1 -1
  24. package/dist/server/src/content-types/faq/schema.json +3 -2
  25. package/dist/server/src/content-types/index.d.ts +104 -0
  26. package/dist/server/src/content-types/index.d.ts.map +1 -1
  27. package/dist/server/src/content-types/index.js +2 -0
  28. package/dist/server/src/content-types/index.js.map +1 -1
  29. package/dist/server/src/content-types/inquiry/index.d.ts +25 -0
  30. package/dist/server/src/content-types/inquiry/index.d.ts.map +1 -1
  31. package/dist/server/src/content-types/inquiry/schema.json +34 -3
  32. package/dist/server/src/content-types/legal-document/index.d.ts +74 -0
  33. package/dist/server/src/content-types/legal-document/index.d.ts.map +1 -0
  34. package/dist/server/src/content-types/legal-document/index.js +8 -0
  35. package/dist/server/src/content-types/legal-document/index.js.map +1 -0
  36. package/dist/server/src/content-types/legal-document/schema.json +70 -0
  37. package/dist/server/src/controllers/index.d.ts.map +1 -1
  38. package/dist/server/src/controllers/index.js +3 -1
  39. package/dist/server/src/controllers/index.js.map +1 -1
  40. package/dist/server/src/controllers/inquiry.d.ts +8 -0
  41. package/dist/server/src/controllers/inquiry.d.ts.map +1 -0
  42. package/dist/server/src/controllers/inquiry.js +27 -0
  43. package/dist/server/src/controllers/inquiry.js.map +1 -0
  44. package/dist/server/src/preview/handler.d.ts +1 -1
  45. package/dist/server/src/preview/handler.d.ts.map +1 -1
  46. package/dist/server/src/preview/handler.js +8 -4
  47. package/dist/server/src/preview/handler.js.map +1 -1
  48. package/dist/server/src/register.d.ts.map +1 -1
  49. package/dist/server/src/register.js +23 -0
  50. package/dist/server/src/register.js.map +1 -1
  51. package/dist/server/src/routes/content-api.d.ts.map +1 -1
  52. package/dist/server/src/routes/content-api.js +16 -6
  53. package/dist/server/src/routes/content-api.js.map +1 -1
  54. package/dist/server/src/services/index.d.ts.map +1 -1
  55. package/dist/server/src/services/index.js +3 -1
  56. package/dist/server/src/services/index.js.map +1 -1
  57. package/dist/server/src/services/inquiry.d.ts +15 -0
  58. package/dist/server/src/services/inquiry.d.ts.map +1 -0
  59. package/dist/server/src/services/inquiry.js +137 -0
  60. package/dist/server/src/services/inquiry.js.map +1 -0
  61. package/package.json +1 -1
package/AGENTS.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @dani-builder/strapi-plugin-builder
2
2
 
3
- Strapi v5 plugin providing 11 content types, 31 components, and smart API endpoints for a page builder CMS. Installed as a Strapi plugin — not used standalone.
3
+ Strapi v5 plugin providing 12 content types, 31 components, and smart API endpoints for a page builder CMS. Installed as a Strapi plugin — not used standalone.
4
4
 
5
5
  ## Installation & Setup
6
6
 
@@ -20,13 +20,14 @@ export default () => ({
20
20
  types and their core REST routes; copied schemas duplicate collection names and
21
21
  prevent Strapi from booting.
22
22
 
23
- ## Content Types (11)
23
+ ## Content Types (12)
24
24
 
25
- ### Collection Types (8)
25
+ ### Collection Types (9)
26
26
 
27
27
  | singularName | pluralName | REST endpoint | draftAndPublish | i18n |
28
28
  |---|---|---|---|---|
29
29
  | page | pages | `api/builder/pages` | true | yes |
30
+ | legal-document | legal-documents | `api/builder/legal-documents` | true | yes |
30
31
  | article | articles | `api/builder/articles` | true | yes |
31
32
  | faq | faqs | `api/builder/faqs` | true | yes |
32
33
  | category | categories | `api/builder/categories` | false | yes |
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @dani-builder/strapi-plugin-builder
2
2
 
3
- Reusable CMS building blocks for **Strapi v5** — 11 content types, 31 block/element
3
+ Reusable CMS building blocks for **Strapi v5** — 12 content types, 31 block/element
4
4
  components, and a "smart API" that returns fully deep-populated pages and globals
5
5
  in a single request. Powers the [Daniworks Builder](https://github.com/HJ-company/daniworks-builder-v2)
6
6
  block-based site builder.
@@ -72,11 +72,19 @@ or replace it.
72
72
 
73
73
  ## Plugin-owned content types
74
74
 
75
- The plugin directly registers all 11 content types as `plugin::builder.*`.
75
+ The plugin directly registers all 12 content types as `plugin::builder.*`.
76
76
  Do not copy schemas into a consumer's `src/api` directory: that would create
77
77
  conflicting `collectionName` registrations. Core REST endpoints are available
78
78
  under `/api/builder/*`.
79
79
 
80
+ Legal Document (`plugin::builder.legal-document`) stores standalone localized content with
81
+ required `title`, `slug`, and Blocks-editor `body`, plus optional `summary` and
82
+ `effectiveDate`. Use `GET /api/builder/legal-documents?filters[slug][$eq]=privacy-policy&locale=en`
83
+ to find a published document; an unknown slug returns an empty `data` array.
84
+ Configure Content API token or role permissions explicitly; the plugin does not
85
+ automatically grant public access. Setup samples are in the
86
+ [CMS content guide](https://github.com/HJ-company/daniworks-builder-v2/blob/main/docs/guides/cms-content.md#standalone-legal-document-setup-samples).
87
+
80
88
  The `inquiry` endpoint is write-only (`POST /api/builder/inquiries`) and IP
81
89
  rate-limited so submitter PII cannot be listed over the public API.
82
90
 
@@ -17,6 +17,13 @@
17
17
  },
18
18
  "errorMessage": {
19
19
  "type": "text"
20
+ },
21
+ "consentLabel": {
22
+ "type": "text"
23
+ },
24
+ "consentVersion": {
25
+ "type": "string",
26
+ "maxLength": 120
20
27
  }
21
28
  }
22
29
  }
@@ -1,8 +1,10 @@
1
- import type { BuilderPreviewConfig } from './index';
2
- export type { BuilderPreviewConfig, BuilderPreviewDocument } from './index';
1
+ import type { BuilderContentTypesConfig, BuilderInquiryConfig, BuilderPreviewConfig } from './index';
2
+ export type { BuilderContentTypesConfig, BuilderOptionalContentType, BuilderInquiryConfig, InquiryAttribute, InquirySubmission, BuilderPreviewConfig, BuilderPreviewDocument, } from './index';
3
3
  type ConfigValue = Record<string, unknown>;
4
4
  export interface BuilderPluginOptions extends ConfigValue {
5
5
  preview?: BuilderPreviewConfig | false;
6
+ contentTypes?: BuilderContentTypesConfig;
7
+ inquiry?: BuilderInquiryConfig;
6
8
  }
7
9
  export interface BuilderPluginConfig {
8
10
  enabled: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../../server/src/config/builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AACpD,YAAY,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAE5E,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE3C,MAAM,WAAW,oBAAqB,SAAQ,WAAW;IACvD,OAAO,CAAC,EAAE,oBAAoB,GAAG,KAAK,CAAC;CACxC;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,kBAAkB,CAAC;IACzB,MAAM,EAAE;QACN,qBAAqB,EAAE;YACrB,WAAW,EAAE,OAAO,CAAC;YACrB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACrC,CAAC;KACH,CAAC;CACH;AAED,MAAM,WAAW,UAAU;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAClC,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;IACpE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;CACpD;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,UAAU,CAAC;CACjB;AAED,wBAAgB,aAAa,CAAC,EAAE,GAAG,EAAE,EAAE,mBAAmB,GAAG,WAAW,CAsCvE;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,mBAAmB,EAC5B,aAAa,CAAC,EAAE,oBAAoB,GACnC,mBAAmB,CAKrB;AAED,wBAAgB,kBAAkB,CAAC,EACjC,GAAG,GACJ,EAAE,mBAAmB,GAAG,uBAAuB,CAoC/C"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../../server/src/config/builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,yBAAyB,EACzB,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,SAAS,CAAC;AACjB,YAAY,EACV,yBAAyB,EACzB,0BAA0B,EAC1B,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,SAAS,CAAC;AAEjB,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE3C,MAAM,WAAW,oBAAqB,SAAQ,WAAW;IACvD,OAAO,CAAC,EAAE,oBAAoB,GAAG,KAAK,CAAC;IACvC,YAAY,CAAC,EAAE,yBAAyB,CAAC;IACzC,OAAO,CAAC,EAAE,oBAAoB,CAAC;CAChC;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,kBAAkB,CAAC;IACzB,MAAM,EAAE;QACN,qBAAqB,EAAE;YACrB,WAAW,EAAE,OAAO,CAAC;YACrB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACrC,CAAC;KACH,CAAC;CACH;AAED,MAAM,WAAW,UAAU;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAClC,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;IACpE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;CACpD;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,UAAU,CAAC;CACjB;AAED,wBAAgB,aAAa,CAAC,EAAE,GAAG,EAAE,EAAE,mBAAmB,GAAG,WAAW,CAsCvE;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,mBAAmB,EAC5B,aAAa,CAAC,EAAE,oBAAoB,GACnC,mBAAmB,CAKrB;AAED,wBAAgB,kBAAkB,CAAC,EACjC,GAAG,GACJ,EAAE,mBAAmB,GAAG,uBAAuB,CAoC/C"}
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../../server/src/config/builder.ts"],"names":[],"mappings":";;AAkCA,sCAsCC;AAED,wCAQC;AAED,gDAsCC;AAxFD,SAAgB,aAAa,CAAC,EAAE,GAAG,EAAuB;IACxD,MAAM,QAAQ,GAAG,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC;IAEjC,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAEvB,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAE1C,OAAO;QACL,QAAQ,EAAE,QAAQ;QAClB,eAAe,EAAE;YACf,OAAO,EAAE,GAAG,CAAC,aAAa,EAAE,SAAS,CAAC;YACtC,SAAS,EAAE;gBACT,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,GAAG,CAAC,mBAAmB,CAAC;oBACtD,CAAC,CAAC;wBACE,WAAW,EAAE;4BACX,WAAW,EAAE,GAAG,CAAC,mBAAmB,CAAC;4BACrC,eAAe,EAAE,GAAG,CAAC,mBAAmB,CAAC;yBAC1C;qBACF;oBACH,CAAC,CAAC,EAAE,CAAC;gBACP,MAAM,EAAE,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC;gBACpC,QAAQ;gBACR,cAAc,EAAE,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACnE,MAAM,EAAE;oBACN,MAAM,EAAE,MAAM;oBACd,yEAAyE;oBACzE,kEAAkE;oBAClE,GAAG,EAAE,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG;iBACtC;aACF;SACF;QACD,aAAa,EAAE;YACb,MAAM,EAAE,EAAE;YACV,YAAY,EAAE,EAAE;YAChB,MAAM,EAAE,EAAE;SACX;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,cAAc,CAC5B,OAA4B,EAC5B,aAAoC;IAEpC,OAAO;QACL,OAAO,EAAE,IAAI;QACb,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpD,CAAC;AACJ,CAAC;AAED,SAAgB,kBAAkB,CAAC,EACjC,GAAG,GACiB;IACpB,MAAM,UAAU,GAAG;QACjB,GAAG,CAAC,aAAa,CAAC;QAClB,GAAG,CAAC,cAAc,CAAC;QACnB,GAAG,CAAC,iBAAiB,CAAC;KACvB;SACE,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SAClD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACb,IAAI,CAAC;YACH,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,KAAK,EAAE,CAAC;iBAClE,IAAI,CAAC;QACV,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO;QACL,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE;YACN,qBAAqB,EAAE;gBACrB,WAAW,EAAE,IAAI;gBACjB,UAAU,EAAE;oBACV,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;oBACnC,SAAS,EAAE;wBACT,QAAQ;wBACR,OAAO;wBACP,OAAO;wBACP,yBAAyB;wBACzB,GAAG,UAAU;qBACd;oBACD,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;oBACxD,uBAAuB,EAAE,IAAI;iBAC9B;aACF;SACF;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../../server/src/config/builder.ts"],"names":[],"mappings":";;AAgDA,sCAsCC;AAED,wCAQC;AAED,gDAsCC;AAxFD,SAAgB,aAAa,CAAC,EAAE,GAAG,EAAuB;IACxD,MAAM,QAAQ,GAAG,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC;IAEjC,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAEvB,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAE1C,OAAO;QACL,QAAQ,EAAE,QAAQ;QAClB,eAAe,EAAE;YACf,OAAO,EAAE,GAAG,CAAC,aAAa,EAAE,SAAS,CAAC;YACtC,SAAS,EAAE;gBACT,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,GAAG,CAAC,mBAAmB,CAAC;oBACtD,CAAC,CAAC;wBACE,WAAW,EAAE;4BACX,WAAW,EAAE,GAAG,CAAC,mBAAmB,CAAC;4BACrC,eAAe,EAAE,GAAG,CAAC,mBAAmB,CAAC;yBAC1C;qBACF;oBACH,CAAC,CAAC,EAAE,CAAC;gBACP,MAAM,EAAE,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC;gBACpC,QAAQ;gBACR,cAAc,EAAE,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACnE,MAAM,EAAE;oBACN,MAAM,EAAE,MAAM;oBACd,yEAAyE;oBACzE,kEAAkE;oBAClE,GAAG,EAAE,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG;iBACtC;aACF;SACF;QACD,aAAa,EAAE;YACb,MAAM,EAAE,EAAE;YACV,YAAY,EAAE,EAAE;YAChB,MAAM,EAAE,EAAE;SACX;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,cAAc,CAC5B,OAA4B,EAC5B,aAAoC;IAEpC,OAAO;QACL,OAAO,EAAE,IAAI;QACb,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpD,CAAC;AACJ,CAAC;AAED,SAAgB,kBAAkB,CAAC,EACjC,GAAG,GACiB;IACpB,MAAM,UAAU,GAAG;QACjB,GAAG,CAAC,aAAa,CAAC;QAClB,GAAG,CAAC,cAAc,CAAC;QACnB,GAAG,CAAC,iBAAiB,CAAC;KACvB;SACE,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SAClD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACb,IAAI,CAAC;YACH,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,KAAK,EAAE,CAAC;iBAClE,IAAI,CAAC;QACV,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO;QACL,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE;YACN,qBAAqB,EAAE;gBACrB,WAAW,EAAE,IAAI;gBACjB,UAAU,EAAE;oBACV,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;oBACnC,SAAS,EAAE;wBACT,QAAQ;wBACR,OAAO;wBACP,OAAO;wBACP,yBAAyB;wBACzB,GAAG,UAAU;qBACd;oBACD,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;oBACxD,uBAAuB,EAAE,IAAI;iBAC9B;aACF;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -1,7 +1,32 @@
1
+ import type { BuilderContentTypesConfig } from '../content-type-config';
1
2
  import type { BlockPopulate } from '../types';
2
3
  import type { BuilderPreviewConfig } from '../preview/handler';
3
4
  export type { BuilderPreviewConfig, BuilderPreviewDocument, } from '../preview/handler';
5
+ export type { BuilderContentTypesConfig, BuilderOptionalContentType, } from '../content-type-config';
6
+ /** Public scalar fields allowed in an inquiry submission. */
7
+ export interface InquiryAttribute {
8
+ type: 'string' | 'text' | 'email' | 'boolean' | 'integer' | 'enumeration';
9
+ maxLength?: number;
10
+ enum?: string[];
11
+ }
12
+ export interface InquirySubmission extends Readonly<Record<string, unknown>> {
13
+ readonly name: string;
14
+ readonly email?: string;
15
+ readonly phone?: string;
16
+ readonly subject?: string;
17
+ readonly message?: string;
18
+ readonly consent: true;
19
+ readonly consentVersion: string;
20
+ readonly idempotencyKey?: string;
21
+ }
22
+ export interface BuilderInquiryConfig {
23
+ attributes?: Record<string, InquiryAttribute>;
24
+ /** Return false to reject; thrown failures fail closed with a generic 500. */
25
+ validate?: (submission: InquirySubmission) => boolean | void | Promise<boolean | void>;
26
+ }
4
27
  export interface BuilderConfig {
28
+ inquiry?: BuilderInquiryConfig;
29
+ contentTypes?: BuilderContentTypesConfig;
5
30
  preview?: BuilderPreviewConfig | false;
6
31
  blocks: {
7
32
  extra: Record<string, BlockPopulate>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/config/index.ts"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,YAAY,EACV,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AA2B5B,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,oBAAoB,GAAG,KAAK,CAAC;IACvC,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACrC,eAAe,EAAE,OAAO,CAAC;KAC1B,CAAC;IACF,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC,CAAC;CACpE;AAgED,QAAA,MAAM,MAAM;eACC,aAAa;qBAUP,OAAO,GAAG,IAAI;CAyIhC,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/config/index.ts"],"names":[],"mappings":"AAoCA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,YAAY,EACV,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AA2B5B,YAAY,EACV,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,wBAAwB,CAAC;AAEhC,6DAA6D;AAC7D,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,aAAa,CAAC;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,iBAAkB,SAAQ,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC9C,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,CACT,UAAU,EAAE,iBAAiB,KAC1B,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,YAAY,CAAC,EAAE,yBAAyB,CAAC;IACzC,OAAO,CAAC,EAAE,oBAAoB,GAAG,KAAK,CAAC;IACvC,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACrC,eAAe,EAAE,OAAO,CAAC;KAC1B,CAAC;IACF,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC,CAAC;CACpE;AA6ED,QAAA,MAAM,MAAM;eACC,aAAa;qBAUP,OAAO,GAAG,IAAI;CAyQhC,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ const schema_json_1 = __importDefault(require("../content-types/inquiry/schema.json"));
6
7
  const bento_grid_json_1 = __importDefault(require("../components/blocks/bento-grid.json"));
7
8
  const content_json_1 = __importDefault(require("../components/blocks/content.json"));
8
9
  const cta_json_1 = __importDefault(require("../components/blocks/cta.json"));
@@ -36,6 +37,7 @@ const slider_item_json_1 = __importDefault(require("../components/shared/slider-
36
37
  const stat_item_json_1 = __importDefault(require("../components/shared/stat-item.json"));
37
38
  const team_member_json_1 = __importDefault(require("../components/shared/team-member.json"));
38
39
  const testimonial_item_json_1 = __importDefault(require("../components/shared/testimonial-item.json"));
40
+ const content_type_config_1 = require("../content-type-config");
39
41
  const attributeTypes = new Set([
40
42
  'biginteger',
41
43
  'boolean',
@@ -93,6 +95,14 @@ const componentSchemas = {
93
95
  'shared.team-member': team_member_json_1.default,
94
96
  'shared.testimonial-item': testimonial_item_json_1.default,
95
97
  };
98
+ // Attribute names are restricted to ASCII alphanumerics below. Match lodash's
99
+ // snakeCase word boundaries (including acronym/digit/ordinal boundaries), which
100
+ // Strapi uses to derive scalar database columns, without adding a dependency.
101
+ function inquiryColumnName(name) {
102
+ return (name.match(/[A-Z]?[a-z]+|[A-Z]+(?![a-z])|\d*(?:1ST|2ND|3RD|(?![123])\dTH)(?=\b|[a-z_])|\d*(?:1st|2nd|3rd|(?![123])\dth)(?=\b|[A-Z_])|\d+/g) ?? [])
103
+ .map((word) => word.toLowerCase())
104
+ .join('_');
105
+ }
96
106
  function isObject(value) {
97
107
  return typeof value === 'object' && value !== null && !Array.isArray(value);
98
108
  }
@@ -119,7 +129,19 @@ const config = {
119
129
  },
120
130
  validator(value) {
121
131
  requireObject(value, 'config');
122
- rejectUnknownKeys(value, ['blocks', 'components', 'preview'], 'config');
132
+ rejectUnknownKeys(value, ['blocks', 'components', 'preview', 'contentTypes', 'inquiry'], 'config');
133
+ if (value.contentTypes !== undefined) {
134
+ requireObject(value.contentTypes, 'config.contentTypes');
135
+ rejectUnknownKeys(value.contentTypes, [...content_type_config_1.OPTIONAL_CONTENT_TYPES], 'config.contentTypes');
136
+ for (const [name, entry] of Object.entries(value.contentTypes)) {
137
+ const path = `config.contentTypes.${name}`;
138
+ requireObject(entry, path);
139
+ rejectUnknownKeys(entry, ['enabled'], path);
140
+ if (typeof entry.enabled !== 'boolean') {
141
+ throw new Error(`[builder] ${path}.enabled must be a boolean`);
142
+ }
143
+ }
144
+ }
123
145
  if (value.preview !== undefined && value.preview !== false) {
124
146
  requireObject(value.preview, 'config.preview');
125
147
  rejectUnknownKeys(value.preview, ['siteUrl', 'secretEnv', 'resolvePath', 'uids'], 'config.preview');
@@ -149,6 +171,78 @@ const config = {
149
171
  typeof value.preview.resolvePath !== 'function')
150
172
  throw new Error('[builder] preview.resolvePath is required when preview.uids is non-empty');
151
173
  }
174
+ if (value.inquiry !== undefined) {
175
+ requireObject(value.inquiry, 'config.inquiry');
176
+ rejectUnknownKeys(value.inquiry, ['attributes', 'validate'], 'config.inquiry');
177
+ if (value.inquiry.validate !== undefined &&
178
+ typeof value.inquiry.validate !== 'function') {
179
+ throw new Error('[builder] config.inquiry.validate must be a function');
180
+ }
181
+ if (value.inquiry.attributes !== undefined) {
182
+ requireObject(value.inquiry.attributes, 'config.inquiry.attributes');
183
+ const reserved = new Set([
184
+ ...Object.keys(schema_json_1.default.attributes),
185
+ 'id',
186
+ 'documentId',
187
+ 'createdAt',
188
+ 'updatedAt',
189
+ 'publishedAt',
190
+ 'createdBy',
191
+ 'updatedBy',
192
+ 'locale',
193
+ 'localizations',
194
+ '__proto__',
195
+ 'constructor',
196
+ 'prototype',
197
+ ]);
198
+ const columns = new Set([...reserved, 'createdById', 'updatedById'].map(inquiryColumnName));
199
+ for (const [name, attribute] of Object.entries(value.inquiry.attributes)) {
200
+ if (!/^[a-z][a-zA-Z0-9]*$/.test(name) || reserved.has(name)) {
201
+ throw new Error('[builder] inquiry attributes must be additive and cannot use reserved names');
202
+ }
203
+ const column = inquiryColumnName(name);
204
+ if (columns.has(column)) {
205
+ throw new Error('[builder] inquiry attributes cannot share a database column with built-in, system, or other added fields');
206
+ }
207
+ columns.add(column);
208
+ requireObject(attribute, `config.inquiry.attributes.${name}`);
209
+ rejectUnknownKeys(attribute, ['type', 'maxLength', 'enum'], `config.inquiry.attributes.${name}`);
210
+ if (![
211
+ 'string',
212
+ 'text',
213
+ 'email',
214
+ 'boolean',
215
+ 'integer',
216
+ 'enumeration',
217
+ ].includes(String(attribute.type))) {
218
+ throw new Error('[builder] inquiry attributes must be optional scalar fields');
219
+ }
220
+ if (attribute.maxLength !== undefined &&
221
+ (typeof attribute.maxLength !== 'number' ||
222
+ !Number.isInteger(attribute.maxLength) ||
223
+ attribute.maxLength < 1 ||
224
+ attribute.maxLength > 5000)) {
225
+ throw new Error('[builder] inquiry maxLength must be an integer between 1 and 5000');
226
+ }
227
+ if (attribute.type === 'enumeration' &&
228
+ (!Array.isArray(attribute.enum) ||
229
+ attribute.enum.length === 0 ||
230
+ !attribute.enum.every((item) => typeof item === 'string' && item.length > 0))) {
231
+ throw new Error('[builder] inquiry enumeration requires nonempty string values');
232
+ }
233
+ }
234
+ }
235
+ }
236
+ if (isObject(value.contentTypes) &&
237
+ isObject(value.contentTypes.inquiry) &&
238
+ value.contentTypes.inquiry.enabled === false &&
239
+ isObject(value.inquiry) &&
240
+ ((isObject(value.inquiry.attributes) &&
241
+ Object.keys(value.inquiry.attributes).length > 0) ||
242
+ value.inquiry.validate !== undefined)) {
243
+ throw new Error('[builder] config.inquiry extensions require Inquiry to be enabled. ' +
244
+ 'Enable config.contentTypes.inquiry.enabled or remove config.inquiry.attributes and config.inquiry.validate.');
245
+ }
152
246
  requireObject(value.blocks, 'config.blocks');
153
247
  rejectUnknownKeys(value.blocks, ['extra', 'includeInGlobal'], 'config.blocks');
154
248
  requireObject(value.blocks.extra, 'config.blocks.extra');
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/src/config/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/src/config/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { BuilderContentTypesConfig } from './content-type-config';
2
+ interface AvailabilityConfig {
3
+ contentTypes?: BuilderContentTypesConfig;
4
+ }
5
+ interface Schema {
6
+ attributes?: Record<string, {
7
+ type?: string;
8
+ target?: string;
9
+ component?: string;
10
+ components?: string[];
11
+ }>;
12
+ pluginOptions?: Record<string, unknown>;
13
+ __schema__?: Schema;
14
+ }
15
+ export declare function isBuilderContentTypeEnabled(config: AvailabilityConfig, uid: string): boolean;
16
+ /** Keep models registered so toggling availability never removes stored data. */
17
+ export declare function applyContentTypeAvailability(config: AvailabilityConfig, contentTypes: Record<string, Schema>, getComponent: (uid: string) => Schema | undefined): void;
18
+ export {};
19
+ //# sourceMappingURL=content-type-availability.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-type-availability.d.ts","sourceRoot":"","sources":["../../../server/src/content-type-availability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,yBAAyB,EAE1B,MAAM,uBAAuB,CAAC;AAE/B,UAAU,kBAAkB;IAC1B,YAAY,CAAC,EAAE,yBAAyB,CAAC;CAC1C;AAED,UAAU,MAAM;IACd,UAAU,CAAC,EAAE,MAAM,CACjB,MAAM,EACN;QACE,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;KACvB,CACF,CAAC;IACF,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,kBAAkB,EAC1B,GAAG,EAAE,MAAM,GACV,OAAO,CAOT;AAED,iFAAiF;AACjF,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,kBAAkB,EAC1B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,GAChD,IAAI,CA0DN"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isBuilderContentTypeEnabled = isBuilderContentTypeEnabled;
4
+ exports.applyContentTypeAvailability = applyContentTypeAvailability;
5
+ function isBuilderContentTypeEnabled(config, uid) {
6
+ const name = uid.startsWith('plugin::builder.')
7
+ ? uid.slice('plugin::builder.'.length)
8
+ : '';
9
+ return (config.contentTypes?.[name]?.enabled !== false);
10
+ }
11
+ /** Keep models registered so toggling availability never removes stored data. */
12
+ function applyContentTypeAvailability(config, contentTypes, getComponent) {
13
+ const disabled = new Set(Object.keys(contentTypes).filter((uid) => !isBuilderContentTypeEnabled(config, uid)));
14
+ if (disabled.size === 0)
15
+ return;
16
+ function visit(schema, path, ancestors) {
17
+ for (const [name, attribute] of Object.entries(schema.attributes ?? {})) {
18
+ const attributePath = `${path}.${name}`;
19
+ if (attribute.type === 'relation' &&
20
+ attribute.target &&
21
+ disabled.has(attribute.target)) {
22
+ throw new Error(`[builder] Enabled content type references disabled "${attribute.target}" through ${attributePath}. Enable the target or remove this relation/component from the consumer schema before Builder registration.`);
23
+ }
24
+ const components = attribute.type === 'component'
25
+ ? attribute.component
26
+ ? [attribute.component]
27
+ : []
28
+ : attribute.type === 'dynamiczone'
29
+ ? (attribute.components ?? [])
30
+ : [];
31
+ for (const uid of components) {
32
+ if (ancestors.has(uid))
33
+ continue;
34
+ const component = getComponent(uid);
35
+ if (component)
36
+ visit(component, `${attributePath} -> ${uid}`, new Set([...ancestors, uid]));
37
+ }
38
+ }
39
+ }
40
+ for (const [uid, schema] of Object.entries(contentTypes)) {
41
+ if (!disabled.has(uid))
42
+ visit(schema, uid, new Set());
43
+ }
44
+ for (const uid of disabled) {
45
+ const model = contentTypes[uid];
46
+ if (!model)
47
+ continue;
48
+ for (const schema of [model, model.__schema__]) {
49
+ if (!schema)
50
+ continue;
51
+ schema.pluginOptions ?? (schema.pluginOptions = {});
52
+ for (const plugin of ['content-manager', 'content-type-builder']) {
53
+ schema.pluginOptions[plugin] = {
54
+ ...schema.pluginOptions[plugin],
55
+ visible: false,
56
+ };
57
+ }
58
+ }
59
+ }
60
+ }
61
+ //# sourceMappingURL=content-type-availability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-type-availability.js","sourceRoot":"","sources":["../../../server/src/content-type-availability.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare const OPTIONAL_CONTENT_TYPES: readonly ["article", "category", "tag", "series", "author", "faq", "inquiry"];
2
+ export type BuilderOptionalContentType = (typeof OPTIONAL_CONTENT_TYPES)[number];
3
+ export type BuilderContentTypesConfig = Partial<Record<BuilderOptionalContentType, {
4
+ enabled: boolean;
5
+ }>>;
6
+ //# sourceMappingURL=content-type-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-type-config.d.ts","sourceRoot":"","sources":["../../../server/src/content-type-config.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,+EAQzB,CAAC;AAEX,MAAM,MAAM,0BAA0B,GACpC,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC1C,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAC7C,MAAM,CAAC,0BAA0B,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CACzD,CAAC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OPTIONAL_CONTENT_TYPES = void 0;
4
+ exports.OPTIONAL_CONTENT_TYPES = [
5
+ 'article',
6
+ 'category',
7
+ 'tag',
8
+ 'series',
9
+ 'author',
10
+ 'faq',
11
+ 'inquiry',
12
+ ];
13
+ //# sourceMappingURL=content-type-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-type-config.js","sourceRoot":"","sources":["../../../server/src/content-type-config.ts"],"names":[],"mappings":";;;AAAa,QAAA,sBAAsB,GAAG;IACpC,SAAS;IACT,UAAU;IACV,KAAK;IACL,QAAQ;IACR,QAAQ;IACR,KAAK;IACL,SAAS;CACD,CAAC"}
@@ -64,6 +64,12 @@ declare const _default: {
64
64
  target: string;
65
65
  mappedBy: string;
66
66
  };
67
+ faqs: {
68
+ type: string;
69
+ relation: string;
70
+ target: string;
71
+ mappedBy: string;
72
+ };
67
73
  };
68
74
  };
69
75
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../server/src/content-types/category/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,wBAA0B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../server/src/content-types/category/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,wBAA0B"}
@@ -40,6 +40,12 @@
40
40
  "relation": "manyToMany",
41
41
  "target": "plugin::builder.article",
42
42
  "mappedBy": "categories"
43
+ },
44
+ "faqs": {
45
+ "type": "relation",
46
+ "relation": "oneToMany",
47
+ "target": "plugin::builder.faq",
48
+ "mappedBy": "category"
43
49
  }
44
50
  }
45
51
  }
@@ -52,6 +52,7 @@ declare const _default: {
52
52
  type: string;
53
53
  relation: string;
54
54
  target: string;
55
+ inversedBy: string;
55
56
  };
56
57
  };
57
58
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../server/src/content-types/faq/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,wBAA0B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../server/src/content-types/faq/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,wBAA0B"}
@@ -31,8 +31,9 @@
31
31
  },
32
32
  "category": {
33
33
  "type": "relation",
34
- "relation": "oneToOne",
35
- "target": "plugin::builder.category"
34
+ "relation": "manyToOne",
35
+ "target": "plugin::builder.category",
36
+ "inversedBy": "faqs"
36
37
  }
37
38
  }
38
39
  }
@@ -263,6 +263,84 @@ declare const _default: {
263
263
  target: string;
264
264
  mappedBy: string;
265
265
  };
266
+ faqs: {
267
+ type: string;
268
+ relation: string;
269
+ target: string;
270
+ mappedBy: string;
271
+ };
272
+ };
273
+ };
274
+ };
275
+ 'legal-document': {
276
+ schema: {
277
+ kind: string;
278
+ collectionName: string;
279
+ info: {
280
+ singularName: string;
281
+ pluralName: string;
282
+ displayName: string;
283
+ description: string;
284
+ };
285
+ options: {
286
+ draftAndPublish: boolean;
287
+ };
288
+ pluginOptions: {
289
+ i18n: {
290
+ localized: boolean;
291
+ };
292
+ "content-manager": {
293
+ visible: boolean;
294
+ };
295
+ "content-type-builder": {
296
+ visible: boolean;
297
+ };
298
+ };
299
+ attributes: {
300
+ title: {
301
+ type: string;
302
+ required: boolean;
303
+ pluginOptions: {
304
+ i18n: {
305
+ localized: boolean;
306
+ };
307
+ };
308
+ };
309
+ slug: {
310
+ type: string;
311
+ targetField: string;
312
+ required: boolean;
313
+ pluginOptions: {
314
+ i18n: {
315
+ localized: boolean;
316
+ };
317
+ };
318
+ };
319
+ summary: {
320
+ type: string;
321
+ pluginOptions: {
322
+ i18n: {
323
+ localized: boolean;
324
+ };
325
+ };
326
+ };
327
+ body: {
328
+ type: string;
329
+ required: boolean;
330
+ pluginOptions: {
331
+ i18n: {
332
+ localized: boolean;
333
+ };
334
+ };
335
+ };
336
+ effectiveDate: {
337
+ type: string;
338
+ pluginOptions: {
339
+ i18n: {
340
+ localized: boolean;
341
+ };
342
+ };
343
+ };
266
344
  };
267
345
  };
268
346
  };
@@ -320,6 +398,7 @@ declare const _default: {
320
398
  type: string;
321
399
  relation: string;
322
400
  target: string;
401
+ inversedBy: string;
323
402
  };
324
403
  };
325
404
  };
@@ -456,7 +535,32 @@ declare const _default: {
456
535
  type: string;
457
536
  maxLength: number;
458
537
  };
538
+ consent: {
539
+ type: string;
540
+ };
541
+ consentAt: {
542
+ type: string;
543
+ };
544
+ consentVersion: {
545
+ type: string;
546
+ maxLength: number;
547
+ };
548
+ processingStatus: {
549
+ type: string;
550
+ enum: string[];
551
+ };
552
+ idempotencyKey: {
553
+ type: string;
554
+ maxLength: number;
555
+ unique: boolean;
556
+ private: boolean;
557
+ };
459
558
  };
559
+ indexes: {
560
+ name: string;
561
+ columns: string[];
562
+ type: string;
563
+ }[];
460
564
  };
461
565
  };
462
566
  navigation: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/content-types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,wBAYE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/content-types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,wBAaE"}