@dani-builder/strapi-plugin-builder 0.10.0 → 0.12.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 (56) hide show
  1. package/dist/server/src/components/blocks/inquiry-form.json +7 -0
  2. package/dist/server/src/config/builder.d.ts +4 -2
  3. package/dist/server/src/config/builder.d.ts.map +1 -1
  4. package/dist/server/src/config/builder.js.map +1 -1
  5. package/dist/server/src/config/index.d.ts +25 -0
  6. package/dist/server/src/config/index.d.ts.map +1 -1
  7. package/dist/server/src/config/index.js +95 -1
  8. package/dist/server/src/config/index.js.map +1 -1
  9. package/dist/server/src/content-type-availability.d.ts +19 -0
  10. package/dist/server/src/content-type-availability.d.ts.map +1 -0
  11. package/dist/server/src/content-type-availability.js +61 -0
  12. package/dist/server/src/content-type-availability.js.map +1 -0
  13. package/dist/server/src/content-type-config.d.ts +6 -0
  14. package/dist/server/src/content-type-config.d.ts.map +1 -0
  15. package/dist/server/src/content-type-config.js +13 -0
  16. package/dist/server/src/content-type-config.js.map +1 -0
  17. package/dist/server/src/content-types/category/index.d.ts +6 -0
  18. package/dist/server/src/content-types/category/index.d.ts.map +1 -1
  19. package/dist/server/src/content-types/category/schema.json +6 -0
  20. package/dist/server/src/content-types/faq/index.d.ts +1 -0
  21. package/dist/server/src/content-types/faq/index.d.ts.map +1 -1
  22. package/dist/server/src/content-types/faq/schema.json +3 -2
  23. package/dist/server/src/content-types/index.d.ts +32 -0
  24. package/dist/server/src/content-types/index.d.ts.map +1 -1
  25. package/dist/server/src/content-types/inquiry/index.d.ts +25 -0
  26. package/dist/server/src/content-types/inquiry/index.d.ts.map +1 -1
  27. package/dist/server/src/content-types/inquiry/schema.json +34 -3
  28. package/dist/server/src/controllers/index.d.ts.map +1 -1
  29. package/dist/server/src/controllers/index.js +2 -1
  30. package/dist/server/src/controllers/index.js.map +1 -1
  31. package/dist/server/src/controllers/inquiry.d.ts +8 -0
  32. package/dist/server/src/controllers/inquiry.d.ts.map +1 -0
  33. package/dist/server/src/controllers/inquiry.js +27 -0
  34. package/dist/server/src/controllers/inquiry.js.map +1 -0
  35. package/dist/server/src/preview/handler.d.ts +1 -1
  36. package/dist/server/src/preview/handler.d.ts.map +1 -1
  37. package/dist/server/src/preview/handler.js +8 -4
  38. package/dist/server/src/preview/handler.js.map +1 -1
  39. package/dist/server/src/preview-token.d.ts +1 -4
  40. package/dist/server/src/preview-token.d.ts.map +1 -1
  41. package/dist/server/src/preview-token.js +5 -52
  42. package/dist/server/src/preview-token.js.map +1 -1
  43. package/dist/server/src/register.d.ts.map +1 -1
  44. package/dist/server/src/register.js +23 -0
  45. package/dist/server/src/register.js.map +1 -1
  46. package/dist/server/src/routes/content-api.d.ts.map +1 -1
  47. package/dist/server/src/routes/content-api.js +15 -6
  48. package/dist/server/src/routes/content-api.js.map +1 -1
  49. package/dist/server/src/services/index.d.ts.map +1 -1
  50. package/dist/server/src/services/index.js +2 -1
  51. package/dist/server/src/services/index.js.map +1 -1
  52. package/dist/server/src/services/inquiry.d.ts +15 -0
  53. package/dist/server/src/services/inquiry.d.ts.map +1 -0
  54. package/dist/server/src/services/inquiry.js +137 -0
  55. package/dist/server/src/services/inquiry.js.map +1 -0
  56. package/package.json +4 -2
@@ -0,0 +1,8 @@
1
+ import type { Core } from '@strapi/strapi';
2
+ declare const inquiry: ({ strapi }: {
3
+ strapi: Core.Strapi;
4
+ }) => {
5
+ create(ctx: Parameters<Core.ControllerHandler>[0]): Promise<any>;
6
+ };
7
+ export default inquiry;
8
+ //# sourceMappingURL=inquiry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inquiry.d.ts","sourceRoot":"","sources":["../../../../server/src/controllers/inquiry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAG3C,QAAA,MAAM,OAAO,GAAI,YAAY;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;CAAE;gBAChC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;CAoBvD,CAAC;AACH,eAAe,OAAO,CAAC"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const inquiry_1 = require("../services/inquiry");
4
+ const inquiry = ({ strapi }) => ({
5
+ async create(ctx) {
6
+ try {
7
+ const body = ctx.request.body;
8
+ const data = typeof body === 'object' && body !== null && !Array.isArray(body)
9
+ ? body.data
10
+ : undefined;
11
+ const receipt = await strapi
12
+ .plugin('builder')
13
+ .service('inquiry')
14
+ .submit(data);
15
+ ctx.status = 201;
16
+ ctx.body = { data: receipt };
17
+ }
18
+ catch (error) {
19
+ if (error instanceof inquiry_1.InquiryValidationError)
20
+ return ctx.badRequest('Invalid inquiry submission');
21
+ // Never echo hook, validator, or database messages containing submission PII.
22
+ return ctx.internalServerError('Unable to accept inquiry');
23
+ }
24
+ },
25
+ });
26
+ exports.default = inquiry;
27
+ //# sourceMappingURL=inquiry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inquiry.js","sourceRoot":"","sources":["../../../../server/src/controllers/inquiry.ts"],"names":[],"mappings":";;AACA,iDAA6D;AAE7D,MAAM,OAAO,GAAG,CAAC,EAAE,MAAM,EAA2B,EAAE,EAAE,CAAC,CAAC;IACxD,KAAK,CAAC,MAAM,CAAC,GAA0C;QACrD,IAAI,CAAC;YACH,MAAM,IAAI,GAAY,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;YACvC,MAAM,IAAI,GACR,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC/D,CAAC,CAAE,IAAgC,CAAC,IAAI;gBACxC,CAAC,CAAC,SAAS,CAAC;YAChB,MAAM,OAAO,GAAG,MAAM,MAAM;iBACzB,MAAM,CAAC,SAAS,CAAC;iBACjB,OAAO,CAAC,SAAS,CAAC;iBAClB,MAAM,CAAC,IAAI,CAAC,CAAC;YAChB,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC;YACjB,GAAG,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,KAAK,YAAY,gCAAsB;gBACzC,OAAO,GAAG,CAAC,UAAU,CAAC,4BAA4B,CAAC,CAAC;YACtD,8EAA8E;YAC9E,OAAO,GAAG,CAAC,mBAAmB,CAAC,0BAA0B,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;CACF,CAAC,CAAC;AACH,kBAAe,OAAO,CAAC"}
@@ -19,7 +19,7 @@ export interface BuilderPreviewDocument {
19
19
  export interface BuilderPreviewConfig {
20
20
  siteUrl: string;
21
21
  secretEnv: string;
22
- /** Additional content-type UIDs; Page and Article remain enabled. */
22
+ /** Additional content-type UIDs; disabled Builder types are excluded. */
23
23
  uids?: string[];
24
24
  resolvePath?: (uid: string, document: BuilderPreviewDocument) => string | null;
25
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../server/src/preview/handler.ts"],"names":[],"mappings":"AAGA,UAAU,aAAa;IACrB,MAAM,EAAE;QAAE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IACtC,SAAS,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,QAAQ,KAAK,MAAM,IAAI,MAAM,EAAE,GAAG;QAC1D,OAAO,CAAC,OAAO,EAAE;YACf,UAAU,EAAE,MAAM,CAAC;YACnB,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,MAAM,EAAE,OAAO,GAAG,WAAW,CAAC;SAC/B,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;KACtB,CAAC;CACH;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,qEAAqE;IACrE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,CAAC,EAAE,CACZ,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,sBAAsB,KAC7B,MAAM,GAAG,IAAI,CAAC;CACpB;AAED,eAAO,MAAM,YAAY,8DAGf,CAAC;AAEX,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,qBAAqB,GAAG,CAClC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,qBAAqB,KAC3B,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;AAE5C,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,EAAE,CAS9D;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,aAAa,EACrB,GAAG,EAAE,MAAM,EACX,EAAE,UAAU,EAAE,MAAM,EAAE,MAAgB,EAAE,EAAE,qBAAqB,GAC9D,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAiBxB;AAED,gEAAgE;AAChE,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,EACrB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,sBAAsB,EAChC,MAAM,GAAE,MAAgB,GACvB,MAAM,GAAG,IAAI,CAkCf;AAED,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,aAAa,EACrB,QAAQ,CAAC,EAAE,qBAAqB,GAC/B,qBAAqB,CAKvB"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../server/src/preview/handler.ts"],"names":[],"mappings":"AAKA,UAAU,aAAa;IACrB,MAAM,EAAE;QAAE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IACtC,SAAS,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,QAAQ,KAAK,MAAM,IAAI,MAAM,EAAE,GAAG;QAC1D,OAAO,CAAC,OAAO,EAAE;YACf,UAAU,EAAE,MAAM,CAAC;YACnB,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,MAAM,EAAE,OAAO,GAAG,WAAW,CAAC;SAC/B,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;KACtB,CAAC;CACH;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,yEAAyE;IACzE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,CAAC,EAAE,CACZ,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,sBAAsB,KAC7B,MAAM,GAAG,IAAI,CAAC;CACpB;AAED,eAAO,MAAM,YAAY,8DAGf,CAAC;AAEX,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,qBAAqB,GAAG,CAClC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,qBAAqB,KAC3B,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;AAE5C,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,EAAE,CAY9D;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,aAAa,EACrB,GAAG,EAAE,MAAM,EACX,EAAE,UAAU,EAAE,MAAM,EAAE,MAAgB,EAAE,EAAE,qBAAqB,GAC9D,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAiBxB;AAED,gEAAgE;AAChE,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,EACrB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,sBAAsB,EAChC,MAAM,GAAE,MAAgB,GACvB,MAAM,GAAG,IAAI,CAkCf;AAED,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,aAAa,EACrB,QAAQ,CAAC,EAAE,qBAAqB,GAC/B,qBAAqB,CAYvB"}
@@ -5,6 +5,7 @@ exports.getPreviewUids = getPreviewUids;
5
5
  exports.getPreviewUrl = getPreviewUrl;
6
6
  exports.signPreviewDocument = signPreviewDocument;
7
7
  exports.createBuilderPreviewHandler = createBuilderPreviewHandler;
8
+ const content_type_availability_1 = require("../content-type-availability");
8
9
  const node_crypto_1 = require("node:crypto");
9
10
  const preview_token_1 = require("../preview-token");
10
11
  exports.PREVIEW_UIDS = [
@@ -12,10 +13,11 @@ exports.PREVIEW_UIDS = [
12
13
  'plugin::builder.article',
13
14
  ];
14
15
  function getPreviewUids(strapi) {
16
+ const pluginConfig = strapi.config.get('plugin::builder');
15
17
  const config = strapi.config.get('plugin::builder').preview;
16
18
  return [
17
19
  ...new Set([...exports.PREVIEW_UIDS, ...(config ? (config.uids ?? []) : [])]),
18
- ];
20
+ ].filter((uid) => (0, content_type_availability_1.isBuilderContentTypeEnabled)(pluginConfig, uid));
19
21
  }
20
22
  async function getPreviewUrl(strapi, uid, { documentId, locale, status = 'draft' }) {
21
23
  const config = strapi.config.get('plugin::builder').preview;
@@ -69,8 +71,10 @@ function signPreviewDocument(strapi, uid, document, status = 'draft') {
69
71
  return url.toString();
70
72
  }
71
73
  function createBuilderPreviewHandler(strapi, fallback) {
72
- return (uid, options) => getPreviewUids(strapi).includes(uid)
73
- ? getPreviewUrl(strapi, uid, options)
74
- : (fallback?.(uid, options) ?? null);
74
+ return (uid, options) => !(0, content_type_availability_1.isBuilderContentTypeEnabled)(strapi.config.get('plugin::builder'), uid)
75
+ ? null
76
+ : getPreviewUids(strapi).includes(uid)
77
+ ? getPreviewUrl(strapi, uid, options)
78
+ : (fallback?.(uid, options) ?? null);
75
79
  }
76
80
  //# sourceMappingURL=handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../../server/src/preview/handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../../server/src/preview/handler.ts"],"names":[],"mappings":";;;AAkDA,wCAYC;AAED,sCAqBC;AAGD,kDAuCC;AAED,kEAeC;AAhJD,4EAA2E;AAE3E,6CAAyC;AACzC,oDAA0E;AA+B7D,QAAA,YAAY,GAAG;IAC1B,sBAAsB;IACtB,yBAAyB;CACjB,CAAC;AAaX,SAAgB,cAAc,CAAC,MAAqB;IAClD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAEvD,CAAC;IACF,MAAM,MAAM,GACV,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAGpC,CAAC,OAAO,CAAC;IACV,OAAO;QACL,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,oBAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KACtE,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,uDAA2B,EAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC;AACpE,CAAC;AAEM,KAAK,UAAU,aAAa,CACjC,MAAqB,EACrB,GAAW,EACX,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,EAAyB;IAE/D,MAAM,MAAM,GACV,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAGpC,CAAC,OAAO,CAAC;IACV,IAAI,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAClE,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC9D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAChD,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM;SAC3B,SAAS,CAAC,GAAiD,CAAC;SAC5D,OAAO,CAAC;QACP,UAAU;QACV,MAAM;QACN,MAAM;KACP,CAAC,CAAkC,CAAC;IACvC,OAAO,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9E,CAAC;AAED,gEAAgE;AAChE,SAAgB,mBAAmB,CACjC,MAAqB,EACrB,GAAW,EACX,QAAgC,EAChC,SAAiB,OAAO;IAExB,MAAM,MAAM,GACV,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAGpC,CAAC,OAAO,CAAC;IACV,IAAI,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAClE,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC9D,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,MAAM,SAAS,GAAG,oBAAY,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC;IACxE,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW;QAC7B,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC;QACnC,CAAC,CAAC,SAAS,IAAI,QAAQ,CAAC,IAAI;YAC1B,CAAC,CAAC,GAAG,GAAG,KAAK,yBAAyB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAChG,CAAC,CAAC,IAAI,CAAC;IACX,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAA,iCAAiB,EAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACtE,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CACzB,IAAI,CAAC,SAAS,CAAC;QACb,IAAI;QACJ,MAAM;QACN,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,mCAAmB;KACzD,CAAC,CACH,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACxB,MAAM,SAAS,GAAG,IAAA,wBAAU,EAAC,QAAQ,EAAE,MAAM,CAAC;SAC3C,MAAM,CAAC,OAAO,CAAC;SACf,MAAM,CAAC,WAAW,CAAC,CAAC;IACvB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACpD,GAAG,CAAC,MAAM,GAAG,IAAI,eAAe,CAAC;QAC/B,KAAK,EAAE,GAAG,OAAO,IAAI,SAAS,EAAE;QAChC,IAAI;QACJ,MAAM;KACP,CAAC,CAAC,QAAQ,EAAE,CAAC;IACd,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC;AAED,SAAgB,2BAA2B,CACzC,MAAqB,EACrB,QAAgC;IAEhC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CACtB,CAAC,IAAA,uDAA2B,EAC1B,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAElC,EACD,GAAG,CACJ;QACC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;YACpC,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC;YACrC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC;AAC7C,CAAC"}
@@ -1,5 +1,2 @@
1
- export declare const PREVIEW_TTL_SECONDS = 300;
2
- export declare function isSafePreviewPath(path: string): boolean;
3
- /** Verify the server-only shared key and bind both redirect and draft status. */
4
- export declare function verifyPreviewToken(token: string | null, path: string | null, status: string | null, secret?: string | undefined, now?: number): boolean;
1
+ export { isSafePreviewPath, PREVIEW_TTL_SECONDS, verifyPreviewToken, } from "@dani-builder/strapi-client/preview";
5
2
  //# sourceMappingURL=preview-token.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"preview-token.d.ts","sourceRoot":"","sources":["../../../server/src/preview-token.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAEvC,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAQvD;AAED,iFAAiF;AACjF,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,MAAM,qBAA6B,EACnC,GAAG,SAAa,GACf,OAAO,CA6CT"}
1
+ {"version":3,"file":"preview-token.d.ts","sourceRoot":"","sources":["../../../server/src/preview-token.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,qCAAqC,CAAC"}
@@ -1,55 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PREVIEW_TTL_SECONDS = void 0;
4
- exports.isSafePreviewPath = isSafePreviewPath;
5
- exports.verifyPreviewToken = verifyPreviewToken;
6
- const node_crypto_1 = require("node:crypto");
7
- exports.PREVIEW_TTL_SECONDS = 300;
8
- function isSafePreviewPath(path) {
9
- return (path.startsWith('/') &&
10
- !path.startsWith('//') &&
11
- !/[\\#]/.test(path) &&
12
- !Array.from(path).some((character) => character.charCodeAt(0) <= 32) &&
13
- !/%(?:2f|5c|0[0-9a-f]|1[0-9a-f]|20)/i.test(path));
14
- }
15
- /** Verify the server-only shared key and bind both redirect and draft status. */
16
- function verifyPreviewToken(token, path, status, secret = process.env.PREVIEW_SECRET, now = Date.now()) {
17
- if (!secret ||
18
- !token ||
19
- !path ||
20
- !['draft', 'published'].includes(status ?? ''))
21
- return false;
22
- if (!isSafePreviewPath(path))
23
- return false;
24
- const parts = token.split('.');
25
- const payload = parts[0];
26
- const signature = parts[1];
27
- if (parts.length !== 2 ||
28
- !payload ||
29
- !signature ||
30
- !/^[A-Za-z0-9_-]+$/.test(payload) ||
31
- !/^[A-Za-z0-9_-]{43}$/.test(signature))
32
- return false;
33
- const expected = (0, node_crypto_1.createHmac)('sha256', secret).update(payload).digest();
34
- const provided = Buffer.from(signature, 'base64url');
35
- if (provided.length !== expected.length ||
36
- !(0, node_crypto_1.timingSafeEqual)(provided, expected))
37
- return false;
38
- try {
39
- const claims = JSON.parse(Buffer.from(payload, 'base64url').toString('utf8'));
40
- if (typeof claims !== 'object' || claims === null)
41
- return false;
42
- const value = claims;
43
- const seconds = Math.floor(now / 1000);
44
- return (value.path === path &&
45
- value.status === status &&
46
- typeof value.exp === 'number' &&
47
- Number.isInteger(value.exp) &&
48
- value.exp > seconds &&
49
- value.exp <= seconds + exports.PREVIEW_TTL_SECONDS);
50
- }
51
- catch {
52
- return false;
53
- }
54
- }
3
+ exports.verifyPreviewToken = exports.PREVIEW_TTL_SECONDS = exports.isSafePreviewPath = void 0;
4
+ var preview_1 = require("@dani-builder/strapi-client/preview");
5
+ Object.defineProperty(exports, "isSafePreviewPath", { enumerable: true, get: function () { return preview_1.isSafePreviewPath; } });
6
+ Object.defineProperty(exports, "PREVIEW_TTL_SECONDS", { enumerable: true, get: function () { return preview_1.PREVIEW_TTL_SECONDS; } });
7
+ Object.defineProperty(exports, "verifyPreviewToken", { enumerable: true, get: function () { return preview_1.verifyPreviewToken; } });
55
8
  //# sourceMappingURL=preview-token.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"preview-token.js","sourceRoot":"","sources":["../../../server/src/preview-token.ts"],"names":[],"mappings":";;;AAIA,8CAQC;AAGD,gDAmDC;AAlED,6CAA0D;AAE7C,QAAA,mBAAmB,GAAG,GAAG,CAAC;AAEvC,SAAgB,iBAAiB,CAAC,IAAY;IAC5C,OAAO,CACL,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QACpB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QACtB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACpE,CAAC,oCAAoC,CAAC,IAAI,CAAC,IAAI,CAAC,CACjD,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,SAAgB,kBAAkB,CAChC,KAAoB,EACpB,IAAmB,EACnB,MAAqB,EACrB,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,EACnC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAEhB,IACE,CAAC,MAAM;QACP,CAAC,KAAK;QACN,CAAC,IAAI;QACL,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;QAE9C,OAAO,KAAK,CAAC;IACf,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,IACE,KAAK,CAAC,MAAM,KAAK,CAAC;QAClB,CAAC,OAAO;QACR,CAAC,SAAS;QACV,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC;QACjC,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC;QAEtC,OAAO,KAAK,CAAC;IACf,MAAM,QAAQ,GAAG,IAAA,wBAAU,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;IACvE,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACrD,IACE,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;QACnC,CAAC,IAAA,6BAAe,EAAC,QAAQ,EAAE,QAAQ,CAAC;QAEpC,OAAO,KAAK,CAAC;IACf,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAChC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CACnD,CAAC;QACF,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QAChE,MAAM,KAAK,GAAG,MAAiC,CAAC;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;QACvC,OAAO,CACL,KAAK,CAAC,IAAI,KAAK,IAAI;YACnB,KAAK,CAAC,MAAM,KAAK,MAAM;YACvB,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ;YAC7B,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC;YAC3B,KAAK,CAAC,GAAG,GAAG,OAAO;YACnB,KAAK,CAAC,GAAG,IAAI,OAAO,GAAG,2BAAmB,CAC3C,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"preview-token.js","sourceRoot":"","sources":["../../../server/src/preview-token.ts"],"names":[],"mappings":";;;AAAA,+DAI6C;AAH3C,4GAAA,iBAAiB,OAAA;AACjB,8GAAA,mBAAmB,OAAA;AACnB,6GAAA,kBAAkB,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../server/src/register.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAgD3C;;;;GAIG;AACH,QAAA,MAAM,QAAQ,GAAI,YAAY;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;CAAE,SA6GpD,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../server/src/register.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAoD3C;;;;GAIG;AACH,QAAA,MAAM,QAAQ,GAAI,YAAY;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;CAAE,SA+IpD,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const path_1 = __importDefault(require("path"));
7
7
  const fs_1 = __importDefault(require("fs"));
8
+ const content_type_availability_1 = require("./content-type-availability");
8
9
  const mcp_1 = require("./mcp");
9
10
  const preview_1 = require("./preview");
10
11
  const PROXY_RATE_LIMIT_WARNING = 'Rate limiting uses request.ip, but server.proxy.koa is not enabled. ' +
@@ -72,6 +73,12 @@ const register = ({ strapi }) => {
72
73
  }
73
74
  componentRegistry.add(componentsMap);
74
75
  const pluginConfig = strapi.config.get('plugin::builder');
76
+ const inquiryAttributes = pluginConfig.inquiry?.attributes;
77
+ if (inquiryAttributes && Object.keys(inquiryAttributes).length > 0) {
78
+ const inquiry = strapi.contentTypes['plugin::builder.inquiry'];
79
+ Object.assign(inquiry.attributes, inquiryAttributes);
80
+ Object.assign(inquiry.__schema__.attributes, inquiryAttributes);
81
+ }
75
82
  const extraBlocks = Object.entries(pluginConfig.blocks.extra);
76
83
  const page = strapi.contentTypes['plugin::builder.page'];
77
84
  const global = strapi.contentTypes['plugin::builder.global'];
@@ -109,6 +116,22 @@ const register = ({ strapi }) => {
109
116
  Object.assign(component.attributes, extension.attributes);
110
117
  Object.assign(component.__schema__.attributes, extension.attributes);
111
118
  }
119
+ (0, content_type_availability_1.applyContentTypeAvailability)(pluginConfig, { ...strapi.contentTypes }, (uid) => componentRegistry.get(uid));
120
+ const restPrefix = strapi.config.get('api.rest.prefix', '/api');
121
+ const disabledPaths = Object.entries(strapi.contentTypes)
122
+ .filter(([uid]) => !(0, content_type_availability_1.isBuilderContentTypeEnabled)(pluginConfig, uid))
123
+ .map(([, model]) => `${restPrefix}/builder/${model.info.pluralName}`);
124
+ if (disabledPaths.length > 0) {
125
+ // Strapi's allowedMethods fallback returns 405 for some unmatched writes.
126
+ // Disabled endpoints have the same not-found response for every method.
127
+ strapi.server.use(async (ctx, next) => {
128
+ if (disabledPaths.some((path) => ctx.path === path || ctx.path.startsWith(`${path}/`))) {
129
+ ctx.notFound();
130
+ return;
131
+ }
132
+ await next();
133
+ });
134
+ }
112
135
  (0, preview_1.registerBuilderPreview)(strapi);
113
136
  (0, mcp_1.registerBuilderMcp)(strapi);
114
137
  };
@@ -1 +1 @@
1
- {"version":3,"file":"register.js","sourceRoot":"","sources":["../../../server/src/register.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../../../server/src/register.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"content-api.d.ts","sourceRoot":"","sources":["../../../../server/src/routes/content-api.ts"],"names":[],"mappings":"AAEA,UAAU,eAAe;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,gBAAgB;IACxB,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B;AA8BD,QAAA,MAAM,UAAU,EAAE,gBAkBjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"content-api.d.ts","sourceRoot":"","sources":["../../../../server/src/routes/content-api.ts"],"names":[],"mappings":"AAIA,UAAU,eAAe;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,gBAAgB;IACxB,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B;AAmCD,QAAA,MAAM,UAAU,EAAE,gBA6BjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const strapi_1 = require("@strapi/strapi");
4
+ const content_type_availability_1 = require("../content-type-availability");
4
5
  const contentTypes = [
5
6
  'plugin::builder.article',
6
7
  'plugin::builder.author',
@@ -14,7 +15,7 @@ const contentTypes = [
14
15
  'plugin::builder.site-setting',
15
16
  'plugin::builder.tag',
16
17
  ];
17
- let cachedRoutes;
18
+ const routesByApp = new WeakMap();
18
19
  function getCoreRoutes(uid, ...[config]) {
19
20
  const router = strapi_1.factories.createCoreRouter(uid, config);
20
21
  return typeof router.routes === 'function' ? router.routes() : router.routes;
@@ -25,13 +26,21 @@ const contentApi = {
25
26
  // Strapi reads `.routes` several times while registering a plugin and
26
27
  // annotates the first result with auth scopes. Keep the same route objects
27
28
  // for every read so those annotations reach the registered router.
29
+ const app = global.strapi;
30
+ const config = app.config.get('plugin::builder');
31
+ let cachedRoutes = routesByApp.get(app);
28
32
  if (!cachedRoutes) {
29
- const coreRoutes = contentTypes.flatMap((uid) => getCoreRoutes(uid));
30
- const inquiryRoutes = getCoreRoutes('plugin::builder.inquiry', {
31
- only: ['create'],
32
- config: { create: { policies: ['plugin::builder.rate-limit'] } },
33
- });
33
+ const coreRoutes = contentTypes
34
+ .filter((uid) => (0, content_type_availability_1.isBuilderContentTypeEnabled)(config, uid))
35
+ .flatMap((uid) => getCoreRoutes(uid));
36
+ const inquiryRoutes = (0, content_type_availability_1.isBuilderContentTypeEnabled)(config, 'plugin::builder.inquiry')
37
+ ? getCoreRoutes('plugin::builder.inquiry', {
38
+ only: ['create'],
39
+ config: { create: { policies: ['plugin::builder.rate-limit'] } },
40
+ })
41
+ : [];
34
42
  cachedRoutes = [...coreRoutes, ...inquiryRoutes];
43
+ routesByApp.set(app, cachedRoutes);
35
44
  }
36
45
  return cachedRoutes;
37
46
  },
@@ -1 +1 @@
1
- {"version":3,"file":"content-api.js","sourceRoot":"","sources":["../../../../server/src/routes/content-api.ts"],"names":[],"mappings":";;AAAA,2CAA2C;AAY3C,MAAM,YAAY,GAAG;IACnB,yBAAyB;IACzB,wBAAwB;IACxB,0BAA0B;IAC1B,gCAAgC;IAChC,qBAAqB;IACrB,wBAAwB;IACxB,4BAA4B;IAC5B,sBAAsB;IACtB,wBAAwB;IACxB,8BAA8B;IAC9B,qBAAqB;CACb,CAAC;AAEX,IAAI,YAA2C,CAAC;AAEhD,SAAS,aAAa,CAGpB,GAAQ,EACR,GAAG,CAAC,MAAM,CAEqE;IAE/E,MAAM,MAAM,GAAG,kBAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACvD,OAAO,OAAO,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,GAAqB;IACnC,IAAI,EAAE,aAAa;IACnB,IAAI,MAAM;QACR,sEAAsE;QACtE,2EAA2E;QAC3E,mEAAmE;QACnE,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;YACrE,MAAM,aAAa,GAAG,aAAa,CAAC,yBAAyB,EAAE;gBAC7D,IAAI,EAAE,CAAC,QAAQ,CAAC;gBAChB,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,4BAA4B,CAAC,EAAE,EAAE;aACjE,CAAC,CAAC;YAEH,YAAY,GAAG,CAAC,GAAG,UAAU,EAAE,GAAG,aAAa,CAAC,CAAC;QACnD,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;CACF,CAAC;AAEF,kBAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"content-api.js","sourceRoot":"","sources":["../../../../server/src/routes/content-api.ts"],"names":[],"mappings":";;AAAA,2CAA2C;AAC3C,4EAA2E;AAa3E,MAAM,YAAY,GAAG;IACnB,yBAAyB;IACzB,wBAAwB;IACxB,0BAA0B;IAC1B,gCAAgC;IAChC,qBAAqB;IACrB,wBAAwB;IACxB,4BAA4B;IAC5B,sBAAsB;IACtB,wBAAwB;IACxB,8BAA8B;IAC9B,qBAAqB;CACb,CAAC;AAEX,MAAM,WAAW,GAAG,IAAI,OAAO,EAA6B,CAAC;AAE7D,SAAS,aAAa,CAGpB,GAAQ,EACR,GAAG,CAAC,MAAM,CAOL;IAEL,MAAM,MAAM,GAAG,kBAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACvD,OAAO,OAAO,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,GAAqB;IACnC,IAAI,EAAE,aAAa;IACnB,IAAI,MAAM;QACR,sEAAsE;QACtE,2EAA2E;QAC3E,mEAAmE;QACnE,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAkB,CAAC;QAClE,IAAI,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,UAAU,GAAG,YAAY;iBAC5B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,uDAA2B,EAAC,MAAM,EAAE,GAAG,CAAC,CAAC;iBACzD,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;YACxC,MAAM,aAAa,GAAG,IAAA,uDAA2B,EAC/C,MAAM,EACN,yBAAyB,CAC1B;gBACC,CAAC,CAAC,aAAa,CAAC,yBAAyB,EAAE;oBACvC,IAAI,EAAE,CAAC,QAAQ,CAAC;oBAChB,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,4BAA4B,CAAC,EAAE,EAAE;iBACjE,CAAC;gBACJ,CAAC,CAAC,EAAE,CAAC;YAEP,YAAY,GAAG,CAAC,GAAG,UAAU,EAAE,GAAG,aAAa,CAAC,CAAC;YACjD,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;CACF,CAAC;AAEF,kBAAe,UAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/services/index.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAgBrC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/services/index.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAgBrC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const strapi_1 = require("@strapi/strapi");
7
+ const inquiry_1 = __importDefault(require("./inquiry"));
7
8
  const populate_1 = __importDefault(require("./populate"));
8
9
  const services = {
9
10
  article: strapi_1.factories.createCoreService('plugin::builder.article'),
@@ -12,7 +13,7 @@ const services = {
12
13
  'legal-document': strapi_1.factories.createCoreService('plugin::builder.legal-document'),
13
14
  faq: strapi_1.factories.createCoreService('plugin::builder.faq'),
14
15
  global: strapi_1.factories.createCoreService('plugin::builder.global'),
15
- inquiry: strapi_1.factories.createCoreService('plugin::builder.inquiry'),
16
+ inquiry: inquiry_1.default,
16
17
  navigation: strapi_1.factories.createCoreService('plugin::builder.navigation'),
17
18
  page: strapi_1.factories.createCoreService('plugin::builder.page'),
18
19
  populate: populate_1.default,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/src/services/index.ts"],"names":[],"mappings":";;;;;AAAA,2CAA2C;AAC3C,0DAAkC;AAElC,MAAM,QAAQ,GAA4B;IACxC,OAAO,EAAE,kBAAS,CAAC,iBAAiB,CAAC,yBAAyB,CAAC;IAC/D,MAAM,EAAE,kBAAS,CAAC,iBAAiB,CAAC,wBAAwB,CAAC;IAC7D,QAAQ,EAAE,kBAAS,CAAC,iBAAiB,CAAC,0BAA0B,CAAC;IACjE,gBAAgB,EAAE,kBAAS,CAAC,iBAAiB,CAC3C,gCAAgC,CACjC;IACD,GAAG,EAAE,kBAAS,CAAC,iBAAiB,CAAC,qBAAqB,CAAC;IACvD,MAAM,EAAE,kBAAS,CAAC,iBAAiB,CAAC,wBAAwB,CAAC;IAC7D,OAAO,EAAE,kBAAS,CAAC,iBAAiB,CAAC,yBAAyB,CAAC;IAC/D,UAAU,EAAE,kBAAS,CAAC,iBAAiB,CAAC,4BAA4B,CAAC;IACrE,IAAI,EAAE,kBAAS,CAAC,iBAAiB,CAAC,sBAAsB,CAAC;IACzD,QAAQ,EAAR,kBAAQ;IACR,MAAM,EAAE,kBAAS,CAAC,iBAAiB,CAAC,wBAAwB,CAAC;IAC7D,cAAc,EAAE,kBAAS,CAAC,iBAAiB,CAAC,8BAA8B,CAAC;IAC3E,GAAG,EAAE,kBAAS,CAAC,iBAAiB,CAAC,qBAAqB,CAAC;CACxD,CAAC;AAEF,kBAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/src/services/index.ts"],"names":[],"mappings":";;;;;AAAA,2CAA2C;AAC3C,wDAAgC;AAChC,0DAAkC;AAElC,MAAM,QAAQ,GAA4B;IACxC,OAAO,EAAE,kBAAS,CAAC,iBAAiB,CAAC,yBAAyB,CAAC;IAC/D,MAAM,EAAE,kBAAS,CAAC,iBAAiB,CAAC,wBAAwB,CAAC;IAC7D,QAAQ,EAAE,kBAAS,CAAC,iBAAiB,CAAC,0BAA0B,CAAC;IACjE,gBAAgB,EAAE,kBAAS,CAAC,iBAAiB,CAC3C,gCAAgC,CACjC;IACD,GAAG,EAAE,kBAAS,CAAC,iBAAiB,CAAC,qBAAqB,CAAC;IACvD,MAAM,EAAE,kBAAS,CAAC,iBAAiB,CAAC,wBAAwB,CAAC;IAC7D,OAAO,EAAP,iBAAO;IACP,UAAU,EAAE,kBAAS,CAAC,iBAAiB,CAAC,4BAA4B,CAAC;IACrE,IAAI,EAAE,kBAAS,CAAC,iBAAiB,CAAC,sBAAsB,CAAC;IACzD,QAAQ,EAAR,kBAAQ;IACR,MAAM,EAAE,kBAAS,CAAC,iBAAiB,CAAC,wBAAwB,CAAC;IAC7D,cAAc,EAAE,kBAAS,CAAC,iBAAiB,CAAC,8BAA8B,CAAC;IAC3E,GAAG,EAAE,kBAAS,CAAC,iBAAiB,CAAC,qBAAqB,CAAC;CACxD,CAAC;AAEF,kBAAe,QAAQ,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { Core } from '@strapi/strapi';
2
+ export declare class InquiryValidationError extends Error {
3
+ constructor();
4
+ }
5
+ /** Only recover a collision on our unique key, never unrelated DB failures. */
6
+ export declare function isIdempotencyCollision(error: unknown): boolean;
7
+ declare const inquiry: ({ strapi }: {
8
+ strapi: Core.Strapi;
9
+ }) => {
10
+ submit(input: unknown): Promise<{
11
+ accepted: true;
12
+ }>;
13
+ };
14
+ export default inquiry;
15
+ //# sourceMappingURL=inquiry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inquiry.d.ts","sourceRoot":"","sources":["../../../../server/src/services/inquiry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAY3C,qBAAa,sBAAuB,SAAQ,KAAK;;CAIhD;AAsBD,+EAA+E;AAC/E,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAyB9D;AAED,QAAA,MAAM,OAAO,GAAI,YAAY;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;CAAE;kBAC9B,OAAO,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,IAAI,CAAA;KAAE,CAAC;CAsFzD,CAAC;AACH,eAAe,OAAO,CAAC"}
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InquiryValidationError = void 0;
4
+ exports.isIdempotencyCollision = isIdempotencyCollision;
5
+ const UID = 'plugin::builder.inquiry';
6
+ const LIMITS = {
7
+ name: 120,
8
+ email: 254,
9
+ phone: 40,
10
+ subject: 200,
11
+ message: 5000,
12
+ };
13
+ class InquiryValidationError extends Error {
14
+ constructor() {
15
+ super('Invalid inquiry submission');
16
+ }
17
+ }
18
+ exports.InquiryValidationError = InquiryValidationError;
19
+ function isRecord(value) {
20
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
21
+ }
22
+ function text(value, limit, required = false) {
23
+ if (value === undefined || value === null) {
24
+ if (required)
25
+ throw new InquiryValidationError();
26
+ return undefined;
27
+ }
28
+ if (typeof value !== 'string')
29
+ throw new InquiryValidationError();
30
+ const result = value.trim();
31
+ if (result.length > limit || (required && !result))
32
+ throw new InquiryValidationError();
33
+ return result || undefined;
34
+ }
35
+ /** Only recover a collision on our unique key, never unrelated DB failures. */
36
+ function isIdempotencyCollision(error) {
37
+ if (!isRecord(error))
38
+ return false;
39
+ if ((error.code === 'SQLITE_CONSTRAINT_UNIQUE' || error.code === '23505') &&
40
+ /idempotency_key/.test(String(error.message ?? error.constraint)))
41
+ return true;
42
+ if (error.name === 'ValidationError' &&
43
+ isRecord(error.details) &&
44
+ Array.isArray(error.details.errors)) {
45
+ return (error.details.errors.length > 0 &&
46
+ error.details.errors.every((item) => isRecord(item) &&
47
+ Array.isArray(item.path) &&
48
+ item.path.length === 1 &&
49
+ item.path[0] === 'idempotencyKey' &&
50
+ item.message === 'This attribute must be unique'));
51
+ }
52
+ return error.cause !== undefined && isIdempotencyCollision(error.cause);
53
+ }
54
+ const inquiry = ({ strapi }) => ({
55
+ async submit(input) {
56
+ if (!isRecord(input) || input.consent !== true)
57
+ throw new InquiryValidationError();
58
+ const config = strapi.config.get('plugin::builder')
59
+ .inquiry;
60
+ const name = text(input.name, LIMITS.name, true);
61
+ const consentVersion = text(input.consentVersion, 120, true);
62
+ // Printable version identifiers are recorded verbatim after normalization.
63
+ if (!/^[\x21-\x7e]+$/.test(consentVersion))
64
+ throw new InquiryValidationError();
65
+ const idempotencyKey = text(input.idempotencyKey, 128);
66
+ if (input.idempotencyKey !== undefined &&
67
+ (!idempotencyKey || !/^[a-zA-Z0-9][a-zA-Z0-9._:-]*$/.test(idempotencyKey)))
68
+ throw new InquiryValidationError();
69
+ const data = {
70
+ name,
71
+ consent: true,
72
+ consentVersion,
73
+ };
74
+ for (const [field, limit] of Object.entries(LIMITS)) {
75
+ if (field !== 'name')
76
+ data[field] = text(input[field], limit);
77
+ }
78
+ if (data.email && !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(String(data.email)))
79
+ throw new InquiryValidationError();
80
+ for (const [field, attribute] of Object.entries(config?.attributes ?? {})) {
81
+ const value = input[field];
82
+ if (value === undefined || value === null)
83
+ continue;
84
+ if (attribute.type === 'boolean') {
85
+ if (typeof value !== 'boolean')
86
+ throw new InquiryValidationError();
87
+ data[field] = value;
88
+ }
89
+ else if (attribute.type === 'integer') {
90
+ if (typeof value !== 'number' || !Number.isSafeInteger(value))
91
+ throw new InquiryValidationError();
92
+ data[field] = value;
93
+ }
94
+ else {
95
+ data[field] = text(value, attribute.maxLength ?? (attribute.type === 'text' ? 5000 : 255));
96
+ if (attribute.type === 'enumeration' &&
97
+ data[field] !== undefined &&
98
+ !attribute.enum?.includes(String(data[field])))
99
+ throw new InquiryValidationError();
100
+ if (attribute.type === 'email' &&
101
+ data[field] &&
102
+ !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(String(data[field])))
103
+ throw new InquiryValidationError();
104
+ }
105
+ }
106
+ if (idempotencyKey)
107
+ data.idempotencyKey = idempotencyKey;
108
+ // A hook can inspect only the normalized public fields, and cannot mutate
109
+ // consent or supply server audit/status fields through its return value.
110
+ const submission = Object.freeze({ ...data });
111
+ if (config?.validate && (await config.validate(submission)) === false)
112
+ throw new InquiryValidationError();
113
+ const documents = strapi.documents(UID);
114
+ if (idempotencyKey &&
115
+ (await documents.findFirst({ filters: { idempotencyKey } })))
116
+ return { accepted: true };
117
+ try {
118
+ await documents.create({
119
+ data: {
120
+ ...data,
121
+ idempotencyKey: idempotencyKey ?? null,
122
+ consentAt: new Date().toISOString(),
123
+ processingStatus: 'received',
124
+ },
125
+ });
126
+ }
127
+ catch (error) {
128
+ if (!idempotencyKey ||
129
+ !isIdempotencyCollision(error) ||
130
+ !(await documents.findFirst({ filters: { idempotencyKey } })))
131
+ throw error;
132
+ }
133
+ return { accepted: true };
134
+ },
135
+ });
136
+ exports.default = inquiry;
137
+ //# sourceMappingURL=inquiry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inquiry.js","sourceRoot":"","sources":["../../../../server/src/services/inquiry.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dani-builder/strapi-plugin-builder",
3
- "version": "0.10.0",
3
+ "version": "0.12.0",
4
4
  "description": "Daniworks Builder — reusable CMS components, content types, and smart API for Strapi v5",
5
5
  "license": "MIT",
6
6
  "strapi": {
@@ -62,7 +62,9 @@
62
62
  "url": "https://github.com/HJ-company/daniworks-builder-v2.git",
63
63
  "directory": "packages/strapi-plugin-builder"
64
64
  },
65
- "dependencies": {},
65
+ "dependencies": {
66
+ "@dani-builder/strapi-client": "^0.12.0"
67
+ },
66
68
  "devDependencies": {
67
69
  "@strapi/strapi": "5.54.0",
68
70
  "@strapi/utils": "5.54.0",