@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.
- package/AGENTS.md +4 -3
- package/README.md +10 -2
- package/dist/server/src/components/blocks/inquiry-form.json +7 -0
- package/dist/server/src/config/builder.d.ts +4 -2
- package/dist/server/src/config/builder.d.ts.map +1 -1
- package/dist/server/src/config/builder.js.map +1 -1
- package/dist/server/src/config/index.d.ts +25 -0
- package/dist/server/src/config/index.d.ts.map +1 -1
- package/dist/server/src/config/index.js +95 -1
- package/dist/server/src/config/index.js.map +1 -1
- package/dist/server/src/content-type-availability.d.ts +19 -0
- package/dist/server/src/content-type-availability.d.ts.map +1 -0
- package/dist/server/src/content-type-availability.js +61 -0
- package/dist/server/src/content-type-availability.js.map +1 -0
- package/dist/server/src/content-type-config.d.ts +6 -0
- package/dist/server/src/content-type-config.d.ts.map +1 -0
- package/dist/server/src/content-type-config.js +13 -0
- package/dist/server/src/content-type-config.js.map +1 -0
- package/dist/server/src/content-types/category/index.d.ts +6 -0
- package/dist/server/src/content-types/category/index.d.ts.map +1 -1
- package/dist/server/src/content-types/category/schema.json +6 -0
- package/dist/server/src/content-types/faq/index.d.ts +1 -0
- package/dist/server/src/content-types/faq/index.d.ts.map +1 -1
- package/dist/server/src/content-types/faq/schema.json +3 -2
- package/dist/server/src/content-types/index.d.ts +104 -0
- package/dist/server/src/content-types/index.d.ts.map +1 -1
- package/dist/server/src/content-types/index.js +2 -0
- package/dist/server/src/content-types/index.js.map +1 -1
- package/dist/server/src/content-types/inquiry/index.d.ts +25 -0
- package/dist/server/src/content-types/inquiry/index.d.ts.map +1 -1
- package/dist/server/src/content-types/inquiry/schema.json +34 -3
- package/dist/server/src/content-types/legal-document/index.d.ts +74 -0
- package/dist/server/src/content-types/legal-document/index.d.ts.map +1 -0
- package/dist/server/src/content-types/legal-document/index.js +8 -0
- package/dist/server/src/content-types/legal-document/index.js.map +1 -0
- package/dist/server/src/content-types/legal-document/schema.json +70 -0
- package/dist/server/src/controllers/index.d.ts.map +1 -1
- package/dist/server/src/controllers/index.js +3 -1
- package/dist/server/src/controllers/index.js.map +1 -1
- package/dist/server/src/controllers/inquiry.d.ts +8 -0
- package/dist/server/src/controllers/inquiry.d.ts.map +1 -0
- package/dist/server/src/controllers/inquiry.js +27 -0
- package/dist/server/src/controllers/inquiry.js.map +1 -0
- package/dist/server/src/preview/handler.d.ts +1 -1
- package/dist/server/src/preview/handler.d.ts.map +1 -1
- package/dist/server/src/preview/handler.js +8 -4
- package/dist/server/src/preview/handler.js.map +1 -1
- package/dist/server/src/register.d.ts.map +1 -1
- package/dist/server/src/register.js +23 -0
- package/dist/server/src/register.js.map +1 -1
- package/dist/server/src/routes/content-api.d.ts.map +1 -1
- package/dist/server/src/routes/content-api.js +16 -6
- package/dist/server/src/routes/content-api.js.map +1 -1
- package/dist/server/src/services/index.d.ts.map +1 -1
- package/dist/server/src/services/index.js +3 -1
- package/dist/server/src/services/index.js.map +1 -1
- package/dist/server/src/services/inquiry.d.ts +15 -0
- package/dist/server/src/services/inquiry.d.ts.map +1 -0
- package/dist/server/src/services/inquiry.js +137 -0
- package/dist/server/src/services/inquiry.js.map +1 -0
- 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
|
|
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 (
|
|
23
|
+
## Content Types (12)
|
|
24
24
|
|
|
25
|
-
### Collection Types (
|
|
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** —
|
|
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
|
|
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
|
|
|
@@ -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,
|
|
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":";;
|
|
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":"
|
|
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":";;;;;AAAA,2FAA6D;AAC7D,qFAAwD;AACxD,6EAAgD;AAChD,6EAAgD;AAChD,uFAA0D;AAC1D,+EAAkD;AAClD,2FAA8D;AAC9D,+FAAiE;AACjE,2FAA6D;AAC7D,qFAAwD;AACxD,mFAAsD;AACtD,iFAAoD;AACpD,+EAAkD;AAClD,+FAAkE;AAClE,qFAAwD;AACxD,uFAA0D;AAC1D,yGAA2E;AAC3E,2FAA6D;AAC7D,+FAAiE;AACjE,qGAAuE;AACvE,+FAAiE;AACjE,mGAAqE;AACrE,iFAAoD;AACpD,+EAAkD;AAClD,yFAA2D;AAC3D,uGAAyE;AACzE,+FAAiE;AACjE,6EAAgD;AAChD,yGAA2E;AAC3E,6FAA+D;AAC/D,yFAA2D;AAC3D,6FAA+D;AAC/D,uGAAyE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/src/config/index.ts"],"names":[],"mappings":";;;;;AAAA,uFAAiE;AACjE,2FAA6D;AAC7D,qFAAwD;AACxD,6EAAgD;AAChD,6EAAgD;AAChD,uFAA0D;AAC1D,+EAAkD;AAClD,2FAA8D;AAC9D,+FAAiE;AACjE,2FAA6D;AAC7D,qFAAwD;AACxD,mFAAsD;AACtD,iFAAoD;AACpD,+EAAkD;AAClD,+FAAkE;AAClE,qFAAwD;AACxD,uFAA0D;AAC1D,yGAA2E;AAC3E,2FAA6D;AAC7D,+FAAiE;AACjE,qGAAuE;AACvE,+FAAiE;AACjE,mGAAqE;AACrE,iFAAoD;AACpD,+EAAkD;AAClD,yFAA2D;AAC3D,uGAAyE;AACzE,+FAAiE;AACjE,6EAAgD;AAChD,yGAA2E;AAC3E,6FAA+D;AAC/D,yFAA2D;AAC3D,6FAA+D;AAC/D,uGAAyE;AAEzE,gEAAgE;AAWhE,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC7B,YAAY;IACZ,SAAS;IACT,WAAW;IACX,MAAM;IACN,UAAU;IACV,SAAS;IACT,OAAO;IACP,aAAa;IACb,OAAO;IACP,SAAS;IACT,MAAM;IACN,OAAO;IACP,UAAU;IACV,UAAU;IACV,UAAU;IACV,QAAQ;IACR,MAAM;IACN,MAAM;IACN,WAAW;IACX,KAAK;CACN,CAAC,CAAC;AA4CH,MAAM,gBAAgB,GAAiD;IACrE,mBAAmB,EAAE,yBAAS;IAC9B,gBAAgB,EAAE,sBAAO;IACzB,YAAY,EAAE,kBAAG;IACjB,YAAY,EAAE,kBAAG;IACjB,iBAAiB,EAAE,uBAAQ;IAC3B,aAAa,EAAE,mBAAI;IACnB,mBAAmB,EAAE,yBAAU;IAC/B,qBAAqB,EAAE,2BAAW;IAClC,mBAAmB,EAAE,yBAAS;IAC9B,gBAAgB,EAAE,sBAAO;IACzB,eAAe,EAAE,qBAAM;IACvB,cAAc,EAAE,oBAAK;IACrB,aAAa,EAAE,mBAAI;IACnB,qBAAqB,EAAE,2BAAY;IACnC,iBAAiB,EAAE,qBAAM;IACzB,kBAAkB,EAAE,sBAAO;IAC3B,0BAA0B,EAAE,gCAAgB;IAC5C,mBAAmB,EAAE,yBAAS;IAC9B,qBAAqB,EAAE,2BAAW;IAClC,wBAAwB,EAAE,8BAAc;IACxC,qBAAqB,EAAE,2BAAW;IAClC,uBAAuB,EAAE,6BAAa;IACtC,cAAc,EAAE,oBAAK;IACrB,aAAa,EAAE,mBAAI;IACnB,kBAAkB,EAAE,wBAAQ;IAC5B,yBAAyB,EAAE,+BAAe;IAC1C,qBAAqB,EAAE,2BAAW;IAClC,YAAY,EAAE,kBAAG;IACjB,0BAA0B,EAAE,gCAAgB;IAC5C,oBAAoB,EAAE,0BAAU;IAChC,kBAAkB,EAAE,wBAAQ;IAC5B,oBAAoB,EAAE,0BAAU;IAChC,yBAAyB,EAAE,+BAAe;CAC3C,CAAC;AAEF,8EAA8E;AAC9E,gFAAgF;AAChF,8EAA8E;AAC9E,SAAS,iBAAiB,CAAC,IAAY;IACrC,OAAO,CACL,IAAI,CAAC,KAAK,CACR,+HAA+H,CAChI,IAAI,EAAE,CACR;SACE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;SACjC,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,aAAa,CACpB,KAAc,EACd,IAAY;IAEZ,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,oBAAoB,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CACxB,KAAmB,EACnB,WAAqB,EACrB,IAAY;IAEZ,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CACxC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CACpC,CAAC;IACF,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,sBAAsB,UAAU,GAAG,CAAC,CAAC;IACxE,CAAC;AACH,CAAC;AAED,MAAM,MAAM,GAAG;IACb,OAAO;QACL,OAAO;YACL,MAAM,EAAE;gBACN,KAAK,EAAE,EAAE;gBACT,eAAe,EAAE,IAAI;aACtB;YACD,UAAU,EAAE,EAAE;SACf,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,KAAc;QACtB,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC/B,iBAAiB,CACf,KAAK,EACL,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,CAAC,EAC9D,QAAQ,CACT,CAAC;QACF,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACrC,aAAa,CAAC,KAAK,CAAC,YAAY,EAAE,qBAAqB,CAAC,CAAC;YACzD,iBAAiB,CACf,KAAK,CAAC,YAAY,EAClB,CAAC,GAAG,4CAAsB,CAAC,EAC3B,qBAAqB,CACtB,CAAC;YACF,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC/D,MAAM,IAAI,GAAG,uBAAuB,IAAI,EAAE,CAAC;gBAC3C,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC3B,iBAAiB,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;gBAC5C,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBACvC,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,4BAA4B,CAAC,CAAC;gBACjE,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC3D,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;YAC/C,iBAAiB,CACf,KAAK,CAAC,OAAO,EACb,CAAC,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,CAAC,EAC/C,gBAAgB,CACjB,CAAC;YACF,IAAI,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,KAAK,QAAQ;gBAC3C,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;YAC3D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC3C,IACE,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAC3C,GAAG,CAAC,QAAQ;gBACZ,GAAG,CAAC,QAAQ;gBACZ,GAAG,CAAC,MAAM;gBACV,GAAG,CAAC,IAAI;gBACR,GAAG,CAAC,QAAQ,KAAK,GAAG;gBAEpB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;YACtE,IACE,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,KAAK,QAAQ;gBAC3C,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;gBAElD,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAC;YACJ,IACE,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS;gBAChC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;oBACjC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CACvB,CAAC,GAAY,EAAE,EAAE,CACf,OAAO,GAAG,KAAK,QAAQ;wBACvB,wDAAwD,CAAC,IAAI,CAC3D,GAAG,CACJ,CACJ,CAAC;gBAEJ,MAAM,IAAI,KAAK,CACb,uDAAuD,CACxD,CAAC;YACJ,IACE,KAAK,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS;gBACvC,OAAO,KAAK,CAAC,OAAO,CAAC,WAAW,KAAK,UAAU;gBAE/C,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;YACtE,IACE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;gBACjC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;gBAC7B,OAAO,KAAK,CAAC,OAAO,CAAC,WAAW,KAAK,UAAU;gBAE/C,MAAM,IAAI,KAAK,CACb,0EAA0E,CAC3E,CAAC;QACN,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAChC,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;YAC/C,iBAAiB,CACf,KAAK,CAAC,OAAO,EACb,CAAC,YAAY,EAAE,UAAU,CAAC,EAC1B,gBAAgB,CACjB,CAAC;YACF,IACE,KAAK,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS;gBACpC,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,KAAK,UAAU,EAC5C,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;YAC1E,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC3C,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,2BAA2B,CAAC,CAAC;gBACrE,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC;oBACvB,GAAG,MAAM,CAAC,IAAI,CAAC,qBAAa,CAAC,UAAU,CAAC;oBACxC,IAAI;oBACJ,YAAY;oBACZ,WAAW;oBACX,WAAW;oBACX,aAAa;oBACb,WAAW;oBACX,WAAW;oBACX,QAAQ;oBACR,eAAe;oBACf,WAAW;oBACX,aAAa;oBACb,WAAW;iBACZ,CAAC,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,GAAG,CACrB,CAAC,GAAG,QAAQ,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CACnE,CAAC;gBACF,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAC5C,KAAK,CAAC,OAAO,CAAC,UAAU,CACzB,EAAE,CAAC;oBACF,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC5D,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E,CAAC;oBACJ,CAAC;oBACD,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;oBACvC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;wBACxB,MAAM,IAAI,KAAK,CACb,0GAA0G,CAC3G,CAAC;oBACJ,CAAC;oBACD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBACpB,aAAa,CAAC,SAAS,EAAE,6BAA6B,IAAI,EAAE,CAAC,CAAC;oBAC9D,iBAAiB,CACf,SAAS,EACT,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,EAC7B,6BAA6B,IAAI,EAAE,CACpC,CAAC;oBACF,IACE,CAAC;wBACC,QAAQ;wBACR,MAAM;wBACN,OAAO;wBACP,SAAS;wBACT,SAAS;wBACT,aAAa;qBACd,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAClC,CAAC;wBACD,MAAM,IAAI,KAAK,CACb,6DAA6D,CAC9D,CAAC;oBACJ,CAAC;oBACD,IACE,SAAS,CAAC,SAAS,KAAK,SAAS;wBACjC,CAAC,OAAO,SAAS,CAAC,SAAS,KAAK,QAAQ;4BACtC,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC;4BACtC,SAAS,CAAC,SAAS,GAAG,CAAC;4BACvB,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,EAC7B,CAAC;wBACD,MAAM,IAAI,KAAK,CACb,mEAAmE,CACpE,CAAC;oBACJ,CAAC;oBACD,IACE,SAAS,CAAC,IAAI,KAAK,aAAa;wBAChC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC;4BAC7B,SAAS,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;4BAC3B,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CACnB,CAAC,IAAa,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAC/D,CAAC,EACJ,CAAC;wBACD,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,IACE,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC;YAC5B,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC;YACpC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,KAAK,KAAK;YAC5C,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC;YACvB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;gBAClC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;gBACjD,KAAK,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,EACvC,CAAC;YACD,MAAM,IAAI,KAAK,CACb,qEAAqE;gBACnE,6GAA6G,CAChH,CAAC;QACJ,CAAC;QACD,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAC7C,iBAAiB,CACf,KAAK,CAAC,MAAM,EACZ,CAAC,OAAO,EAAE,iBAAiB,CAAC,EAC5B,eAAe,CAChB,CAAC;QACF,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;QAEzD,IAAI,OAAO,KAAK,CAAC,MAAM,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAC;QACJ,CAAC;QAED,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACjE,IAAI,CAAC,0CAA0C,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1D,MAAM,IAAI,KAAK,CACb,gEAAgE,GAAG,GAAG,CACvE,CAAC;YACJ,CAAC;YACD,aAAa,CAAC,QAAQ,EAAE,wBAAwB,GAAG,IAAI,CAAC,CAAC;YACzD,iBAAiB,CACf,QAAQ,EACR,CAAC,UAAU,CAAC,EACZ,wBAAwB,GAAG,IAAI,CAChC,CAAC;YACF,aAAa,CACX,QAAQ,CAAC,QAAQ,EACjB,wBAAwB,GAAG,aAAa,CACzC,CAAC;QACJ,CAAC;QAED,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;QACrD,KAAK,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YAChE,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACrC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CACb,kEAAkE,GAAG,GAAG,CACzE,CAAC;YACJ,CAAC;YACD,aAAa,CAAC,SAAS,EAAE,sBAAsB,GAAG,IAAI,CAAC,CAAC;YACxD,iBAAiB,CACf,SAAS,EACT,CAAC,YAAY,CAAC,EACd,sBAAsB,GAAG,IAAI,CAC9B,CAAC;YACF,aAAa,CACX,SAAS,CAAC,UAAU,EACpB,sBAAsB,GAAG,eAAe,CACzC,CAAC;YAEF,KAAK,MAAM,CAAC,aAAa,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CACrD,SAAS,CAAC,UAAU,CACrB,EAAE,CAAC;gBACF,IAAI,aAAa,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;oBACvC,MAAM,IAAI,KAAK,CACb,gCAAgC,GAAG,uDAAuD,aAAa,GAAG,CAC3G,CAAC;gBACJ,CAAC;gBACD,aAAa,CACX,SAAS,EACT,sBAAsB,GAAG,kBAAkB,aAAa,IAAI,CAC7D,CAAC;gBACF,IACE,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ;oBAClC,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EACnC,CAAC;oBACD,MAAM,IAAI,KAAK,CACb,gCAAgC,GAAG,kBAAkB,aAAa,4BAA4B,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CACxH,CAAC;gBACJ,CAAC;gBACD,IAAI,SAAS,CAAC,QAAQ,KAAK,IAAI,IAAI,SAAS,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;oBAC7D,MAAM,IAAI,KAAK,CACb,gCAAgC,GAAG,kBAAkB,aAAa,mCAAmC;wBACnG,4FAA4F,CAC/F,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;CACF,CAAC;AAEF,kBAAe,MAAM,CAAC"}
|
|
@@ -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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../server/src/content-types/category/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../server/src/content-types/category/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,wBAA0B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../server/src/content-types/faq/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../server/src/content-types/faq/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,wBAA0B"}
|
|
@@ -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":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/content-types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,wBAaE"}
|