@antelopejs/dms-mailing 0.3.0 → 0.3.1

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 (72) hide show
  1. package/README.md +3 -1
  2. package/dist/antelope-modules.d.ts +1 -1
  3. package/dist/antelope-modules.js +1 -1
  4. package/dist/crons/retention.js +1 -1
  5. package/dist/crons/retention.js.map +1 -1
  6. package/dist/data/templates-table.d.ts +1 -1
  7. package/dist/data/templates-table.js +21 -0
  8. package/dist/data/templates-table.js.map +1 -1
  9. package/dist/db/models/sends.model.d.ts +2 -1
  10. package/dist/db/models/sends.model.js +1 -0
  11. package/dist/db/models/sends.model.js.map +1 -1
  12. package/dist/db/models/settings.model.d.ts +1 -1
  13. package/dist/db/models/settings.model.js +4 -1
  14. package/dist/db/models/settings.model.js.map +1 -1
  15. package/dist/db/tables/send-events.table.js +0 -1
  16. package/dist/db/tables/send-events.table.js.map +1 -1
  17. package/dist/db/tables/sends.table.js +0 -1
  18. package/dist/db/tables/sends.table.js.map +1 -1
  19. package/dist/db/tables/templates.table.js +0 -1
  20. package/dist/db/tables/templates.table.js.map +1 -1
  21. package/dist/hooks/tenant-export.js +1 -1
  22. package/dist/hooks/tenant-export.js.map +1 -1
  23. package/dist/routes/events.js +2 -2
  24. package/dist/routes/events.js.map +1 -1
  25. package/dist/routes/period.js +7 -4
  26. package/dist/routes/period.js.map +1 -1
  27. package/dist/services/attention.d.ts +3 -3
  28. package/dist/services/events.d.ts +1 -1
  29. package/dist/services/events.js.map +1 -1
  30. package/dist/services/metrics.d.ts +4 -4
  31. package/dist/services/settings.d.ts +1 -0
  32. package/dist/services/settings.js +25 -8
  33. package/dist/services/settings.js.map +1 -1
  34. package/dist/test/integration/events.test.js +11 -0
  35. package/dist/test/integration/events.test.js.map +1 -1
  36. package/dist/test/integration/sends.test.js +53 -0
  37. package/dist/test/integration/sends.test.js.map +1 -1
  38. package/dist/test/integration/settings.test.js +92 -0
  39. package/dist/test/integration/settings.test.js.map +1 -1
  40. package/dist/test/integration/templates.test.js +68 -2
  41. package/dist/test/integration/templates.test.js.map +1 -1
  42. package/dist/test/unit/period.test.js +17 -0
  43. package/dist/test/unit/period.test.js.map +1 -1
  44. package/dist/test/unit/webhook-secret.test.js +1 -0
  45. package/dist/test/unit/webhook-secret.test.js.map +1 -1
  46. package/frontend-vue/i18n/locales/mailing-en-GB.json +1 -0
  47. package/frontend-vue/i18n/locales/mailing-fr-FR.json +1 -0
  48. package/frontend-vue/package.json +1 -1
  49. package/frontend-vue/pnpm-lock.yaml +2 -28
  50. package/package.json +1 -1
  51. package/src/antelope-modules.ts +1 -1
  52. package/src/crons/retention.ts +3 -1
  53. package/src/data/templates-table.ts +46 -0
  54. package/src/db/models/sends.model.ts +6 -2
  55. package/src/db/models/settings.model.ts +7 -1
  56. package/src/db/tables/send-events.table.ts +0 -1
  57. package/src/db/tables/sends.table.ts +0 -1
  58. package/src/db/tables/templates.table.ts +0 -1
  59. package/src/hooks/tenant-export.ts +1 -1
  60. package/src/routes/events.ts +3 -3
  61. package/src/routes/metrics.ts +3 -3
  62. package/src/routes/period.ts +9 -4
  63. package/src/services/attention.ts +5 -5
  64. package/src/services/events.ts +4 -4
  65. package/src/services/metrics.ts +9 -9
  66. package/src/services/settings.ts +36 -7
  67. package/src/test/integration/events.test.ts +24 -1
  68. package/src/test/integration/sends.test.ts +33 -0
  69. package/src/test/integration/settings.test.ts +78 -0
  70. package/src/test/integration/templates.test.ts +49 -6
  71. package/src/test/unit/period.test.ts +27 -0
  72. package/src/test/unit/webhook-secret.test.ts +1 -0
package/README.md CHANGED
@@ -66,7 +66,9 @@ row per recipient lands in the send log, and the returned
66
66
 
67
67
  Provider events are posted to `POST /api/mailing/events/:provider`, guarded by
68
68
  the `x-mailing-webhook-secret` header (the secret lives in the mailing
69
- settings, per tenant).
69
+ settings, per tenant). The endpoint never creates those settings: until a
70
+ tenant's settings exist (any mailing page or send creates them), its events are
71
+ refused with `403`.
70
72
 
71
73
  ```sh
72
74
  curl -X POST http://localhost:5010/api/mailing/events/brevo \
@@ -2,7 +2,7 @@ export declare const SHARED_MODULE_SOURCES: {
2
2
  readonly dms: {
3
3
  readonly type: "package";
4
4
  readonly package: "@antelopejs/dms";
5
- readonly version: ">=0.4.0 <1.0.0";
5
+ readonly version: ">=0.4.3 <1.0.0";
6
6
  };
7
7
  readonly mongodb: {
8
8
  readonly type: "package";
@@ -5,7 +5,7 @@ exports.SHARED_MODULE_SOURCES = {
5
5
  dms: {
6
6
  type: "package",
7
7
  package: "@antelopejs/dms",
8
- version: ">=0.4.0 <1.0.0",
8
+ version: ">=0.4.3 <1.0.0",
9
9
  },
10
10
  mongodb: {
11
11
  type: "package",
@@ -75,7 +75,7 @@ async function purgeOrphanEvents(tenantId, pageSize = exports.RETENTION_LIMITS.p
75
75
  }
76
76
  }
77
77
  async function purgeTenant(tenantId, now) {
78
- const settings = await (0, interface_database_decorators_1.GetModel)(db_2.SettingsModel, tenantId).getSingleton();
78
+ const settings = await (0, interface_database_decorators_1.GetModel)(db_2.SettingsModel, tenantId).getSingleton(tenantId);
79
79
  if (!settings || settings.logRetentionDays < MIN_RETENTION_DAYS)
80
80
  return 0;
81
81
  const limit = retentionLimit(settings.logRetentionDays, now);
@@ -1 +1 @@
1
- {"version":3,"file":"retention.js","sourceRoot":"","sources":["../../src/crons/retention.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"retention.js","sourceRoot":"","sources":["../../src/crons/retention.ts"],"names":[],"mappings":"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"}
@@ -2,12 +2,12 @@ import { type DataControllerCallback } from "@antelopejs/interface-data-api";
2
2
  import { MailingTemplate, TemplateModel } from "../db";
3
3
  declare const TemplatesTableAPI_base: import("@antelopejs/interface-core/decorators").Class<import("@antelopejs/interface-data-api").ExtractDefCallbacks<{
4
4
  new: DataControllerCallback;
5
+ edit: DataControllerCallback;
5
6
  get: DataControllerCallback;
6
7
  list: DataControllerCallback;
7
8
  select: import("@antelopejs/interface-data-api").DataControllerCallbackWithOptions<any>;
8
9
  count: DataControllerCallback;
9
10
  countBatch: import("@antelopejs/interface-data-api").DataControllerCallbackWithOptions<any>;
10
- edit: DataControllerCallback;
11
11
  delete: DataControllerCallback;
12
12
  archive: DataControllerCallback;
13
13
  restore: DataControllerCallback;
@@ -28,6 +28,7 @@ const templates_1 = require("../services/templates");
28
28
  const templates_schema_1 = require("../validation/templates.schema");
29
29
  const body_1 = require("./body");
30
30
  const DUPLICATE_SLUG = "$dms_mailing.errors.duplicate_slug";
31
+ const SLUG_IMMUTABLE = "$dms_mailing.errors.slug_immutable";
31
32
  const SOURCE_NOT_FOUND = "$dms_mailing.errors.template_not_found";
32
33
  const CREATE_ONLY = { edit: types_1.ReadonlyBehaviorType.disabled };
33
34
  const NEVER_ON_CREATE = { new: types_1.ReadonlyBehaviorType.hidden };
@@ -61,9 +62,29 @@ function withSeeding(base) {
61
62
  },
62
63
  };
63
64
  }
65
+ async function withStoredSlug(tenantId, templateId, body) {
66
+ const stored = await (0, interface_database_decorators_1.GetModel)(db_1.TemplateModel, tenantId).get(templateId);
67
+ if (!stored)
68
+ return body;
69
+ const edit = (0, body_1.parseBody)(body);
70
+ if (edit.slug !== undefined && edit.slug !== stored.slug) {
71
+ throw new interface_api_1.HTTPResult(constants_1.HTTP_CONFLICT, SLUG_IMMUTABLE);
72
+ }
73
+ return JSON.stringify({ ...edit, slug: stored.slug });
74
+ }
75
+ function withFixedSlug(base) {
76
+ return {
77
+ ...base,
78
+ func: async function (ctx, params, body, ...rest) {
79
+ const guarded = await withStoredSlug((0, request_tenant_1.getRequestTenantId)(ctx), params.id, body);
80
+ return base.func.call(this, ctx, params, guarded, ...rest);
81
+ },
82
+ };
83
+ }
64
84
  const templateRoutes = {
65
85
  ...base_1.TableViewRoutes.All,
66
86
  new: withSeeding(base_1.TableViewRoutes.New),
87
+ edit: withFixedSlug(base_1.TableViewRoutes.Edit),
67
88
  };
68
89
  let TemplatesTableAPI = class TemplatesTableAPI extends (0, interface_data_api_1.DataController)(db_1.MailingTemplate, templateRoutes, (0, interface_api_1.Controller)(`${constants_1.TABLES_BASE_PATH}/templates`)) {
69
90
  };
@@ -1 +1 @@
1
- {"version":3,"file":"templates-table.js","sourceRoot":"","sources":["../../src/data/templates-table.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6DAImC;AACnC,uEAIwC;AACxC,sEAOiD;AACjD,6FAAqE;AACrE,6DAA6E;AAC7E,6EAA8E;AAC9E,uFAAkF;AAClF,yDAMwC;AACxC,2FAA2F;AAC3F,gEAA4E;AAC5E,4CAA+E;AAC/E,8CAAqD;AACrD,8BAAuD;AACvD,mDAAmD;AACnD,qDAAwE;AAExE,qEAAsE;AACtE,iCAAmC;AAEnC,MAAM,cAAc,GAAG,oCAAoC,CAAC;AAC5D,MAAM,gBAAgB,GAAG,wCAAwC,CAAC;AAClE,MAAM,WAAW,GAAG,EAAE,IAAI,EAAE,4BAAoB,CAAC,QAAQ,EAAE,CAAC;AAG5D,MAAM,eAAe,GAAG,EAAE,GAAG,EAAE,4BAAoB,CAAC,MAAM,EAAE,CAAC;AAE7D,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACjE,KAAK;IACL,KAAK,EAAE,iCAAiC,KAAK,EAAE;CAChD,CAAC,CAAC,CAAC;AAGJ,KAAK,UAAU,aAAa,CAC1B,QAAgB,EAChB,gBAAoC;IAEpC,IAAI,CAAC,gBAAgB;QAAE,OAAO,SAAS,CAAC;IACxC,MAAM,MAAM,GAAG,MAAM,IAAA,wCAAQ,EAAC,kBAAa,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC7E,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,0BAAU,CAAC,0BAAc,EAAE,gBAAgB,CAAC,CAAC;IACpE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,WAAW,CAAC,IAA4B;IAC/C,OAAO;QACL,GAAG,IAAI;QACP,IAAI,EAAE,KAAK,WAET,GAAmB,EACnB,MAAe,EACf,IAAqB,EACrB,GAAG,IAAe;YAElB,MAAM,IAAI,GAAG,uCAAoB,CAAC,KAAK,CAAC,IAAA,gBAAS,EAAC,IAAI,CAAC,CAAC,CAAC;YACzD,MAAM,QAAQ,GAAG,IAAA,mCAAkB,EAAC,GAAG,CAAC,CAAC;YACzC,MAAM,QAAQ,GAAG,MAAM,IAAA,wCAAQ,EAAC,kBAAa,EAAE,QAAQ,CAAC,CAAC,SAAS,CAChE,IAAI,CAAC,IAAI,CACV,CAAC;YACF,IAAI,QAAQ;gBAAE,MAAM,IAAI,0BAAU,CAAC,yBAAa,EAAE,cAAc,CAAC,CAAC;YAClE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACpE,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAC/B,IAAI,EACJ,GAAG,EACH,MAAM,EACN,IAAI,EACJ,GAAG,IAAI,CACR,CAAa,CAAC;YACf,MAAM,IAAI,GAAG,MAAM,IAAA,kCAAyB,EAAC,GAAG,CAAC,CAAC;YAClD,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAW,EAAC,QAAQ,CAAC,CAAC;YAC7C,MAAM,IAAA,8BAAkB,EACtB,QAAQ,EACR,GAAG,CAAC,CAAC,CAAW,EAChB,QAAQ,CAAC,cAAc,EACvB,IAAA,uBAAW,EAAC,IAAI,CAAC,EACjB,MAAM,CACP,CAAC;YACF,OAAO,GAAG,CAAC;QACb,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,cAAc,GAAG;IACrB,GAAG,sBAAe,CAAC,GAAG;IACtB,GAAG,EAAE,WAAW,CAAC,sBAAe,CAAC,GAAG,CAAC;CACtC,CAAC;AAGK,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,IAAA,mCAAc,EACnD,oBAAe,EACf,cAAc,EACd,IAAA,0BAAU,EAAC,GAAG,4BAAgB,YAAY,CAAC,CAC5C;CA0FA,CAAA;AA9FY,8CAAiB;AAOpB;IAFP,IAAA,yBAAc,GAAE;IAChB,IAAA,uCAAiB,EAAC,kBAAa,CAAC;8BAClB,kBAAa;gDAAC;AAMrB;IAJP,IAAA,aAAM,GAAE;IACR,IAAA,mBAAQ,GAAE;IACV,IAAA,eAAQ,GAAE;IACV,IAAA,iBAAM,EAAC,qBAAU,CAAC,QAAQ,CAAC;;8CACR;AAaZ;IAXP,IAAA,aAAM,GAAE;IACR,IAAA,mBAAQ,GAAE;IACV,IAAA,mBAAQ,GAAE;IACV,IAAA,eAAQ,GAAE;IACV,IAAA,iBAAU,GAAE;IACZ,IAAA,oBAAS,EAAC,KAAK,CAAC;IAChB,IAAA,iBAAM,EAAC,qBAAU,CAAC,SAAS,CAAC;IAC5B,IAAA,aAAM,EAAC;QACN,IAAI,EAAE,kCAAkC;QACxC,IAAI,EAAE,IAAI,gCAAgB,CAAC,UAAU,CAAC,EAAE,CAAC;KAC1C,CAAC;;+CACmB;AAcb;IAZP,IAAA,aAAM,GAAE;IACR,IAAA,mBAAQ,GAAE;IACV,IAAA,mBAAQ,GAAE;IACV,IAAA,eAAQ,GAAE;IACV,IAAA,iBAAU,GAAE;IACZ,IAAA,oBAAS,EAAC,KAAK,CAAC;IAChB,IAAA,iBAAM,EAAC,qBAAU,CAAC,SAAS,CAAC;IAC5B,IAAA,aAAM,EAAC;QACN,IAAI,EAAE,kCAAkC;QACxC,IAAI,EAAE,IAAI,gCAAgB,CAAC,UAAU,CAAC,EAAE,CAAC;QACzC,gBAAgB,EAAE,WAAW;KAC9B,CAAC;;+CACmB;AAUb;IARP,IAAA,mBAAQ,GAAE;IACV,IAAA,eAAQ,GAAE;IACV,IAAA,iBAAM,EAAC,qBAAU,CAAC,SAAS,CAAC;IAC5B,IAAA,aAAM,EAAC;QACN,IAAI,EAAE,sCAAsC;QAC5C,IAAI,EAAE,IAAI,iCAAoB,EAAE;QAChC,UAAU,EAAE,IAAI;KACjB,CAAC;;mDACuB;AAYjB;IAVP,IAAA,mBAAQ,GAAE;IACV,IAAA,mBAAQ,GAAE;IACV,IAAA,eAAQ,GAAE;IACV,IAAA,iBAAM,EAAC,qBAAU,CAAC,QAAQ,CAAC;IAC3B,IAAA,aAAM,EAAC;QACN,IAAI,EAAE,oCAAoC;QAC1C,IAAI,EAAE,IAAI,gCAAgB,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;QAC9D,UAAU,EAAE,IAAI;QAChB,gBAAgB,EAAE,eAAe;KAClC,CAAC;;iDACqB;AAWf;IATP,IAAA,mBAAQ,GAAE;IACV,IAAA,mBAAQ,GAAE;IACV,IAAA,eAAQ,GAAE;IACV,IAAA,iBAAM,EAAC,qBAAU,CAAC,QAAQ,CAAC;IAC3B,IAAA,aAAM,EAAC;QACN,IAAI,EAAE,uCAAuC;QAC7C,IAAI,EAAE,IAAI,gCAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvC,gBAAgB,EAAE,eAAe;KAClC,CAAC;8BACiB,IAAI;oDAAC;AAUhB;IARP,IAAA,mBAAQ,GAAE;IACV,IAAA,eAAQ,GAAE;IACV,IAAA,iBAAM,EAAC,qBAAU,CAAC,QAAQ,CAAC;IAC3B,IAAA,aAAM,EAAC;QACN,IAAI,EAAE,qCAAqC;QAC3C,IAAI,EAAE,IAAI,gCAAgB,CAAC,UAAU,CAAC,EAAE,CAAC;QACzC,gBAAgB,EAAE,eAAe;KAClC,CAAC;;kDACsB;AAUhB;IARP,IAAA,mBAAQ,GAAE;IACV,IAAA,eAAQ,GAAE;IACV,IAAA,iBAAM,EAAC,qBAAU,CAAC,QAAQ,CAAC;IAC3B,IAAA,aAAM,EAAC;QACN,IAAI,EAAE,uCAAuC;QAC7C,IAAI,EAAE,IAAI,gCAAgB,CAAC,UAAU,CAAC,EAAE,CAAC;QACzC,gBAAgB,EAAE,eAAe;KAClC,CAAC;;oDACwB;4BA7Ff,iBAAiB;IAD7B,IAAA,2CAAsB,GAAE;GACZ,iBAAiB,CA8F7B"}
1
+ {"version":3,"file":"templates-table.js","sourceRoot":"","sources":["../../src/data/templates-table.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { MailingSend } from "../tables";
2
2
  type NewSend = Omit<MailingSend, "_id" | "createdAt" | "revision" | "isRetiring" | "lastActivityAt">;
3
+ export type SendSummary = Omit<MailingSend, "json_variables">;
3
4
  type SendActivity = Pick<MailingSend, "status" | "opens" | "clicks" | "lastEventAt" | "provider">;
4
5
  declare const SendModel_base: {
5
6
  new (database: import("@antelopejs/interface-database").SchemaInstance<any>): {
@@ -23,7 +24,7 @@ export declare class SendModel extends SendModel_base {
23
24
  insertSend(send: NewSend): Promise<string[]>;
24
25
  getSnapshot(sendId: string): Promise<MailingSend | undefined>;
25
26
  getByProviderMessageId(messageId: string): Promise<MailingSend | undefined>;
26
- listBetween(from: Date, to: Date): Promise<MailingSend[]>;
27
+ listBetween(from: Date, to: Date): Promise<SendSummary[]>;
27
28
  listOlderThan(limit: Date, pageSize: number): Promise<MailingSend[]>;
28
29
  retire(sendId: string, limit: Date): Promise<boolean>;
29
30
  deleteRetired(sendId: string): Promise<number>;
@@ -50,6 +50,7 @@ class SendModel extends (0, interface_database_decorators_1.BasicDataModel)(tabl
50
50
  return this.table
51
51
  .filter((row) => row.key("createdAt").ge(from))
52
52
  .filter((row) => row.key("createdAt").lt(to))
53
+ .without("json_variables")
53
54
  .run();
54
55
  }
55
56
  listOlderThan(limit, pageSize) {
@@ -1 +1 @@
1
- {"version":3,"file":"sends.model.js","sourceRoot":"","sources":["../../../src/db/models/sends.model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sends.model.js","sourceRoot":"","sources":["../../../src/db/models/sends.model.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AACzC,6FAA2E;AAK3E,sCAAkE;AAElE,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAC3B,MAAM,UAAU,GAAG,CAAC,CAAC;AAerB,SAAS,SAAS,CAAC,GAA4B,EAAE,KAAW;IAC1D,OAAO,GAAG;SACP,GAAG,CAAC,WAAW,CAAC;SAChB,EAAE,CAAC,KAAK,CAAC;SACT,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;SACnC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;SACnE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,UAAU,CAAC,IAAiB,EAAE,KAAW;IAChD,OAAO,CACL,IAAI,CAAC,MAAM,KAAK,QAAQ;QACxB,IAAI,CAAC,SAAS,GAAG,KAAK;QACtB,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,KAAK;QAC5C,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,KAAK,CAChD,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,OAA8B;IAChD,IAAI,OAAO,KAAK,SAAS;QACvB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,OAAO,OAAO,KAAK,SAAS,CAAC;AAC/B,CAAC;AAED,MAAa,SAAU,SAAQ,IAAA,8CAAc,EAC3C,oBAAW,EACX,iCAAwB,CACzB;IAEC,UAAU,CAAC,IAAa;QACtB,OAAO,IAAI,CAAC,KAAK;aACd,MAAM,CAAC;YACN,GAAG,IAAI;YACP,GAAG,EAAE,IAAA,wBAAU,GAAE;YACjB,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,QAAQ,EAAE,IAAA,wBAAU,GAAE;SACvB,CAAC;aACD,GAAG,EAAE,CAAC;IACX,CAAC;IAGD,WAAW,CAAC,MAAc;QACxB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,SAAiB;QAEjB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK;aAC1B,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC;aACtC,KAAK,CAAC,gBAAgB,EAAE,UAAU,CAAC;aACnC,GAAG,EAAE,CAAC;QACT,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,WAAW,CAAC,IAAU,EAAE,EAAQ;QAC9B,OAAO,IAAI,CAAC,KAAK;aACd,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;aAC9C,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aAC5C,OAAO,CAAC,gBAAgB,CAAC;aACzB,GAAG,EAA4B,CAAC;IACrC,CAAC;IAED,aAAa,CAAC,KAAW,EAAE,QAAgB;QACzC,OAAO,IAAI,CAAC,KAAK;aACd,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;aACzE,KAAK,CAAC,gBAAgB,EAAE,QAAQ,CAAC;aACjC,GAAG,EAAE,CAAC;IACX,CAAC;IAGD,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,KAAW;QACtC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QACxB,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QACjC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAC3C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK;aAC7B,cAAc,CAAC,MAAM,EAAE;YACtB,IAAI,EAAE,QAAQ;YACd,aAAa,EAAE,UAAU;YACzB,gBAAgB,EAAE,IAAI,CAAC,QAAQ;YAC/B,YAAY,EAAE,IAAA,wBAAU,GAAE;YAC1B,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE;SAC5B,CAAC;aACD,GAAG,EAAE,CAAC;QACT,IAAI,UAAU,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;QACrC,OAAO,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IACvD,CAAC;IAGD,KAAK,CAAC,aAAa,CAAC,MAAc;QAChC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,EAAE,UAAU;YAAE,OAAO,CAAC,CAAC;QAChC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK;aAC7B,cAAc,CAAC,MAAM,EAAE;YACtB,IAAI,EAAE,QAAQ;YACd,aAAa,EAAE,UAAU;YACzB,gBAAgB,EAAE,IAAI,CAAC,QAAQ;SAChC,CAAC;aACD,GAAG,EAAE,CAAC;QACT,OAAO,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IACrC,CAAC;IAGD,KAAK,CAAC,cAAc,CAClB,IAAiB,EACjB,OAAqB;QAErB,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO,KAAK,CAAC;QAClC,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAC9B,MAAM,CAAC,OAAO,CAAC;YACb,GAAG,OAAO;YACV,cAAc,EAAE,IAAI,IAAI,EAAE;SAC3B,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAC9C,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK;aAC7B,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE;YACxB,IAAI,EAAE,QAAQ;YACd,aAAa,EAAE,UAAU;YACzB,gBAAgB,EAAE,IAAI,CAAC,QAAQ;YAC/B,YAAY,EAAE,IAAA,wBAAU,GAAE;YAC1B,KAAK;SACN,CAAC;aACD,GAAG,EAAE,CAAC;QACT,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;CACF;AAtGD,8BAsGC"}
@@ -18,6 +18,6 @@ declare const SettingsModel_base: {
18
18
  validate(obj: unknown, options?: import("@antelopejs/interface-database-decorators").ValidateInputOptions): import("@antelopejs/interface-database-decorators").ValidationResult;
19
19
  };
20
20
  export declare class SettingsModel extends SettingsModel_base {
21
- getSingleton(): Promise<MailingSettings | undefined>;
21
+ getSingleton(tenantId: string): Promise<MailingSettings | undefined>;
22
22
  }
23
23
  export {};
@@ -4,7 +4,10 @@ exports.SettingsModel = void 0;
4
4
  const interface_database_decorators_1 = require("@antelopejs/interface-database-decorators");
5
5
  const tables_1 = require("../tables");
6
6
  class SettingsModel extends (0, interface_database_decorators_1.BasicDataModel)(tables_1.MailingSettings, tables_1.MAILING_SETTINGS_TABLE_NAME) {
7
- async getSingleton() {
7
+ async getSingleton(tenantId) {
8
+ const keyed = await this.get(tenantId);
9
+ if (keyed)
10
+ return keyed;
8
11
  const rows = await this.getAll();
9
12
  return rows[0];
10
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"settings.model.js","sourceRoot":"","sources":["../../../src/db/models/settings.model.ts"],"names":[],"mappings":";;;AAAA,6FAA2E;AAC3E,sCAAyE;AAEzE,MAAa,aAAc,SAAQ,IAAA,8CAAc,EAC/C,wBAAe,EACf,oCAA2B,CAC5B;IACC,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;CACF;AARD,sCAQC"}
1
+ {"version":3,"file":"settings.model.js","sourceRoot":"","sources":["../../../src/db/models/settings.model.ts"],"names":[],"mappings":";;;AAAA,6FAA2E;AAC3E,sCAAyE;AAEzE,MAAa,aAAc,SAAQ,IAAA,8CAAc,EAC/C,wBAAe,EACf,oCAA2B,CAC5B;IAKC,KAAK,CAAC,YAAY,CAAC,QAAgB;QACjC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;QACxB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;CACF;AAdD,sCAcC"}
@@ -30,7 +30,6 @@ __decorate([
30
30
  __metadata("design:type", String)
31
31
  ], MailingSendEvent.prototype, "type", void 0);
32
32
  __decorate([
33
- (0, interface_database_decorators_1.Index)(),
34
33
  (0, interface_database_decorators_1.Field)("date"),
35
34
  __metadata("design:type", Date)
36
35
  ], MailingSendEvent.prototype, "at", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"send-events.table.js","sourceRoot":"","sources":["../../../src/db/tables/send-events.table.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6FAKmD;AACnD,mEAAyE;AAG5D,QAAA,8BAA8B,GAAG,qBAAqB,CAAC;AAG7D,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,qCAAK;CAkB1C,CAAA;AAlBY,4CAAgB;AAEnB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;6CACI;AAIZ;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;gDACO;AAGf;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;8CACY;AAIpB;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACF,IAAI;4CAAC;AAIT;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;sDACa;2BAjBlB,gBAAgB;IAD5B,IAAA,6CAAa,EAAC,sCAA8B,EAAE,8BAAkB,CAAC;GACrD,gBAAgB,CAkB5B"}
1
+ {"version":3,"file":"send-events.table.js","sourceRoot":"","sources":["../../../src/db/tables/send-events.table.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6FAKmD;AACnD,mEAAyE;AAG5D,QAAA,8BAA8B,GAAG,qBAAqB,CAAC;AAG7D,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,qCAAK;CAiB1C,CAAA;AAjBY,4CAAgB;AAEnB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;6CACI;AAIZ;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;gDACO;AAGf;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;8CACY;AAGpB;IADP,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACF,IAAI;4CAAC;AAIT;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;sDACa;2BAhBlB,gBAAgB;IAD5B,IAAA,6CAAa,EAAC,sCAA8B,EAAE,8BAAkB,CAAC;GACrD,gBAAgB,CAiB5B"}
@@ -27,7 +27,6 @@ __decorate([
27
27
  __metadata("design:type", Date)
28
28
  ], MailingSend.prototype, "createdAt", void 0);
29
29
  __decorate([
30
- (0, interface_database_decorators_1.Index)(),
31
30
  (0, interface_database_decorators_1.Field)("string"),
32
31
  __metadata("design:type", String)
33
32
  ], MailingSend.prototype, "templateId", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"sends.table.js","sourceRoot":"","sources":["../../../src/db/tables/sends.table.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6FAMmD;AACnD,mEAAyE;AAG5D,QAAA,wBAAwB,GAAG,eAAe,CAAC;AAGjD,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,qCAAK;CAuErC,CAAA;AAvEY,kCAAW;AAEd;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;wCACI;AAKZ;IAHP,IAAA,qCAAK,GAAE;IACP,IAAA,4CAAY,GAAE;IACd,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACK,IAAI;8CAAC;AAIhB;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;+CACW;AAInB;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;iDACa;AAGrB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;2CACO;AAIf;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;mDACe;AAGvB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;kDACe;AAIvB;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;2CACW;AAGnB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;6CACU;AAIlB;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;sDACmB;AAG3B;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;8CACU;AAGlB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;0CACO;AAGf;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;2CACQ;AAIhB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;mDACe;AAGvB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;0CACM;AAGd;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;2CACO;AAGf;IADP,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACQ,IAAI;gDAAC;AAGnB;IADP,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACW,IAAI;mDAAC;AAGtB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;6CACS;AAGjB;IADP,IAAA,qCAAK,EAAC,SAAS,CAAC;;+CACY;AAGrB;IADP,IAAA,qCAAK,EAAC,SAAS,CAAC;;2CACO;sBAtEb,WAAW;IADvB,IAAA,6CAAa,EAAC,gCAAwB,EAAE,8BAAkB,CAAC;GAC/C,WAAW,CAuEvB"}
1
+ {"version":3,"file":"sends.table.js","sourceRoot":"","sources":["../../../src/db/tables/sends.table.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6FAMmD;AACnD,mEAAyE;AAG5D,QAAA,wBAAwB,GAAG,eAAe,CAAC;AAGjD,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,qCAAK;CAsErC,CAAA;AAtEY,kCAAW;AAEd;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;wCACI;AAKZ;IAHP,IAAA,qCAAK,GAAE;IACP,IAAA,4CAAY,GAAE;IACd,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACK,IAAI;8CAAC;AAGhB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;+CACW;AAInB;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;iDACa;AAGrB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;2CACO;AAIf;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;mDACe;AAGvB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;kDACe;AAIvB;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;2CACW;AAGnB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;6CACU;AAIlB;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;sDACmB;AAG3B;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;8CACU;AAGlB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;0CACO;AAGf;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;2CACQ;AAIhB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;mDACe;AAGvB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;0CACM;AAGd;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;2CACO;AAGf;IADP,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACQ,IAAI;gDAAC;AAGnB;IADP,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACW,IAAI;mDAAC;AAGtB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;6CACS;AAGjB;IADP,IAAA,qCAAK,EAAC,SAAS,CAAC;;+CACY;AAGrB;IADP,IAAA,qCAAK,EAAC,SAAS,CAAC;;2CACO;sBArEb,WAAW;IADvB,IAAA,6CAAa,EAAC,gCAAwB,EAAE,8BAAkB,CAAC;GAC/C,WAAW,CAsEvB"}
@@ -21,7 +21,6 @@ __decorate([
21
21
  __metadata("design:type", String)
22
22
  ], MailingTemplate.prototype, "_id", void 0);
23
23
  __decorate([
24
- (0, interface_database_decorators_1.Index)(),
25
24
  (0, interface_database_decorators_1.CreationTime)(),
26
25
  (0, interface_database_decorators_1.Field)("date"),
27
26
  __metadata("design:type", Date)
@@ -1 +1 @@
1
- {"version":3,"file":"templates.table.js","sourceRoot":"","sources":["../../../src/db/tables/templates.table.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6FAOmD;AACnD,mEAAyE;AAG5D,QAAA,4BAA4B,GAAG,mBAAmB,CAAC;AAGzD,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,qCAAK;CAuDzC,CAAA;AAvDY,0CAAe;AAElB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;4CACI;AAKZ;IAHP,IAAA,qCAAK,GAAE;IACP,IAAA,4CAAY,GAAE;IACd,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACK,IAAI;kDAAC;AAKhB;IAHP,IAAA,qCAAK,GAAE;IACP,IAAA,0CAAU,GAAE;IACZ,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACK,IAAI;kDAAC;AAIhB;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;6CACK;AAGb;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;6CACK;AAIb;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;iDACS;AAIjB;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;+CACe;AAIvB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;qDACa;AAIrB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;uDACe;AAIvB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;uDACe;AASvB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;gDACQ;AAGhB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;kDACU;AAGlB;IADP,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACQ,IAAI;oDAAC;0BAtDhB,eAAe;IAD3B,IAAA,6CAAa,EAAC,oCAA4B,EAAE,8BAAkB,CAAC;GACnD,eAAe,CAuD3B"}
1
+ {"version":3,"file":"templates.table.js","sourceRoot":"","sources":["../../../src/db/tables/templates.table.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6FAOmD;AACnD,mEAAyE;AAG5D,QAAA,4BAA4B,GAAG,mBAAmB,CAAC;AAGzD,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,qCAAK;CAsDzC,CAAA;AAtDY,0CAAe;AAElB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;4CACI;AAIZ;IAFP,IAAA,4CAAY,GAAE;IACd,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACK,IAAI;kDAAC;AAKhB;IAHP,IAAA,qCAAK,GAAE;IACP,IAAA,0CAAU,GAAE;IACZ,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACK,IAAI;kDAAC;AAIhB;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;6CACK;AAGb;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;6CACK;AAIb;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;iDACS;AAIjB;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;+CACe;AAIvB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;qDACa;AAIrB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;uDACe;AAIvB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;uDACe;AASvB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;gDACQ;AAGhB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;kDACU;AAGlB;IADP,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACQ,IAAI;oDAAC;0BArDhB,eAAe;IAD3B,IAAA,6CAAa,EAAC,oCAA4B,EAAE,8BAAkB,CAAC;GACnD,eAAe,CAsD3B"}
@@ -36,7 +36,7 @@ async function* jsonArrayChunks(load, signal, pageSize = exports.TENANT_EXPORT_P
36
36
  yield ARRAY_CLOSE;
37
37
  }
38
38
  async function exportedSettings(tenantId) {
39
- const row = await (0, interface_database_decorators_1.GetModel)(db_1.SettingsModel, tenantId).getSingleton();
39
+ const row = await (0, interface_database_decorators_1.GetModel)(db_1.SettingsModel, tenantId).getSingleton(tenantId);
40
40
  if (!row)
41
41
  return null;
42
42
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"tenant-export.js","sourceRoot":"","sources":["../../src/hooks/tenant-export.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tenant-export.js","sourceRoot":"","sources":["../../src/hooks/tenant-export.ts"],"names":[],"mappings":";;;AA0CA,0CAmBC;AAgCD,kDASC;AAkBD,oDAEC;AAED,wDAEC;AA9HD,6CAAuC;AAEvC,6FAAqE;AACrE,2DAMyC;AACzC,4CAAyC;AACzC,8BAAqD;AAoBxC,QAAA,uBAAuB,GAAG,GAAG,CAAC;AAE3C,MAAM,eAAe,GAAG,gBAAgB,CAAC;AACzC,MAAM,cAAc,GAAG,eAAe,CAAC;AAEvC,MAAM,UAAU,GAAG,GAAG,CAAC;AACvB,MAAM,WAAW,GAAG,GAAG,CAAC;AACxB,MAAM,aAAa,GAAG,GAAG,CAAC;AAC1B,MAAM,YAAY,GAAG,EAAE,CAAC;AACxB,MAAM,YAAY,GAAG,CAAC,CAAC;AAEhB,KAAK,SAAS,CAAC,CAAC,eAAe,CACpC,IAAyB,EACzB,MAAmB,EACnB,WAAmB,+BAAuB;IAE1C,MAAM,UAAU,CAAC;IACjB,IAAI,MAAM,GAAG,YAAY,CAAC;IAC1B,IAAI,SAAS,GAAG,YAAY,CAAC;IAC7B,SAAS,CAAC;QACR,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC1C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3C,SAAS,GAAG,aAAa,CAAC;QAC5B,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,GAAG,QAAQ;YAAE,MAAM;QAClC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;IACxB,CAAC;IACD,MAAM,WAAW,CAAC;AACpB,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,QAAgB;IAEhB,MAAM,GAAG,GAAG,MAAM,IAAA,wCAAQ,EAAC,kBAAa,EAAE,QAAQ,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC3E,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,OAAO;QACL,cAAc,EAAE,GAAG,CAAC,cAAc;QAClC,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;QACtC,uBAAuB,EAAE,GAAG,CAAC,uBAAuB;QACpD,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,UAAU,EAAE,IAAI,CAAC,KAAK,CACpB,GAAG,CAAC,eAAe,CACc;KACpC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,QAAQ,CACrB,KAAe,EACf,KAAkB,EAClB,MAAc,EACd,IAAY;IAEZ,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;IACnD,OAAO,IAAI;SACR,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;SACrC,MAAM,CAAC,CAAC,GAAG,EAAY,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;AAClD,CAAC;AAED,SAAgB,mBAAmB,CAAC,QAAgB;IAClD,MAAM,SAAS,GAAG,IAAA,wCAAQ,EAAC,kBAAa,EAAE,QAAQ,CAAC,CAAC;IACpD,OAAO;QACL;YACE,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CACrB,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,kBAAa,EAAE,MAAM,EAAE,IAAI,CAAC;SACzD;KACF,CAAC;AACJ,CAAC;AAEM,MAAM,sBAAsB,GAE/B,KAAK,EAAE,QAAQ,EAAE,OAA4B,EAAE,MAAmB,EAAE,EAAE;IACxE,KAAK,MAAM,UAAU,IAAI,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvD,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,MAAM,OAAO,CAAC,SAAS,CACrB,UAAU,CAAC,KAAK,EAChB,sBAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE;YACtD,UAAU,EAAE,KAAK;SAClB,CAAC,CACH,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,cAAc,EAAE,CAAC;IACxB,MAAM,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC1E,CAAC,CAAC;AAdW,QAAA,sBAAsB,0BAcjC;AAEF,SAAgB,oBAAoB;IAClC,IAAA,2CAAmC,EAAC,qBAAS,EAAE,8BAAsB,CAAC,CAAC;AACzE,CAAC;AAED,SAAgB,sBAAsB;IACpC,IAAA,sBAAc,EAAC,YAAI,CAAC,kBAAkB,EAAE,8BAAsB,CAAC,CAAC;AAClE,CAAC"}
@@ -34,8 +34,8 @@ class MailingEventsController extends (0, interface_api_1.Controller)(`${constan
34
34
  async receive(provider, secret, body) {
35
35
  const event = (0, interface_api_util_1.assertValidation)(body, (value) => eventSchema.parse(value));
36
36
  const tenantId = event.tenantId ?? (0, request_tenant_1.getRequestTenantId)(this.ctx);
37
- const settings = await (0, settings_1.getSettings)(tenantId);
38
- (0, interface_api_util_1.assert)((0, events_1.webhookSecretMatches)(secret, settings.webhookSecret), constants_1.HTTP_FORBIDDEN, BAD_SECRET);
37
+ const settings = await (0, settings_1.findSettings)(tenantId);
38
+ (0, interface_api_util_1.assert)((0, events_1.webhookSecretMatches)(secret, settings?.webhookSecret), constants_1.HTTP_FORBIDDEN, BAD_SECRET);
39
39
  const recorded = await (0, events_1.recordEmailEvent)(tenantId, {
40
40
  provider,
41
41
  messageId: event.messageId,
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/routes/events.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6DAOmC;AACnC,uEAA0E;AAC1E,6EAA8E;AAC9E,6BAAwB;AACxB,4CAA6D;AAC7D,+CAA4E;AAC5E,mDAAmD;AACnD,oCAA0D;AAE1D,MAAM,aAAa,GAAG,0BAA0B,CAAC;AACjD,MAAM,UAAU,GAAG,wCAAwC,CAAC;AAE5D,MAAM,WAAW,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3B,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC,qBAA8C,CAAC;IAC5D,EAAE,EAAE,OAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IAC9B,OAAO,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IACzC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AAEH,MAAa,uBAAwB,SAAQ,IAAA,0BAAU,EACrD,GAAG,yBAAa,SAAS,CAC1B;IAKO,AAAN,KAAK,CAAC,OAAO,CACqB,QAAgB,EACZ,MAA0B,EAClD,IAAa;QAEzB,MAAM,KAAK,GAAG,IAAA,qCAAgB,EAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1E,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,IAAA,mCAAkB,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAW,EAAC,QAAQ,CAAC,CAAC;QAC7C,IAAA,2BAAM,EACJ,IAAA,6BAAoB,EAAC,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,EACpD,0BAAc,EACd,UAAU,CACX,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,IAAA,yBAAgB,EAAC,QAAQ,EAAE;YAChD,QAAQ;YACR,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;QACH,OAAO,EAAE,QAAQ,EAAE,CAAC;IACtB,CAAC;CACF;AA7BD,0DA6BC;AAzBS;IADP,IAAA,uBAAO,GAAE;;oDACkB;AAGtB;IADL,IAAA,oBAAI,EAAC,YAAY,CAAC;IAEhB,WAAA,IAAA,yBAAS,EAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IAC9B,WAAA,IAAA,yBAAS,EAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;IAClC,WAAA,IAAA,wBAAQ,GAAE,CAAA;;;;sDAkBZ"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/routes/events.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6DAOmC;AACnC,uEAA0E;AAC1E,6EAA8E;AAC9E,6BAAwB;AACxB,4CAA6D;AAC7D,+CAA4E;AAC5E,mDAAoD;AACpD,oCAA0D;AAE1D,MAAM,aAAa,GAAG,0BAA0B,CAAC;AACjD,MAAM,UAAU,GAAG,wCAAwC,CAAC;AAE5D,MAAM,WAAW,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3B,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC,qBAA8C,CAAC;IAC5D,EAAE,EAAE,OAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IAC9B,OAAO,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IACzC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AAEH,MAAa,uBAAwB,SAAQ,IAAA,0BAAU,EACrD,GAAG,yBAAa,SAAS,CAC1B;IAKO,AAAN,KAAK,CAAC,OAAO,CACqB,QAAgB,EACZ,MAA0B,EAClD,IAAa;QAEzB,MAAM,KAAK,GAAG,IAAA,qCAAgB,EAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1E,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,IAAA,mCAAkB,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,MAAM,IAAA,uBAAY,EAAC,QAAQ,CAAC,CAAC;QAC9C,IAAA,2BAAM,EACJ,IAAA,6BAAoB,EAAC,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,EACrD,0BAAc,EACd,UAAU,CACX,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,IAAA,yBAAgB,EAAC,QAAQ,EAAE;YAChD,QAAQ;YACR,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;QACH,OAAO,EAAE,QAAQ,EAAE,CAAC;IACtB,CAAC;CACF;AA7BD,0DA6BC;AAzBS;IADP,IAAA,uBAAO,GAAE;;oDACkB;AAGtB;IADL,IAAA,oBAAI,EAAC,YAAY,CAAC;IAEhB,WAAA,IAAA,yBAAS,EAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IAC9B,WAAA,IAAA,yBAAS,EAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;IAClC,WAAA,IAAA,wBAAQ,GAAE,CAAA;;;;sDAkBZ"}
@@ -14,19 +14,22 @@ function parseDate(raw) {
14
14
  const parsed = new Date(raw);
15
15
  return Number.isNaN(parsed.getTime()) ? undefined : parsed;
16
16
  }
17
+ function clampToMaxWindow(requested, to) {
18
+ const earliest = to.getTime() - constants_1.MAX_WINDOW_DAYS * DAY_MS;
19
+ const from = requested.getTime() < earliest ? new Date(earliest) : requested;
20
+ return { from, to };
21
+ }
17
22
  function currentRange(ctx) {
18
23
  const to = parseDate(readQuery(ctx, "to")) ?? new Date();
19
24
  const requested = parseDate(readQuery(ctx, "from")) ??
20
25
  new Date(to.getTime() - DEFAULT_WINDOW_DAYS * DAY_MS);
21
- const earliest = to.getTime() - constants_1.MAX_WINDOW_DAYS * DAY_MS;
22
- const from = requested.getTime() < earliest ? new Date(earliest) : requested;
23
- return { from, to };
26
+ return clampToMaxWindow(requested, to);
24
27
  }
25
28
  function comparisonRange(ctx, current) {
26
29
  const from = parseDate(readQuery(ctx, "compareFrom"));
27
30
  const to = parseDate(readQuery(ctx, "compareTo"));
28
31
  if (from && to)
29
- return { from, to };
32
+ return clampToMaxWindow(from, to);
30
33
  const span = current.to.getTime() - current.from.getTime();
31
34
  return {
32
35
  from: new Date(current.from.getTime() - span),
@@ -1 +1 @@
1
- {"version":3,"file":"period.js","sourceRoot":"","sources":["../../src/routes/period.ts"],"names":[],"mappings":";;AAuBA,oCAQC;AAED,0CAYC;AAtCD,4CAA+C;AAG/C,MAAM,MAAM,GAAG,UAAU,CAAC;AAC1B,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAE/B,SAAS,SAAS,CAAC,GAAiB,EAAE,GAAW;IAC/C,OAAO,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC;AACpD,CAAC;AAED,SAAS,SAAS,CAAC,GAAuB;IACxC,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;AAC7D,CAAC;AAED,SAAgB,YAAY,CAAC,GAAiB;IAC5C,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;IACzD,MAAM,SAAS,GACb,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACjC,IAAI,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,mBAAmB,GAAG,MAAM,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,2BAAe,GAAG,MAAM,CAAC;IACzD,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7E,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AACtB,CAAC;AAED,SAAgB,eAAe,CAC7B,GAAiB,EACjB,OAAkB;IAElB,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC;IACtD,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;IAClD,IAAI,IAAI,IAAI,EAAE;QAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACpC,MAAM,IAAI,GAAG,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IAC3D,OAAO;QACL,IAAI,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;QAC7C,EAAE,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;KACrC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"period.js","sourceRoot":"","sources":["../../src/routes/period.ts"],"names":[],"mappings":";;AA8BA,oCAMC;AAED,0CAYC;AA3CD,4CAA+C;AAG/C,MAAM,MAAM,GAAG,UAAU,CAAC;AAC1B,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAE/B,SAAS,SAAS,CAAC,GAAiB,EAAE,GAAW;IAC/C,OAAO,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC;AACpD,CAAC;AAED,SAAS,SAAS,CAAC,GAAuB;IACxC,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;AAC7D,CAAC;AAGD,SAAS,gBAAgB,CAAC,SAAe,EAAE,EAAQ;IACjD,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,2BAAe,GAAG,MAAM,CAAC;IACzD,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7E,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AACtB,CAAC;AAED,SAAgB,YAAY,CAAC,GAAiB;IAC5C,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;IACzD,MAAM,SAAS,GACb,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACjC,IAAI,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,mBAAmB,GAAG,MAAM,CAAC,CAAC;IACxD,OAAO,gBAAgB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AACzC,CAAC;AAED,SAAgB,eAAe,CAC7B,GAAiB,EACjB,OAAkB;IAElB,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC;IACtD,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;IAClD,IAAI,IAAI,IAAI,EAAE;QAAE,OAAO,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IAC3D,OAAO;QACL,IAAI,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;QAC7C,EAAE,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;KACrC,CAAC;AACJ,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { MailingSend, MailingTemplate } from "../db";
1
+ import type { SendSummary, MailingTemplate } from "../db";
2
2
  export type AttentionTone = "error" | "warning" | "neutral";
3
3
  export interface AttentionItem {
4
4
  id: string;
@@ -11,8 +11,8 @@ export interface AttentionItem {
11
11
  }
12
12
  export interface AttentionWindow {
13
13
  templates: MailingTemplate[];
14
- sends: MailingSend[];
15
- excluded: MailingSend[];
14
+ sends: SendSummary[];
15
+ excluded: SendSummary[];
16
16
  tracking: ProviderTracking | null;
17
17
  }
18
18
  export interface ProviderTracking {
@@ -7,4 +7,4 @@ export interface SendCounters {
7
7
  }
8
8
  export declare function applyEvent(current: SendCounters, type: SendEventType): SendCounters;
9
9
  export declare function recordEmailEvent(tenantId: string, event: EmailEvent): Promise<boolean>;
10
- export declare function webhookSecretMatches(provided: string | undefined, stored: string): boolean;
10
+ export declare function webhookSecretMatches(provided: string | undefined, stored: string | undefined): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/services/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/services/events.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import type { MailingSend } from "../db";
1
+ import type { SendSummary } from "../db";
2
2
  import { type SendAudience } from "../types";
3
3
  export declare function readAudience(raw: string | null | undefined): SendAudience;
4
- export declare function forAudience(sends: MailingSend[], audience: SendAudience): MailingSend[];
4
+ export declare function forAudience(sends: SendSummary[], audience: SendAudience): SendSummary[];
5
5
  export interface Totals {
6
6
  sends: number;
7
7
  queued: number;
@@ -27,8 +27,8 @@ export interface DateRange {
27
27
  to: Date;
28
28
  }
29
29
  export declare const ratio: (part: number, whole: number) => number;
30
- export declare function aggregate(sends: MailingSend[]): Totals;
30
+ export declare function aggregate(sends: SendSummary[]): Totals;
31
31
  export declare function deltaPercent(current: number, previous: number): number;
32
- export declare function dailySeries(sends: MailingSend[], from: Date, to: Date): SeriesPoint[];
32
+ export declare function dailySeries(sends: SendSummary[], from: Date, to: Date): SeriesPoint[];
33
33
  export declare function domainOf(email: string): string;
34
34
  export declare function groupBy<T>(items: T[], key: (item: T) => string): Map<string, T[]>;
@@ -1,4 +1,5 @@
1
1
  import { type MailingSettingsValues, type TemplateCategory } from "../types";
2
+ export declare function findSettings(tenantId: string): Promise<MailingSettingsValues | undefined>;
2
3
  export declare function getSettings(tenantId: string): Promise<MailingSettingsValues>;
3
4
  export declare function saveSettings(tenantId: string, values: MailingSettingsValues): Promise<MailingSettingsValues>;
4
5
  export declare function findCategory(categories: TemplateCategory[], id: string): TemplateCategory | undefined;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.findSettings = findSettings;
3
4
  exports.getSettings = getSettings;
4
5
  exports.saveSettings = saveSettings;
5
6
  exports.findCategory = findCategory;
@@ -37,22 +38,38 @@ function toRow(values) {
37
38
  const { categories, ...rest } = values;
38
39
  return { ...rest, json_categories: JSON.stringify(categories) };
39
40
  }
40
- async function getSettings(tenantId) {
41
+ async function findSettings(tenantId) {
42
+ const existing = await (0, interface_database_decorators_1.GetModel)(db_1.SettingsModel, tenantId).getSingleton(tenantId);
43
+ return existing ? toValues(existing) : undefined;
44
+ }
45
+ async function insertKeyedSettings(tenantId, values) {
41
46
  const model = (0, interface_database_decorators_1.GetModel)(db_1.SettingsModel, tenantId);
42
- const existing = await model.getSingleton();
47
+ try {
48
+ await model.insert({ ...toRow(values), _id: tenantId });
49
+ return true;
50
+ }
51
+ catch (error) {
52
+ if (await model.get(tenantId))
53
+ return false;
54
+ throw error;
55
+ }
56
+ }
57
+ async function getSettings(tenantId) {
58
+ const existing = await findSettings(tenantId);
43
59
  if (existing)
44
- return toValues(existing);
60
+ return existing;
45
61
  const created = defaults();
46
- await model.insert(toRow(created));
47
- return created;
62
+ if (await insertKeyedSettings(tenantId, created))
63
+ return created;
64
+ return (await findSettings(tenantId));
48
65
  }
49
66
  async function saveSettings(tenantId, values) {
50
67
  const model = (0, interface_database_decorators_1.GetModel)(db_1.SettingsModel, tenantId);
51
- const existing = await model.getSingleton();
68
+ const existing = await model.getSingleton(tenantId);
52
69
  if (existing)
53
70
  await model.update(existing._id, toRow(values));
54
- else
55
- await model.insert(toRow(values));
71
+ else if (!(await insertKeyedSettings(tenantId, values)))
72
+ await model.update(tenantId, toRow(values));
56
73
  return values;
57
74
  }
58
75
  function findCategory(categories, id) {
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/services/settings.ts"],"names":[],"mappings":";;AA8CA,kCASC;AAED,oCASC;AAED,oCAKC;AAzED,6CAA0C;AAC1C,6FAAqE;AACrE,4CAGsB;AACtB,8BAA4D;AAC5D,oCAIkB;AAElB,MAAM,YAAY,GAAG,EAAE,CAAC;AAExB,SAAS,QAAQ;IACf,OAAO;QACL,cAAc,EAAE,mCAAuB;QACvC,gBAAgB,EAAE,sCAA0B;QAC5C,uBAAuB,EAAE,KAAK;QAC9B,UAAU,EAAE,EAAE;QACd,WAAW,EAAE,EAAE;QACf,OAAO,EAAE,EAAE;QACX,aAAa,EAAE,IAAA,yBAAW,EAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QACxD,UAAU,EAAE,0BAAkB;KAC/B,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,GAAoB;IACpC,OAAO;QACL,cAAc,EAAE,GAAG,CAAC,cAAc;QAClC,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;QACtC,uBAAuB,EAAE,GAAG,CAAC,uBAAuB;QACpD,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAuB;KAClE,CAAC;AACJ,CAAC;AAED,SAAS,KAAK,CAAC,MAA6B;IAC1C,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IACvC,OAAO,EAAE,GAAG,IAAI,EAAE,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;AAClE,CAAC;AAEM,KAAK,UAAU,WAAW,CAC/B,QAAgB;IAEhB,MAAM,KAAK,GAAG,IAAA,wCAAQ,EAAC,kBAAa,EAAE,QAAQ,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,YAAY,EAAE,CAAC;IAC5C,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,QAAQ,EAAE,CAAC;IAC3B,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACnC,OAAO,OAAO,CAAC;AACjB,CAAC;AAEM,KAAK,UAAU,YAAY,CAChC,QAAgB,EAChB,MAA6B;IAE7B,MAAM,KAAK,GAAG,IAAA,wCAAQ,EAAC,kBAAa,EAAE,QAAQ,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,YAAY,EAAE,CAAC;IAC5C,IAAI,QAAQ;QAAE,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;;QACzD,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACvC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,YAAY,CAC1B,UAA8B,EAC9B,EAAU;IAEV,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/services/settings.ts"],"names":[],"mappings":"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"}
@@ -39,6 +39,7 @@ const http_1 = require("../helpers/http");
39
39
  const owner_1 = require("../helpers/owner");
40
40
  const HTTP_OK = 200;
41
41
  const HTTP_FORBIDDEN = 403;
42
+ const SECRET_LENGTH = 48;
42
43
  const TABLE = "/api/mailing/tables/templates";
43
44
  describe("[integration] events", () => {
44
45
  it("records a webhook event against the send that carries the provider message id", async () => {
@@ -103,6 +104,16 @@ describe("[integration] events", () => {
103
104
  (0, chai_1.expect)(after.data.send.status).to.equal("delivered");
104
105
  });
105
106
  });
107
+ describe("[integration] webhook for a tenant without settings", () => {
108
+ it("refuses the event and stores nothing", async () => {
109
+ const { GetModel } = await Promise.resolve().then(() => __importStar(require("@antelopejs/interface-database-decorators")));
110
+ const { SettingsModel } = await Promise.resolve().then(() => __importStar(require("../../db")));
111
+ const tenantId = `unknown-tenant-${Date.now()}`;
112
+ const hook = await (0, http_1.createClient)().post("/api/mailing/events/manual", { messageId: "unknown-message", type: "opened", tenantId }, { headers: { "x-mailing-webhook-secret": "a".repeat(SECRET_LENGTH) } });
113
+ (0, chai_1.expect)(hook.status).to.equal(HTTP_FORBIDDEN);
114
+ (0, chai_1.expect)(await GetModel(SettingsModel, tenantId).getAll()).to.have.lengthOf(0);
115
+ });
116
+ });
106
117
  describe("[integration] send event purge", () => {
107
118
  it("deletes only the events of the send it targets", async () => {
108
119
  const { GetModel } = await Promise.resolve().then(() => __importStar(require("@antelopejs/interface-database-decorators")));
@@ -1 +1 @@
1
- {"version":3,"file":"events.test.js","sourceRoot":"","sources":["../../../src/test/integration/events.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.test.js","sourceRoot":"","sources":["../../../src/test/integration/events.test.ts"],"names":[],"mappings":"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"}