@actuate-media/cms-core 0.30.0 → 0.32.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 (98) hide show
  1. package/dist/__tests__/api/admin-contracts.test.js +10 -2
  2. package/dist/__tests__/api/admin-contracts.test.js.map +1 -1
  3. package/dist/__tests__/api/public-forms.test.d.ts +2 -0
  4. package/dist/__tests__/api/public-forms.test.d.ts.map +1 -0
  5. package/dist/__tests__/api/public-forms.test.js +125 -0
  6. package/dist/__tests__/api/public-forms.test.js.map +1 -0
  7. package/dist/__tests__/api/public-seo.test.js +2 -0
  8. package/dist/__tests__/api/public-seo.test.js.map +1 -1
  9. package/dist/__tests__/forms/forms-service.test.d.ts +2 -0
  10. package/dist/__tests__/forms/forms-service.test.d.ts.map +1 -0
  11. package/dist/__tests__/forms/forms-service.test.js +193 -0
  12. package/dist/__tests__/forms/forms-service.test.js.map +1 -0
  13. package/dist/__tests__/forms/spam.test.d.ts +2 -0
  14. package/dist/__tests__/forms/spam.test.d.ts.map +1 -0
  15. package/dist/__tests__/forms/spam.test.js +115 -0
  16. package/dist/__tests__/forms/spam.test.js.map +1 -0
  17. package/dist/__tests__/forms/submission-files.test.d.ts +2 -0
  18. package/dist/__tests__/forms/submission-files.test.d.ts.map +1 -0
  19. package/dist/__tests__/forms/submission-files.test.js +65 -0
  20. package/dist/__tests__/forms/submission-files.test.js.map +1 -0
  21. package/dist/__tests__/forms/submission-pipeline.test.d.ts +2 -0
  22. package/dist/__tests__/forms/submission-pipeline.test.d.ts.map +1 -0
  23. package/dist/__tests__/forms/submission-pipeline.test.js +131 -0
  24. package/dist/__tests__/forms/submission-pipeline.test.js.map +1 -0
  25. package/dist/__tests__/forms/submission-validation.test.d.ts +2 -0
  26. package/dist/__tests__/forms/submission-validation.test.d.ts.map +1 -0
  27. package/dist/__tests__/forms/submission-validation.test.js +108 -0
  28. package/dist/__tests__/forms/submission-validation.test.js.map +1 -0
  29. package/dist/__tests__/seo/audit-runner.test.js +54 -1
  30. package/dist/__tests__/seo/audit-runner.test.js.map +1 -1
  31. package/dist/api/handler-factory.d.ts.map +1 -1
  32. package/dist/api/handler-factory.js +2 -2
  33. package/dist/api/handler-factory.js.map +1 -1
  34. package/dist/api/handlers.d.ts.map +1 -1
  35. package/dist/api/handlers.js +724 -155
  36. package/dist/api/handlers.js.map +1 -1
  37. package/dist/api/router.d.ts +2 -1
  38. package/dist/api/router.d.ts.map +1 -1
  39. package/dist/api/router.js +3 -0
  40. package/dist/api/router.js.map +1 -1
  41. package/dist/config/types.d.ts +42 -0
  42. package/dist/config/types.d.ts.map +1 -1
  43. package/dist/cron/index.d.ts +1 -0
  44. package/dist/cron/index.d.ts.map +1 -1
  45. package/dist/cron/index.js +10 -1
  46. package/dist/cron/index.js.map +1 -1
  47. package/dist/forms/entries.d.ts +45 -0
  48. package/dist/forms/entries.d.ts.map +1 -0
  49. package/dist/forms/entries.js +348 -0
  50. package/dist/forms/entries.js.map +1 -0
  51. package/dist/forms/files.d.ts +38 -0
  52. package/dist/forms/files.d.ts.map +1 -0
  53. package/dist/forms/files.js +134 -0
  54. package/dist/forms/files.js.map +1 -0
  55. package/dist/forms/index.d.ts +8 -0
  56. package/dist/forms/index.d.ts.map +1 -1
  57. package/dist/forms/index.js +7 -0
  58. package/dist/forms/index.js.map +1 -1
  59. package/dist/forms/service.d.ts +92 -0
  60. package/dist/forms/service.d.ts.map +1 -0
  61. package/dist/forms/service.js +579 -0
  62. package/dist/forms/service.js.map +1 -0
  63. package/dist/forms/spam.d.ts +33 -0
  64. package/dist/forms/spam.d.ts.map +1 -0
  65. package/dist/forms/spam.js +93 -0
  66. package/dist/forms/spam.js.map +1 -0
  67. package/dist/forms/submission.d.ts +95 -0
  68. package/dist/forms/submission.d.ts.map +1 -0
  69. package/dist/forms/submission.js +282 -0
  70. package/dist/forms/submission.js.map +1 -0
  71. package/dist/forms/types.d.ts +244 -0
  72. package/dist/forms/types.d.ts.map +1 -0
  73. package/dist/forms/types.js +36 -0
  74. package/dist/forms/types.js.map +1 -0
  75. package/dist/forms/validation.d.ts +19 -0
  76. package/dist/forms/validation.d.ts.map +1 -0
  77. package/dist/forms/validation.js +235 -0
  78. package/dist/forms/validation.js.map +1 -0
  79. package/dist/index.d.ts +2 -2
  80. package/dist/index.d.ts.map +1 -1
  81. package/dist/index.js +1 -1
  82. package/dist/index.js.map +1 -1
  83. package/dist/security/client-ip.d.ts +11 -21
  84. package/dist/security/client-ip.d.ts.map +1 -1
  85. package/dist/security/client-ip.js +38 -0
  86. package/dist/security/client-ip.js.map +1 -1
  87. package/dist/seo/audit-runner.d.ts +37 -2
  88. package/dist/seo/audit-runner.d.ts.map +1 -1
  89. package/dist/seo/audit-runner.js +56 -6
  90. package/dist/seo/audit-runner.js.map +1 -1
  91. package/dist/seo/index.d.ts +2 -1
  92. package/dist/seo/index.d.ts.map +1 -1
  93. package/dist/seo/index.js +1 -1
  94. package/dist/seo/index.js.map +1 -1
  95. package/package.json +1 -1
  96. package/prisma/cms-schema.prisma +81 -7
  97. package/prisma/migrations/0010_forms/migration.sql +130 -0
  98. package/prisma/schema.prisma +130 -35
@@ -1,5 +1,5 @@
1
1
  export interface ApiRoute {
2
- method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
2
+ method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS';
3
3
  path: string;
4
4
  handler: (request: Request, params: Record<string, string>) => Promise<Response>;
5
5
  middleware?: ApiMiddleware[];
@@ -13,6 +13,7 @@ export interface ApiRouter {
13
13
  put(path: string, handler: ApiRoute['handler']): void;
14
14
  patch(path: string, handler: ApiRoute['handler']): void;
15
15
  delete(path: string, handler: ApiRoute['handler']): void;
16
+ options(path: string, handler: ApiRoute['handler']): void;
16
17
  handle(request: Request): Promise<Response>;
17
18
  }
18
19
  /** Create a public REST API router for Actuate CMS content. */
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/api/router.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAA;IACnD,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;IAChF,UAAU,CAAC,EAAE,aAAa,EAAE,CAAA;CAC7B;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAElG,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,QAAQ,EAAE,CAAA;IAClB,GAAG,CAAC,UAAU,EAAE,aAAa,GAAG,IAAI,CAAA;IACpC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAA;IACrD,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAA;IACtD,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAA;IACrD,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAA;IACvD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAA;IACxD,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;CAC5C;AAED,+DAA+D;AAC/D,wBAAgB,eAAe,IAAI,SAAS,CAwD3C"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/api/router.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAA;IAC/D,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;IAChF,UAAU,CAAC,EAAE,aAAa,EAAE,CAAA;CAC7B;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAElG,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,QAAQ,EAAE,CAAA;IAClB,GAAG,CAAC,UAAU,EAAE,aAAa,GAAG,IAAI,CAAA;IACpC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAA;IACrD,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAA;IACtD,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAA;IACrD,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAA;IACvD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAA;IACxD,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAA;IACzD,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;CAC5C;AAED,+DAA+D;AAC/D,wBAAgB,eAAe,IAAI,SAAS,CA2D3C"}
@@ -25,6 +25,9 @@ export function createApiRouter() {
25
25
  delete(path, handler) {
26
26
  addRoute('DELETE', path, handler);
27
27
  },
28
+ options(path, handler) {
29
+ addRoute('OPTIONS', path, handler);
30
+ },
28
31
  async handle(request) {
29
32
  const url = new URL(request.url);
30
33
  const method = request.method.toUpperCase();
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/api/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/api/router.ts"],"names":[],"mappings":"AAqBA,+DAA+D;AAC/D,MAAM,UAAU,eAAe;IAC7B,MAAM,MAAM,GAAe,EAAE,CAAA;IAC7B,MAAM,gBAAgB,GAAoB,EAAE,CAAA;IAE5C,SAAS,QAAQ,CAAC,MAA0B,EAAE,IAAY,EAAE,OAA4B;QACtF,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;IACxC,CAAC;IAED,OAAO;QACL,MAAM;QACN,GAAG,CAAC,UAAU;YACZ,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACnC,CAAC;QACD,GAAG,CAAC,IAAI,EAAE,OAAO;YACf,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QAChC,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,OAAO;YAChB,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QACjC,CAAC;QACD,GAAG,CAAC,IAAI,EAAE,OAAO;YACf,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QAChC,CAAC;QACD,KAAK,CAAC,IAAI,EAAE,OAAO;YACjB,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QAClC,CAAC;QACD,MAAM,CAAC,IAAI,EAAE,OAAO;YAClB,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QACnC,CAAC;QACD,OAAO,CAAC,IAAI,EAAE,OAAO;YACnB,QAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QACpC,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,OAAO;YAClB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YAChC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAwB,CAAA;YAEjE,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAA;YAC1F,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE;oBAC1D,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;iBAChD,CAAC,CAAA;YACJ,CAAC;YAED,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAA;YAExD,MAAM,aAAa,GAAG,CAAC,GAAG,gBAAgB,EAAE,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAA;YAC1E,IAAI,KAAK,GAAG,CAAC,CAAA;YAEb,MAAM,IAAI,GAAG,KAAK,IAAuB,EAAE;gBACzC,IAAI,KAAK,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC;oBACjC,OAAO,aAAa,CAAC,KAAK,EAAE,CAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;gBAC/C,CAAC;gBACD,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;YACzC,CAAC,CAAA;YAED,OAAO,IAAI,EAAE,CAAA;QACf,CAAC;KACF,CAAA;AACH,CAAC;AAED,SAAS,SAAS,CAAC,OAAe,EAAE,QAAgB;IAClD,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,CAAA;IAC7E,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AAC7B,CAAC;AAED,SAAS,aAAa,CAAC,OAAe,EAAE,QAAgB;IACtD,MAAM,UAAU,GAAa,EAAE,CAAA;IAC/B,MAAM,KAAK,GAAG,IAAI,MAAM,CACtB,GAAG;QACD,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;YACvC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACrB,OAAO,SAAS,CAAA;QAClB,CAAC,CAAC;QACF,GAAG,CACN,CAAA;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACnC,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAA;IAErB,MAAM,MAAM,GAA2B,EAAE,CAAA;IACzC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QAC7B,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAE,CAAA;IAC9B,CAAC,CAAC,CAAA;IACF,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -551,6 +551,48 @@ export interface ActuateCMSConfig {
551
551
  * `CollectionSEOConfig` overrides take precedence over these defaults.
552
552
  */
553
553
  seo?: SiteSEOConfig;
554
+ /**
555
+ * Forms system configuration. Governs which field types are allowed, default
556
+ * spam protection, file-upload limits, notification/webhook availability, and
557
+ * PII/retention policy. Per-form settings (stored on the form definition)
558
+ * override these defaults.
559
+ */
560
+ forms?: FormsConfig;
561
+ }
562
+ /** Site-wide Forms configuration. Per-form settings override these defaults. */
563
+ export interface FormsConfig {
564
+ /** Master switch for the Forms feature. Defaults to enabled. */
565
+ enabled?: boolean;
566
+ /** Default spam protections applied to forms that don't override them. */
567
+ defaultSpamProtection?: Array<'honeypot' | 'timeToSubmit' | 'rateLimit' | 'captcha' | 'domainAllowlist' | 'blocklist' | 'keyword' | 'aiClassifier'>;
568
+ /** Restrict the field types editors can add (defaults to all supported types). */
569
+ allowedFieldTypes?: string[];
570
+ /** Hard cap on the number of fields per form. */
571
+ maxFieldsPerForm?: number;
572
+ /** Global submission rate ceiling per IP. */
573
+ maxSubmissionsPerMinute?: number;
574
+ fileUpload?: {
575
+ enabled?: boolean;
576
+ maxSizeMB?: number;
577
+ allowedMimeTypes?: string[];
578
+ };
579
+ notifications?: {
580
+ enabled?: boolean;
581
+ };
582
+ webhooks?: {
583
+ enabled?: boolean;
584
+ };
585
+ autoresponder?: {
586
+ enabled?: boolean;
587
+ };
588
+ /** Days to retain submissions before automated cleanup (0/undefined = forever). */
589
+ retentionDays?: number;
590
+ /** Encrypt fields flagged as sensitive at rest. */
591
+ encryptSensitiveFields?: boolean;
592
+ /** Fallback success message when a form doesn't define its own. */
593
+ defaultSuccessMessage?: string;
594
+ /** Public submission path prefix (defaults to `/api/forms`). */
595
+ publicSubmissionPath?: string;
554
596
  }
555
597
  /** Site-wide SEO configuration. */
556
598
  export interface SiteSEOConfig {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
@@ -58,6 +58,7 @@ export interface SeoScanResult {
58
58
  */
59
59
  export declare function processSeoScan(db: PrismaDB, options?: {
60
60
  maxDocuments?: number;
61
+ allowedCollections?: string[];
61
62
  }): Promise<SeoScanResult>;
62
63
  /** Re-export for convenience so the route handler can import everything from one module. */
63
64
  export { schedulingCronHandler };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cron/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAE9D,KAAK,QAAQ,GAAG,GAAG,CAAA;AAEnB,MAAM,WAAW,cAAc;IAC7B,2EAA2E;IAC3E,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,mEAAmE;IACnE,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,wEAAwE;IACxE,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,qFAAqF;IACrF,wBAAwB,CAAC,EAAE,MAAM,CAAA;CAClC;AAWD,MAAM,WAAW,aAAa;IAC5B,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,MAAM,CAAA;IACxB,gBAAgB,EAAE,MAAM,CAAA;IACxB,0BAA0B,EAAE,MAAM,CAAA;CACnC;AAYD;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,EAAE,EAAE,QAAQ,EACZ,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,aAAa,CAAC,CA4DxB;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,eAAe,EAAE,MAAM,CAAA;IACvB,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE,YAAY,EAAE,CAAA;CACvB;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,EAAE,EAAE,QAAQ,EACZ,OAAO,GAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAO,GACtC,OAAO,CAAC,aAAa,CAAC,CAwExB;AAED,4FAA4F;AAC5F,OAAO,EAAE,qBAAqB,EAAE,CAAA;AAEhC;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAStF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cron/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAE9D,KAAK,QAAQ,GAAG,GAAG,CAAA;AAEnB,MAAM,WAAW,cAAc;IAC7B,2EAA2E;IAC3E,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,mEAAmE;IACnE,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,wEAAwE;IACxE,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,qFAAqF;IACrF,wBAAwB,CAAC,EAAE,MAAM,CAAA;CAClC;AAWD,MAAM,WAAW,aAAa;IAC5B,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,MAAM,CAAA;IACxB,gBAAgB,EAAE,MAAM,CAAA;IACxB,0BAA0B,EAAE,MAAM,CAAA;CACnC;AAYD;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,EAAE,EAAE,QAAQ,EACZ,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,aAAa,CAAC,CA4DxB;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,eAAe,EAAE,MAAM,CAAA;IACvB,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE,YAAY,EAAE,CAAA;CACvB;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,EAAE,EAAE,QAAQ,EACZ,OAAO,GAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;CAAO,GACrE,OAAO,CAAC,aAAa,CAAC,CAkFxB;AAED,4FAA4F;AAC5F,OAAO,EAAE,qBAAqB,EAAE,CAAA;AAEhC;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAStF"}
@@ -108,8 +108,17 @@ export async function processSeoScan(db, options = {}) {
108
108
  if (!modelExists(db, 'document')) {
109
109
  return { total: 0, pagesWithIssues: 0, totalProblems: 0, issues: [] };
110
110
  }
111
+ // Scope to front-end content collections when the caller provides them, so the
112
+ // scan never flags structural (navigation/footer) or benchmark documents.
113
+ const where = { status: 'PUBLISHED', deletedAt: null };
114
+ if (options.allowedCollections) {
115
+ if (options.allowedCollections.length === 0) {
116
+ return { total: 0, pagesWithIssues: 0, totalProblems: 0, issues: [] };
117
+ }
118
+ where.collection = { in: options.allowedCollections };
119
+ }
111
120
  const documents = await db.document.findMany({
112
- where: { status: 'PUBLISHED', deletedAt: null },
121
+ where,
113
122
  select: {
114
123
  id: true,
115
124
  title: true,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cron/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cron/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import { type ActionContext } from '../actions.js';
2
+ import type { EntryCounts, FetchFormEntriesParams, FormField, FormSubmission } from './types.js';
3
+ interface FormMeta {
4
+ name?: string;
5
+ slug?: string;
6
+ }
7
+ /**
8
+ * Convert a raw submission row into the typed shape. Prefers the persisted
9
+ * sender columns (set by the new pipeline) and falls back to deriving them
10
+ * from `data` so legacy/seed rows still display a name/email/preview.
11
+ */
12
+ export declare function normalizeEntry(row: any, formMeta?: FormMeta): FormSubmission;
13
+ export interface ListEntriesResult {
14
+ entries: FormSubmission[];
15
+ total: number;
16
+ page: number;
17
+ pageSize: number;
18
+ }
19
+ export declare function listEntries(params?: FetchFormEntriesParams): Promise<ListEntriesResult>;
20
+ export declare function getEntryById(id: string): Promise<FormSubmission | null>;
21
+ /**
22
+ * Render an entry alongside the field schema it was captured against. Falls
23
+ * back to the form's current schema when the submission predates versioning.
24
+ */
25
+ export declare function getEntryWithSchema(id: string): Promise<{
26
+ entry: FormSubmission;
27
+ fields: FormField[];
28
+ } | null>;
29
+ export declare function getEntryCounts(params?: FetchFormEntriesParams): Promise<EntryCounts>;
30
+ interface EntryPatch {
31
+ unread?: boolean;
32
+ starred?: boolean;
33
+ archived?: boolean;
34
+ }
35
+ export declare function updateEntry(ctx: ActionContext, id: string, patch: EntryPatch): Promise<FormSubmission | null>;
36
+ export declare function markEntryRead(ctx: ActionContext, id: string): Promise<FormSubmission | null>;
37
+ export declare function markEntryUnread(ctx: ActionContext, id: string): Promise<FormSubmission | null>;
38
+ export declare function starEntry(ctx: ActionContext, id: string): Promise<FormSubmission | null>;
39
+ export declare function unstarEntry(ctx: ActionContext, id: string): Promise<FormSubmission | null>;
40
+ export declare function archiveEntry(ctx: ActionContext, id: string): Promise<FormSubmission | null>;
41
+ export declare function unarchiveEntry(ctx: ActionContext, id: string): Promise<FormSubmission | null>;
42
+ export declare function bulkUpdateEntries(ctx: ActionContext, ids: string[], patch: EntryPatch): Promise<number>;
43
+ export declare function deleteEntry(ctx: ActionContext, id: string): Promise<void>;
44
+ export {};
45
+ //# sourceMappingURL=entries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entries.d.ts","sourceRoot":"","sources":["../../src/forms/entries.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAA;AAElD,OAAO,KAAK,EACV,WAAW,EACX,sBAAsB,EACtB,SAAS,EACT,cAAc,EAGf,MAAM,YAAY,CAAA;AA2CnB,UAAU,QAAQ;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,cAAc,CAsC5E;AAsGD,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,cAAc,EAAE,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,wBAAsB,WAAW,CAAC,MAAM,GAAE,sBAA2B,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA0BjG;AAED,wBAAsB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAS7E;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,MAAM,GACT,OAAO,CAAC;IAAE,KAAK,EAAE,cAAc,CAAC;IAAC,MAAM,EAAE,SAAS,EAAE,CAAA;CAAE,GAAG,IAAI,CAAC,CAkBhE;AAID,wBAAsB,cAAc,CAAC,MAAM,GAAE,sBAA2B,GAAG,OAAO,CAAC,WAAW,CAAC,CA0B9F;AAID,UAAU,UAAU;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AA6BD,wBAAsB,WAAW,CAC/B,GAAG,EAAE,aAAa,EAClB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,UAAU,GAChB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAMhC;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,kCAE3D;AACD,wBAAgB,eAAe,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,kCAE7D;AACD,wBAAgB,SAAS,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,kCAEvD;AACD,wBAAgB,WAAW,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,kCAEzD;AACD,wBAAgB,YAAY,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,kCAE1D;AACD,wBAAgB,cAAc,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,kCAE5D;AAED,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,aAAa,EAClB,GAAG,EAAE,MAAM,EAAE,EACb,KAAK,EAAE,UAAU,GAChB,OAAO,CAAC,MAAM,CAAC,CAWjB;AAED,wBAAsB,WAAW,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG/E"}
@@ -0,0 +1,348 @@
1
+ /**
2
+ * Forms entries service — submissions inbox.
3
+ *
4
+ * Submissions live in the dedicated `FormSubmission` table. This module owns
5
+ * querying/filtering, the read/star/archive workflow, per-form + aggregate
6
+ * counts, and rendering an entry against the schema version it was captured
7
+ * with (so historical entries never break when a form's live schema changes).
8
+ */
9
+ import { getDB } from '../db.js';
10
+ import { logEvent } from '../security/audit.js';
11
+ import { getSchemaVersion } from './service.js';
12
+ function rawDb() {
13
+ return getDB();
14
+ }
15
+ function toISO(value) {
16
+ if (value instanceof Date)
17
+ return value.toISOString();
18
+ if (typeof value === 'string')
19
+ return value;
20
+ return new Date().toISOString();
21
+ }
22
+ function toISONullable(value) {
23
+ if (!value)
24
+ return null;
25
+ return toISO(value);
26
+ }
27
+ function asRecord(value) {
28
+ return value && typeof value === 'object' && !Array.isArray(value)
29
+ ? value
30
+ : {};
31
+ }
32
+ // ─── Normalization ─────────────────────────────────────────────────────
33
+ function parseFile(row) {
34
+ return {
35
+ id: String(row.id),
36
+ submissionId: String(row.submissionId),
37
+ fieldKey: String(row.fieldKey),
38
+ mediaAssetId: row.mediaAssetId ?? null,
39
+ fileName: String(row.fileName),
40
+ mimeType: String(row.mimeType),
41
+ sizeBytes: Number(row.sizeBytes),
42
+ storageKey: String(row.storageKey),
43
+ publicUrl: row.publicUrl ?? null,
44
+ secureDownloadUrl: row.secureDownloadUrl ?? null,
45
+ createdAt: toISO(row.createdAt),
46
+ };
47
+ }
48
+ /**
49
+ * Convert a raw submission row into the typed shape. Prefers the persisted
50
+ * sender columns (set by the new pipeline) and falls back to deriving them
51
+ * from `data` so legacy/seed rows still display a name/email/preview.
52
+ */
53
+ export function normalizeEntry(row, formMeta) {
54
+ const data = asRecord(row.data);
55
+ const senderName = row.senderName ?? deriveName(data);
56
+ const senderEmail = row.senderEmail ?? deriveEmail(data);
57
+ const senderPhone = row.senderPhone ?? derivePhone(data);
58
+ const preview = row.preview ?? derivePreview(data);
59
+ return {
60
+ id: String(row.id),
61
+ entryNumber: row.entryNumber ?? null,
62
+ formId: String(row.formId),
63
+ formName: formMeta?.name,
64
+ formSlug: formMeta?.slug,
65
+ schemaVersionId: row.schemaVersionId ?? null,
66
+ data,
67
+ normalizedData: row.normalizedData ? asRecord(row.normalizedData) : null,
68
+ senderName: senderName || null,
69
+ senderEmail: senderEmail || null,
70
+ senderPhone: senderPhone || null,
71
+ preview: preview || null,
72
+ unread: Boolean(row.unread),
73
+ starred: Boolean(row.starred),
74
+ archived: Boolean(row.archived),
75
+ spamStatus: (row.spamStatus ?? 'clean'),
76
+ ipAddressHash: row.ipAddressHash ?? null,
77
+ userAgent: row.userAgent ?? null,
78
+ referrer: row.referrer ?? null,
79
+ pageUrl: row.pageUrl ?? null,
80
+ utmSource: row.utmSource ?? null,
81
+ utmMedium: row.utmMedium ?? null,
82
+ utmCampaign: row.utmCampaign ?? null,
83
+ submittedAt: toISO(row.submittedAt),
84
+ readAt: toISONullable(row.readAt),
85
+ archivedAt: toISONullable(row.archivedAt),
86
+ createdAt: toISO(row.createdAt),
87
+ updatedAt: toISO(row.updatedAt),
88
+ files: Array.isArray(row.files) ? row.files.map(parseFile) : undefined,
89
+ };
90
+ }
91
+ function deriveName(data) {
92
+ for (const key of ['name', 'fullName', 'full_name', 'first_name', 'firstName']) {
93
+ const v = data[key];
94
+ if (typeof v === 'string' && v.trim())
95
+ return v.trim();
96
+ }
97
+ return '';
98
+ }
99
+ function deriveEmail(data) {
100
+ for (const key of ['email', 'emailAddress', 'email_address']) {
101
+ const v = data[key];
102
+ if (typeof v === 'string' && v.trim())
103
+ return v.trim();
104
+ }
105
+ return '';
106
+ }
107
+ function derivePhone(data) {
108
+ for (const key of ['phone', 'phoneNumber', 'phone_number', 'tel']) {
109
+ const v = data[key];
110
+ if (typeof v === 'string' && v.trim())
111
+ return v.trim();
112
+ }
113
+ return '';
114
+ }
115
+ function derivePreview(data) {
116
+ for (const key of ['message', 'body', 'comments', 'notes', 'description']) {
117
+ const v = data[key];
118
+ if (typeof v === 'string' && v.trim())
119
+ return v.trim().slice(0, 200);
120
+ }
121
+ // Fall back to the first non-empty string value.
122
+ for (const v of Object.values(data)) {
123
+ if (typeof v === 'string' && v.trim())
124
+ return v.trim().slice(0, 200);
125
+ }
126
+ return '';
127
+ }
128
+ // ─── Where builder ─────────────────────────────────────────────────────
129
+ function startOfWeek() {
130
+ const d = new Date();
131
+ d.setHours(0, 0, 0, 0);
132
+ d.setDate(d.getDate() - 6);
133
+ return d;
134
+ }
135
+ function buildWhere(params) {
136
+ const where = {};
137
+ if (params.formId)
138
+ where.formId = params.formId;
139
+ // Archived: excluded by default; only included when explicitly requested.
140
+ where.archived = params.archived === true ? true : false;
141
+ // Spam: hidden by default; a specific spamStatus filter overrides.
142
+ if (params.spamStatus)
143
+ where.spamStatus = params.spamStatus;
144
+ else
145
+ where.spamStatus = { not: 'spam' };
146
+ if (params.unread === true)
147
+ where.unread = true;
148
+ if (params.starred === true)
149
+ where.starred = true;
150
+ const submittedAt = {};
151
+ if (params.thisWeek)
152
+ submittedAt.gte = startOfWeek();
153
+ if (params.dateFrom)
154
+ submittedAt.gte = new Date(params.dateFrom);
155
+ if (params.dateTo)
156
+ submittedAt.lte = new Date(params.dateTo);
157
+ if (Object.keys(submittedAt).length > 0)
158
+ where.submittedAt = submittedAt;
159
+ if (params.search?.trim()) {
160
+ const q = params.search.trim();
161
+ where.OR = [
162
+ { senderName: { contains: q, mode: 'insensitive' } },
163
+ { senderEmail: { contains: q, mode: 'insensitive' } },
164
+ { senderPhone: { contains: q, mode: 'insensitive' } },
165
+ { preview: { contains: q, mode: 'insensitive' } },
166
+ { id: q },
167
+ ];
168
+ }
169
+ return where;
170
+ }
171
+ async function attachFormMeta(rows) {
172
+ const ids = [...new Set(rows.map((r) => r.formId))];
173
+ const map = new Map();
174
+ if (ids.length === 0)
175
+ return map;
176
+ const forms = await rawDb().document.findMany({
177
+ where: { id: { in: ids }, collection: 'forms' },
178
+ select: { id: true, data: true, title: true, slug: true },
179
+ });
180
+ for (const f of forms) {
181
+ const data = asRecord(f.data);
182
+ map.set(f.id, {
183
+ name: String(data.name ?? f.title ?? 'Untitled form'),
184
+ slug: String(data.slug ?? f.slug ?? ''),
185
+ });
186
+ }
187
+ return map;
188
+ }
189
+ export async function listEntries(params = {}) {
190
+ const db = rawDb();
191
+ const where = buildWhere(params);
192
+ const page = Math.max(1, params.page ?? 1);
193
+ const pageSize = Math.min(100, Math.max(1, params.pageSize ?? 25));
194
+ const sortBy = params.sortBy === 'submittedAt' || !params.sortBy ? 'submittedAt' : params.sortBy;
195
+ const sortDirection = params.sortDirection === 'asc' ? 'asc' : 'desc';
196
+ const [rows, total] = await Promise.all([
197
+ db.formSubmission.findMany({
198
+ where,
199
+ orderBy: { [sortBy]: sortDirection },
200
+ skip: (page - 1) * pageSize,
201
+ take: pageSize,
202
+ }),
203
+ db.formSubmission.count({ where }),
204
+ ]);
205
+ const meta = await attachFormMeta(rows);
206
+ return {
207
+ entries: rows.map((r) => normalizeEntry(r, meta.get(r.formId))),
208
+ total,
209
+ page,
210
+ pageSize,
211
+ };
212
+ }
213
+ export async function getEntryById(id) {
214
+ const db = rawDb();
215
+ const row = await db.formSubmission.findUnique({
216
+ where: { id },
217
+ include: { files: true },
218
+ });
219
+ if (!row)
220
+ return null;
221
+ const meta = await attachFormMeta([row]);
222
+ return normalizeEntry(row, meta.get(row.formId));
223
+ }
224
+ /**
225
+ * Render an entry alongside the field schema it was captured against. Falls
226
+ * back to the form's current schema when the submission predates versioning.
227
+ */
228
+ export async function getEntryWithSchema(id) {
229
+ const entry = await getEntryById(id);
230
+ if (!entry)
231
+ return null;
232
+ let fields = [];
233
+ if (entry.schemaVersionId) {
234
+ const version = await getSchemaVersion(entry.schemaVersionId);
235
+ if (version)
236
+ fields = version.fields;
237
+ }
238
+ if (fields.length === 0) {
239
+ const form = await rawDb().document.findFirst({
240
+ where: { id: entry.formId, collection: 'forms' },
241
+ select: { data: true },
242
+ });
243
+ const data = asRecord(form?.data);
244
+ fields = Array.isArray(data.fields) ? data.fields : [];
245
+ }
246
+ return { entry, fields };
247
+ }
248
+ // ─── Counts ──────────────────────────────────────────────────────────
249
+ export async function getEntryCounts(params = {}) {
250
+ const db = rawDb();
251
+ // Count against the same base scope (form filter + non-spam, non-archived)
252
+ // but ignore the read/starred/this-week toggles so the chips show totals.
253
+ const base = buildWhere({
254
+ formId: params.formId,
255
+ archived: params.archived,
256
+ spamStatus: params.spamStatus,
257
+ });
258
+ const [total, unread, starred, thisWeek, byFormGroups] = await Promise.all([
259
+ db.formSubmission.count({ where: base }),
260
+ db.formSubmission.count({ where: { ...base, unread: true } }),
261
+ db.formSubmission.count({ where: { ...base, starred: true } }),
262
+ db.formSubmission.count({ where: { ...base, submittedAt: { gte: startOfWeek() } } }),
263
+ db.formSubmission.groupBy({
264
+ by: ['formId'],
265
+ where: { ...base, unread: true },
266
+ _count: { _all: true },
267
+ }),
268
+ ]);
269
+ const byForm = {};
270
+ for (const g of byFormGroups)
271
+ byForm[g.formId] = g._count._all;
272
+ return { total, unread, starred, thisWeek, byForm };
273
+ }
274
+ function patchToData(patch) {
275
+ const data = {};
276
+ if (patch.unread !== undefined) {
277
+ data.unread = patch.unread;
278
+ data.readAt = patch.unread ? null : new Date();
279
+ }
280
+ if (patch.starred !== undefined)
281
+ data.starred = patch.starred;
282
+ if (patch.archived !== undefined) {
283
+ data.archived = patch.archived;
284
+ data.archivedAt = patch.archived ? new Date() : null;
285
+ }
286
+ return data;
287
+ }
288
+ async function auditEntryChange(ctx, id, patch) {
289
+ const events = [];
290
+ if (patch.unread === false)
291
+ events.push('form.entry.read');
292
+ if (patch.unread === true)
293
+ events.push('form.entry.unread');
294
+ if (patch.starred === true)
295
+ events.push('form.entry.starred');
296
+ if (patch.starred === false)
297
+ events.push('form.entry.unstarred');
298
+ if (patch.archived === true)
299
+ events.push('form.entry.archived');
300
+ if (patch.archived === false)
301
+ events.push('form.entry.unarchived');
302
+ await Promise.all(events.map((event) => logEvent({ event, userId: ctx.userId, details: { entryId: id } })));
303
+ }
304
+ export async function updateEntry(ctx, id, patch) {
305
+ const data = patchToData(patch);
306
+ if (Object.keys(data).length === 0)
307
+ return getEntryById(id);
308
+ await rawDb().formSubmission.update({ where: { id }, data });
309
+ await auditEntryChange(ctx, id, patch);
310
+ return getEntryById(id);
311
+ }
312
+ export function markEntryRead(ctx, id) {
313
+ return updateEntry(ctx, id, { unread: false });
314
+ }
315
+ export function markEntryUnread(ctx, id) {
316
+ return updateEntry(ctx, id, { unread: true });
317
+ }
318
+ export function starEntry(ctx, id) {
319
+ return updateEntry(ctx, id, { starred: true });
320
+ }
321
+ export function unstarEntry(ctx, id) {
322
+ return updateEntry(ctx, id, { starred: false });
323
+ }
324
+ export function archiveEntry(ctx, id) {
325
+ return updateEntry(ctx, id, { archived: true });
326
+ }
327
+ export function unarchiveEntry(ctx, id) {
328
+ return updateEntry(ctx, id, { archived: false });
329
+ }
330
+ export async function bulkUpdateEntries(ctx, ids, patch) {
331
+ if (ids.length === 0)
332
+ return 0;
333
+ const data = patchToData(patch);
334
+ if (Object.keys(data).length === 0)
335
+ return 0;
336
+ const result = await rawDb().formSubmission.updateMany({ where: { id: { in: ids } }, data });
337
+ await logEvent({
338
+ event: 'form.entries.bulk_updated',
339
+ userId: ctx.userId,
340
+ details: { count: ids.length, patch },
341
+ });
342
+ return result.count ?? ids.length;
343
+ }
344
+ export async function deleteEntry(ctx, id) {
345
+ await rawDb().formSubmission.delete({ where: { id } });
346
+ await logEvent({ event: 'form.entry.deleted', userId: ctx.userId, details: { entryId: id } });
347
+ }
348
+ //# sourceMappingURL=entries.js.map