@dani-builder/strapi-plugin-builder 1.1.0 → 1.3.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 (32) hide show
  1. package/dist/admin/api.d.ts +11 -0
  2. package/dist/admin/api.d.ts.map +1 -1
  3. package/dist/admin/app.d.ts +1 -0
  4. package/dist/admin/app.d.ts.map +1 -1
  5. package/dist/admin/index.d.ts.map +1 -1
  6. package/dist/admin/index.mjs +589 -228
  7. package/dist/admin/submission-page.d.ts +4 -0
  8. package/dist/admin/submission-page.d.ts.map +1 -0
  9. package/dist/admin/submission.d.ts +27 -0
  10. package/dist/admin/submission.d.ts.map +1 -0
  11. package/dist/server/src/bootstrap.d.ts.map +1 -1
  12. package/dist/server/src/bootstrap.js +6 -0
  13. package/dist/server/src/bootstrap.js.map +1 -1
  14. package/dist/server/src/config/builder.d.ts +1 -1
  15. package/dist/server/src/config/builder.d.ts.map +1 -1
  16. package/dist/server/src/config/builder.js.map +1 -1
  17. package/dist/server/src/config/forms.d.ts +9 -1
  18. package/dist/server/src/config/forms.d.ts.map +1 -1
  19. package/dist/server/src/config/forms.js.map +1 -1
  20. package/dist/server/src/content-types/submission/schema.json +1 -1
  21. package/dist/server/src/controllers/submission.d.ts +3 -0
  22. package/dist/server/src/controllers/submission.d.ts.map +1 -1
  23. package/dist/server/src/controllers/submission.js +41 -0
  24. package/dist/server/src/controllers/submission.js.map +1 -1
  25. package/dist/server/src/routes/admin.d.ts.map +1 -1
  26. package/dist/server/src/routes/admin.js +15 -6
  27. package/dist/server/src/routes/admin.js.map +1 -1
  28. package/dist/server/src/services/submission.d.ts +71 -3
  29. package/dist/server/src/services/submission.d.ts.map +1 -1
  30. package/dist/server/src/services/submission.js +121 -11
  31. package/dist/server/src/services/submission.js.map +1 -1
  32. package/package.json +5 -2
@@ -0,0 +1,4 @@
1
+ export declare function SubmissionPage({ canUpdate }: {
2
+ canUpdate: boolean;
3
+ }): import("react").JSX.Element;
4
+ //# sourceMappingURL=submission-page.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"submission-page.d.ts","sourceRoot":"","sources":["../../admin/src/submission-page.tsx"],"names":[],"mappings":"AAoCA,wBAAgB,cAAc,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,EAAE,OAAO,CAAA;CAAE,+BA+QnE"}
@@ -0,0 +1,27 @@
1
+ import type { Delivery } from "./form";
2
+ export declare const submissionStatuses: readonly ["received", "reviewing", "responded", "closed"];
3
+ export type SubmissionStatus = (typeof submissionStatuses)[number];
4
+ export interface SubmissionDocument {
5
+ documentId: string;
6
+ form: string;
7
+ status: SubmissionStatus;
8
+ createdAt: string;
9
+ updatedAt: string;
10
+ consentAt: string;
11
+ consentVersion: string;
12
+ targetUid: string;
13
+ targetDocumentId: string | null;
14
+ deliveries: Delivery[];
15
+ }
16
+ export interface SubmissionList {
17
+ data: SubmissionDocument[];
18
+ meta: {
19
+ pagination: {
20
+ page: number;
21
+ pageSize: number;
22
+ total: number;
23
+ pageCount: number;
24
+ };
25
+ };
26
+ }
27
+ //# sourceMappingURL=submission.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"submission.d.ts","sourceRoot":"","sources":["../../admin/src/submission.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACvC,eAAO,MAAM,kBAAkB,2DAKrB,CAAC;AACX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AACnE,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,gBAAgB,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,UAAU,EAAE,QAAQ,EAAE,CAAC;CACxB;AACD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,kBAAkB,EAAE,CAAC;IAC3B,IAAI,EAAE;QACJ,UAAU,EAAE;YACV,IAAI,EAAE,MAAM,CAAC;YACb,QAAQ,EAAE,MAAM,CAAC;YACjB,KAAK,EAAE,MAAM,CAAC;YACd,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC;KACH,CAAC;CACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../../server/src/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAM3C,QAAA,MAAM,SAAS,GAAU,YAAY;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;CAAE,kBA0F3D,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../../server/src/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAM3C,QAAA,MAAM,SAAS,GAAU,YAAY;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;CAAE,kBAgG3D,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -50,6 +50,12 @@ const bootstrap = async ({ strapi }) => {
50
50
  uid: "forms.update",
51
51
  pluginName: "builder",
52
52
  },
53
+ ...["read", "update"].map((action) => ({
54
+ section: "plugins",
55
+ displayName: `${action === "read" ? "Read" : "Update"} submissions`,
56
+ uid: `submissions.${action}`,
57
+ pluginName: "builder",
58
+ })),
53
59
  ]);
54
60
  // Users & Permissions may bootstrap after Builder on a fresh database.
55
61
  if (strapi.plugins["users-permissions"]) {
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../../server/src/bootstrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../../server/src/bootstrap.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { BuilderFormsConfig } from './forms';
2
2
  export { SubmissionServiceError } from './forms';
3
- export type { BuilderFormsConfig, FormHooks, FormSubmission, SubmissionInput, SubmissionReceipt, SubmissionRejection, SubmissionFieldError, SubmissionLedger, SubmissionValue, } from './forms';
3
+ export type { BuilderFormsConfig, FormHookRequest, FormHooks, FormSubmission, SubmissionInput, SubmissionReceipt, SubmissionRejection, SubmissionFieldError, SubmissionLedger, SubmissionValue, } from './forms';
4
4
  import type { BuilderContentTypesConfig, BuilderPreviewConfig } from './index';
5
5
  export type { BuilderContentTypesConfig, BuilderOptionalContentType, BuilderPreviewConfig, BuilderPreviewDocument, } from './index';
6
6
  type ConfigValue = Record<string, unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../../server/src/config/builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AACjD,YAAY,EACV,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,GAChB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC/E,YAAY,EACV,yBAAyB,EACzB,0BAA0B,EAC1B,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,SAAS,CAAC;AAEjB,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE3C,MAAM,WAAW,oBAAqB,SAAQ,WAAW;IACvD,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,OAAO,CAAC,EAAE,oBAAoB,GAAG,KAAK,CAAC;IACvC,YAAY,CAAC,EAAE,yBAAyB,CAAC;CAC1C;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,kBAAkB,CAAC;IACzB,MAAM,EAAE;QACN,qBAAqB,EAAE;YACrB,WAAW,EAAE,OAAO,CAAC;YACrB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACrC,CAAC;KACH,CAAC;CACH;AAED,MAAM,WAAW,UAAU;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAClC,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;IACpE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;CACpD;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,UAAU,CAAC;CACjB;AAED,wBAAgB,aAAa,CAAC,EAAE,GAAG,EAAE,EAAE,mBAAmB,GAAG,WAAW,CAsCvE;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,mBAAmB,EAC5B,aAAa,CAAC,EAAE,oBAAoB,GACnC,mBAAmB,CAKrB;AAED,wBAAgB,kBAAkB,CAAC,EACjC,GAAG,GACJ,EAAE,mBAAmB,GAAG,uBAAuB,CAoC/C"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../../server/src/config/builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AACjD,YAAY,EACV,kBAAkB,EAClB,eAAe,EACf,SAAS,EACT,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,GAChB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC/E,YAAY,EACV,yBAAyB,EACzB,0BAA0B,EAC1B,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,SAAS,CAAC;AAEjB,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE3C,MAAM,WAAW,oBAAqB,SAAQ,WAAW;IACvD,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,OAAO,CAAC,EAAE,oBAAoB,GAAG,KAAK,CAAC;IACvC,YAAY,CAAC,EAAE,yBAAyB,CAAC;CAC1C;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,kBAAkB,CAAC;IACzB,MAAM,EAAE;QACN,qBAAqB,EAAE;YACrB,WAAW,EAAE,OAAO,CAAC;YACrB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACrC,CAAC;KACH,CAAC;CACH;AAED,MAAM,WAAW,UAAU;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAClC,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;IACpE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;CACpD;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,UAAU,CAAC;CACjB;AAED,wBAAgB,aAAa,CAAC,EAAE,GAAG,EAAE,EAAE,mBAAmB,GAAG,WAAW,CAsCvE;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,mBAAmB,EAC5B,aAAa,CAAC,EAAE,oBAAoB,GACnC,mBAAmB,CAKrB;AAED,wBAAgB,kBAAkB,CAAC,EACjC,GAAG,GACJ,EAAE,mBAAmB,GAAG,uBAAuB,CAoC/C"}
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../../server/src/config/builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../../server/src/config/builder.ts"],"names":[],"mappings":"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"}
@@ -33,12 +33,20 @@ export interface SubmissionLedger extends Record<string, unknown> {
33
33
  targetDocumentId?: string;
34
34
  deliveries?: unknown[];
35
35
  }
36
+ /** Read-only view of the public submission request passed to validate hooks.
37
+ * Consumers read headers (for example a session token) without a Koa import. */
38
+ export interface FormHookRequest {
39
+ readonly headers: Readonly<Record<string, string | string[] | undefined>>;
40
+ readonly method?: string;
41
+ readonly url?: string;
42
+ readonly ip?: string;
43
+ }
36
44
  export interface FormHooks {
37
45
  validate?: (submission: FormSubmission, context: {
38
46
  form: Readonly<FormDefinition & {
39
47
  version: number;
40
48
  }>;
41
- request?: unknown;
49
+ request?: FormHookRequest;
42
50
  }) => void | SubmissionRejection | Promise<void | SubmissionRejection>;
43
51
  afterSave?: (context: {
44
52
  submission: FormSubmission;
@@ -1 +1 @@
1
- {"version":3,"file":"forms.d.ts","sourceRoot":"","sources":["../../../../server/src/config/forms.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AACxD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACxC,OAAO,EAAE,IAAI,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AACD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;CACpB;AACD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;IAC3D,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AACD,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AACD,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AACD,MAAM,WAAW,gBAAiB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC/D,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC;CACxB;AACD,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,CACT,UAAU,EAAE,cAAc,EAC1B,OAAO,EAAE;QACP,IAAI,EAAE,QAAQ,CAAC,cAAc,GAAG;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACrD,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,KACE,IAAI,GAAG,mBAAmB,GAAG,OAAO,CAAC,IAAI,GAAG,mBAAmB,CAAC,CAAC;IACtE,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE;QACpB,UAAU,EAAE,cAAc,CAAC;QAC3B,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAC1C,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC;KACpC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AACD,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CACnC;AACD,qBAAa,sBAAuB,SAAQ,KAAK;aAE7B,MAAM,EAAE,MAAM;aACd,IAAI,EAAE,MAAM;aACZ,OAAO,EAAE,oBAAoB,EAAE;gBAF/B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,oBAAoB,EAAO,EACpD,OAAO,SAAO;CAKjB"}
1
+ {"version":3,"file":"forms.d.ts","sourceRoot":"","sources":["../../../../server/src/config/forms.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AACxD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACxC,OAAO,EAAE,IAAI,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AACD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;CACpB;AACD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;IAC3D,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AACD,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AACD,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AACD,MAAM,WAAW,gBAAiB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC/D,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC;CACxB;AACD;gFACgF;AAChF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;IAC1E,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;CACtB;AACD,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,CACT,UAAU,EAAE,cAAc,EAC1B,OAAO,EAAE;QACP,IAAI,EAAE,QAAQ,CAAC,cAAc,GAAG;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACrD,OAAO,CAAC,EAAE,eAAe,CAAC;KAC3B,KACE,IAAI,GAAG,mBAAmB,GAAG,OAAO,CAAC,IAAI,GAAG,mBAAmB,CAAC,CAAC;IACtE,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE;QACpB,UAAU,EAAE,cAAc,CAAC;QAC3B,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAC1C,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC;KACpC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AACD,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CACnC;AACD,qBAAa,sBAAuB,SAAQ,KAAK;aAE7B,MAAM,EAAE,MAAM;aACd,IAAI,EAAE,MAAM;aACZ,OAAO,EAAE,oBAAoB,EAAE;gBAF/B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,oBAAoB,EAAO,EACpD,OAAO,SAAO;CAKjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"forms.js","sourceRoot":"","sources":["../../../../server/src/config/forms.ts"],"names":[],"mappings":";;;AAqDA,MAAa,sBAAuB,SAAQ,KAAK;IAC/C,YACkB,MAAc,EACd,IAAY,EACZ,UAAkC,EAAE,EACpD,OAAO,GAAG,IAAI;QAEd,KAAK,CAAC,OAAO,CAAC,CAAC;QALC,WAAM,GAAN,MAAM,CAAQ;QACd,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAA6B;QAIpD,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AAVD,wDAUC"}
1
+ {"version":3,"file":"forms.js","sourceRoot":"","sources":["../../../../server/src/config/forms.ts"],"names":[],"mappings":";;;AA6DA,MAAa,sBAAuB,SAAQ,KAAK;IAC/C,YACkB,MAAc,EACd,IAAY,EACZ,UAAkC,EAAE,EACpD,OAAO,GAAG,IAAI;QAEd,KAAK,CAAC,OAAO,CAAC,CAAC;QALC,WAAM,GAAN,MAAM,CAAQ;QACd,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAA6B;QAIpD,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AAVD,wDAUC"}
@@ -5,7 +5,7 @@
5
5
  "singularName": "submission",
6
6
  "pluralName": "submissions",
7
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."
8
+ "description": "Private submission ledger. Public POST /api/builder/forms/:slug/submissions returns a receipt only; authenticated admin metadata reads and status updates require submissions.read/update."
9
9
  },
10
10
  "options": {
11
11
  "draftAndPublish": false
@@ -2,6 +2,9 @@ import type { Core } from '@strapi/strapi';
2
2
  declare const submission: ({ strapi }: {
3
3
  strapi: Core.Strapi;
4
4
  }) => {
5
+ find(ctx: Parameters<Core.ControllerHandler>[0]): Promise<void>;
6
+ findOne(ctx: Parameters<Core.ControllerHandler>[0]): Promise<void>;
7
+ updateStatus(ctx: Parameters<Core.ControllerHandler>[0]): Promise<void>;
5
8
  redeliver(ctx: Parameters<Core.ControllerHandler>[0]): Promise<any>;
6
9
  create(ctx: Parameters<Core.ControllerHandler>[0]): Promise<void>;
7
10
  };
@@ -1 +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"}
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;AAmB3C,QAAA,MAAM,UAAU,GAAI,YAAY;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;CAAE;cACrC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;iBAMlC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;sBAQhC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;mBAexC,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"}
@@ -2,7 +2,48 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const forms_1 = require("../config/forms");
4
4
  const form_1 = require("../validation/form");
5
+ async function adminResponse(ctx, run) {
6
+ try {
7
+ ctx.body = await run();
8
+ }
9
+ catch (error) {
10
+ if (error instanceof forms_1.SubmissionServiceError) {
11
+ if (error.status === 404)
12
+ return ctx.notFound('Submission not found');
13
+ if (error.status === 400)
14
+ return ctx.badRequest(error.code);
15
+ }
16
+ throw error;
17
+ }
18
+ }
5
19
  const submission = ({ strapi }) => ({
20
+ async find(ctx) {
21
+ const service = strapi
22
+ .plugin('builder')
23
+ .service('submission');
24
+ await adminResponse(ctx, () => service.list(ctx.query));
25
+ },
26
+ async findOne(ctx) {
27
+ const service = strapi
28
+ .plugin('builder')
29
+ .service('submission');
30
+ await adminResponse(ctx, async () => ({
31
+ data: await service.get(ctx.params.id),
32
+ }));
33
+ },
34
+ async updateStatus(ctx) {
35
+ const service = strapi
36
+ .plugin('builder')
37
+ .service('submission');
38
+ await adminResponse(ctx, async () => {
39
+ const body = ctx.request.body;
40
+ if (!(0, form_1.isObject)(body) ||
41
+ Object.keys(body).length !== 1 ||
42
+ !(0, form_1.isObject)(body.data))
43
+ throw new forms_1.SubmissionServiceError(400, 'invalid_submission_status');
44
+ return { data: await service.updateStatus(ctx.params.id, body.data) };
45
+ });
46
+ },
6
47
  async redeliver(ctx) {
7
48
  const service = strapi
8
49
  .plugin('builder')
@@ -1 +1 @@
1
- {"version":3,"file":"submission.js","sourceRoot":"","sources":["../../../../server/src/controllers/submission.ts"],"names":[],"mappings":"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"}
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":"admin.d.ts","sourceRoot":"","sources":["../../../../server/src/routes/admin.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;CAuDV,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;;;;;;;;;;;;;;;;;;;;;;;CAgEV,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -34,20 +34,29 @@ const admin = {
34
34
  ],
35
35
  },
36
36
  })),
37
- {
38
- method: 'POST',
39
- path: '/submissions/:id/redeliver',
40
- handler: 'submission.redeliver',
37
+ ...[
38
+ ['GET', '/submissions', 'find'],
39
+ ['GET', '/submissions/:id', 'findOne'],
40
+ ['PUT', '/submissions/:id/status', 'updateStatus'],
41
+ ['POST', '/submissions/:id/redeliver', 'redeliver'],
42
+ ].map(([method, path, action]) => ({
43
+ method: method,
44
+ path: path,
45
+ handler: `submission.${action}`,
41
46
  config: {
42
47
  policies: [
43
48
  'admin::isAuthenticatedAdmin',
44
49
  {
45
50
  name: 'admin::hasPermissions',
46
- config: { actions: ['plugin::builder.forms.update'] },
51
+ config: {
52
+ actions: [
53
+ `plugin::builder.submissions.${method === 'GET' ? 'read' : 'update'}`,
54
+ ],
55
+ },
47
56
  },
48
57
  ],
49
58
  },
50
- },
59
+ })),
51
60
  {
52
61
  method: 'GET',
53
62
  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,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
+ {"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,GAAG;YACD,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,CAAC;YAC/B,CAAC,KAAK,EAAE,kBAAkB,EAAE,SAAS,CAAC;YACtC,CAAC,KAAK,EAAE,yBAAyB,EAAE,cAAc,CAAC;YAClD,CAAC,MAAM,EAAE,4BAA4B,EAAE,WAAW,CAAC;SACpD,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,+BAA+B,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;6BACtE;yBACF;qBACF;iBACF;aACF;SACF,CAAC,CAAC;QACH;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,16 +1,84 @@
1
1
  import type { Core } from '@strapi/strapi';
2
- import type { SubmissionLedger, SubmissionReceipt } from '../config/forms';
2
+ import type { FormHookRequest, SubmissionLedger, SubmissionReceipt, SubmissionValue } from '../config/forms';
3
3
  import type { Delivery } from './notification';
4
4
  declare const submission: ({ strapi }: {
5
5
  strapi: Core.Strapi;
6
6
  }) => {
7
+ list(query?: Record<string, unknown>): Promise<{
8
+ data: {
9
+ documentId: unknown;
10
+ form: unknown;
11
+ status: unknown;
12
+ createdAt: unknown;
13
+ updatedAt: unknown;
14
+ consentAt: unknown;
15
+ consentVersion: unknown;
16
+ targetUid: unknown;
17
+ targetDocumentId: {} | null;
18
+ deliveries: {
19
+ channel: unknown;
20
+ status: unknown;
21
+ attempts: unknown;
22
+ lastError: {} | null;
23
+ sentAt: {} | null;
24
+ }[];
25
+ }[];
26
+ meta: {
27
+ pagination: {
28
+ page: number;
29
+ pageSize: number;
30
+ total: number;
31
+ pageCount: number;
32
+ };
33
+ };
34
+ }>;
35
+ get(documentId: string): Promise<{
36
+ documentId: unknown;
37
+ form: unknown;
38
+ status: unknown;
39
+ createdAt: unknown;
40
+ updatedAt: unknown;
41
+ consentAt: unknown;
42
+ consentVersion: unknown;
43
+ targetUid: unknown;
44
+ targetDocumentId: {} | null;
45
+ deliveries: {
46
+ channel: unknown;
47
+ status: unknown;
48
+ attempts: unknown;
49
+ lastError: {} | null;
50
+ sentAt: {} | null;
51
+ }[];
52
+ }>;
53
+ updateStatus(documentId: string, input: unknown): Promise<{
54
+ documentId: unknown;
55
+ form: unknown;
56
+ status: unknown;
57
+ createdAt: unknown;
58
+ updatedAt: unknown;
59
+ consentAt: unknown;
60
+ consentVersion: unknown;
61
+ targetUid: unknown;
62
+ targetDocumentId: {} | null;
63
+ deliveries: {
64
+ channel: unknown;
65
+ status: unknown;
66
+ attempts: unknown;
67
+ lastError: {} | null;
68
+ sentAt: {} | null;
69
+ }[];
70
+ }>;
7
71
  /** Owns its transaction; call outside an ambient Strapi transaction so a
8
72
  * uniqueness failure can roll back before recovery and hooks run postcommit. */
9
73
  submit(slug: string, input: unknown, options?: {
10
- request?: unknown;
74
+ request?: FormHookRequest;
11
75
  }): Promise<SubmissionReceipt>;
12
76
  redeliver(documentId: string): Promise<Delivery[]>;
13
- findByField(slug: string, name: string, value: unknown): Promise<SubmissionLedger[]>;
77
+ /** Resolve receipts by a configured field value (for example a hidden
78
+ * session id) without consumers reading the ledger table. Ledgers are
79
+ * grouped by their stored target UID so a form whose storage target changed
80
+ * still finds older receipts; targets whose schema lacks the field are skipped. */
81
+ findByField(slug: string, name: string, value: SubmissionValue): Promise<SubmissionLedger[]>;
14
82
  };
15
83
  export default submission;
16
84
  //# sourceMappingURL=submission.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"submission.d.ts","sourceRoot":"","sources":["../../../../server/src/services/submission.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAG3C,OAAO,KAAK,EAGV,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAOzB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAsB/C,QAAA,MAAM,UAAU,GAAI,YAAY;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;CAAE;IAsGnD;oFACgF;iBAExE,MAAM,SACL,OAAO,YACL;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAC7B,OAAO,CAAC,iBAAiB,CAAC;0BAkJD,MAAM;sBAsB1B,MAAM,QACN,MAAM,SACL,OAAO,GACb,OAAO,CAAC,gBAAgB,EAAE,CAAC;CAyBjC,CAAC;AACF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"submission.d.ts","sourceRoot":"","sources":["../../../../server/src/services/submission.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAG3C,OAAO,KAAK,EACV,eAAe,EAGf,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EAChB,MAAM,iBAAiB,CAAC;AAOzB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AA2D/C,QAAA,MAAM,UAAU,GAAI,YAAY;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;CAAE;iBAsGjC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAkCnB,MAAM;;;;;;;;;;;;;;;;;;6BAKG,MAAM,SAAS,OAAO;;;;;;;;;;;;;;;;;;IAiBrD;oFACgF;iBAExE,MAAM,SACL,OAAO,YACL;QAAE,OAAO,CAAC,EAAE,eAAe,CAAA;KAAE,GACrC,OAAO,CAAC,iBAAiB,CAAC;0BAkJD,MAAM;IAqBlC;;;uFAGmF;sBAE3E,MAAM,QACN,MAAM,SACL,eAAe,GACrB,OAAO,CAAC,gBAAgB,EAAE,CAAC;CAoDjC,CAAC;AACF,eAAe,UAAU,CAAC"}
@@ -10,6 +10,41 @@ const submission_1 = require("../validation/submission");
10
10
  const submission_access_1 = require("../validation/submission-access");
11
11
  const idempotency_collision_1 = require("./idempotency-collision");
12
12
  const notification_1 = __importDefault(require("./notification"));
13
+ const statuses = ['received', 'reviewing', 'responded', 'closed'];
14
+ /** Admin ledger responses contain metadata only, never consumer values or replay keys. */
15
+ function serialize(row) {
16
+ return {
17
+ documentId: row.documentId,
18
+ form: row.form,
19
+ status: row.status,
20
+ createdAt: row.createdAt,
21
+ updatedAt: row.updatedAt,
22
+ consentAt: row.consentAt,
23
+ consentVersion: row.consentVersion,
24
+ targetUid: row.targetUid,
25
+ targetDocumentId: row.targetDocumentId ?? null,
26
+ deliveries: (Array.isArray(row.deliveries) ? row.deliveries : [])
27
+ .filter(form_1.isObject)
28
+ .map((delivery) => ({
29
+ channel: delivery.channel,
30
+ status: delivery.status,
31
+ attempts: delivery.attempts,
32
+ lastError: delivery.lastError ?? null,
33
+ sentAt: delivery.sentAt ?? null,
34
+ })),
35
+ };
36
+ }
37
+ function paginationInteger(value, fallback, max) {
38
+ if (value === undefined)
39
+ return fallback;
40
+ if ((typeof value !== 'string' && typeof value !== 'number') ||
41
+ !/^\d+$/.test(String(value)) ||
42
+ !Number.isSafeInteger(Number(value)) ||
43
+ Number(value) < 1 ||
44
+ Number(value) > max)
45
+ throw new forms_1.SubmissionServiceError(400, 'invalid_submission_query');
46
+ return Number(value);
47
+ }
13
48
  function receipt(ledger) {
14
49
  return { id: ledger.documentId, receivedAt: ledger.createdAt };
15
50
  }
@@ -99,6 +134,55 @@ const submission = ({ strapi }) => {
99
134
  }
100
135
  }
101
136
  return {
137
+ async list(query = {}) {
138
+ const page = paginationInteger(query.page, 1, Number.MAX_SAFE_INTEGER);
139
+ const pageSize = paginationInteger(query.pageSize, 25, 100);
140
+ if ((query.slug !== undefined &&
141
+ (typeof query.slug !== 'string' || !query.slug.trim())) ||
142
+ (query.status !== undefined &&
143
+ (typeof query.status !== 'string' ||
144
+ !statuses.includes(query.status))))
145
+ throw new forms_1.SubmissionServiceError(400, 'invalid_submission_query');
146
+ const filters = {
147
+ ...(query.slug === undefined ? {} : { form: query.slug }),
148
+ ...(query.status === undefined ? {} : { status: query.status }),
149
+ };
150
+ const total = await documents(form_1.SUBMISSION_UID).count({ filters });
151
+ const rows = await documents(form_1.SUBMISSION_UID).findMany({
152
+ filters,
153
+ sort: ['createdAt:desc', 'documentId:desc'],
154
+ start: (page - 1) * pageSize,
155
+ limit: pageSize,
156
+ });
157
+ return {
158
+ data: rows.map(serialize),
159
+ meta: {
160
+ pagination: {
161
+ page,
162
+ pageSize,
163
+ total,
164
+ pageCount: Math.ceil(total / pageSize),
165
+ },
166
+ },
167
+ };
168
+ },
169
+ async get(documentId) {
170
+ const row = await documents(form_1.SUBMISSION_UID).findOne({ documentId });
171
+ if (!row)
172
+ throw new forms_1.SubmissionServiceError(404, 'submission_not_found');
173
+ return serialize(row);
174
+ },
175
+ async updateStatus(documentId, input) {
176
+ if (!(0, form_1.isObject)(input) ||
177
+ Object.keys(input).length !== 1 ||
178
+ typeof input.status !== 'string' ||
179
+ !statuses.includes(input.status))
180
+ throw new forms_1.SubmissionServiceError(400, 'invalid_submission_status');
181
+ if (!(await documents(form_1.SUBMISSION_UID).findOne({ documentId })))
182
+ throw new forms_1.SubmissionServiceError(404, 'submission_not_found');
183
+ const params = { documentId, data: { status: input.status } };
184
+ return serialize(await (0, submission_access_1.writeSubmission)(params, () => documents(form_1.SUBMISSION_UID).update(params)));
185
+ },
102
186
  /** Owns its transaction; call outside an ambient Strapi transaction so a
103
187
  * uniqueness failure can roll back before recovery and hooks run postcommit. */
104
188
  async submit(slug, input, options = {}) {
@@ -255,26 +339,52 @@ const submission = ({ strapi }) => {
255
339
  .map((field) => [field.name, record[field.name]]));
256
340
  return notify(form, ledger, fields);
257
341
  },
342
+ /** Resolve receipts by a configured field value (for example a hidden
343
+ * session id) without consumers reading the ledger table. Ledgers are
344
+ * grouped by their stored target UID so a form whose storage target changed
345
+ * still finds older receipts; targets whose schema lacks the field are skipped. */
258
346
  async findByField(slug, name, value) {
259
347
  const form = await findForm(slug);
260
348
  if (!form.fields.some((field) => field.name === name))
261
349
  throw new forms_1.SubmissionServiceError(400, 'invalid_submission', [
262
350
  { field: name, code: 'unknown' },
263
351
  ]);
264
- const ledgers = await documents(form_1.SUBMISSION_UID).findMany({
265
- filters: { form: slug },
352
+ if (!['string', 'number', 'boolean'].includes(typeof value))
353
+ throw new forms_1.SubmissionServiceError(400, 'invalid_submission', [
354
+ { field: name, code: 'invalid' },
355
+ ]);
356
+ const legacy = await documents(form_1.SUBMISSION_UID).findMany({
357
+ filters: { form: slug, targetUid: { $ne: form.targetUid } },
358
+ fields: ['targetUid'],
266
359
  });
360
+ const uids = [
361
+ form.targetUid,
362
+ ...new Set(legacy
363
+ .map((row) => row.targetUid)
364
+ .filter((uid) => typeof uid === 'string')),
365
+ ];
366
+ const schemas = strapi.contentTypes;
267
367
  const matches = [];
268
- for (const row of ledgers) {
269
- if (typeof row.targetUid !== 'string' ||
270
- typeof row.targetDocumentId !== 'string')
368
+ for (const uid of uids) {
369
+ if (!schemas[uid]?.attributes?.[name])
271
370
  continue;
272
- const records = await documents(row.targetUid).findMany({
273
- filters: { documentId: row.targetDocumentId, [name]: { $eq: value } },
274
- limit: 1,
275
- });
276
- if (records.length)
277
- matches.push(row);
371
+ const ids = (await documents(uid).findMany({
372
+ filters: { [name]: { $eq: value } },
373
+ fields: ['documentId'],
374
+ }))
375
+ .map((record) => record.documentId)
376
+ .filter((id) => typeof id === 'string');
377
+ for (let offset = 0; offset < ids.length; offset += 200) {
378
+ const rows = await documents(form_1.SUBMISSION_UID).findMany({
379
+ filters: {
380
+ form: slug,
381
+ targetUid: uid,
382
+ targetDocumentId: { $in: ids.slice(offset, offset + 200) },
383
+ },
384
+ sort: ['createdAt:desc', 'documentId:desc'],
385
+ });
386
+ matches.push(...rows);
387
+ }
278
388
  }
279
389
  return matches;
280
390
  },
@@ -1 +1 @@
1
- {"version":3,"file":"submission.js","sourceRoot":"","sources":["../../../../server/src/services/submission.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"submission.js","sourceRoot":"","sources":["../../../../server/src/services/submission.ts"],"names":[],"mappings":"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"}