@dani-builder/strapi-plugin-builder 0.16.0 → 1.0.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 (140) hide show
  1. package/AGENTS.md +24 -16
  2. package/README.md +24 -4
  3. package/dist/admin/api.d.ts +16 -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 +42 -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 +1006 -0
  20. package/dist/admin/plugin-icon.d.ts +2 -0
  21. package/dist/admin/plugin-icon.d.ts.map +1 -0
  22. package/dist/admin/ui.d.ts +17 -0
  23. package/dist/admin/ui.d.ts.map +1 -0
  24. package/dist/server/src/bootstrap.d.ts.map +1 -1
  25. package/dist/server/src/bootstrap.js +37 -0
  26. package/dist/server/src/bootstrap.js.map +1 -1
  27. package/dist/server/src/components/blocks/inquiry-form.json +5 -1
  28. package/dist/server/src/components/shared/chatbot-setting.json +4 -2
  29. package/dist/server/src/config/builder.d.ts +6 -3
  30. package/dist/server/src/config/builder.d.ts.map +1 -1
  31. package/dist/server/src/config/builder.js +3 -0
  32. package/dist/server/src/config/builder.js.map +1 -1
  33. package/dist/server/src/config/forms.d.ts +58 -0
  34. package/dist/server/src/config/forms.d.ts.map +1 -0
  35. package/dist/server/src/config/forms.js +14 -0
  36. package/dist/server/src/config/forms.js.map +1 -0
  37. package/dist/server/src/config/index.d.ts +2 -22
  38. package/dist/server/src/config/index.d.ts.map +1 -1
  39. package/dist/server/src/config/index.js +17 -82
  40. package/dist/server/src/config/index.js.map +1 -1
  41. package/dist/server/src/content-types/form/index.d.ts +75 -0
  42. package/dist/server/src/content-types/form/index.d.ts.map +1 -0
  43. package/dist/server/src/content-types/form/index.js +8 -0
  44. package/dist/server/src/content-types/form/index.js.map +1 -0
  45. package/dist/server/src/content-types/form/schema.json +75 -0
  46. package/dist/server/src/content-types/index.d.ts +154 -0
  47. package/dist/server/src/content-types/index.d.ts.map +1 -1
  48. package/dist/server/src/content-types/index.js +4 -0
  49. package/dist/server/src/content-types/index.js.map +1 -1
  50. package/dist/server/src/content-types/submission/index.d.ts +83 -0
  51. package/dist/server/src/content-types/submission/index.d.ts.map +1 -0
  52. package/dist/server/src/content-types/submission/index.js +8 -0
  53. package/dist/server/src/content-types/submission/index.js.map +1 -0
  54. package/dist/server/src/content-types/submission/schema.json +88 -0
  55. package/dist/server/src/controllers/form-admin.d.ts +18 -0
  56. package/dist/server/src/controllers/form-admin.d.ts.map +1 -0
  57. package/dist/server/src/controllers/form-admin.js +107 -0
  58. package/dist/server/src/controllers/form-admin.js.map +1 -0
  59. package/dist/server/src/controllers/form.d.ts +8 -0
  60. package/dist/server/src/controllers/form.d.ts.map +1 -0
  61. package/dist/server/src/controllers/form.js +36 -0
  62. package/dist/server/src/controllers/form.js.map +1 -0
  63. package/dist/server/src/controllers/index.d.ts.map +1 -1
  64. package/dist/server/src/controllers/index.js +6 -2
  65. package/dist/server/src/controllers/index.js.map +1 -1
  66. package/dist/server/src/controllers/submission.d.ts +9 -0
  67. package/dist/server/src/controllers/submission.d.ts.map +1 -0
  68. package/dist/server/src/controllers/submission.js +58 -0
  69. package/dist/server/src/controllers/submission.js.map +1 -0
  70. package/dist/server/src/policies/rate-limit.d.ts.map +1 -1
  71. package/dist/server/src/policies/rate-limit.js +4 -4
  72. package/dist/server/src/policies/rate-limit.js.map +1 -1
  73. package/dist/server/src/preview/handler.d.ts +1 -1
  74. package/dist/server/src/preview/handler.d.ts.map +1 -1
  75. package/dist/server/src/preview/handler.js +7 -1
  76. package/dist/server/src/preview/handler.js.map +1 -1
  77. package/dist/server/src/register.d.ts.map +1 -1
  78. package/dist/server/src/register.js +2 -6
  79. package/dist/server/src/register.js.map +1 -1
  80. package/dist/server/src/routes/admin.d.ts +14 -2
  81. package/dist/server/src/routes/admin.d.ts.map +1 -1
  82. package/dist/server/src/routes/admin.js +44 -0
  83. package/dist/server/src/routes/admin.js.map +1 -1
  84. package/dist/server/src/routes/content-api.d.ts +4 -0
  85. package/dist/server/src/routes/content-api.d.ts.map +1 -1
  86. package/dist/server/src/routes/content-api.js +12 -9
  87. package/dist/server/src/routes/content-api.js.map +1 -1
  88. package/dist/server/src/services/form.d.ts +21 -0
  89. package/dist/server/src/services/form.d.ts.map +1 -0
  90. package/dist/server/src/services/form.js +45 -0
  91. package/dist/server/src/services/form.js.map +1 -0
  92. package/dist/server/src/services/idempotency-collision.d.ts +3 -0
  93. package/dist/server/src/services/idempotency-collision.d.ts.map +1 -0
  94. package/dist/server/src/services/idempotency-collision.js +24 -0
  95. package/dist/server/src/services/idempotency-collision.js.map +1 -0
  96. package/dist/server/src/services/index.d.ts.map +1 -1
  97. package/dist/server/src/services/index.js +41 -2
  98. package/dist/server/src/services/index.js.map +1 -1
  99. package/dist/server/src/services/notification.d.ts +26 -0
  100. package/dist/server/src/services/notification.d.ts.map +1 -0
  101. package/dist/server/src/services/notification.js +106 -0
  102. package/dist/server/src/services/notification.js.map +1 -0
  103. package/dist/server/src/services/populate.d.ts +6 -0
  104. package/dist/server/src/services/populate.d.ts.map +1 -1
  105. package/dist/server/src/services/populate.js +2 -0
  106. package/dist/server/src/services/populate.js.map +1 -1
  107. package/dist/server/src/services/submission.d.ts +16 -0
  108. package/dist/server/src/services/submission.d.ts.map +1 -0
  109. package/dist/server/src/services/submission.js +284 -0
  110. package/dist/server/src/services/submission.js.map +1 -0
  111. package/dist/server/src/services/template.d.ts +18 -0
  112. package/dist/server/src/services/template.d.ts.map +1 -0
  113. package/dist/server/src/services/template.js +50 -0
  114. package/dist/server/src/services/template.js.map +1 -0
  115. package/dist/server/src/validation/form.d.ts +48 -0
  116. package/dist/server/src/validation/form.d.ts.map +1 -0
  117. package/dist/server/src/validation/form.js +354 -0
  118. package/dist/server/src/validation/form.js.map +1 -0
  119. package/dist/server/src/validation/notification.d.ts +28 -0
  120. package/dist/server/src/validation/notification.d.ts.map +1 -0
  121. package/dist/server/src/validation/notification.js +142 -0
  122. package/dist/server/src/validation/notification.js.map +1 -0
  123. package/dist/server/src/validation/submission-access.d.ts +3 -0
  124. package/dist/server/src/validation/submission-access.d.ts.map +1 -0
  125. package/dist/server/src/validation/submission-access.js +23 -0
  126. package/dist/server/src/validation/submission-access.js.map +1 -0
  127. package/dist/server/src/validation/submission.d.ts +8 -0
  128. package/dist/server/src/validation/submission.d.ts.map +1 -0
  129. package/dist/server/src/validation/submission.js +113 -0
  130. package/dist/server/src/validation/submission.js.map +1 -0
  131. package/package.json +26 -7
  132. package/strapi-admin.js +1 -0
  133. package/dist/server/src/controllers/inquiry.d.ts +0 -8
  134. package/dist/server/src/controllers/inquiry.d.ts.map +0 -1
  135. package/dist/server/src/controllers/inquiry.js +0 -27
  136. package/dist/server/src/controllers/inquiry.js.map +0 -1
  137. package/dist/server/src/services/inquiry.d.ts +0 -15
  138. package/dist/server/src/services/inquiry.d.ts.map +0 -1
  139. package/dist/server/src/services/inquiry.js +0 -137
  140. package/dist/server/src/services/inquiry.js.map +0 -1
@@ -0,0 +1,75 @@
1
+ {
2
+ "kind": "collectionType",
3
+ "collectionName": "builder_forms",
4
+ "info": {
5
+ "singularName": "form",
6
+ "pluralName": "forms",
7
+ "displayName": "Form",
8
+ "description": "Form definitions managed through authenticated Builder admin routes. Public GET /api/builder/forms/:slug exposes fields, consent and version only."
9
+ },
10
+ "options": {
11
+ "draftAndPublish": false
12
+ },
13
+ "pluginOptions": {
14
+ "content-manager": {
15
+ "visible": false
16
+ },
17
+ "content-type-builder": {
18
+ "visible": false
19
+ },
20
+ "i18n": {
21
+ "localized": false
22
+ }
23
+ },
24
+ "attributes": {
25
+ "slug": {
26
+ "type": "string",
27
+ "required": true,
28
+ "unique": true,
29
+ "maxLength": 120,
30
+ "private": true
31
+ },
32
+ "name": {
33
+ "type": "string",
34
+ "required": true,
35
+ "maxLength": 120,
36
+ "private": true
37
+ },
38
+ "targetUid": {
39
+ "type": "string",
40
+ "required": true,
41
+ "private": true
42
+ },
43
+ "fields": {
44
+ "type": "json",
45
+ "required": true,
46
+ "private": true
47
+ },
48
+ "consent": {
49
+ "type": "json",
50
+ "required": true,
51
+ "private": true
52
+ },
53
+ "version": {
54
+ "type": "integer",
55
+ "required": true,
56
+ "default": 1,
57
+ "min": 1,
58
+ "private": true
59
+ },
60
+ "notifications": {
61
+ "type": "json",
62
+ "default": {},
63
+ "private": true
64
+ }
65
+ },
66
+ "indexes": [
67
+ {
68
+ "name": "builder_forms_slug_unique",
69
+ "columns": [
70
+ "slug"
71
+ ],
72
+ "type": "unique"
73
+ }
74
+ ]
75
+ }
@@ -573,6 +573,160 @@ declare const _default: {
573
573
  }[];
574
574
  };
575
575
  };
576
+ form: {
577
+ schema: {
578
+ kind: string;
579
+ collectionName: string;
580
+ info: {
581
+ singularName: string;
582
+ pluralName: string;
583
+ displayName: string;
584
+ description: string;
585
+ };
586
+ options: {
587
+ draftAndPublish: boolean;
588
+ };
589
+ pluginOptions: {
590
+ "content-manager": {
591
+ visible: boolean;
592
+ };
593
+ "content-type-builder": {
594
+ visible: boolean;
595
+ };
596
+ i18n: {
597
+ localized: boolean;
598
+ };
599
+ };
600
+ attributes: {
601
+ slug: {
602
+ type: string;
603
+ required: boolean;
604
+ unique: boolean;
605
+ maxLength: number;
606
+ private: boolean;
607
+ };
608
+ name: {
609
+ type: string;
610
+ required: boolean;
611
+ maxLength: number;
612
+ private: boolean;
613
+ };
614
+ targetUid: {
615
+ type: string;
616
+ required: boolean;
617
+ private: boolean;
618
+ };
619
+ fields: {
620
+ type: string;
621
+ required: boolean;
622
+ private: boolean;
623
+ };
624
+ consent: {
625
+ type: string;
626
+ required: boolean;
627
+ private: boolean;
628
+ };
629
+ version: {
630
+ type: string;
631
+ required: boolean;
632
+ default: number;
633
+ min: number;
634
+ private: boolean;
635
+ };
636
+ notifications: {
637
+ type: string;
638
+ default: {};
639
+ private: boolean;
640
+ };
641
+ };
642
+ indexes: {
643
+ name: string;
644
+ columns: string[];
645
+ type: string;
646
+ }[];
647
+ };
648
+ };
649
+ submission: {
650
+ schema: {
651
+ kind: string;
652
+ collectionName: string;
653
+ info: {
654
+ singularName: string;
655
+ pluralName: string;
656
+ displayName: string;
657
+ description: string;
658
+ };
659
+ options: {
660
+ draftAndPublish: boolean;
661
+ };
662
+ pluginOptions: {
663
+ "content-manager": {
664
+ visible: boolean;
665
+ };
666
+ "content-type-builder": {
667
+ visible: boolean;
668
+ };
669
+ i18n: {
670
+ localized: boolean;
671
+ };
672
+ };
673
+ attributes: {
674
+ form: {
675
+ type: string;
676
+ required: boolean;
677
+ private: boolean;
678
+ };
679
+ idempotencyKey: {
680
+ type: string;
681
+ required: boolean;
682
+ unique: boolean;
683
+ maxLength: number;
684
+ private: boolean;
685
+ };
686
+ payloadHash: {
687
+ type: string;
688
+ required: boolean;
689
+ private: boolean;
690
+ };
691
+ consentAt: {
692
+ type: string;
693
+ required: boolean;
694
+ private: boolean;
695
+ };
696
+ consentVersion: {
697
+ type: string;
698
+ required: boolean;
699
+ private: boolean;
700
+ };
701
+ status: {
702
+ type: string;
703
+ enum: string[];
704
+ default: string;
705
+ required: boolean;
706
+ private: boolean;
707
+ };
708
+ targetUid: {
709
+ type: string;
710
+ required: boolean;
711
+ private: boolean;
712
+ };
713
+ targetDocumentId: {
714
+ type: string;
715
+ private: boolean;
716
+ };
717
+ deliveries: {
718
+ type: string;
719
+ default: never[];
720
+ private: boolean;
721
+ };
722
+ };
723
+ indexes: {
724
+ name: string;
725
+ columns: string[];
726
+ type: string;
727
+ }[];
728
+ };
729
+ };
576
730
  navigation: {
577
731
  schema: {
578
732
  kind: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/content-types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,wBAaE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/content-types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,wBAeE"}
@@ -3,6 +3,8 @@ 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 submission_1 = __importDefault(require("./submission"));
7
+ const form_1 = __importDefault(require("./form"));
6
8
  const article_1 = __importDefault(require("./article"));
7
9
  const author_1 = __importDefault(require("./author"));
8
10
  const category_1 = __importDefault(require("./category"));
@@ -23,6 +25,8 @@ exports.default = {
23
25
  faq: faq_1.default,
24
26
  global: global_1.default,
25
27
  inquiry: inquiry_1.default,
28
+ form: form_1.default,
29
+ submission: submission_1.default,
26
30
  navigation: navigation_1.default,
27
31
  page: page_1.default,
28
32
  series: series_1.default,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/src/content-types/index.ts"],"names":[],"mappings":";;;;;AAAA,wDAAgC;AAChC,sDAA8B;AAC9B,0DAAkC;AAClC,sEAA6C;AAC7C,gDAAwB;AACxB,sDAA8B;AAC9B,wDAAgC;AAChC,8DAAsC;AACtC,kDAA0B;AAC1B,sDAA8B;AAC9B,kEAAyC;AACzC,gDAAwB;AAExB,kBAAe;IACb,OAAO,EAAP,iBAAO;IACP,MAAM,EAAN,gBAAM;IACN,QAAQ,EAAR,kBAAQ;IACR,gBAAgB,EAAE,wBAAa;IAC/B,GAAG,EAAH,aAAG;IACH,MAAM,EAAN,gBAAM;IACN,OAAO,EAAP,iBAAO;IACP,UAAU,EAAV,oBAAU;IACV,IAAI,EAAJ,cAAI;IACJ,MAAM,EAAN,gBAAM;IACN,cAAc,EAAE,sBAAW;IAC3B,GAAG,EAAH,aAAG;CACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/src/content-types/index.ts"],"names":[],"mappings":";;;;;AAAA,8DAAsC;AACtC,kDAA0B;AAC1B,wDAAgC;AAChC,sDAA8B;AAC9B,0DAAkC;AAClC,sEAA6C;AAC7C,gDAAwB;AACxB,sDAA8B;AAC9B,wDAAgC;AAChC,8DAAsC;AACtC,kDAA0B;AAC1B,sDAA8B;AAC9B,kEAAyC;AACzC,gDAAwB;AAExB,kBAAe;IACb,OAAO,EAAP,iBAAO;IACP,MAAM,EAAN,gBAAM;IACN,QAAQ,EAAR,kBAAQ;IACR,gBAAgB,EAAE,wBAAa;IAC/B,GAAG,EAAH,aAAG;IACH,MAAM,EAAN,gBAAM;IACN,OAAO,EAAP,iBAAO;IACP,IAAI,EAAJ,cAAI;IACJ,UAAU,EAAV,oBAAU;IACV,UAAU,EAAV,oBAAU;IACV,IAAI,EAAJ,cAAI;IACJ,MAAM,EAAN,gBAAM;IACN,cAAc,EAAE,sBAAW;IAC3B,GAAG,EAAH,aAAG;CACJ,CAAC"}
@@ -0,0 +1,83 @@
1
+ declare const _default: {
2
+ schema: {
3
+ kind: string;
4
+ collectionName: string;
5
+ info: {
6
+ singularName: string;
7
+ pluralName: string;
8
+ displayName: string;
9
+ description: string;
10
+ };
11
+ options: {
12
+ draftAndPublish: boolean;
13
+ };
14
+ pluginOptions: {
15
+ "content-manager": {
16
+ visible: boolean;
17
+ };
18
+ "content-type-builder": {
19
+ visible: boolean;
20
+ };
21
+ i18n: {
22
+ localized: boolean;
23
+ };
24
+ };
25
+ attributes: {
26
+ form: {
27
+ type: string;
28
+ required: boolean;
29
+ private: boolean;
30
+ };
31
+ idempotencyKey: {
32
+ type: string;
33
+ required: boolean;
34
+ unique: boolean;
35
+ maxLength: number;
36
+ private: boolean;
37
+ };
38
+ payloadHash: {
39
+ type: string;
40
+ required: boolean;
41
+ private: boolean;
42
+ };
43
+ consentAt: {
44
+ type: string;
45
+ required: boolean;
46
+ private: boolean;
47
+ };
48
+ consentVersion: {
49
+ type: string;
50
+ required: boolean;
51
+ private: boolean;
52
+ };
53
+ status: {
54
+ type: string;
55
+ enum: string[];
56
+ default: string;
57
+ required: boolean;
58
+ private: boolean;
59
+ };
60
+ targetUid: {
61
+ type: string;
62
+ required: boolean;
63
+ private: boolean;
64
+ };
65
+ targetDocumentId: {
66
+ type: string;
67
+ private: boolean;
68
+ };
69
+ deliveries: {
70
+ type: string;
71
+ default: never[];
72
+ private: boolean;
73
+ };
74
+ };
75
+ indexes: {
76
+ name: string;
77
+ columns: string[];
78
+ type: string;
79
+ }[];
80
+ };
81
+ };
82
+ export default _default;
83
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../server/src/content-types/submission/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,wBAA0B"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const schema_json_1 = __importDefault(require("./schema.json"));
7
+ exports.default = { schema: schema_json_1.default };
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../server/src/content-types/submission/index.ts"],"names":[],"mappings":";;;;;AAAA,gEAAmC;AAEnC,kBAAe,EAAE,MAAM,EAAN,qBAAM,EAAE,CAAC"}
@@ -0,0 +1,88 @@
1
+ {
2
+ "kind": "collectionType",
3
+ "collectionName": "builder_submissions",
4
+ "info": {
5
+ "singularName": "submission",
6
+ "pluralName": "submissions",
7
+ "displayName": "Submission",
8
+ "description": "Private submission ledger. Public POST /api/builder/forms/:slug/submissions returns a receipt only; no ledger read or update endpoint."
9
+ },
10
+ "options": {
11
+ "draftAndPublish": false
12
+ },
13
+ "pluginOptions": {
14
+ "content-manager": {
15
+ "visible": false
16
+ },
17
+ "content-type-builder": {
18
+ "visible": false
19
+ },
20
+ "i18n": {
21
+ "localized": false
22
+ }
23
+ },
24
+ "attributes": {
25
+ "form": {
26
+ "type": "string",
27
+ "required": true,
28
+ "private": true
29
+ },
30
+ "idempotencyKey": {
31
+ "type": "string",
32
+ "required": true,
33
+ "unique": true,
34
+ "maxLength": 128,
35
+ "private": true
36
+ },
37
+ "payloadHash": {
38
+ "type": "string",
39
+ "required": true,
40
+ "private": true
41
+ },
42
+ "consentAt": {
43
+ "type": "datetime",
44
+ "required": true,
45
+ "private": true
46
+ },
47
+ "consentVersion": {
48
+ "type": "string",
49
+ "required": true,
50
+ "private": true
51
+ },
52
+ "status": {
53
+ "type": "enumeration",
54
+ "enum": [
55
+ "received",
56
+ "reviewing",
57
+ "responded",
58
+ "closed"
59
+ ],
60
+ "default": "received",
61
+ "required": true,
62
+ "private": true
63
+ },
64
+ "targetUid": {
65
+ "type": "string",
66
+ "required": true,
67
+ "private": true
68
+ },
69
+ "targetDocumentId": {
70
+ "type": "string",
71
+ "private": true
72
+ },
73
+ "deliveries": {
74
+ "type": "json",
75
+ "default": [],
76
+ "private": true
77
+ }
78
+ },
79
+ "indexes": [
80
+ {
81
+ "name": "builder_submissions_idempotency_key_unique",
82
+ "columns": [
83
+ "idempotency_key"
84
+ ],
85
+ "type": "unique"
86
+ }
87
+ ]
88
+ }
@@ -0,0 +1,18 @@
1
+ import type { Core } from '@strapi/strapi';
2
+ type Context = Parameters<Core.ControllerHandler>[0];
3
+ declare const form: ({ strapi }: {
4
+ strapi: Core.Strapi;
5
+ }) => {
6
+ testSend(ctx: Context): Promise<any>;
7
+ targets(ctx: Context): Promise<void>;
8
+ fields(ctx: Context): Promise<void>;
9
+ find(ctx: Context): Promise<void>;
10
+ findOne(ctx: Context): Promise<any>;
11
+ create(ctx: Context): Promise<void>;
12
+ update(ctx: Context): Promise<any>;
13
+ delete(ctx: Context): Promise<any>;
14
+ export(ctx: Context): Promise<any>;
15
+ import(ctx: Context): Promise<any>;
16
+ };
17
+ export default form;
18
+ //# sourceMappingURL=form-admin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-admin.d.ts","sourceRoot":"","sources":["../../../../server/src/controllers/form-admin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAU3C,KAAK,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAQrD,QAAA,MAAM,IAAI,GAAI,YAAY;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;CAAE;kBAIzB,OAAO;iBA4BR,OAAO;gBAGR,OAAO;cAGT,OAAO;iBAGJ,OAAO;gBAKR,OAAO;gBAIP,OAAO;gBAOP,OAAO;gBAKP,OAAO;gBAKP,OAAO;CAkB5B,CAAC;AACF,eAAe,IAAI,CAAC"}
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const utils_1 = require("@strapi/utils");
7
+ const forms_1 = require("../config/forms");
8
+ const notification_1 = __importDefault(require("../services/notification"));
9
+ const form_1 = require("../validation/form");
10
+ const notification_2 = require("../validation/notification");
11
+ const submission_1 = require("../validation/submission");
12
+ function data(ctx) {
13
+ const body = ctx.request.body;
14
+ if (!(0, form_1.isObject)(body) || Object.keys(body).some((key) => key !== 'data')) {
15
+ throw new utils_1.errors.ValidationError('Expected a data wrapper.');
16
+ }
17
+ return body.data;
18
+ }
19
+ const form = ({ strapi }) => {
20
+ const service = () => strapi.plugin('builder').service('form');
21
+ const handlers = {
22
+ async testSend(ctx) {
23
+ const saved = await service().findOne(ctx.params.documentId);
24
+ if (!saved)
25
+ return ctx.notFound('Form not found');
26
+ const definition = saved;
27
+ let fields;
28
+ try {
29
+ fields = (0, submission_1.normalizeSubmission)(definition.fields, {
30
+ fields: data(ctx),
31
+ consent: true,
32
+ idempotencyKey: 'test-send',
33
+ formVersion: saved.version,
34
+ }).fields;
35
+ }
36
+ catch (error) {
37
+ if (error instanceof forms_1.SubmissionServiceError)
38
+ throw new utils_1.errors.ValidationError('Invalid test fields.', {
39
+ errors: error.details,
40
+ });
41
+ throw error;
42
+ }
43
+ ctx.body = {
44
+ data: await (0, notification_1.default)({ strapi }).send({
45
+ form: definition,
46
+ fields,
47
+ submissionId: 'test-send',
48
+ receivedAt: new Date().toISOString(),
49
+ }),
50
+ };
51
+ },
52
+ async targets(ctx) {
53
+ ctx.body = { data: service().targets() };
54
+ },
55
+ async fields(ctx) {
56
+ ctx.body = { data: service().fields(ctx.query.targetUid) };
57
+ },
58
+ async find(ctx) {
59
+ ctx.body = { data: await service().find() };
60
+ },
61
+ async findOne(ctx) {
62
+ const result = await service().findOne(ctx.params.documentId);
63
+ if (!result)
64
+ return ctx.notFound('Form not found');
65
+ ctx.body = { data: result };
66
+ },
67
+ async create(ctx) {
68
+ ctx.body = { data: await service().create(data(ctx)) };
69
+ ctx.status = 201;
70
+ },
71
+ async update(ctx) {
72
+ if (!(await service().findOne(ctx.params.documentId)))
73
+ return ctx.notFound('Form not found');
74
+ ctx.body = {
75
+ data: await service().update(ctx.params.documentId, data(ctx)),
76
+ };
77
+ },
78
+ async delete(ctx) {
79
+ if (!(await service().findOne(ctx.params.documentId)))
80
+ return ctx.notFound('Form not found');
81
+ ctx.body = { data: await service().delete(ctx.params.documentId) };
82
+ },
83
+ async export(ctx) {
84
+ const result = await service().export(ctx.params.documentId);
85
+ if (!result)
86
+ return ctx.notFound('Form not found');
87
+ ctx.body = { data: result };
88
+ },
89
+ async import(ctx) {
90
+ const documentId = ctx.params.documentId;
91
+ if (documentId && !(await service().findOne(documentId)))
92
+ return ctx.notFound('Form not found');
93
+ ctx.body = { data: await service().import(data(ctx), documentId) };
94
+ ctx.status = documentId ? 200 : 201;
95
+ },
96
+ };
97
+ return Object.fromEntries(Object.entries(handlers).map(([name, handler]) => [
98
+ name,
99
+ async (ctx) => {
100
+ const result = await handler(ctx);
101
+ ctx.body = (0, notification_2.maskNotificationSecrets)(ctx.body);
102
+ return result;
103
+ },
104
+ ]));
105
+ };
106
+ exports.default = form;
107
+ //# sourceMappingURL=form-admin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-admin.js","sourceRoot":"","sources":["../../../../server/src/controllers/form-admin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { Core } from '@strapi/strapi';
2
+ declare const form: ({ strapi }: {
3
+ strapi: Core.Strapi;
4
+ }) => {
5
+ find(ctx: Parameters<Core.ControllerHandler>[0]): Promise<void>;
6
+ };
7
+ export default form;
8
+ //# sourceMappingURL=form.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../../../server/src/controllers/form.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAI3C,QAAA,MAAM,IAAI,GAAI,YAAY;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;CAAE;cAC/B,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;CA4BrD,CAAC;AACH,eAAe,IAAI,CAAC"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const form_1 = require("../validation/form");
4
+ const forms_1 = require("../config/forms");
5
+ const form = ({ strapi }) => ({
6
+ async find(ctx) {
7
+ const [definition] = await strapi.documents(form_1.FORM_UID).findMany({
8
+ filters: { slug: ctx.params.slug },
9
+ limit: 1,
10
+ });
11
+ if (!definition) {
12
+ const error = new forms_1.SubmissionServiceError(404, 'form_not_found');
13
+ ctx.status = error.status;
14
+ ctx.body = {
15
+ data: null,
16
+ error: {
17
+ status: error.status,
18
+ name: error.name,
19
+ message: error.message,
20
+ details: error.details,
21
+ code: error.code,
22
+ },
23
+ };
24
+ return;
25
+ }
26
+ ctx.body = {
27
+ data: {
28
+ fields: definition.fields,
29
+ consent: definition.consent,
30
+ version: definition.version,
31
+ },
32
+ };
33
+ },
34
+ });
35
+ exports.default = form;
36
+ //# sourceMappingURL=form.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form.js","sourceRoot":"","sources":["../../../../server/src/controllers/form.ts"],"names":[],"mappings":";;AACA,6CAA8C;AAC9C,2CAAyD;AAEzD,MAAM,IAAI,GAAG,CAAC,EAAE,MAAM,EAA2B,EAAE,EAAE,CAAC,CAAC;IACrD,KAAK,CAAC,IAAI,CAAC,GAA0C;QACnD,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,eAAQ,CAAC,CAAC,QAAQ,CAAC;YAC7D,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE;YAClC,KAAK,EAAE,CAAC;SACT,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,KAAK,GAAG,IAAI,8BAAsB,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;YAChE,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAC1B,GAAG,CAAC,IAAI,GAAG;gBACT,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE;oBACL,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,IAAI,EAAE,KAAK,CAAC,IAAI;iBACjB;aACF,CAAC;YACF,OAAO;QACT,CAAC;QACD,GAAG,CAAC,IAAI,GAAG;YACT,IAAI,EAAE;gBACJ,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,OAAO,EAAE,UAAU,CAAC,OAAO;gBAC3B,OAAO,EAAE,UAAU,CAAC,OAAO;aAC5B;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AACH,kBAAe,IAAI,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/controllers/index.ts"],"names":[],"mappings":"AAMA,QAAA,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAkBxC,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/controllers/index.ts"],"names":[],"mappings":"AAQA,QAAA,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAoBxC,CAAC;AAEF,eAAe,WAAW,CAAC"}