@comet/brevo-api 2.0.0-canary-20240527130411 → 2.0.0-canary-20240611123948

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 (73) hide show
  1. package/lib/brevo-api/brevo-api-campaigns.service.d.ts +19 -2
  2. package/lib/brevo-api/brevo-api-campaigns.service.d.ts.map +1 -1
  3. package/lib/brevo-api/brevo-api-campaigns.service.js +4 -4
  4. package/lib/brevo-api/brevo-api-campaigns.service.js.map +1 -1
  5. package/lib/brevo-api/brevo-api-contact.service.d.ts +6 -2
  6. package/lib/brevo-api/brevo-api-contact.service.d.ts.map +1 -1
  7. package/lib/brevo-api/brevo-api-contact.service.js +2 -2
  8. package/lib/brevo-api/brevo-api-contact.service.js.map +1 -1
  9. package/lib/brevo-api/brevo-api-sender.service.d.ts +9 -0
  10. package/lib/brevo-api/brevo-api-sender.service.d.ts.map +1 -0
  11. package/lib/brevo-api/brevo-api-sender.service.js +73 -0
  12. package/lib/brevo-api/brevo-api-sender.service.js.map +1 -0
  13. package/lib/brevo-api/brevo-api.module.d.ts.map +1 -1
  14. package/lib/brevo-api/brevo-api.module.js +3 -2
  15. package/lib/brevo-api/brevo-api.module.js.map +1 -1
  16. package/lib/brevo-api/dto/brevo-api-sender.d.ts +14 -0
  17. package/lib/brevo-api/dto/brevo-api-sender.d.ts.map +1 -0
  18. package/lib/brevo-api/dto/brevo-api-sender.js +57 -0
  19. package/lib/brevo-api/dto/brevo-api-sender.js.map +1 -0
  20. package/lib/brevo-config/brevo-config.module.d.ts +12 -0
  21. package/lib/brevo-config/brevo-config.module.d.ts.map +1 -0
  22. package/lib/brevo-config/brevo-config.module.js +29 -0
  23. package/lib/brevo-config/brevo-config.module.js.map +1 -0
  24. package/lib/brevo-config/brevo-config.resolver.d.ts +8 -0
  25. package/lib/brevo-config/brevo-config.resolver.d.ts.map +1 -0
  26. package/lib/brevo-config/brevo-config.resolver.js +130 -0
  27. package/lib/brevo-config/brevo-config.resolver.js.map +1 -0
  28. package/lib/brevo-config/dto/brevo-config.input.d.ts +7 -0
  29. package/lib/brevo-config/dto/brevo-config.input.d.ts.map +1 -0
  30. package/lib/{brevo-contact/dto/brevo-contact.input.js → brevo-config/dto/brevo-config.input.js} +24 -10
  31. package/lib/brevo-config/dto/brevo-config.input.js.map +1 -0
  32. package/lib/brevo-config/entities/brevo-config-entity.factory.d.ts +18 -0
  33. package/lib/brevo-config/entities/brevo-config-entity.factory.d.ts.map +1 -0
  34. package/lib/brevo-config/entities/brevo-config-entity.factory.js +71 -0
  35. package/lib/brevo-config/entities/brevo-config-entity.factory.js.map +1 -0
  36. package/lib/brevo-contact/brevo-contact.module.d.ts +4 -3
  37. package/lib/brevo-contact/brevo-contact.module.d.ts.map +1 -1
  38. package/lib/brevo-contact/brevo-contact.module.js +12 -3
  39. package/lib/brevo-contact/brevo-contact.module.js.map +1 -1
  40. package/lib/brevo-contact/brevo-contact.resolver.d.ts +4 -1
  41. package/lib/brevo-contact/brevo-contact.resolver.d.ts.map +1 -1
  42. package/lib/brevo-contact/brevo-contact.resolver.js +40 -8
  43. package/lib/brevo-contact/brevo-contact.resolver.js.map +1 -1
  44. package/lib/brevo-contact/brevo-contacts.service.d.ts +5 -1
  45. package/lib/brevo-contact/brevo-contacts.service.d.ts.map +1 -1
  46. package/lib/brevo-contact/brevo-contacts.service.js +13 -7
  47. package/lib/brevo-contact/brevo-contacts.service.js.map +1 -1
  48. package/lib/brevo-contact/dto/brevo-contact-input.factory.d.ts +13 -0
  49. package/lib/brevo-contact/dto/brevo-contact-input.factory.d.ts.map +1 -0
  50. package/lib/brevo-contact/dto/brevo-contact-input.factory.js +72 -0
  51. package/lib/brevo-contact/dto/brevo-contact-input.factory.js.map +1 -0
  52. package/lib/brevo-module.d.ts.map +1 -1
  53. package/lib/brevo-module.js +8 -1
  54. package/lib/brevo-module.js.map +1 -1
  55. package/lib/config/brevo-module.config.d.ts +0 -4
  56. package/lib/config/brevo-module.config.d.ts.map +1 -1
  57. package/lib/email-campaign/email-campaign.module.d.ts +3 -1
  58. package/lib/email-campaign/email-campaign.module.d.ts.map +1 -1
  59. package/lib/email-campaign/email-campaign.module.js +2 -2
  60. package/lib/email-campaign/email-campaign.module.js.map +1 -1
  61. package/lib/email-campaign/email-campaigns.service.d.ts +3 -1
  62. package/lib/email-campaign/email-campaigns.service.d.ts.map +1 -1
  63. package/lib/email-campaign/email-campaigns.service.js +18 -3
  64. package/lib/email-campaign/email-campaigns.service.js.map +1 -1
  65. package/lib/target-group/target-groups.service.d.ts +5 -1
  66. package/lib/target-group/target-groups.service.d.ts.map +1 -1
  67. package/lib/target-group/target-groups.service.js +2 -5
  68. package/lib/target-group/target-groups.service.js.map +1 -1
  69. package/lib/tsconfig.build.tsbuildinfo +1 -1
  70. package/package.json +1 -1
  71. package/lib/brevo-contact/dto/brevo-contact.input.d.ts +0 -4
  72. package/lib/brevo-contact/dto/brevo-contact.input.d.ts.map +0 -1
  73. package/lib/brevo-contact/dto/brevo-contact.input.js.map +0 -1
@@ -9,18 +9,32 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.BrevoContactUpdateInput = void 0;
12
+ exports.BrevoConfigUpdateInput = exports.BrevoConfigInput = void 0;
13
13
  const graphql_1 = require("@nestjs/graphql");
14
14
  const class_validator_1 = require("class-validator");
15
- let BrevoContactUpdateInput = class BrevoContactUpdateInput {
15
+ let BrevoConfigInput = class BrevoConfigInput {
16
16
  };
17
17
  __decorate([
18
- (0, graphql_1.Field)(() => Boolean),
19
- (0, class_validator_1.IsBoolean)(),
20
- __metadata("design:type", Boolean)
21
- ], BrevoContactUpdateInput.prototype, "blocked", void 0);
22
- BrevoContactUpdateInput = __decorate([
18
+ (0, class_validator_1.IsNotEmpty)(),
19
+ (0, class_validator_1.IsString)(),
20
+ (0, graphql_1.Field)(),
21
+ (0, class_validator_1.IsEmail)(),
22
+ __metadata("design:type", String)
23
+ ], BrevoConfigInput.prototype, "senderMail", void 0);
24
+ __decorate([
25
+ (0, class_validator_1.IsNotEmpty)(),
26
+ (0, class_validator_1.IsString)(),
27
+ (0, graphql_1.Field)(),
28
+ __metadata("design:type", String)
29
+ ], BrevoConfigInput.prototype, "senderName", void 0);
30
+ BrevoConfigInput = __decorate([
31
+ (0, graphql_1.InputType)()
32
+ ], BrevoConfigInput);
33
+ exports.BrevoConfigInput = BrevoConfigInput;
34
+ let BrevoConfigUpdateInput = class BrevoConfigUpdateInput extends BrevoConfigInput {
35
+ };
36
+ BrevoConfigUpdateInput = __decorate([
23
37
  (0, graphql_1.InputType)()
24
- ], BrevoContactUpdateInput);
25
- exports.BrevoContactUpdateInput = BrevoContactUpdateInput;
26
- //# sourceMappingURL=brevo-contact.input.js.map
38
+ ], BrevoConfigUpdateInput);
39
+ exports.BrevoConfigUpdateInput = BrevoConfigUpdateInput;
40
+ //# sourceMappingURL=brevo-config.input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brevo-config.input.js","sourceRoot":"","sources":["../../../src/brevo-config/dto/brevo-config.input.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAmD;AACnD,qDAAgE;AAGzD,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;CAW5B,CAAA;AAVG;IAAC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,eAAK,GAAE;IACP,IAAA,yBAAO,GAAE;;oDACS;AAEnB;IAAC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,eAAK,GAAE;;oDACW;AAVV,gBAAgB;IAD5B,IAAA,mBAAS,GAAE;GACC,gBAAgB,CAW5B;AAXY,4CAAgB;AActB,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,gBAAgB;CAAG,CAAA;AAAlD,sBAAsB;IADlC,IAAA,mBAAS,GAAE;GACC,sBAAsB,CAA4B;AAAlD,wDAAsB"}
@@ -0,0 +1,18 @@
1
+ import { OptionalProps } from "@mikro-orm/core";
2
+ import { Type } from "@nestjs/common";
3
+ import { EmailCampaignScopeInterface } from "../../types";
4
+ export interface BrevoConfigInterface {
5
+ [OptionalProps]?: "createdAt" | "updatedAt";
6
+ id: string;
7
+ senderName: string;
8
+ senderMail: string;
9
+ createdAt: Date;
10
+ updatedAt: Date;
11
+ scope: EmailCampaignScopeInterface;
12
+ }
13
+ export declare class BrevoConfigEntityFactory {
14
+ static create({ Scope }: {
15
+ Scope: EmailCampaignScopeInterface;
16
+ }): Type<BrevoConfigInterface>;
17
+ }
18
+ //# sourceMappingURL=brevo-config-entity.factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brevo-config-entity.factory.d.ts","sourceRoot":"","sources":["../../../src/brevo-config/entities/brevo-config-entity.factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,aAAa,EAAwB,MAAM,iBAAiB,CAAC;AACxF,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAItC,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAE1D,MAAM,WAAW,oBAAoB;IACjC,CAAC,aAAa,CAAC,CAAC,EAAE,WAAW,GAAG,WAAW,CAAC;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,KAAK,EAAE,2BAA2B,CAAC;CACtC;AAED,qBAAa,wBAAwB;IACjC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,EAAE,2BAA2B,CAAA;KAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC;CAwC/F"}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.BrevoConfigEntityFactory = void 0;
13
+ const cms_api_1 = require("@comet/cms-api");
14
+ const core_1 = require("@mikro-orm/core");
15
+ const graphql_1 = require("@nestjs/graphql");
16
+ const uuid_1 = require("uuid");
17
+ class BrevoConfigEntityFactory {
18
+ static create({ Scope }) {
19
+ let BrevoConfig = class BrevoConfig {
20
+ constructor() {
21
+ this.id = (0, uuid_1.v4)();
22
+ this.createdAt = new Date();
23
+ this.updatedAt = new Date();
24
+ }
25
+ };
26
+ __decorate([
27
+ (0, core_1.PrimaryKey)({ columnType: "uuid" }),
28
+ (0, graphql_1.Field)(() => graphql_1.ID),
29
+ __metadata("design:type", String)
30
+ ], BrevoConfig.prototype, "id", void 0);
31
+ __decorate([
32
+ (0, core_1.Property)({ columnType: "text" }),
33
+ (0, graphql_1.Field)(),
34
+ __metadata("design:type", String)
35
+ ], BrevoConfig.prototype, "senderMail", void 0);
36
+ __decorate([
37
+ (0, core_1.Property)({ columnType: "text" }),
38
+ (0, graphql_1.Field)(),
39
+ __metadata("design:type", String)
40
+ ], BrevoConfig.prototype, "senderName", void 0);
41
+ __decorate([
42
+ (0, core_1.Property)({
43
+ columnType: "timestamp with time zone",
44
+ }),
45
+ (0, graphql_1.Field)(),
46
+ __metadata("design:type", Date)
47
+ ], BrevoConfig.prototype, "createdAt", void 0);
48
+ __decorate([
49
+ (0, core_1.Property)({
50
+ columnType: "timestamp with time zone",
51
+ onUpdate: () => new Date(),
52
+ }),
53
+ (0, graphql_1.Field)(),
54
+ __metadata("design:type", Date)
55
+ ], BrevoConfig.prototype, "updatedAt", void 0);
56
+ __decorate([
57
+ (0, core_1.Embedded)(() => Scope),
58
+ (0, graphql_1.Field)(() => Scope),
59
+ __metadata("design:type", Object)
60
+ ], BrevoConfig.prototype, "scope", void 0);
61
+ BrevoConfig = __decorate([
62
+ (0, core_1.Entity)(),
63
+ (0, graphql_1.ObjectType)({
64
+ implements: () => [cms_api_1.DocumentInterface],
65
+ })
66
+ ], BrevoConfig);
67
+ return BrevoConfig;
68
+ }
69
+ }
70
+ exports.BrevoConfigEntityFactory = BrevoConfigEntityFactory;
71
+ //# sourceMappingURL=brevo-config-entity.factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brevo-config-entity.factory.js","sourceRoot":"","sources":["../../../src/brevo-config/entities/brevo-config-entity.factory.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAAmD;AACnD,0CAAwF;AAExF,6CAAwD;AACxD,+BAA0B;AAc1B,MAAa,wBAAwB;IAC1B,AAAP,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAA0C;QAK3D,IAAM,WAAW,GAAjB,MAAM,WAAW;YAAjB;gBAKI,OAAE,GAAW,IAAA,SAAE,GAAE,CAAC;gBAclB,cAAS,GAAS,IAAI,IAAI,EAAE,CAAC;gBAO7B,cAAS,GAAS,IAAI,IAAI,EAAE,CAAC;YAKjC,CAAC;SAAA,CAAA;QA5BG;YAAC,IAAA,iBAAU,EAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;YAClC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,YAAE,CAAC;;+CACE;QAElB;YAAC,IAAA,eAAQ,EAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;YAChC,IAAA,eAAK,GAAE;;uDACW;QAEnB;YAAC,IAAA,eAAQ,EAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;YAChC,IAAA,eAAK,GAAE;;uDACW;QAEnB;YAAC,IAAA,eAAQ,EAAC;gBACN,UAAU,EAAE,0BAA0B;aACzC,CAAC;YACD,IAAA,eAAK,GAAE;sCACG,IAAI;sDAAc;QAE7B;YAAC,IAAA,eAAQ,EAAC;gBACN,UAAU,EAAE,0BAA0B;gBACtC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE;aAC7B,CAAC;YACD,IAAA,eAAK,GAAE;sCACG,IAAI;sDAAc;QAE7B;YAAC,IAAA,eAAQ,EAAC,GAAG,EAAE,CAAC,KAAK,CAAC;YACrB,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,KAAK,CAAC;;kDACC;QA9BlB,WAAW;YAJhB,IAAA,aAAM,GAAE;YACR,IAAA,oBAAU,EAAC;gBACR,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,2BAAiB,CAAC;aACxC,CAAC;WACI,WAAW,CA+BhB;QAED,OAAO,WAAW,CAAC;IACvB,CAAC;CACJ;AAzCD,4DAyCC"}
@@ -1,12 +1,13 @@
1
1
  import { DynamicModule, Type } from "@nestjs/common";
2
- import { BrevoContactAttributesInterface, BrevoContactFilterAttributesInterface, EmailCampaignScopeInterface } from "../types";
2
+ import { TargetGroupInterface } from "../target-group/entity/target-group-entity.factory";
3
+ import { BrevoContactAttributesInterface, EmailCampaignScopeInterface } from "../types";
3
4
  interface BrevoContactModuleConfig {
4
5
  BrevoContactAttributes?: Type<BrevoContactAttributesInterface>;
5
6
  Scope: Type<EmailCampaignScopeInterface>;
6
- BrevoFilterAttributes?: Type<BrevoContactFilterAttributesInterface>;
7
+ TargetGroup: Type<TargetGroupInterface>;
7
8
  }
8
9
  export declare class BrevoContactModule {
9
- static register({ BrevoContactAttributes, Scope, BrevoFilterAttributes }: BrevoContactModuleConfig): DynamicModule;
10
+ static register({ BrevoContactAttributes, Scope, TargetGroup }: BrevoContactModuleConfig): DynamicModule;
10
11
  }
11
12
  export {};
12
13
  //# sourceMappingURL=brevo-contact.module.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"brevo-contact.module.d.ts","sourceRoot":"","sources":["../../src/brevo-contact/brevo-contact.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAU,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAI7D,OAAO,EAAE,+BAA+B,EAAE,qCAAqC,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AAQ/H,UAAU,wBAAwB;IAC9B,sBAAsB,CAAC,EAAE,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAC/D,KAAK,EAAE,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACzC,qBAAqB,CAAC,EAAE,IAAI,CAAC,qCAAqC,CAAC,CAAC;CACvE;AAED,qBACa,kBAAkB;IAC3B,MAAM,CAAC,QAAQ,CAAC,EAAE,sBAAsB,EAAE,KAAK,EAAE,qBAAqB,EAAE,EAAE,wBAAwB,GAAG,aAAa;CAWrH"}
1
+ {"version":3,"file":"brevo-contact.module.d.ts","sourceRoot":"","sources":["../../src/brevo-contact/brevo-contact.module.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAU,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAI7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oDAAoD,CAAC;AAC1F,OAAO,EAAE,+BAA+B,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AASxF,UAAU,wBAAwB;IAC9B,sBAAsB,CAAC,EAAE,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAC/D,KAAK,EAAE,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACzC,WAAW,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;CAC3C;AAED,qBACa,kBAAkB;IAC3B,MAAM,CAAC,QAAQ,CAAC,EAAE,sBAAsB,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,wBAAwB,GAAG,aAAa;CAkB3G"}
@@ -8,23 +8,32 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var BrevoContactModule_1;
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.BrevoContactModule = void 0;
11
+ const nestjs_1 = require("@mikro-orm/nestjs");
11
12
  const common_1 = require("@nestjs/common");
12
13
  const brevo_api_module_1 = require("../brevo-api/brevo-api.module");
13
14
  const config_module_1 = require("../config/config.module");
14
15
  const brevo_contact_resolver_1 = require("./brevo-contact.resolver");
15
16
  const brevo_contacts_service_1 = require("./brevo-contacts.service");
16
17
  const brevo_contact_factory_1 = require("./dto/brevo-contact.factory");
18
+ const brevo_contact_input_factory_1 = require("./dto/brevo-contact-input.factory");
17
19
  const subscribe_input_factory_1 = require("./dto/subscribe-input.factory");
18
20
  const ecg_rtr_list_service_1 = require("./ecg-rtr-list/ecg-rtr-list.service");
19
21
  const redirect_url_validator_1 = require("./validator/redirect-url.validator");
20
22
  let BrevoContactModule = BrevoContactModule_1 = class BrevoContactModule {
21
- static register({ BrevoContactAttributes, Scope, BrevoFilterAttributes }) {
23
+ static register({ BrevoContactAttributes, Scope, TargetGroup }) {
22
24
  const BrevoContact = brevo_contact_factory_1.BrevoContactFactory.create({ BrevoContactAttributes });
23
25
  const BrevoContactSubscribeInput = subscribe_input_factory_1.SubscribeInputFactory.create({ BrevoContactAttributes, Scope });
24
- const BrevoContactResolver = (0, brevo_contact_resolver_1.createBrevoContactResolver)({ BrevoContact, BrevoContactSubscribeInput, Scope });
26
+ const [BrevoContactInput, BrevoContactUpdateInput] = brevo_contact_input_factory_1.BrevoContactInputFactory.create({ BrevoContactAttributes });
27
+ const BrevoContactResolver = (0, brevo_contact_resolver_1.createBrevoContactResolver)({
28
+ BrevoContact,
29
+ BrevoContactSubscribeInput,
30
+ Scope,
31
+ BrevoContactInput,
32
+ BrevoContactUpdateInput,
33
+ });
25
34
  return {
26
35
  module: BrevoContactModule_1,
27
- imports: [brevo_api_module_1.BrevoApiModule, config_module_1.ConfigModule],
36
+ imports: [brevo_api_module_1.BrevoApiModule, config_module_1.ConfigModule, nestjs_1.MikroOrmModule.forFeature([TargetGroup])],
28
37
  providers: [brevo_contacts_service_1.BrevoContactsService, BrevoContactResolver, ecg_rtr_list_service_1.EcgRtrListService, redirect_url_validator_1.IsValidRedirectURLConstraint],
29
38
  };
30
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"brevo-contact.module.js","sourceRoot":"","sources":["../../src/brevo-contact/brevo-contact.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA6D;AAE7D,oEAA+D;AAC/D,2DAAuD;AAEvD,qEAAsE;AACtE,qEAAgE;AAChE,uEAAkE;AAClE,2EAAsE;AACtE,8EAAwE;AACxE,+EAAkF;AAS3E,IAAM,kBAAkB,0BAAxB,MAAM,kBAAkB;IAC3B,MAAM,CAAC,QAAQ,CAAC,EAAE,sBAAsB,EAAE,KAAK,EAAE,qBAAqB,EAA4B;QAC9F,MAAM,YAAY,GAAG,2CAAmB,CAAC,MAAM,CAAC,EAAE,sBAAsB,EAAE,CAAC,CAAC;QAC5E,MAAM,0BAA0B,GAAG,+CAAqB,CAAC,MAAM,CAAC,EAAE,sBAAsB,EAAE,KAAK,EAAE,CAAC,CAAC;QACnG,MAAM,oBAAoB,GAAG,IAAA,mDAA0B,EAAC,EAAE,YAAY,EAAE,0BAA0B,EAAE,KAAK,EAAE,CAAC,CAAC;QAE7G,OAAO;YACH,MAAM,EAAE,oBAAkB;YAC1B,OAAO,EAAE,CAAC,iCAAc,EAAE,4BAAY,CAAC;YACvC,SAAS,EAAE,CAAC,6CAAoB,EAAE,oBAAoB,EAAE,wCAAiB,EAAE,qDAA4B,CAAC;SAC3G,CAAC;IACN,CAAC;CACJ,CAAA;AAZY,kBAAkB;IAD9B,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,kBAAkB,CAY9B;AAZY,gDAAkB"}
1
+ {"version":3,"file":"brevo-contact.module.js","sourceRoot":"","sources":["../../src/brevo-contact/brevo-contact.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,8CAAmD;AACnD,2CAA6D;AAE7D,oEAA+D;AAC/D,2DAAuD;AAGvD,qEAAsE;AACtE,qEAAgE;AAChE,uEAAkE;AAClE,mFAA6E;AAC7E,2EAAsE;AACtE,8EAAwE;AACxE,+EAAkF;AAS3E,IAAM,kBAAkB,0BAAxB,MAAM,kBAAkB;IAC3B,MAAM,CAAC,QAAQ,CAAC,EAAE,sBAAsB,EAAE,KAAK,EAAE,WAAW,EAA4B;QACpF,MAAM,YAAY,GAAG,2CAAmB,CAAC,MAAM,CAAC,EAAE,sBAAsB,EAAE,CAAC,CAAC;QAC5E,MAAM,0BAA0B,GAAG,+CAAqB,CAAC,MAAM,CAAC,EAAE,sBAAsB,EAAE,KAAK,EAAE,CAAC,CAAC;QACnG,MAAM,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,GAAG,sDAAwB,CAAC,MAAM,CAAC,EAAE,sBAAsB,EAAE,CAAC,CAAC;QACjH,MAAM,oBAAoB,GAAG,IAAA,mDAA0B,EAAC;YACpD,YAAY;YACZ,0BAA0B;YAC1B,KAAK;YACL,iBAAiB;YACjB,uBAAuB;SAC1B,CAAC,CAAC;QAEH,OAAO;YACH,MAAM,EAAE,oBAAkB;YAC1B,OAAO,EAAE,CAAC,iCAAc,EAAE,4BAAY,EAAE,uBAAc,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;YACjF,SAAS,EAAE,CAAC,6CAAoB,EAAE,oBAAoB,EAAE,wCAAiB,EAAE,qDAA4B,CAAC;SAC3G,CAAC;IACN,CAAC;CACJ,CAAA;AAnBY,kBAAkB;IAD9B,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,kBAAkB,CAmB9B;AAnBY,gDAAkB"}
@@ -1,10 +1,13 @@
1
1
  import { Type } from "@nestjs/common";
2
2
  import { EmailCampaignScopeInterface } from "../types";
3
3
  import { BrevoContactInterface } from "./dto/brevo-contact.factory";
4
+ import { BrevoContactInputInterface } from "./dto/brevo-contact-input.factory";
4
5
  import { SubscribeInputInterface } from "./dto/subscribe-input.factory";
5
- export declare function createBrevoContactResolver({ BrevoContact, BrevoContactSubscribeInput, Scope, }: {
6
+ export declare function createBrevoContactResolver({ BrevoContact, BrevoContactSubscribeInput, Scope, BrevoContactInput, BrevoContactUpdateInput, }: {
6
7
  BrevoContact: Type<BrevoContactInterface>;
7
8
  BrevoContactSubscribeInput: Type<SubscribeInputInterface>;
9
+ BrevoContactInput: Type<BrevoContactInputInterface>;
10
+ BrevoContactUpdateInput: Type<Partial<BrevoContactInputInterface>>;
8
11
  Scope: Type<EmailCampaignScopeInterface>;
9
12
  }): Type<unknown>;
10
13
  //# sourceMappingURL=brevo-contact.resolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"brevo-contact.resolver.d.ts","sourceRoot":"","sources":["../../src/brevo-contact/brevo-contact.resolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAU,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAQ9C,OAAO,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AAGvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAGpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAIxE,wBAAgB,0BAA0B,CAAC,EACvC,YAAY,EACZ,0BAA0B,EAC1B,KAAK,GACR,EAAE;IACC,YAAY,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAC1C,0BAA0B,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAC1D,KAAK,EAAE,IAAI,CAAC,2BAA2B,CAAC,CAAC;CAC5C,GAAG,IAAI,CAAC,OAAO,CAAC,CA8FhB"}
1
+ {"version":3,"file":"brevo-contact.resolver.d.ts","sourceRoot":"","sources":["../../src/brevo-contact/brevo-contact.resolver.ts"],"names":[],"mappings":"AAGA,OAAO,EAAU,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAQ9C,OAAO,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AAGvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAE/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAIxE,wBAAgB,0BAA0B,CAAC,EACvC,YAAY,EACZ,0BAA0B,EAC1B,KAAK,EACL,iBAAiB,EACjB,uBAAuB,GAC1B,EAAE;IACC,YAAY,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAC1C,0BAA0B,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAC1D,iBAAiB,EAAE,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACpD,uBAAuB,EAAE,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,CAAC;IACnE,KAAK,EAAE,IAAI,CAAC,2BAA2B,CAAC,CAAC;CAC5C,GAAG,IAAI,CAAC,OAAO,CAAC,CA+HhB"}
@@ -23,6 +23,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
23
23
  Object.defineProperty(exports, "__esModule", { value: true });
24
24
  exports.createBrevoContactResolver = void 0;
25
25
  const cms_api_1 = require("@comet/cms-api");
26
+ const core_1 = require("@mikro-orm/core");
27
+ const nestjs_1 = require("@mikro-orm/nestjs");
26
28
  const common_1 = require("@nestjs/common");
27
29
  const graphql_1 = require("@nestjs/graphql");
28
30
  const brevo_api_contact_service_1 = require("../brevo-api/brevo-api-contact.service");
@@ -30,11 +32,10 @@ const brevo_module_constants_1 = require("../config/brevo-module.constants");
30
32
  const target_groups_service_1 = require("../target-group/target-groups.service");
31
33
  const dynamic_dto_validation_pipe_1 = require("../validation/dynamic-dto-validation.pipe");
32
34
  const brevo_contacts_service_1 = require("./brevo-contacts.service");
33
- const brevo_contact_input_1 = require("./dto/brevo-contact.input");
34
35
  const brevo_contacts_args_1 = require("./dto/brevo-contacts.args");
35
36
  const subscribe_response_enum_1 = require("./dto/subscribe-response.enum");
36
37
  const ecg_rtr_list_service_1 = require("./ecg-rtr-list/ecg-rtr-list.service");
37
- function createBrevoContactResolver({ BrevoContact, BrevoContactSubscribeInput, Scope, }) {
38
+ function createBrevoContactResolver({ BrevoContact, BrevoContactSubscribeInput, Scope, BrevoContactInput, BrevoContactUpdateInput, }) {
38
39
  let PaginatedBrevoContacts = class PaginatedBrevoContacts extends cms_api_1.PaginatedResponseFactory.create(BrevoContact) {
39
40
  };
40
41
  PaginatedBrevoContacts = __decorate([
@@ -46,12 +47,13 @@ function createBrevoContactResolver({ BrevoContact, BrevoContactSubscribeInput,
46
47
  (0, graphql_1.ArgsType)()
47
48
  ], BrevoContactsArgs);
48
49
  let BrevoContactResolver = class BrevoContactResolver {
49
- constructor(config, brevoContactsApiService, brevoContactsService, ecgRtrListService, targetGroupService) {
50
+ constructor(config, brevoContactsApiService, brevoContactsService, ecgRtrListService, targetGroupService, targetGroupRepository) {
50
51
  this.config = config;
51
52
  this.brevoContactsApiService = brevoContactsApiService;
52
53
  this.brevoContactsService = brevoContactsService;
53
54
  this.ecgRtrListService = ecgRtrListService;
54
55
  this.targetGroupService = targetGroupService;
56
+ this.targetGroupRepository = targetGroupRepository;
55
57
  }
56
58
  brevoContact(id) {
57
59
  return __awaiter(this, void 0, void 0, function* () {
@@ -84,8 +86,27 @@ function createBrevoContactResolver({ BrevoContact, BrevoContactSubscribeInput,
84
86
  });
85
87
  }
86
88
  updateBrevoContact(id, input) {
89
+ var _a;
87
90
  return __awaiter(this, void 0, void 0, function* () {
88
- return this.brevoContactsApiService.updateContact(id, input);
91
+ const contact = yield this.brevoContactsApiService.updateContact(id, {
92
+ blocked: input.blocked,
93
+ attributes: input.attributes,
94
+ });
95
+ const assignedListIds = contact.listIds;
96
+ const mainListIds = (yield this.targetGroupRepository.find({ brevoId: { $in: assignedListIds }, isMainList: true })).map((targetGroup) => targetGroup.brevoId);
97
+ const updatedNonMainListIds = yield this.brevoContactsService.getTargetGroupIdsForContact({
98
+ contactAttributes: (_a = input.attributes) !== null && _a !== void 0 ? _a : contact.attributes,
99
+ });
100
+ const contactWithUpdatedLists = yield this.brevoContactsApiService.updateContact(id, {
101
+ listIds: updatedNonMainListIds.filter((listId) => !assignedListIds.includes(listId)),
102
+ unlinkListIds: assignedListIds.filter((listId) => !updatedNonMainListIds.includes(listId) && !mainListIds.includes(listId)),
103
+ });
104
+ return contactWithUpdatedLists;
105
+ });
106
+ }
107
+ createBrevoContact(scope, input) {
108
+ return __awaiter(this, void 0, void 0, function* () {
109
+ return undefined;
89
110
  });
90
111
  }
91
112
  deleteBrevoContact(id) {
@@ -125,11 +146,20 @@ function createBrevoContactResolver({ BrevoContact, BrevoContactSubscribeInput,
125
146
  (0, graphql_1.Mutation)(() => BrevoContact),
126
147
  (0, cms_api_1.AffectedEntity)(BrevoContact),
127
148
  __param(0, (0, graphql_1.Args)("id", { type: () => graphql_1.Int })),
128
- __param(1, (0, graphql_1.Args)("input", { type: () => brevo_contact_input_1.BrevoContactUpdateInput })),
149
+ __param(1, (0, graphql_1.Args)("input", { type: () => BrevoContactUpdateInput })),
129
150
  __metadata("design:type", Function),
130
- __metadata("design:paramtypes", [Number, brevo_contact_input_1.BrevoContactUpdateInput]),
151
+ __metadata("design:paramtypes", [Number, Object]),
131
152
  __metadata("design:returntype", Promise)
132
153
  ], BrevoContactResolver.prototype, "updateBrevoContact", null);
154
+ __decorate([
155
+ (0, graphql_1.Mutation)(() => BrevoContact, { nullable: true }),
156
+ (0, cms_api_1.RequiredPermission)(["brevo-newsletter"], { skipScopeCheck: true }),
157
+ __param(0, (0, graphql_1.Args)("scope", { type: () => Scope }, new dynamic_dto_validation_pipe_1.DynamicDtoValidationPipe(Scope))),
158
+ __param(1, (0, graphql_1.Args)("input", { type: () => BrevoContactUpdateInput })),
159
+ __metadata("design:type", Function),
160
+ __metadata("design:paramtypes", [Object, Object]),
161
+ __metadata("design:returntype", Promise)
162
+ ], BrevoContactResolver.prototype, "createBrevoContact", null);
133
163
  __decorate([
134
164
  (0, graphql_1.Mutation)(() => Boolean),
135
165
  (0, cms_api_1.AffectedEntity)(BrevoContact),
@@ -148,12 +178,14 @@ function createBrevoContactResolver({ BrevoContact, BrevoContactSubscribeInput,
148
178
  ], BrevoContactResolver.prototype, "subscribeBrevoContact", null);
149
179
  BrevoContactResolver = __decorate([
150
180
  (0, graphql_1.Resolver)(() => BrevoContact),
151
- (0, cms_api_1.RequiredPermission)(["brevo-newsletter"]),
181
+ (0, cms_api_1.RequiredPermission)(["brevo-newsletter"], { skipScopeCheck: true }),
152
182
  __param(0, (0, common_1.Inject)(brevo_module_constants_1.BREVO_MODULE_CONFIG)),
183
+ __param(5, (0, nestjs_1.InjectRepository)("TargetGroup")),
153
184
  __metadata("design:paramtypes", [Object, brevo_api_contact_service_1.BrevoApiContactsService,
154
185
  brevo_contacts_service_1.BrevoContactsService,
155
186
  ecg_rtr_list_service_1.EcgRtrListService,
156
- target_groups_service_1.TargetGroupsService])
187
+ target_groups_service_1.TargetGroupsService,
188
+ core_1.EntityRepository])
157
189
  ], BrevoContactResolver);
158
190
  return BrevoContactResolver;
159
191
  }
@@ -1 +1 @@
1
- {"version":3,"file":"brevo-contact.resolver.js","sourceRoot":"","sources":["../../src/brevo-contact/brevo-contact.resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"brevo-contact.resolver.js","sourceRoot":"","sources":["../../src/brevo-contact/brevo-contact.resolver.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { BrevoApiContactsService } from "../brevo-api/brevo-api-contact.service";
2
2
  import { TargetGroupsService } from "../target-group/target-groups.service";
3
- import { EmailCampaignScopeInterface } from "../types";
3
+ import { BrevoContactAttributesInterface, EmailCampaignScopeInterface } from "../types";
4
4
  import { SubscribeInputInterface } from "./dto/subscribe-input.factory";
5
5
  import { SubscribeResponse } from "./dto/subscribe-response.enum";
6
6
  export declare class BrevoContactsService {
@@ -8,5 +8,9 @@ export declare class BrevoContactsService {
8
8
  private readonly targetGroupService;
9
9
  constructor(brevoContactsApiService: BrevoApiContactsService, targetGroupService: TargetGroupsService);
10
10
  createDoubleOptInContact(data: SubscribeInputInterface, scope: EmailCampaignScopeInterface, templateId: number): Promise<SubscribeResponse>;
11
+ getTargetGroupIdsForContact({ contactAttributes, scope, }: {
12
+ contactAttributes?: BrevoContactAttributesInterface;
13
+ scope?: EmailCampaignScopeInterface;
14
+ }): Promise<number[]>;
11
15
  }
12
16
  //# sourceMappingURL=brevo-contacts.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"brevo-contacts.service.d.ts","sourceRoot":"","sources":["../../src/brevo-contact/brevo-contacts.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,qBACa,oBAAoB;IACjB,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IAA2B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;gBAArF,uBAAuB,EAAE,uBAAuB,EAAmB,kBAAkB,EAAE,mBAAmB;IAE1H,wBAAwB,CACjC,IAAI,EAAE,uBAAuB,EAC7B,KAAK,EAAE,2BAA2B,EAClC,UAAU,EAAE,MAAM,GACnB,OAAO,CAAC,iBAAiB,CAAC;CA4BhC"}
1
+ {"version":3,"file":"brevo-contacts.service.d.ts","sourceRoot":"","sources":["../../src/brevo-contact/brevo-contacts.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,+BAA+B,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AACxF,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,qBACa,oBAAoB;IACjB,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IAA2B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;gBAArF,uBAAuB,EAAE,uBAAuB,EAAmB,kBAAkB,EAAE,mBAAmB;IAE1H,wBAAwB,CACjC,IAAI,EAAE,uBAAuB,EAC7B,KAAK,EAAE,2BAA2B,EAClC,UAAU,EAAE,MAAM,GACnB,OAAO,CAAC,iBAAiB,CAAC;IAehB,2BAA2B,CAAC,EACrC,iBAAiB,EACjB,KAAK,GACR,EAAE;QACC,iBAAiB,CAAC,EAAE,+BAA+B,CAAC;QACpD,KAAK,CAAC,EAAE,2BAA2B,CAAC;KACvC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAsBxB"}
@@ -31,26 +31,32 @@ let BrevoContactsService = class BrevoContactsService {
31
31
  createDoubleOptInContact(data, scope, templateId) {
32
32
  return __awaiter(this, void 0, void 0, function* () {
33
33
  const mainTargetGroupForScope = yield this.targetGroupService.createIfNotExistMainTargetGroupForScope(scope);
34
+ const targetGroupIds = yield this.getTargetGroupIdsForContact({ scope, contactAttributes: data.attributes });
35
+ const created = yield this.brevoContactsApiService.createDoubleOptInBrevoContact(data, [mainTargetGroupForScope.brevoId, ...targetGroupIds], templateId);
36
+ if (created) {
37
+ return subscribe_response_enum_1.SubscribeResponse.SUCCESSFUL;
38
+ }
39
+ return subscribe_response_enum_1.SubscribeResponse.ERROR_UNKNOWN;
40
+ });
41
+ }
42
+ getTargetGroupIdsForContact({ contactAttributes, scope, }) {
43
+ return __awaiter(this, void 0, void 0, function* () {
34
44
  let offset = 0;
35
45
  let totalCount = 0;
36
46
  const targetGroupIds = [];
37
47
  const limit = 50;
38
48
  do {
39
- const [targetGroups, totalContactLists] = yield this.targetGroupService.findNonMainTargetGroups(scope, offset, limit);
49
+ const [targetGroups, totalContactLists] = yield this.targetGroupService.findNonMainTargetGroups({ scope, offset, limit });
40
50
  totalCount = totalContactLists;
41
51
  offset += targetGroups.length;
42
52
  for (const targetGroup of targetGroups) {
43
- const contactIsInTargetGroup = this.targetGroupService.checkIfContactIsInTargetGroup(data, targetGroup.filters);
53
+ const contactIsInTargetGroup = this.targetGroupService.checkIfContactIsInTargetGroup(contactAttributes, targetGroup.filters);
44
54
  if (contactIsInTargetGroup) {
45
55
  targetGroupIds.push(targetGroup.brevoId);
46
56
  }
47
57
  }
48
58
  } while (offset < totalCount);
49
- const created = yield this.brevoContactsApiService.createDoubleOptInBrevoContact(data, [mainTargetGroupForScope.brevoId], templateId);
50
- if (created) {
51
- return subscribe_response_enum_1.SubscribeResponse.SUCCESSFUL;
52
- }
53
- return subscribe_response_enum_1.SubscribeResponse.ERROR_UNKNOWN;
59
+ return targetGroupIds;
54
60
  });
55
61
  }
56
62
  };
@@ -1 +1 @@
1
- {"version":3,"file":"brevo-contacts.service.js","sourceRoot":"","sources":["../../src/brevo-contact/brevo-contacts.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,2CAA4C;AAE5C,sFAAiF;AACjF,iFAA4E;AAG5E,2EAAkE;AAG3D,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAC7B,YAA6B,uBAAgD,EAAmB,kBAAuC;QAA1G,4BAAuB,GAAvB,uBAAuB,CAAyB;QAAmB,uBAAkB,GAAlB,kBAAkB,CAAqB;IAAG,CAAC;IAE9H,wBAAwB,CACjC,IAA6B,EAC7B,KAAkC,EAClC,UAAkB;;YAElB,MAAM,uBAAuB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,uCAAuC,CAAC,KAAK,CAAC,CAAC;YAE7G,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,MAAM,cAAc,GAAa,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,EAAE,CAAC;YAEjB,GAAG;gBACC,MAAM,CAAC,YAAY,EAAE,iBAAiB,CAAC,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;gBACtH,UAAU,GAAG,iBAAiB,CAAC;gBAC/B,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC;gBAE9B,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE;oBACpC,MAAM,sBAAsB,GAAG,IAAI,CAAC,kBAAkB,CAAC,6BAA6B,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;oBAEhH,IAAI,sBAAsB,EAAE;wBACxB,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;qBAC5C;iBACJ;aACJ,QAAQ,MAAM,GAAG,UAAU,EAAE;YAE9B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,6BAA6B,CAAC,IAAI,EAAE,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,CAAC;YACtI,IAAI,OAAO,EAAE;gBACT,OAAO,2CAAiB,CAAC,UAAU,CAAC;aACvC;YACD,OAAO,2CAAiB,CAAC,aAAa,CAAC;QAC3C,CAAC;KAAA;CACJ,CAAA;AAnCY,oBAAoB;IADhC,IAAA,mBAAU,GAAE;qCAE6C,mDAAuB,EAAuC,2CAAmB;GAD9H,oBAAoB,CAmChC;AAnCY,oDAAoB"}
1
+ {"version":3,"file":"brevo-contacts.service.js","sourceRoot":"","sources":["../../src/brevo-contact/brevo-contacts.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,2CAA4C;AAE5C,sFAAiF;AACjF,iFAA4E;AAG5E,2EAAkE;AAG3D,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAC7B,YAA6B,uBAAgD,EAAmB,kBAAuC;QAA1G,4BAAuB,GAAvB,uBAAuB,CAAyB;QAAmB,uBAAkB,GAAlB,kBAAkB,CAAqB;IAAG,CAAC;IAE9H,wBAAwB,CACjC,IAA6B,EAC7B,KAAkC,EAClC,UAAkB;;YAElB,MAAM,uBAAuB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,uCAAuC,CAAC,KAAK,CAAC,CAAC;YAC7G,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YAE7G,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,6BAA6B,CAC5E,IAAI,EACJ,CAAC,uBAAuB,CAAC,OAAO,EAAE,GAAG,cAAc,CAAC,EACpD,UAAU,CACb,CAAC;YACF,IAAI,OAAO,EAAE;gBACT,OAAO,2CAAiB,CAAC,UAAU,CAAC;aACvC;YACD,OAAO,2CAAiB,CAAC,aAAa,CAAC;QAC3C,CAAC;KAAA;IAEY,2BAA2B,CAAC,EACrC,iBAAiB,EACjB,KAAK,GAIR;;YACG,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,MAAM,cAAc,GAAa,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,EAAE,CAAC;YAEjB,GAAG;gBACC,MAAM,CAAC,YAAY,EAAE,iBAAiB,CAAC,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC1H,UAAU,GAAG,iBAAiB,CAAC;gBAC/B,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC;gBAE9B,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE;oBACpC,MAAM,sBAAsB,GAAG,IAAI,CAAC,kBAAkB,CAAC,6BAA6B,CAAC,iBAAiB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;oBAE7H,IAAI,sBAAsB,EAAE;wBACxB,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;qBAC5C;iBACJ;aACJ,QAAQ,MAAM,GAAG,UAAU,EAAE;YAE9B,OAAO,cAAc,CAAC;QAC1B,CAAC;KAAA;CACJ,CAAA;AAlDY,oBAAoB;IADhC,IAAA,mBAAU,GAAE;qCAE6C,mDAAuB,EAAuC,2CAAmB;GAD9H,oBAAoB,CAkDhC;AAlDY,oDAAoB"}
@@ -0,0 +1,13 @@
1
+ import { Type } from "@nestjs/common";
2
+ import { BrevoContactAttributesInterface } from "../../types";
3
+ export interface BrevoContactInputInterface {
4
+ email: string;
5
+ blocked?: boolean;
6
+ attributes?: BrevoContactAttributesInterface;
7
+ }
8
+ export declare class BrevoContactInputFactory {
9
+ static create({ BrevoContactAttributes, }: {
10
+ BrevoContactAttributes?: Type<BrevoContactAttributesInterface>;
11
+ }): [Type<BrevoContactInputInterface>, Type<Partial<BrevoContactInputInterface>>];
12
+ }
13
+ //# sourceMappingURL=brevo-contact-input.factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brevo-contact-input.factory.d.ts","sourceRoot":"","sources":["../../../src/brevo-contact/dto/brevo-contact-input.factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAKtC,OAAO,EAAE,+BAA+B,EAAE,MAAM,aAAa,CAAC;AAE9D,MAAM,WAAW,0BAA0B;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,+BAA+B,CAAC;CAChD;AAED,qBAAa,wBAAwB;IACjC,MAAM,CAAC,MAAM,CAAC,EACV,sBAAsB,GACzB,EAAE;QACC,sBAAsB,CAAC,EAAE,IAAI,CAAC,+BAA+B,CAAC,CAAC;KAClE,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,CAAC;CAuCpF"}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.BrevoContactInputFactory = void 0;
13
+ const cms_api_1 = require("@comet/cms-api");
14
+ const graphql_1 = require("@nestjs/graphql");
15
+ const class_transformer_1 = require("class-transformer");
16
+ const class_validator_1 = require("class-validator");
17
+ class BrevoContactInputFactory {
18
+ static create({ BrevoContactAttributes, }) {
19
+ let BrevoContactInputBase = class BrevoContactInputBase {
20
+ };
21
+ __decorate([
22
+ (0, class_validator_1.IsNotEmpty)(),
23
+ (0, class_validator_1.IsString)(),
24
+ (0, graphql_1.Field)(),
25
+ __metadata("design:type", String)
26
+ ], BrevoContactInputBase.prototype, "email", void 0);
27
+ __decorate([
28
+ (0, class_validator_1.IsBoolean)(),
29
+ (0, graphql_1.Field)(),
30
+ (0, class_validator_1.IsOptional)(),
31
+ __metadata("design:type", Boolean)
32
+ ], BrevoContactInputBase.prototype, "blocked", void 0);
33
+ BrevoContactInputBase = __decorate([
34
+ (0, graphql_1.InputType)({
35
+ isAbstract: true,
36
+ })
37
+ ], BrevoContactInputBase);
38
+ if (BrevoContactAttributes) {
39
+ let BrevoContactInput = class BrevoContactInput extends BrevoContactInputBase {
40
+ };
41
+ __decorate([
42
+ (0, graphql_1.Field)(() => BrevoContactAttributes, { nullable: true }),
43
+ (0, class_transformer_1.Type)(() => BrevoContactAttributes),
44
+ (0, class_validator_1.ValidateNested)(),
45
+ (0, cms_api_1.IsUndefinable)(),
46
+ __metadata("design:type", Object)
47
+ ], BrevoContactInput.prototype, "attributes", void 0);
48
+ BrevoContactInput = __decorate([
49
+ (0, graphql_1.InputType)()
50
+ ], BrevoContactInput);
51
+ let BrevoContactUpdateInput = class BrevoContactUpdateInput extends (0, cms_api_1.PartialType)(BrevoContactInput) {
52
+ };
53
+ BrevoContactUpdateInput = __decorate([
54
+ (0, graphql_1.InputType)()
55
+ ], BrevoContactUpdateInput);
56
+ return [BrevoContactInput, BrevoContactUpdateInput];
57
+ }
58
+ let BrevoContactInput = class BrevoContactInput extends BrevoContactInputBase {
59
+ };
60
+ BrevoContactInput = __decorate([
61
+ (0, graphql_1.InputType)()
62
+ ], BrevoContactInput);
63
+ let BrevoContactUpdateInput = class BrevoContactUpdateInput extends (0, cms_api_1.PartialType)(BrevoContactInput) {
64
+ };
65
+ BrevoContactUpdateInput = __decorate([
66
+ (0, graphql_1.InputType)()
67
+ ], BrevoContactUpdateInput);
68
+ return [BrevoContactInput, BrevoContactUpdateInput];
69
+ }
70
+ }
71
+ exports.BrevoContactInputFactory = BrevoContactInputFactory;
72
+ //# sourceMappingURL=brevo-contact-input.factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brevo-contact-input.factory.js","sourceRoot":"","sources":["../../../src/brevo-contact/dto/brevo-contact-input.factory.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAA4D;AAE5D,6CAAmD;AACnD,yDAA4D;AAC5D,qDAA8F;AAU9F,MAAa,wBAAwB;IAC1B,AAAP,MAAM,CAAC,MAAM,CAAC,EACV,sBAAsB,GAGzB;QAIG,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;SAU1B,CAAA;QATG;YAAC,IAAA,4BAAU,GAAE;YACZ,IAAA,0BAAQ,GAAE;YACV,IAAA,eAAK,GAAE;;4DACM;QAEd;YAAC,IAAA,2BAAS,GAAE;YACX,IAAA,eAAK,GAAE;YACP,IAAA,4BAAU,GAAE;;8DACK;QAThB,qBAAqB;YAH1B,IAAA,mBAAS,EAAC;gBACP,UAAU,EAAE,IAAI;aACnB,CAAC;WACI,qBAAqB,CAU1B;QAED,IAAI,sBAAsB,EAAE;YAExB,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,qBAAqB;aAMpD,CAAA;YALG;gBAAC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,sBAAsB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gBACvD,IAAA,wBAAe,EAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC;gBAC7C,IAAA,gCAAc,GAAE;gBAChB,IAAA,uBAAa,GAAE;;iEAC6B;YAL3C,iBAAiB;gBADtB,IAAA,mBAAS,GAAE;eACN,iBAAiB,CAMtB;YAED,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,IAAA,qBAAW,EAAC,iBAAiB,CAAC;aAAG,CAAA;YAAjE,uBAAuB;gBAD5B,IAAA,mBAAS,GAAE;eACN,uBAAuB,CAA0C;YAEvE,OAAO,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,CAAC;SACvD;QAGD,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,qBAAqB;SAAG,CAAA;QAAlD,iBAAiB;YADtB,IAAA,mBAAS,GAAE;WACN,iBAAiB,CAAiC;QAGxD,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,IAAA,qBAAW,EAAC,iBAAiB,CAAC;SAAG,CAAA;QAAjE,uBAAuB;YAD5B,IAAA,mBAAS,GAAE;WACN,uBAAuB,CAA0C;QAEvE,OAAO,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,CAAC;IACxD,CAAC;CACJ;AA5CD,4DA4CC"}
@@ -1 +1 @@
1
- {"version":3,"file":"brevo-module.d.ts","sourceRoot":"","sources":["../src/brevo-module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAkB,MAAM,gBAAgB,CAAC;AAI/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAMjE,qBAEa,WAAW;IACpB,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,aAAa;CA8B5D"}
1
+ {"version":3,"file":"brevo-module.d.ts","sourceRoot":"","sources":["../src/brevo-module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAkB,MAAM,gBAAgB,CAAC;AAM/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAMjE,qBAEa,WAAW;IACpB,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,aAAa;CAoC5D"}
@@ -10,6 +10,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.BrevoModule = void 0;
11
11
  const common_1 = require("@nestjs/common");
12
12
  const brevo_api_module_1 = require("./brevo-api/brevo-api.module");
13
+ const brevo_config_module_1 = require("./brevo-config/brevo-config.module");
14
+ const brevo_config_entity_factory_1 = require("./brevo-config/entities/brevo-config-entity.factory");
13
15
  const brevo_contact_module_1 = require("./brevo-contact/brevo-contact.module");
14
16
  const config_module_1 = require("./config/config.module");
15
17
  const email_campaign_module_1 = require("./email-campaign/email-campaign.module");
@@ -21,25 +23,30 @@ let BrevoModule = BrevoModule_1 = class BrevoModule {
21
23
  Scope: config.emailCampaigns.Scope,
22
24
  BrevoFilterAttributes: config.brevo.BrevoContactFilterAttributes,
23
25
  });
26
+ const BrevoConfig = brevo_config_entity_factory_1.BrevoConfigEntityFactory.create({
27
+ Scope: config.emailCampaigns.Scope,
28
+ });
24
29
  return {
25
30
  module: BrevoModule_1,
26
31
  imports: [
27
32
  brevo_api_module_1.BrevoApiModule,
28
33
  brevo_contact_module_1.BrevoContactModule.register({
29
34
  BrevoContactAttributes: config.brevo.BrevoContactAttributes,
30
- BrevoFilterAttributes: config.brevo.BrevoContactFilterAttributes,
31
35
  Scope: config.emailCampaigns.Scope,
36
+ TargetGroup,
32
37
  }),
33
38
  email_campaign_module_1.EmailCampaignModule.register({
34
39
  EmailCampaignContentBlock: config.emailCampaigns.EmailCampaignContentBlock,
35
40
  Scope: config.emailCampaigns.Scope,
36
41
  TargetGroup,
42
+ BrevoConfig,
37
43
  }),
38
44
  target_group_module_1.TargetGroupModule.register({
39
45
  Scope: config.emailCampaigns.Scope,
40
46
  BrevoFilterAttributes: config.brevo.BrevoContactFilterAttributes,
41
47
  TargetGroup: TargetGroup,
42
48
  }),
49
+ brevo_config_module_1.BrevoConfigModule.register({ BrevoConfig, Scope: config.emailCampaigns.Scope }),
43
50
  config_module_1.ConfigModule.forRoot(config),
44
51
  ],
45
52
  exports: [target_group_module_1.TargetGroupModule],
@@ -1 +1 @@
1
- {"version":3,"file":"brevo-module.js","sourceRoot":"","sources":["../src/brevo-module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA+D;AAE/D,mEAA8D;AAC9D,+EAA0E;AAE1E,0DAAsD;AACtD,kFAA6E;AAC7E,mGAA6F;AAC7F,4EAAuE;AAIhE,IAAM,WAAW,mBAAjB,MAAM,WAAW;IACpB,MAAM,CAAC,QAAQ,CAAC,MAAyB;QACrC,MAAM,WAAW,GAAG,sDAAwB,CAAC,MAAM,CAAC;YAChD,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK;YAClC,qBAAqB,EAAE,MAAM,CAAC,KAAK,CAAC,4BAA4B;SACnE,CAAC,CAAC;QAEH,OAAO;YACH,MAAM,EAAE,aAAW;YACnB,OAAO,EAAE;gBACL,iCAAc;gBACd,yCAAkB,CAAC,QAAQ,CAAC;oBACxB,sBAAsB,EAAE,MAAM,CAAC,KAAK,CAAC,sBAAsB;oBAC3D,qBAAqB,EAAE,MAAM,CAAC,KAAK,CAAC,4BAA4B;oBAChE,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK;iBACrC,CAAC;gBACF,2CAAmB,CAAC,QAAQ,CAAC;oBACzB,yBAAyB,EAAE,MAAM,CAAC,cAAc,CAAC,yBAAyB;oBAC1E,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK;oBAClC,WAAW;iBACd,CAAC;gBACF,uCAAiB,CAAC,QAAQ,CAAC;oBACvB,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK;oBAClC,qBAAqB,EAAE,MAAM,CAAC,KAAK,CAAC,4BAA4B;oBAChE,WAAW,EAAE,WAAW;iBAC3B,CAAC;gBACF,4BAAY,CAAC,OAAO,CAAC,MAAM,CAAC;aAC/B;YACD,OAAO,EAAE,CAAC,uCAAiB,CAAC;SAC/B,CAAC;IACN,CAAC;CACJ,CAAA;AA/BY,WAAW;IAFvB,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,WAAW,CA+BvB;AA/BY,kCAAW"}
1
+ {"version":3,"file":"brevo-module.js","sourceRoot":"","sources":["../src/brevo-module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA+D;AAE/D,mEAA8D;AAC9D,4EAAuE;AACvE,qGAA+F;AAC/F,+EAA0E;AAE1E,0DAAsD;AACtD,kFAA6E;AAC7E,mGAA6F;AAC7F,4EAAuE;AAIhE,IAAM,WAAW,mBAAjB,MAAM,WAAW;IACpB,MAAM,CAAC,QAAQ,CAAC,MAAyB;QACrC,MAAM,WAAW,GAAG,sDAAwB,CAAC,MAAM,CAAC;YAChD,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK;YAClC,qBAAqB,EAAE,MAAM,CAAC,KAAK,CAAC,4BAA4B;SACnE,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,sDAAwB,CAAC,MAAM,CAAC;YAChD,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK;SACrC,CAAC,CAAC;QAEH,OAAO;YACH,MAAM,EAAE,aAAW;YACnB,OAAO,EAAE;gBACL,iCAAc;gBACd,yCAAkB,CAAC,QAAQ,CAAC;oBACxB,sBAAsB,EAAE,MAAM,CAAC,KAAK,CAAC,sBAAsB;oBAC3D,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK;oBAClC,WAAW;iBACd,CAAC;gBACF,2CAAmB,CAAC,QAAQ,CAAC;oBACzB,yBAAyB,EAAE,MAAM,CAAC,cAAc,CAAC,yBAAyB;oBAC1E,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK;oBAClC,WAAW;oBACX,WAAW;iBACd,CAAC;gBACF,uCAAiB,CAAC,QAAQ,CAAC;oBACvB,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK;oBAClC,qBAAqB,EAAE,MAAM,CAAC,KAAK,CAAC,4BAA4B;oBAChE,WAAW,EAAE,WAAW;iBAC3B,CAAC;gBACF,uCAAiB,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;gBAC/E,4BAAY,CAAC,OAAO,CAAC,MAAM,CAAC;aAC/B;YACD,OAAO,EAAE,CAAC,uCAAiB,CAAC;SAC/B,CAAC;IACN,CAAC;CACJ,CAAA;AArCY,WAAW;IAFvB,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,WAAW,CAqCvB;AArCY,kCAAW"}
@@ -9,10 +9,6 @@ export interface BrevoModuleConfig {
9
9
  BrevoContactFilterAttributes?: Type<BrevoContactFilterAttributesInterface>;
10
10
  doubleOptInTemplateId: number;
11
11
  allowedRedirectUrl: string;
12
- sender: {
13
- name: string;
14
- email: string;
15
- };
16
12
  };
17
13
  ecgRtrList: {
18
14
  apiKey: string;