@dani-builder/strapi-plugin-builder 0.16.0 → 1.1.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 (144) hide show
  1. package/AGENTS.md +24 -16
  2. package/README.md +24 -4
  3. package/dist/admin/api.d.ts +17 -0
  4. package/dist/admin/api.d.ts.map +1 -0
  5. package/dist/admin/app.d.ts +2 -0
  6. package/dist/admin/app.d.ts.map +1 -0
  7. package/dist/admin/field-editor.d.ts +8 -0
  8. package/dist/admin/field-editor.d.ts.map +1 -0
  9. package/dist/admin/form-editor-page.d.ts +4 -0
  10. package/dist/admin/form-editor-page.d.ts.map +1 -0
  11. package/dist/admin/form-list-page.d.ts +4 -0
  12. package/dist/admin/form-list-page.d.ts.map +1 -0
  13. package/dist/admin/form.d.ts +64 -0
  14. package/dist/admin/form.d.ts.map +1 -0
  15. package/dist/admin/import-form.d.ts +6 -0
  16. package/dist/admin/import-form.d.ts.map +1 -0
  17. package/dist/admin/index.d.ts +6 -0
  18. package/dist/admin/index.d.ts.map +1 -0
  19. package/dist/admin/index.mjs +1570 -0
  20. package/dist/admin/notification-editor.d.ts +16 -0
  21. package/dist/admin/notification-editor.d.ts.map +1 -0
  22. package/dist/admin/notifications.d.ts +8 -0
  23. package/dist/admin/notifications.d.ts.map +1 -0
  24. package/dist/admin/plugin-icon.d.ts +2 -0
  25. package/dist/admin/plugin-icon.d.ts.map +1 -0
  26. package/dist/admin/ui.d.ts +19 -0
  27. package/dist/admin/ui.d.ts.map +1 -0
  28. package/dist/server/src/bootstrap.d.ts.map +1 -1
  29. package/dist/server/src/bootstrap.js +37 -0
  30. package/dist/server/src/bootstrap.js.map +1 -1
  31. package/dist/server/src/components/blocks/inquiry-form.json +5 -1
  32. package/dist/server/src/components/shared/chatbot-setting.json +4 -2
  33. package/dist/server/src/config/builder.d.ts +6 -3
  34. package/dist/server/src/config/builder.d.ts.map +1 -1
  35. package/dist/server/src/config/builder.js +3 -0
  36. package/dist/server/src/config/builder.js.map +1 -1
  37. package/dist/server/src/config/forms.d.ts +58 -0
  38. package/dist/server/src/config/forms.d.ts.map +1 -0
  39. package/dist/server/src/config/forms.js +14 -0
  40. package/dist/server/src/config/forms.js.map +1 -0
  41. package/dist/server/src/config/index.d.ts +2 -22
  42. package/dist/server/src/config/index.d.ts.map +1 -1
  43. package/dist/server/src/config/index.js +17 -82
  44. package/dist/server/src/config/index.js.map +1 -1
  45. package/dist/server/src/content-types/form/index.d.ts +75 -0
  46. package/dist/server/src/content-types/form/index.d.ts.map +1 -0
  47. package/dist/server/src/content-types/form/index.js +8 -0
  48. package/dist/server/src/content-types/form/index.js.map +1 -0
  49. package/dist/server/src/content-types/form/schema.json +75 -0
  50. package/dist/server/src/content-types/index.d.ts +154 -0
  51. package/dist/server/src/content-types/index.d.ts.map +1 -1
  52. package/dist/server/src/content-types/index.js +4 -0
  53. package/dist/server/src/content-types/index.js.map +1 -1
  54. package/dist/server/src/content-types/submission/index.d.ts +83 -0
  55. package/dist/server/src/content-types/submission/index.d.ts.map +1 -0
  56. package/dist/server/src/content-types/submission/index.js +8 -0
  57. package/dist/server/src/content-types/submission/index.js.map +1 -0
  58. package/dist/server/src/content-types/submission/schema.json +88 -0
  59. package/dist/server/src/controllers/form-admin.d.ts +18 -0
  60. package/dist/server/src/controllers/form-admin.d.ts.map +1 -0
  61. package/dist/server/src/controllers/form-admin.js +107 -0
  62. package/dist/server/src/controllers/form-admin.js.map +1 -0
  63. package/dist/server/src/controllers/form.d.ts +8 -0
  64. package/dist/server/src/controllers/form.d.ts.map +1 -0
  65. package/dist/server/src/controllers/form.js +36 -0
  66. package/dist/server/src/controllers/form.js.map +1 -0
  67. package/dist/server/src/controllers/index.d.ts.map +1 -1
  68. package/dist/server/src/controllers/index.js +6 -2
  69. package/dist/server/src/controllers/index.js.map +1 -1
  70. package/dist/server/src/controllers/submission.d.ts +9 -0
  71. package/dist/server/src/controllers/submission.d.ts.map +1 -0
  72. package/dist/server/src/controllers/submission.js +58 -0
  73. package/dist/server/src/controllers/submission.js.map +1 -0
  74. package/dist/server/src/policies/rate-limit.d.ts.map +1 -1
  75. package/dist/server/src/policies/rate-limit.js +4 -4
  76. package/dist/server/src/policies/rate-limit.js.map +1 -1
  77. package/dist/server/src/preview/handler.d.ts +1 -1
  78. package/dist/server/src/preview/handler.d.ts.map +1 -1
  79. package/dist/server/src/preview/handler.js +7 -1
  80. package/dist/server/src/preview/handler.js.map +1 -1
  81. package/dist/server/src/register.d.ts.map +1 -1
  82. package/dist/server/src/register.js +2 -6
  83. package/dist/server/src/register.js.map +1 -1
  84. package/dist/server/src/routes/admin.d.ts +14 -2
  85. package/dist/server/src/routes/admin.d.ts.map +1 -1
  86. package/dist/server/src/routes/admin.js +44 -0
  87. package/dist/server/src/routes/admin.js.map +1 -1
  88. package/dist/server/src/routes/content-api.d.ts +4 -0
  89. package/dist/server/src/routes/content-api.d.ts.map +1 -1
  90. package/dist/server/src/routes/content-api.js +12 -9
  91. package/dist/server/src/routes/content-api.js.map +1 -1
  92. package/dist/server/src/services/form.d.ts +21 -0
  93. package/dist/server/src/services/form.d.ts.map +1 -0
  94. package/dist/server/src/services/form.js +45 -0
  95. package/dist/server/src/services/form.js.map +1 -0
  96. package/dist/server/src/services/idempotency-collision.d.ts +3 -0
  97. package/dist/server/src/services/idempotency-collision.d.ts.map +1 -0
  98. package/dist/server/src/services/idempotency-collision.js +24 -0
  99. package/dist/server/src/services/idempotency-collision.js.map +1 -0
  100. package/dist/server/src/services/index.d.ts.map +1 -1
  101. package/dist/server/src/services/index.js +41 -2
  102. package/dist/server/src/services/index.js.map +1 -1
  103. package/dist/server/src/services/notification.d.ts +26 -0
  104. package/dist/server/src/services/notification.d.ts.map +1 -0
  105. package/dist/server/src/services/notification.js +106 -0
  106. package/dist/server/src/services/notification.js.map +1 -0
  107. package/dist/server/src/services/populate.d.ts +6 -0
  108. package/dist/server/src/services/populate.d.ts.map +1 -1
  109. package/dist/server/src/services/populate.js +2 -0
  110. package/dist/server/src/services/populate.js.map +1 -1
  111. package/dist/server/src/services/submission.d.ts +16 -0
  112. package/dist/server/src/services/submission.d.ts.map +1 -0
  113. package/dist/server/src/services/submission.js +284 -0
  114. package/dist/server/src/services/submission.js.map +1 -0
  115. package/dist/server/src/services/template.d.ts +18 -0
  116. package/dist/server/src/services/template.d.ts.map +1 -0
  117. package/dist/server/src/services/template.js +50 -0
  118. package/dist/server/src/services/template.js.map +1 -0
  119. package/dist/server/src/validation/form.d.ts +48 -0
  120. package/dist/server/src/validation/form.d.ts.map +1 -0
  121. package/dist/server/src/validation/form.js +354 -0
  122. package/dist/server/src/validation/form.js.map +1 -0
  123. package/dist/server/src/validation/notification.d.ts +28 -0
  124. package/dist/server/src/validation/notification.d.ts.map +1 -0
  125. package/dist/server/src/validation/notification.js +142 -0
  126. package/dist/server/src/validation/notification.js.map +1 -0
  127. package/dist/server/src/validation/submission-access.d.ts +3 -0
  128. package/dist/server/src/validation/submission-access.d.ts.map +1 -0
  129. package/dist/server/src/validation/submission-access.js +23 -0
  130. package/dist/server/src/validation/submission-access.js.map +1 -0
  131. package/dist/server/src/validation/submission.d.ts +8 -0
  132. package/dist/server/src/validation/submission.d.ts.map +1 -0
  133. package/dist/server/src/validation/submission.js +113 -0
  134. package/dist/server/src/validation/submission.js.map +1 -0
  135. package/package.json +26 -7
  136. package/strapi-admin.js +1 -0
  137. package/dist/server/src/controllers/inquiry.d.ts +0 -8
  138. package/dist/server/src/controllers/inquiry.d.ts.map +0 -1
  139. package/dist/server/src/controllers/inquiry.js +0 -27
  140. package/dist/server/src/controllers/inquiry.js.map +0 -1
  141. package/dist/server/src/services/inquiry.d.ts +0 -15
  142. package/dist/server/src/services/inquiry.d.ts.map +0 -1
  143. package/dist/server/src/services/inquiry.js +0 -137
  144. package/dist/server/src/services/inquiry.js.map +0 -1
@@ -3,8 +3,10 @@ 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 form_1 = __importDefault(require("./form"));
7
+ const form_admin_1 = __importDefault(require("./form-admin"));
8
+ const submission_1 = __importDefault(require("./submission"));
6
9
  const strapi_1 = require("@strapi/strapi");
7
- const inquiry_1 = __importDefault(require("./inquiry"));
8
10
  const page_1 = __importDefault(require("./page"));
9
11
  const global_1 = __importDefault(require("./global"));
10
12
  const preview_1 = __importDefault(require("./preview"));
@@ -17,7 +19,9 @@ const controllers = {
17
19
  page: page_1.default,
18
20
  global: global_1.default,
19
21
  preview: preview_1.default,
20
- inquiry: inquiry_1.default,
22
+ form: form_1.default,
23
+ 'form-admin': form_admin_1.default,
24
+ submission: submission_1.default,
21
25
  navigation: strapi_1.factories.createCoreController('plugin::builder.navigation'),
22
26
  series: strapi_1.factories.createCoreController('plugin::builder.series'),
23
27
  'site-setting': strapi_1.factories.createCoreController('plugin::builder.site-setting'),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/src/controllers/index.ts"],"names":[],"mappings":";;;;;AAAA,2CAA2C;AAC3C,wDAAgC;AAChC,kDAA0B;AAC1B,sDAA8B;AAC9B,wDAAgC;AAEhC,MAAM,WAAW,GAA4B;IAC3C,OAAO,EAAE,kBAAS,CAAC,oBAAoB,CAAC,yBAAyB,CAAC;IAClE,MAAM,EAAE,kBAAS,CAAC,oBAAoB,CAAC,wBAAwB,CAAC;IAChE,QAAQ,EAAE,kBAAS,CAAC,oBAAoB,CAAC,0BAA0B,CAAC;IACpE,gBAAgB,EAAE,kBAAS,CAAC,oBAAoB,CAC9C,gCAAgC,CACjC;IACD,GAAG,EAAE,kBAAS,CAAC,oBAAoB,CAAC,qBAAqB,CAAC;IAC1D,IAAI,EAAJ,cAAI;IACJ,MAAM,EAAN,gBAAM;IACN,OAAO,EAAP,iBAAO;IACP,OAAO,EAAP,iBAAO;IACP,UAAU,EAAE,kBAAS,CAAC,oBAAoB,CAAC,4BAA4B,CAAC;IACxE,MAAM,EAAE,kBAAS,CAAC,oBAAoB,CAAC,wBAAwB,CAAC;IAChE,cAAc,EAAE,kBAAS,CAAC,oBAAoB,CAC5C,8BAA8B,CAC/B;IACD,GAAG,EAAE,kBAAS,CAAC,oBAAoB,CAAC,qBAAqB,CAAC;CAC3D,CAAC;AAEF,kBAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/src/controllers/index.ts"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAC1B,8DAAqC;AACrC,8DAAsC;AACtC,2CAA2C;AAC3C,kDAA0B;AAC1B,sDAA8B;AAC9B,wDAAgC;AAEhC,MAAM,WAAW,GAA4B;IAC3C,OAAO,EAAE,kBAAS,CAAC,oBAAoB,CAAC,yBAAyB,CAAC;IAClE,MAAM,EAAE,kBAAS,CAAC,oBAAoB,CAAC,wBAAwB,CAAC;IAChE,QAAQ,EAAE,kBAAS,CAAC,oBAAoB,CAAC,0BAA0B,CAAC;IACpE,gBAAgB,EAAE,kBAAS,CAAC,oBAAoB,CAC9C,gCAAgC,CACjC;IACD,GAAG,EAAE,kBAAS,CAAC,oBAAoB,CAAC,qBAAqB,CAAC;IAC1D,IAAI,EAAJ,cAAI;IACJ,MAAM,EAAN,gBAAM;IACN,OAAO,EAAP,iBAAO;IACP,IAAI,EAAJ,cAAI;IACJ,YAAY,EAAE,oBAAS;IACvB,UAAU,EAAV,oBAAU;IACV,UAAU,EAAE,kBAAS,CAAC,oBAAoB,CAAC,4BAA4B,CAAC;IACxE,MAAM,EAAE,kBAAS,CAAC,oBAAoB,CAAC,wBAAwB,CAAC;IAChE,cAAc,EAAE,kBAAS,CAAC,oBAAoB,CAC5C,8BAA8B,CAC/B;IACD,GAAG,EAAE,kBAAS,CAAC,oBAAoB,CAAC,qBAAqB,CAAC;CAC3D,CAAC;AAEF,kBAAe,WAAW,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { Core } from '@strapi/strapi';
2
+ declare const submission: ({ strapi }: {
3
+ strapi: Core.Strapi;
4
+ }) => {
5
+ redeliver(ctx: Parameters<Core.ControllerHandler>[0]): Promise<any>;
6
+ create(ctx: Parameters<Core.ControllerHandler>[0]): Promise<void>;
7
+ };
8
+ export default submission;
9
+ //# sourceMappingURL=submission.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"submission.d.ts","sourceRoot":"","sources":["../../../../server/src/controllers/submission.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAK3C,QAAA,MAAM,UAAU,GAAI,YAAY;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;CAAE;mBAChC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;gBAYxC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;CA4CvD,CAAC;AACH,eAAe,UAAU,CAAC"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const forms_1 = require("../config/forms");
4
+ const form_1 = require("../validation/form");
5
+ const submission = ({ strapi }) => ({
6
+ async redeliver(ctx) {
7
+ const service = strapi
8
+ .plugin('builder')
9
+ .service('submission');
10
+ try {
11
+ ctx.body = { data: await service.redeliver(ctx.params.id) };
12
+ }
13
+ catch (error) {
14
+ if (error instanceof forms_1.SubmissionServiceError && error.status === 404)
15
+ return ctx.notFound('Submission or target record not found');
16
+ throw error;
17
+ }
18
+ },
19
+ async create(ctx) {
20
+ try {
21
+ const body = ctx.request.body;
22
+ if (!(0, form_1.isObject)(body) ||
23
+ Object.keys(body).some((key) => key !== 'data') ||
24
+ !(0, form_1.isObject)(body.data) ||
25
+ Object.keys(body.data).some((key) => !['fields', 'consent', 'idempotencyKey', 'formVersion'].includes(key)) ||
26
+ !Number.isInteger(body.data.formVersion) ||
27
+ Number(body.data.formVersion) < 1) {
28
+ throw new forms_1.SubmissionServiceError(400, 'invalid_submission');
29
+ }
30
+ const service = strapi
31
+ .plugin('builder')
32
+ .service('submission');
33
+ const result = await service.submit(ctx.params.slug, body.data, {
34
+ request: ctx.request,
35
+ });
36
+ ctx.status = 201;
37
+ ctx.body = { data: { id: result.id, receivedAt: result.receivedAt } };
38
+ }
39
+ catch (cause) {
40
+ const error = cause instanceof forms_1.SubmissionServiceError
41
+ ? cause
42
+ : new forms_1.SubmissionServiceError(503, 'submission_unavailable');
43
+ ctx.status = error.status;
44
+ ctx.body = {
45
+ data: null,
46
+ error: {
47
+ status: error.status,
48
+ name: error.name,
49
+ message: error.message,
50
+ details: error.details,
51
+ code: error.code,
52
+ },
53
+ };
54
+ }
55
+ },
56
+ });
57
+ exports.default = submission;
58
+ //# sourceMappingURL=submission.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"submission.js","sourceRoot":"","sources":["../../../../server/src/controllers/submission.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rate-limit.d.ts","sourceRoot":"","sources":["../../../../server/src/policies/rate-limit.ts"],"names":[],"mappings":"AAqBA,UAAU,aAAa;IACrB,OAAO,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3B;AACD,UAAU,UAAU;IAClB,GAAG,EAAE;QAAE,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,CAAC;CAC1C;AAED,QAAA,MAAM,SAAS,GACb,eAAe,aAAa,EAC5B,SAAS,OAAO,EAChB,YAAY;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,KACjC,OAiBF,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"rate-limit.d.ts","sourceRoot":"","sources":["../../../../server/src/policies/rate-limit.ts"],"names":[],"mappings":"AAsBA,UAAU,aAAa;IACrB,OAAO,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3B;AACD,UAAU,UAAU;IAClB,GAAG,EAAE;QAAE,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,CAAC;CAC1C;AAED,QAAA,MAAM,SAAS,GACb,eAAe,aAAa,EAC5B,SAAS,OAAO,EAChB,YAAY;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,KACjC,OAiBF,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ const utils_1 = require("@strapi/utils");
3
4
  /**
4
- * Fixed-window in-memory IP rate limit for write-heavy public routes (inquiry
5
- * create). Defense-in-depth: the demo-web Next route rate-limits first, but a
5
+ * Fixed-window in-memory IP rate limit for write-heavy public submission routes. Defense-in-depth: the demo-web Next route rate-limits first, but a
6
6
  * caller hitting Strapi's public create route directly is throttled here too.
7
7
  *
8
8
  * Single-instance only — a shared store (Redis) is needed for multi-instance
@@ -30,8 +30,8 @@ const rateLimit = (policyContext, _config, { strapi }) => {
30
30
  }
31
31
  entry.count += 1;
32
32
  if (entry.count > MAX_REQUESTS) {
33
- strapi.log.warn(`[builder] inquiry rate limit hit for ip=${ip}`);
34
- return false; // → 403 Forbidden
33
+ strapi.log.warn(`[builder] submission rate limit hit for ip=${ip}`);
34
+ throw new utils_1.errors.RateLimitError('Too many submissions.');
35
35
  }
36
36
  return true;
37
37
  };
@@ -1 +1 @@
1
- {"version":3,"file":"rate-limit.js","sourceRoot":"","sources":["../../../../server/src/policies/rate-limit.ts"],"names":[],"mappings":";;AAAA;;;;;;;GAOG;AACH,MAAM,SAAS,GAAG,KAAM,CAAC;AACzB,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,IAAI,GAAG,IAAI,GAAG,EAA8C,CAAC;AAEnE,yDAAyD;AACzD,SAAS,KAAK,CAAC,GAAW;IACxB,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;QAC/B,IAAI,GAAG,GAAG,KAAK,CAAC,OAAO;YAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAWD,MAAM,SAAS,GAAG,CAChB,aAA4B,EAC5B,OAAgB,EAChB,EAAE,MAAM,EAA0B,EACzB,EAAE;IACX,MAAM,EAAE,GAAW,aAAa,CAAC,OAAO,EAAE,EAAE,IAAI,SAAS,CAAC;IAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,IAAI,IAAI,CAAC,IAAI,GAAG,GAAG;QAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAE3B,IAAI,CAAC,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;QAClC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,GAAG,SAAS,EAAE,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;IACjB,IAAI,KAAK,CAAC,KAAK,GAAG,YAAY,EAAE,CAAC;QAC/B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,2CAA2C,EAAE,EAAE,CAAC,CAAC;QACjE,OAAO,KAAK,CAAC,CAAC,kBAAkB;IAClC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,kBAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"rate-limit.js","sourceRoot":"","sources":["../../../../server/src/policies/rate-limit.ts"],"names":[],"mappings":";;AAAA,yCAAuC;AAEvC;;;;;;GAMG;AACH,MAAM,SAAS,GAAG,KAAM,CAAC;AACzB,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,IAAI,GAAG,IAAI,GAAG,EAA8C,CAAC;AAEnE,yDAAyD;AACzD,SAAS,KAAK,CAAC,GAAW;IACxB,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;QAC/B,IAAI,GAAG,GAAG,KAAK,CAAC,OAAO;YAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAWD,MAAM,SAAS,GAAG,CAChB,aAA4B,EAC5B,OAAgB,EAChB,EAAE,MAAM,EAA0B,EACzB,EAAE;IACX,MAAM,EAAE,GAAW,aAAa,CAAC,OAAO,EAAE,EAAE,IAAI,SAAS,CAAC;IAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,IAAI,IAAI,CAAC,IAAI,GAAG,GAAG;QAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAE3B,IAAI,CAAC,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;QAClC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,GAAG,SAAS,EAAE,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;IACjB,IAAI,KAAK,CAAC,KAAK,GAAG,YAAY,EAAE,CAAC;QAC/B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,8CAA8C,EAAE,EAAE,CAAC,CAAC;QACpE,MAAM,IAAI,cAAM,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,kBAAe,SAAS,CAAC"}
@@ -23,7 +23,7 @@ export interface BuilderPreviewConfig {
23
23
  uids?: string[];
24
24
  resolvePath?: (uid: string, document: BuilderPreviewDocument) => string | null;
25
25
  }
26
- export declare const PREVIEW_UIDS: readonly ["plugin::builder.page", "plugin::builder.article"];
26
+ export declare const PREVIEW_UIDS: readonly ["plugin::builder.page", "plugin::builder.article", "plugin::builder.legal-document"];
27
27
  export interface BuilderPreviewOptions {
28
28
  documentId: string;
29
29
  locale?: string;
@@ -1 +1 @@
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"}
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,gGAIf,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,CAwCf;AAED,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,aAAa,EACrB,QAAQ,CAAC,EAAE,qBAAqB,GAC/B,qBAAqB,CAYvB"}
@@ -11,6 +11,7 @@ const preview_token_1 = require("../preview-token");
11
11
  exports.PREVIEW_UIDS = [
12
12
  'plugin::builder.page',
13
13
  'plugin::builder.article',
14
+ 'plugin::builder.legal-document',
14
15
  ];
15
16
  function getPreviewUids(strapi) {
16
17
  const pluginConfig = strapi.config.get('plugin::builder');
@@ -47,10 +48,15 @@ function signPreviewDocument(strapi, uid, document, status = 'draft') {
47
48
  if (!secret)
48
49
  return null;
49
50
  const isDefault = exports.PREVIEW_UIDS.some((defaultUid) => defaultUid === uid);
51
+ const prefix = uid === 'plugin::builder.article'
52
+ ? '/articles'
53
+ : uid === 'plugin::builder.legal-document'
54
+ ? '/legal'
55
+ : '';
50
56
  const path = config.resolvePath
51
57
  ? config.resolvePath(uid, document)
52
58
  : isDefault && document.slug
53
- ? `${uid === 'plugin::builder.article' ? '/articles' : ''}/${encodeURIComponent(document.slug)}`
59
+ ? `${prefix}/${encodeURIComponent(document.slug)}`
54
60
  : null;
55
61
  if (typeof path !== 'string' || !(0, preview_token_1.isSafePreviewPath)(path))
56
62
  return null;
@@ -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":"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"}
@@ -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;AAsD3C;;;;GAIG;AACH,QAAA,MAAM,QAAQ,GAAI,YAAY;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;CAAE,SAkJpD,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;AAuD3C;;;;GAIG;AACH,QAAA,MAAM,QAAQ,GAAI,YAAY;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;CAAE,SA2IpD,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -10,6 +10,7 @@ const mcp_1 = require("./mcp");
10
10
  const preview_1 = require("./preview");
11
11
  const structured_data_1 = require("./validation/structured-data");
12
12
  const robots_txt_1 = require("./validation/robots-txt");
13
+ const form_1 = require("./validation/form");
13
14
  const PROXY_RATE_LIMIT_WARNING = 'Rate limiting uses request.ip, but server.proxy.koa is not enabled. ' +
14
15
  'When running behind a proxy or CDN, set server: { proxy: { koa: true } } ' +
15
16
  'to prevent all clients from sharing one rate-limit bucket.';
@@ -75,12 +76,6 @@ const register = ({ strapi }) => {
75
76
  }
76
77
  componentRegistry.add(componentsMap);
77
78
  const pluginConfig = strapi.config.get('plugin::builder');
78
- const inquiryAttributes = pluginConfig.inquiry?.attributes;
79
- if (inquiryAttributes && Object.keys(inquiryAttributes).length > 0) {
80
- const inquiry = strapi.contentTypes['plugin::builder.inquiry'];
81
- Object.assign(inquiry.attributes, inquiryAttributes);
82
- Object.assign(inquiry.__schema__.attributes, inquiryAttributes);
83
- }
84
79
  const extraBlocks = Object.entries(pluginConfig.blocks.extra);
85
80
  const page = strapi.contentTypes['plugin::builder.page'];
86
81
  const global = strapi.contentTypes['plugin::builder.global'];
@@ -136,6 +131,7 @@ const register = ({ strapi }) => {
136
131
  }
137
132
  strapi.documents.use((0, structured_data_1.createStructuredDataMiddleware)(strapi));
138
133
  strapi.documents.use((0, robots_txt_1.createRobotsTxtMiddleware)());
134
+ strapi.documents.use((0, form_1.createFormMiddleware)(strapi));
139
135
  (0, preview_1.registerBuilderPreview)(strapi);
140
136
  (0, mcp_1.registerBuilderMcp)(strapi);
141
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,14 +1,26 @@
1
1
  declare const admin: {
2
2
  type: "admin";
3
3
  prefix: string;
4
- routes: {
4
+ routes: ({
5
+ method: string;
6
+ path: string;
7
+ handler: string;
8
+ config: {
9
+ policies: (string | {
10
+ name: string;
11
+ config: {
12
+ actions: string[];
13
+ };
14
+ })[];
15
+ };
16
+ } | {
5
17
  method: string;
6
18
  path: string;
7
19
  handler: string;
8
20
  config: {
9
21
  auth: boolean;
10
22
  };
11
- }[];
23
+ })[];
12
24
  };
13
25
  export default admin;
14
26
  //# sourceMappingURL=admin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../../../server/src/routes/admin.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,KAAK;;;;;;;;;;;CAWV,CAAC;AAEF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../../../server/src/routes/admin.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;CAuDV,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -4,6 +4,50 @@ const admin = {
4
4
  type: 'admin',
5
5
  prefix: '/plugins/builder',
6
6
  routes: [
7
+ ...[
8
+ ['GET', '/forms/targets', 'targets'],
9
+ ['GET', '/forms/fields', 'fields'],
10
+ ['POST', '/forms/import', 'import'],
11
+ ['GET', '/forms', 'find'],
12
+ ['POST', '/forms', 'create'],
13
+ ['GET', '/forms/:documentId/export', 'export'],
14
+ ['POST', '/forms/:documentId/test-send', 'testSend'],
15
+ ['PUT', '/forms/:documentId/import', 'import'],
16
+ ['GET', '/forms/:documentId', 'findOne'],
17
+ ['PUT', '/forms/:documentId', 'update'],
18
+ ['DELETE', '/forms/:documentId', 'delete'],
19
+ ].map(([method, path, action]) => ({
20
+ method: method,
21
+ path: path,
22
+ handler: `form-admin.${action}`,
23
+ config: {
24
+ policies: [
25
+ 'admin::isAuthenticatedAdmin',
26
+ {
27
+ name: 'admin::hasPermissions',
28
+ config: {
29
+ actions: [
30
+ `plugin::builder.forms.${method === 'GET' ? 'read' : 'update'}`,
31
+ ],
32
+ },
33
+ },
34
+ ],
35
+ },
36
+ })),
37
+ {
38
+ method: 'POST',
39
+ path: '/submissions/:id/redeliver',
40
+ handler: 'submission.redeliver',
41
+ config: {
42
+ policies: [
43
+ 'admin::isAuthenticatedAdmin',
44
+ {
45
+ name: 'admin::hasPermissions',
46
+ config: { actions: ['plugin::builder.forms.update'] },
47
+ },
48
+ ],
49
+ },
50
+ },
7
51
  {
8
52
  method: 'GET',
9
53
  path: '/previews/:file',
@@ -1 +1 @@
1
- {"version":3,"file":"admin.js","sourceRoot":"","sources":["../../../../server/src/routes/admin.ts"],"names":[],"mappings":";;AAAA,MAAM,KAAK,GAAG;IACZ,IAAI,EAAE,OAAgB;IACtB,MAAM,EAAE,kBAAkB;IAC1B,MAAM,EAAE;QACN;YACE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE,cAAc;YACvB,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;SACxB;KACF;CACF,CAAC;AAEF,kBAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"admin.js","sourceRoot":"","sources":["../../../../server/src/routes/admin.ts"],"names":[],"mappings":";;AAAA,MAAM,KAAK,GAAG;IACZ,IAAI,EAAE,OAAgB;IACtB,MAAM,EAAE,kBAAkB;IAC1B,MAAM,EAAE;QACN,GAAG;YACD,CAAC,KAAK,EAAE,gBAAgB,EAAE,SAAS,CAAC;YACpC,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,CAAC;YAClC,CAAC,MAAM,EAAE,eAAe,EAAE,QAAQ,CAAC;YACnC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC;YACzB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC;YAC5B,CAAC,KAAK,EAAE,2BAA2B,EAAE,QAAQ,CAAC;YAC9C,CAAC,MAAM,EAAE,8BAA8B,EAAE,UAAU,CAAC;YACpD,CAAC,KAAK,EAAE,2BAA2B,EAAE,QAAQ,CAAC;YAC9C,CAAC,KAAK,EAAE,oBAAoB,EAAE,SAAS,CAAC;YACxC,CAAC,KAAK,EAAE,oBAAoB,EAAE,QAAQ,CAAC;YACvC,CAAC,QAAQ,EAAE,oBAAoB,EAAE,QAAQ,CAAC;SAC3C,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YACjC,MAAM,EAAE,MAAO;YACf,IAAI,EAAE,IAAK;YACX,OAAO,EAAE,cAAc,MAAM,EAAE;YAC/B,MAAM,EAAE;gBACN,QAAQ,EAAE;oBACR,6BAA6B;oBAC7B;wBACE,IAAI,EAAE,uBAAuB;wBAC7B,MAAM,EAAE;4BACN,OAAO,EAAE;gCACP,yBAAyB,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;6BAChE;yBACF;qBACF;iBACF;aACF;SACF,CAAC,CAAC;QACH;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,4BAA4B;YAClC,OAAO,EAAE,sBAAsB;YAC/B,MAAM,EAAE;gBACN,QAAQ,EAAE;oBACR,6BAA6B;oBAC7B;wBACE,IAAI,EAAE,uBAAuB;wBAC7B,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,8BAA8B,CAAC,EAAE;qBACtD;iBACF;aACF;SACF;QACD;YACE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE,cAAc;YACvB,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;SACxB;KACF;CACF,CAAC;AAEF,kBAAe,KAAK,CAAC"}
@@ -1,6 +1,10 @@
1
1
  interface ContentApiRoute {
2
2
  method: string;
3
3
  path: string;
4
+ handler?: string;
5
+ config?: {
6
+ policies: string[];
7
+ };
4
8
  }
5
9
  interface ContentApiRouter {
6
10
  type: 'content-api';
@@ -1 +1 @@
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
+ {"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;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CACjC;AAED,UAAU,gBAAgB;IACxB,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B;AAuBD,QAAA,MAAM,UAAU,EAAE,gBA4BjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -16,8 +16,8 @@ const contentTypes = [
16
16
  'plugin::builder.tag',
17
17
  ];
18
18
  const routesByApp = new WeakMap();
19
- function getCoreRoutes(uid, ...[config]) {
20
- const router = strapi_1.factories.createCoreRouter(uid, config);
19
+ function getCoreRoutes(uid) {
20
+ const router = strapi_1.factories.createCoreRouter(uid);
21
21
  return typeof router.routes === 'function' ? router.routes() : router.routes;
22
22
  }
23
23
  const contentApi = {
@@ -33,13 +33,16 @@ const contentApi = {
33
33
  const coreRoutes = contentTypes
34
34
  .filter((uid) => (0, content_type_availability_1.isBuilderContentTypeEnabled)(config, uid))
35
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
- : [];
42
- cachedRoutes = [...coreRoutes, ...inquiryRoutes];
36
+ cachedRoutes = [
37
+ ...coreRoutes,
38
+ { method: 'GET', path: '/forms/:slug', handler: 'form.find' },
39
+ {
40
+ method: 'POST',
41
+ path: '/forms/:slug/submissions',
42
+ handler: 'submission.create',
43
+ config: { policies: ['plugin::builder.rate-limit'] },
44
+ },
45
+ ];
43
46
  routesByApp.set(app, cachedRoutes);
44
47
  }
45
48
  return cachedRoutes;
@@ -1 +1 @@
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
+ {"version":3,"file":"content-api.js","sourceRoot":"","sources":["../../../../server/src/routes/content-api.ts"],"names":[],"mappings":";;AAAA,2CAA2C;AAC3C,4EAA2E;AAe3E,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,CAAC,GAAqD;IAC1E,MAAM,MAAM,GAAG,kBAAS,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC/C,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,YAAY,GAAG;gBACb,GAAG,UAAU;gBACb,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE;gBAC7D;oBACE,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,0BAA0B;oBAChC,OAAO,EAAE,mBAAmB;oBAC5B,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,4BAA4B,CAAC,EAAE;iBACrD;aACF,CAAC;YACF,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;CACF,CAAC;AAEF,kBAAe,UAAU,CAAC"}
@@ -0,0 +1,21 @@
1
+ import type { Core } from '@strapi/strapi';
2
+ import type { FormField } from '../validation/form';
3
+ interface FormService {
4
+ targets(): {
5
+ uid: string;
6
+ name: string;
7
+ }[];
8
+ fields(uid: unknown): FormField[];
9
+ find(): Promise<Record<string, unknown>[]>;
10
+ findOne(documentId: string): Promise<Record<string, unknown> | null>;
11
+ create(data: unknown): Promise<Record<string, unknown>>;
12
+ update(documentId: string, data: unknown): Promise<Record<string, unknown> | null>;
13
+ delete(documentId: string): Promise<unknown>;
14
+ export(documentId: string): Promise<Record<string, unknown> | null>;
15
+ import(data: unknown, documentId?: string): Promise<Record<string, unknown> | null>;
16
+ }
17
+ declare const form: ({ strapi }: {
18
+ strapi: Core.Strapi;
19
+ }) => FormService;
20
+ export default form;
21
+ //# sourceMappingURL=form.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../../../server/src/services/form.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAU3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,UAAU,WAAW;IACnB,OAAO,IAAI;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC3C,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,EAAE,CAAC;IAClC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IACrE,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACxD,MAAM,CACJ,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IAC3C,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IACpE,MAAM,CACJ,IAAI,EAAE,OAAO,EACb,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;CAC5C;AAED,QAAA,MAAM,IAAI,GAAI,YAAY;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;CAAE,KAAG,WAsClD,CAAC;AAEH,eAAe,IAAI,CAAC"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const utils_1 = require("@strapi/utils");
4
+ const form_1 = require("../validation/form");
5
+ const form = ({ strapi }) => ({
6
+ targets() {
7
+ return (0, form_1.listFormTargets)(strapi);
8
+ },
9
+ fields(uid) {
10
+ return (0, form_1.listFormFields)(strapi, uid);
11
+ },
12
+ async find() {
13
+ return strapi.documents(form_1.FORM_UID).findMany({ sort: 'slug:asc' });
14
+ },
15
+ async findOne(documentId) {
16
+ return strapi.documents(form_1.FORM_UID).findOne({ documentId });
17
+ },
18
+ async create(data) {
19
+ const definition = (0, form_1.validateFormDefinition)(strapi, data);
20
+ return strapi.documents(form_1.FORM_UID).create({ data: definition });
21
+ },
22
+ async update(documentId, data) {
23
+ // Middleware merges partial updates with the stored definition, validates
24
+ // against the current target schema, and assigns the next version.
25
+ if (!(0, form_1.isObject)(data))
26
+ throw new utils_1.errors.ValidationError('form: expected data.');
27
+ return strapi.documents(form_1.FORM_UID).update({ documentId, data });
28
+ },
29
+ async delete(documentId) {
30
+ return strapi.documents(form_1.FORM_UID).delete({ documentId });
31
+ },
32
+ async export(documentId) {
33
+ const saved = await strapi.documents(form_1.FORM_UID).findOne({ documentId });
34
+ return saved ? (0, form_1.exportFormDefinition)(saved) : null;
35
+ },
36
+ async import(data, documentId) {
37
+ // Import is a full portable definition, with the same validation as create.
38
+ const definition = (0, form_1.validateFormDefinition)(strapi, data);
39
+ return documentId
40
+ ? this.update(documentId, definition)
41
+ : this.create(definition);
42
+ },
43
+ });
44
+ exports.default = form;
45
+ //# sourceMappingURL=form.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form.js","sourceRoot":"","sources":["../../../../server/src/services/form.ts"],"names":[],"mappings":";;AACA,yCAAuC;AACvC,6CAO4B;AAqB5B,MAAM,IAAI,GAAG,CAAC,EAAE,MAAM,EAA2B,EAAe,EAAE,CAAC,CAAC;IAClE,OAAO;QACL,OAAO,IAAA,sBAAe,EAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IACD,MAAM,CAAC,GAAY;QACjB,OAAO,IAAA,qBAAc,EAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrC,CAAC;IACD,KAAK,CAAC,IAAI;QACR,OAAO,MAAM,CAAC,SAAS,CAAC,eAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,KAAK,CAAC,OAAO,CAAC,UAAkB;QAC9B,OAAO,MAAM,CAAC,SAAS,CAAC,eAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,IAAa;QACxB,MAAM,UAAU,GAAG,IAAA,6BAAsB,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACxD,OAAO,MAAM,CAAC,SAAS,CAAC,eAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,UAAkB,EAAE,IAAa;QAC5C,0EAA0E;QAC1E,mEAAmE;QACnE,IAAI,CAAC,IAAA,eAAQ,EAAC,IAAI,CAAC;YACjB,MAAM,IAAI,cAAM,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC;QAC3D,OAAO,MAAM,CAAC,SAAS,CAAC,eAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,UAAkB;QAC7B,OAAO,MAAM,CAAC,SAAS,CAAC,eAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IAC3D,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,UAAkB;QAC7B,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,eAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;QACvE,OAAO,KAAK,CAAC,CAAC,CAAC,IAAA,2BAAoB,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpD,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,IAAa,EAAE,UAAmB;QAC7C,4EAA4E;QAC5E,MAAM,UAAU,GAAG,IAAA,6BAAsB,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACxD,OAAO,UAAU;YACf,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC;YACrC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC9B,CAAC;CACF,CAAC,CAAC;AAEH,kBAAe,IAAI,CAAC"}
@@ -0,0 +1,3 @@
1
+ /** Only recover a collision on our unique key, never unrelated DB failures. */
2
+ export declare function isIdempotencyCollision(error: unknown): boolean;
3
+ //# sourceMappingURL=idempotency-collision.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"idempotency-collision.d.ts","sourceRoot":"","sources":["../../../../server/src/services/idempotency-collision.ts"],"names":[],"mappings":"AAEA,+EAA+E;AAC/E,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAyB9D"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isIdempotencyCollision = isIdempotencyCollision;
4
+ const form_1 = require("../validation/form");
5
+ /** Only recover a collision on our unique key, never unrelated DB failures. */
6
+ function isIdempotencyCollision(error) {
7
+ if (!(0, form_1.isObject)(error))
8
+ return false;
9
+ if ((error.code === 'SQLITE_CONSTRAINT_UNIQUE' || error.code === '23505') &&
10
+ /idempotency_key/.test(String(error.message ?? error.constraint)))
11
+ return true;
12
+ if (error.name === 'ValidationError' &&
13
+ (0, form_1.isObject)(error.details) &&
14
+ Array.isArray(error.details.errors)) {
15
+ return (error.details.errors.length > 0 &&
16
+ error.details.errors.every((item) => (0, form_1.isObject)(item) &&
17
+ Array.isArray(item.path) &&
18
+ item.path.length === 1 &&
19
+ item.path[0] === 'idempotencyKey' &&
20
+ item.message === 'This attribute must be unique'));
21
+ }
22
+ return error.cause !== undefined && isIdempotencyCollision(error.cause);
23
+ }
24
+ //# sourceMappingURL=idempotency-collision.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"idempotency-collision.js","sourceRoot":"","sources":["../../../../server/src/services/idempotency-collision.ts"],"names":[],"mappings":";;AAGA,wDAyBC;AA5BD,6CAA8C;AAE9C,+EAA+E;AAC/E,SAAgB,sBAAsB,CAAC,KAAc;IACnD,IAAI,CAAC,IAAA,eAAQ,EAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,IACE,CAAC,KAAK,CAAC,IAAI,KAAK,0BAA0B,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC;QACrE,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;QAEjE,OAAO,IAAI,CAAC;IACd,IACE,KAAK,CAAC,IAAI,KAAK,iBAAiB;QAChC,IAAA,eAAQ,EAAC,KAAK,CAAC,OAAO,CAAC;QACvB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EACnC,CAAC;QACD,OAAO,CACL,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAC/B,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CACxB,CAAC,IAAa,EAAE,EAAE,CAChB,IAAA,eAAQ,EAAC,IAAI,CAAC;gBACd,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;gBACxB,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;gBACtB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,gBAAgB;gBACjC,IAAI,CAAC,OAAO,KAAK,+BAA+B,CACnD,CACF,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,sBAAsB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC1E,CAAC"}
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/services/index.ts"],"names":[],"mappings":"AAOA,QAAA,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAmBrC,CAAC;AAEF,eAAe,QAAQ,CAAC"}