@hed-hog/core 0.0.322 → 0.0.326

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 (105) hide show
  1. package/dist/auth/guards/auth.guard.d.ts.map +1 -1
  2. package/dist/auth/guards/auth.guard.js +0 -1
  3. package/dist/auth/guards/auth.guard.js.map +1 -1
  4. package/dist/core.module.d.ts.map +1 -1
  5. package/dist/core.module.js +3 -0
  6. package/dist/core.module.js.map +1 -1
  7. package/dist/index.d.ts +4 -0
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +4 -0
  10. package/dist/index.js.map +1 -1
  11. package/dist/integration/services/outbox.processor.d.ts.map +1 -1
  12. package/dist/integration/services/outbox.processor.js +1 -0
  13. package/dist/integration/services/outbox.processor.js.map +1 -1
  14. package/dist/integration/types/event.types.d.ts +1 -0
  15. package/dist/integration/types/event.types.d.ts.map +1 -1
  16. package/dist/mail/mail.controller.d.ts +2 -0
  17. package/dist/mail/mail.controller.d.ts.map +1 -1
  18. package/dist/mail/mail.module.d.ts.map +1 -1
  19. package/dist/mail/mail.module.js +33 -53
  20. package/dist/mail/mail.module.js.map +1 -1
  21. package/dist/mail/mail.service.d.ts +5 -1
  22. package/dist/mail/mail.service.d.ts.map +1 -1
  23. package/dist/mail/mail.service.js +64 -84
  24. package/dist/mail/mail.service.js.map +1 -1
  25. package/dist/role/role.service.d.ts +3 -1
  26. package/dist/role/role.service.d.ts.map +1 -1
  27. package/dist/role/role.service.js +33 -5
  28. package/dist/role/role.service.js.map +1 -1
  29. package/dist/setting/setting.service.d.ts.map +1 -1
  30. package/dist/setting/setting.service.js +1 -0
  31. package/dist/setting/setting.service.js.map +1 -1
  32. package/dist/user/user.service.d.ts +3 -1
  33. package/dist/user/user.service.d.ts.map +1 -1
  34. package/dist/user/user.service.js +31 -4
  35. package/dist/user/user.service.js.map +1 -1
  36. package/dist/webhook-integration/event-webhook.controller.d.ts +29 -0
  37. package/dist/webhook-integration/event-webhook.controller.d.ts.map +1 -0
  38. package/dist/webhook-integration/event-webhook.controller.js +93 -0
  39. package/dist/webhook-integration/event-webhook.controller.js.map +1 -0
  40. package/dist/webhook-integration/event-webhook.service.d.ts +54 -0
  41. package/dist/webhook-integration/event-webhook.service.d.ts.map +1 -0
  42. package/dist/webhook-integration/event-webhook.service.js +334 -0
  43. package/dist/webhook-integration/event-webhook.service.js.map +1 -0
  44. package/dist/webhook-integration/integration-event-catalog.controller.d.ts +21 -0
  45. package/dist/webhook-integration/integration-event-catalog.controller.d.ts.map +1 -0
  46. package/dist/webhook-integration/integration-event-catalog.controller.js +91 -0
  47. package/dist/webhook-integration/integration-event-catalog.controller.js.map +1 -0
  48. package/dist/webhook-integration/integration-event-catalog.service.d.ts +26 -0
  49. package/dist/webhook-integration/integration-event-catalog.service.d.ts.map +1 -0
  50. package/dist/webhook-integration/integration-event-catalog.service.js +112 -0
  51. package/dist/webhook-integration/integration-event-catalog.service.js.map +1 -0
  52. package/dist/webhook-integration/webhook-integration.controller.d.ts +44 -0
  53. package/dist/webhook-integration/webhook-integration.controller.d.ts.map +1 -0
  54. package/dist/webhook-integration/webhook-integration.controller.js +181 -0
  55. package/dist/webhook-integration/webhook-integration.controller.js.map +1 -0
  56. package/dist/webhook-integration/webhook-integration.module.d.ts +3 -0
  57. package/dist/webhook-integration/webhook-integration.module.d.ts.map +1 -0
  58. package/dist/webhook-integration/webhook-integration.module.js +54 -0
  59. package/dist/webhook-integration/webhook-integration.module.js.map +1 -0
  60. package/dist/webhook-integration/webhook-integration.service.d.ts +73 -0
  61. package/dist/webhook-integration/webhook-integration.service.d.ts.map +1 -0
  62. package/dist/webhook-integration/webhook-integration.service.js +569 -0
  63. package/dist/webhook-integration/webhook-integration.service.js.map +1 -0
  64. package/dist/webhook-integration/webhook-utils.d.ts +7 -0
  65. package/dist/webhook-integration/webhook-utils.d.ts.map +1 -0
  66. package/dist/webhook-integration/webhook-utils.js +104 -0
  67. package/dist/webhook-integration/webhook-utils.js.map +1 -0
  68. package/hedhog/data/integration_event_catalog.yaml +118 -0
  69. package/hedhog/data/mail_profile.yaml +18 -0
  70. package/hedhog/data/menu.yaml +26 -12
  71. package/hedhog/data/route.yaml +154 -10
  72. package/hedhog/data/setting_group.yaml +7 -156
  73. package/hedhog/data/setting_subgroup.yaml +0 -32
  74. package/hedhog/frontend/app/configurations/[slug]/components/setting-field.tsx.ejs +205 -0
  75. package/hedhog/frontend/app/integrations-webhooks/page.tsx.ejs +1835 -0
  76. package/hedhog/frontend/app/mail/profiles/page.tsx.ejs +4 -7
  77. package/hedhog/frontend/messages/en.json +2 -1
  78. package/hedhog/frontend/messages/pt.json +2 -1
  79. package/hedhog/table/event_webhook.yaml +55 -0
  80. package/hedhog/table/event_webhook_delivery_log.yaml +66 -0
  81. package/hedhog/table/event_webhook_event.yaml +26 -0
  82. package/hedhog/table/integration_event_catalog.yaml +41 -0
  83. package/hedhog/table/setting.yaml +1 -0
  84. package/hedhog/table/webhook_action.yaml +85 -0
  85. package/hedhog/table/webhook_call_log.yaml +46 -0
  86. package/hedhog/table/webhook_integration.yaml +43 -0
  87. package/package.json +3 -3
  88. package/src/auth/guards/auth.guard.ts +0 -2
  89. package/src/core.module.ts +10 -7
  90. package/src/index.ts +10 -5
  91. package/src/integration/services/outbox.processor.ts +5 -4
  92. package/src/integration/types/event.types.ts +4 -3
  93. package/src/mail/mail.module.ts +36 -59
  94. package/src/mail/mail.service.ts +84 -89
  95. package/src/role/role.service.ts +41 -8
  96. package/src/setting/setting.service.ts +7 -6
  97. package/src/user/user.service.ts +34 -3
  98. package/src/webhook-integration/event-webhook.controller.ts +50 -0
  99. package/src/webhook-integration/event-webhook.service.ts +384 -0
  100. package/src/webhook-integration/integration-event-catalog.controller.ts +50 -0
  101. package/src/webhook-integration/integration-event-catalog.service.ts +117 -0
  102. package/src/webhook-integration/webhook-integration.controller.ts +103 -0
  103. package/src/webhook-integration/webhook-integration.module.ts +45 -0
  104. package/src/webhook-integration/webhook-integration.service.ts +735 -0
  105. package/src/webhook-integration/webhook-utils.ts +79 -0
@@ -0,0 +1,29 @@
1
+ import { DeleteDTO } from '@hed-hog/api';
2
+ import { EventWebhookService } from './event-webhook.service';
3
+ export declare class EventWebhookController {
4
+ private readonly service;
5
+ constructor(service: EventWebhookService);
6
+ list(paginationParams: any): Promise<{
7
+ total: any;
8
+ lastPage: number;
9
+ page: number;
10
+ pageSize: number;
11
+ prev: number;
12
+ next: number;
13
+ data: any[];
14
+ }>;
15
+ get(id: number): Promise<any>;
16
+ create(data: any): Promise<any>;
17
+ update(id: number, data: any): Promise<any>;
18
+ delete(data: DeleteDTO): Promise<any>;
19
+ logs(id: number, paginationParams: any): Promise<{
20
+ total: any;
21
+ lastPage: number;
22
+ page: number;
23
+ pageSize: number;
24
+ prev: number;
25
+ next: number;
26
+ data: any[];
27
+ }>;
28
+ }
29
+ //# sourceMappingURL=event-webhook.controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-webhook.controller.d.ts","sourceRoot":"","sources":["../../src/webhook-integration/event-webhook.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAQ,MAAM,cAAc,CAAC;AAY/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,qBAEa,sBAAsB;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,mBAAmB;IAGzD,IAAI,CAAe,gBAAgB,KAAA;;;;;;;;;IAKnC,GAAG,CAA4B,EAAE,EAAE,MAAM;IAKzC,MAAM,CAAS,IAAI,EAAE,GAAG;IAKxB,MAAM,CAA4B,EAAE,EAAE,MAAM,EAAU,IAAI,EAAE,GAAG;IAK/D,MAAM,CAAS,IAAI,EAAE,SAAS;IAK9B,IAAI,CAA4B,EAAE,EAAE,MAAM,EAAgB,gBAAgB,KAAA;;;;;;;;;CAG3E"}
@@ -0,0 +1,93 @@
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
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.EventWebhookController = void 0;
16
+ const api_1 = require("@hed-hog/api");
17
+ const api_pagination_1 = require("@hed-hog/api-pagination");
18
+ const common_1 = require("@nestjs/common");
19
+ const event_webhook_service_1 = require("./event-webhook.service");
20
+ let EventWebhookController = class EventWebhookController {
21
+ constructor(service) {
22
+ this.service = service;
23
+ }
24
+ list(paginationParams) {
25
+ return this.service.list(paginationParams);
26
+ }
27
+ get(id) {
28
+ return this.service.get(id);
29
+ }
30
+ create(data) {
31
+ return this.service.create(data);
32
+ }
33
+ update(id, data) {
34
+ return this.service.update(id, data);
35
+ }
36
+ delete(data) {
37
+ return this.service.delete(data);
38
+ }
39
+ logs(id, paginationParams) {
40
+ return this.service.listLogs(id, paginationParams);
41
+ }
42
+ };
43
+ exports.EventWebhookController = EventWebhookController;
44
+ __decorate([
45
+ (0, common_1.Get)(),
46
+ __param(0, (0, api_pagination_1.Pagination)()),
47
+ __metadata("design:type", Function),
48
+ __metadata("design:paramtypes", [Object]),
49
+ __metadata("design:returntype", void 0)
50
+ ], EventWebhookController.prototype, "list", null);
51
+ __decorate([
52
+ (0, common_1.Get)(':id'),
53
+ __param(0, (0, common_1.Param)('id', common_1.ParseIntPipe)),
54
+ __metadata("design:type", Function),
55
+ __metadata("design:paramtypes", [Number]),
56
+ __metadata("design:returntype", void 0)
57
+ ], EventWebhookController.prototype, "get", null);
58
+ __decorate([
59
+ (0, common_1.Post)(),
60
+ __param(0, (0, common_1.Body)()),
61
+ __metadata("design:type", Function),
62
+ __metadata("design:paramtypes", [Object]),
63
+ __metadata("design:returntype", void 0)
64
+ ], EventWebhookController.prototype, "create", null);
65
+ __decorate([
66
+ (0, common_1.Patch)(':id'),
67
+ __param(0, (0, common_1.Param)('id', common_1.ParseIntPipe)),
68
+ __param(1, (0, common_1.Body)()),
69
+ __metadata("design:type", Function),
70
+ __metadata("design:paramtypes", [Number, Object]),
71
+ __metadata("design:returntype", void 0)
72
+ ], EventWebhookController.prototype, "update", null);
73
+ __decorate([
74
+ (0, common_1.Delete)(),
75
+ __param(0, (0, common_1.Body)()),
76
+ __metadata("design:type", Function),
77
+ __metadata("design:paramtypes", [api_1.DeleteDTO]),
78
+ __metadata("design:returntype", void 0)
79
+ ], EventWebhookController.prototype, "delete", null);
80
+ __decorate([
81
+ (0, common_1.Get)(':id/log'),
82
+ __param(0, (0, common_1.Param)('id', common_1.ParseIntPipe)),
83
+ __param(1, (0, api_pagination_1.Pagination)()),
84
+ __metadata("design:type", Function),
85
+ __metadata("design:paramtypes", [Number, Object]),
86
+ __metadata("design:returntype", void 0)
87
+ ], EventWebhookController.prototype, "logs", null);
88
+ exports.EventWebhookController = EventWebhookController = __decorate([
89
+ (0, api_1.Role)(),
90
+ (0, common_1.Controller)('event-webhook'),
91
+ __metadata("design:paramtypes", [event_webhook_service_1.EventWebhookService])
92
+ ], EventWebhookController);
93
+ //# sourceMappingURL=event-webhook.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-webhook.controller.js","sourceRoot":"","sources":["../../src/webhook-integration/event-webhook.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,sCAA+C;AAC/C,4DAAqD;AACrD,2CASwB;AACxB,mEAA8D;AAIvD,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IACjC,YAA6B,OAA4B;QAA5B,YAAO,GAAP,OAAO,CAAqB;IAAG,CAAC;IAG7D,IAAI,CAAe,gBAAgB;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC7C,CAAC;IAGD,GAAG,CAA4B,EAAU;QACvC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAGD,MAAM,CAAS,IAAS;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAGD,MAAM,CAA4B,EAAU,EAAU,IAAS;QAC7D,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;IAGD,MAAM,CAAS,IAAe;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAGD,IAAI,CAA4B,EAAU,EAAgB,gBAAgB;QACxE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;IACrD,CAAC;CACF,CAAA;AAhCY,wDAAsB;AAIjC;IADC,IAAA,YAAG,GAAE;IACA,WAAA,IAAA,2BAAU,GAAE,CAAA;;;;kDAEjB;AAGD;IADC,IAAA,YAAG,EAAC,KAAK,CAAC;IACN,WAAA,IAAA,cAAK,EAAC,IAAI,EAAE,qBAAY,CAAC,CAAA;;;;iDAE7B;AAGD;IADC,IAAA,aAAI,GAAE;IACC,WAAA,IAAA,aAAI,GAAE,CAAA;;;;oDAEb;AAGD;IADC,IAAA,cAAK,EAAC,KAAK,CAAC;IACL,WAAA,IAAA,cAAK,EAAC,IAAI,EAAE,qBAAY,CAAC,CAAA;IAAc,WAAA,IAAA,aAAI,GAAE,CAAA;;;;oDAEpD;AAGD;IADC,IAAA,eAAM,GAAE;IACD,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAO,eAAS;;oDAE7B;AAGD;IADC,IAAA,YAAG,EAAC,SAAS,CAAC;IACT,WAAA,IAAA,cAAK,EAAC,IAAI,EAAE,qBAAY,CAAC,CAAA;IAAc,WAAA,IAAA,2BAAU,GAAE,CAAA;;;;kDAExD;iCA/BU,sBAAsB;IAFlC,IAAA,UAAI,GAAE;IACN,IAAA,mBAAU,EAAC,eAAe,CAAC;qCAEY,2CAAmB;GAD9C,sBAAsB,CAgClC"}
@@ -0,0 +1,54 @@
1
+ import { DeleteDTO } from '@hed-hog/api';
2
+ import { PaginationDTO, PaginationService } from '@hed-hog/api-pagination';
3
+ import { PrismaService } from '@hed-hog/api-prisma';
4
+ import { HttpService } from '@nestjs/axios';
5
+ import { OnModuleInit } from '@nestjs/common';
6
+ import { IntegrationDeveloperApiService } from '../integration/services/integration-developer-api.service';
7
+ import { DomainEvent } from '../integration/types';
8
+ export declare class EventWebhookService implements OnModuleInit {
9
+ private readonly prisma;
10
+ private readonly pagination;
11
+ private readonly http;
12
+ private readonly integrationApi;
13
+ private readonly logger;
14
+ private readonly registeredEvents;
15
+ constructor(prisma: PrismaService, pagination: PaginationService, http: HttpService, integrationApi: IntegrationDeveloperApiService);
16
+ private get webhooks();
17
+ private get webhookEvents();
18
+ private get catalog();
19
+ private get logs();
20
+ onModuleInit(): Promise<void>;
21
+ list(paginationParams: PaginationDTO): Promise<{
22
+ total: any;
23
+ lastPage: number;
24
+ page: number;
25
+ pageSize: number;
26
+ prev: number;
27
+ next: number;
28
+ data: any[];
29
+ }>;
30
+ get(id: number): Promise<any>;
31
+ create(data: any): Promise<any>;
32
+ update(id: number, data: any): Promise<any>;
33
+ delete(data: DeleteDTO): Promise<any>;
34
+ listLogs(webhookId: number, paginationParams: PaginationDTO): Promise<{
35
+ total: any;
36
+ lastPage: number;
37
+ page: number;
38
+ pageSize: number;
39
+ prev: number;
40
+ next: number;
41
+ data: any[];
42
+ }>;
43
+ handleEvent(event: DomainEvent): Promise<void>;
44
+ registerConfiguredEvents(): Promise<void>;
45
+ private findActiveWebhooksForEvent;
46
+ private deliverWebhook;
47
+ private registerEventsFromWebhook;
48
+ private registerEvent;
49
+ private ensureSlugAvailable;
50
+ private normalizeWebhook;
51
+ private normalizeEventIds;
52
+ private nullableString;
53
+ }
54
+ //# sourceMappingURL=event-webhook.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-webhook.service.d.ts","sourceRoot":"","sources":["../../src/webhook-integration/event-webhook.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAKL,YAAY,EACb,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,8BAA8B,EAAE,MAAM,2DAA2D,CAAC;AAC3G,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAOnD,qBACa,mBAAoB,YAAW,YAAY;IAKpD,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAPjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;IAC/D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqB;gBAGnC,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,iBAAiB,EAC7B,IAAI,EAAE,WAAW,EACjB,cAAc,EAAE,8BAA8B;IAGjE,OAAO,KAAK,QAAQ,GAEnB;IAED,OAAO,KAAK,aAAa,GAExB;IAED,OAAO,KAAK,OAAO,GAElB;IAED,OAAO,KAAK,IAAI,GAEf;IAEK,YAAY;IAIZ,IAAI,CAAC,gBAAgB,EAAE,aAAa;;;;;;;;;IAiBpC,GAAG,CAAC,EAAE,EAAE,MAAM;IAmBd,MAAM,CAAC,IAAI,EAAE,GAAG;IAuBhB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG;IAqC5B,MAAM,CAAC,IAAI,EAAE,SAAS;IAUtB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,aAAa;;;;;;;;;IAQ3D,WAAW,CAAC,KAAK,EAAE,WAAW;IAQ9B,wBAAwB;YAoBhB,0BAA0B;YAwB1B,cAAc;YA6Ed,yBAAyB;IAWvC,OAAO,CAAC,aAAa;YAkBP,mBAAmB;IAWjC,OAAO,CAAC,gBAAgB;IAwBxB,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,cAAc;CAYvB"}
@@ -0,0 +1,334 @@
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
+ var EventWebhookService_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.EventWebhookService = void 0;
14
+ const api_pagination_1 = require("@hed-hog/api-pagination");
15
+ const api_prisma_1 = require("@hed-hog/api-prisma");
16
+ const axios_1 = require("@nestjs/axios");
17
+ const common_1 = require("@nestjs/common");
18
+ const rxjs_1 = require("rxjs");
19
+ const integration_developer_api_service_1 = require("../integration/services/integration-developer-api.service");
20
+ const webhook_utils_1 = require("./webhook-utils");
21
+ let EventWebhookService = EventWebhookService_1 = class EventWebhookService {
22
+ constructor(prisma, pagination, http, integrationApi) {
23
+ this.prisma = prisma;
24
+ this.pagination = pagination;
25
+ this.http = http;
26
+ this.integrationApi = integrationApi;
27
+ this.logger = new common_1.Logger(EventWebhookService_1.name);
28
+ this.registeredEvents = new Set();
29
+ }
30
+ get webhooks() {
31
+ return this.prisma.event_webhook;
32
+ }
33
+ get webhookEvents() {
34
+ return this.prisma.event_webhook_event;
35
+ }
36
+ get catalog() {
37
+ return this.prisma.integration_event_catalog;
38
+ }
39
+ get logs() {
40
+ return this.prisma.event_webhook_delivery_log;
41
+ }
42
+ async onModuleInit() {
43
+ await this.registerConfiguredEvents();
44
+ }
45
+ async list(paginationParams) {
46
+ const fields = ['slug', 'name', 'description', 'url', 'method', 'status'];
47
+ const OR = this.prisma.createInsensitiveSearch(fields, paginationParams);
48
+ return this.pagination.paginate(this.webhooks, paginationParams, {
49
+ where: OR.length > 0 ? { OR } : {},
50
+ include: {
51
+ event_webhook_event: {
52
+ include: {
53
+ integration_event_catalog: true,
54
+ },
55
+ },
56
+ },
57
+ orderBy: [{ updated_at: 'desc' }, { id: 'desc' }],
58
+ });
59
+ }
60
+ async get(id) {
61
+ const record = await this.webhooks.findUnique({
62
+ where: { id },
63
+ include: {
64
+ event_webhook_event: {
65
+ include: {
66
+ integration_event_catalog: true,
67
+ },
68
+ },
69
+ },
70
+ });
71
+ if (!record) {
72
+ throw new common_1.NotFoundException(`Event webhook with id ${id} not found.`);
73
+ }
74
+ return record;
75
+ }
76
+ async create(data) {
77
+ await this.ensureSlugAvailable(data.slug);
78
+ const record = await this.webhooks.create({
79
+ data: Object.assign(Object.assign({}, this.normalizeWebhook(data)), { event_webhook_event: {
80
+ create: this.normalizeEventIds(data.event_ids).map((eventId) => ({
81
+ integration_event_catalog_id: eventId,
82
+ })),
83
+ } }),
84
+ include: {
85
+ event_webhook_event: {
86
+ include: { integration_event_catalog: true },
87
+ },
88
+ },
89
+ });
90
+ await this.registerEventsFromWebhook(record);
91
+ return record;
92
+ }
93
+ async update(id, data) {
94
+ const existing = await this.get(id);
95
+ if (data.slug && data.slug !== existing.slug) {
96
+ await this.ensureSlugAvailable(data.slug);
97
+ }
98
+ const record = await this.webhooks.update({
99
+ where: { id },
100
+ data: this.normalizeWebhook(data, true),
101
+ include: {
102
+ event_webhook_event: {
103
+ include: { integration_event_catalog: true },
104
+ },
105
+ },
106
+ });
107
+ if (data.event_ids !== undefined) {
108
+ await this.webhookEvents.deleteMany({
109
+ where: { event_webhook_id: id },
110
+ });
111
+ const eventIds = this.normalizeEventIds(data.event_ids);
112
+ for (const eventId of eventIds) {
113
+ await this.webhookEvents.create({
114
+ data: {
115
+ event_webhook_id: id,
116
+ integration_event_catalog_id: eventId,
117
+ },
118
+ });
119
+ }
120
+ }
121
+ const refreshed = await this.get(id);
122
+ await this.registerEventsFromWebhook(refreshed);
123
+ return refreshed;
124
+ }
125
+ async delete(data) {
126
+ var _a;
127
+ if (!((_a = data.ids) === null || _a === void 0 ? void 0 : _a.length)) {
128
+ throw new common_1.BadRequestException('You must select at least one item to delete.');
129
+ }
130
+ return this.webhooks.deleteMany({
131
+ where: { id: { in: data.ids } },
132
+ });
133
+ }
134
+ async listLogs(webhookId, paginationParams) {
135
+ await this.get(webhookId);
136
+ return this.pagination.paginate(this.logs, paginationParams, {
137
+ where: { event_webhook_id: webhookId },
138
+ orderBy: [{ created_at: 'desc' }, { id: 'desc' }],
139
+ });
140
+ }
141
+ async handleEvent(event) {
142
+ const webhooks = await this.findActiveWebhooksForEvent(event.eventName);
143
+ for (const webhook of webhooks) {
144
+ await this.deliverWebhook(webhook, event);
145
+ }
146
+ }
147
+ async registerConfiguredEvents() {
148
+ const rows = await this.catalog.findMany({
149
+ where: {
150
+ status: 'active',
151
+ event_webhook_event: {
152
+ some: {
153
+ event_webhook: {
154
+ status: 'active',
155
+ },
156
+ },
157
+ },
158
+ },
159
+ select: { slug: true },
160
+ });
161
+ for (const row of rows) {
162
+ this.registerEvent(row.slug);
163
+ }
164
+ }
165
+ async findActiveWebhooksForEvent(eventName) {
166
+ return this.webhooks.findMany({
167
+ where: {
168
+ status: 'active',
169
+ event_webhook_event: {
170
+ some: {
171
+ integration_event_catalog: {
172
+ slug: eventName,
173
+ status: 'active',
174
+ },
175
+ },
176
+ },
177
+ },
178
+ include: {
179
+ event_webhook_event: {
180
+ include: {
181
+ integration_event_catalog: true,
182
+ },
183
+ },
184
+ },
185
+ orderBy: [{ priority: 'desc' }, { id: 'asc' }],
186
+ });
187
+ }
188
+ async deliverWebhook(webhook, event) {
189
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
190
+ const startedAt = Date.now();
191
+ let attemptCount = 0;
192
+ let lastError = null;
193
+ let httpStatus = null;
194
+ let responseSummary = null;
195
+ const context = Object.assign(Object.assign({}, event), { timestamp: (_c = (_b = (_a = event.timestamp) === null || _a === void 0 ? void 0 : _a.toISOString) === null || _b === void 0 ? void 0 : _b.call(_a)) !== null && _c !== void 0 ? _c : event.timestamp, outboxEventId: (_d = event.outboxEventId) !== null && _d !== void 0 ? _d : null });
196
+ const url = (0, webhook_utils_1.renderTemplate)(webhook.url, context);
197
+ const method = webhook.method || 'POST';
198
+ const headers = (0, webhook_utils_1.renderTemplate)(webhook.headers || {}, context);
199
+ const query = (0, webhook_utils_1.renderTemplate)(webhook.query || {}, context);
200
+ const payload = (0, webhook_utils_1.renderTemplate)((_f = (_e = webhook.payload) !== null && _e !== void 0 ? _e : event.payload) !== null && _f !== void 0 ? _f : {}, context);
201
+ const maxAttempts = Math.max(1, Number(webhook.retry_count || 0) + 1);
202
+ for (attemptCount = 1; attemptCount <= maxAttempts; attemptCount++) {
203
+ try {
204
+ const result = await (0, rxjs_1.firstValueFrom)(this.http.request({
205
+ url,
206
+ method,
207
+ headers,
208
+ params: query,
209
+ data: ['GET', 'DELETE'].includes(method) ? undefined : payload,
210
+ timeout: Number(webhook.timeout_ms || 10000),
211
+ }));
212
+ httpStatus = result.status;
213
+ responseSummary = (0, webhook_utils_1.summarizePayload)(result.data);
214
+ lastError = null;
215
+ break;
216
+ }
217
+ catch (error) {
218
+ lastError = error;
219
+ httpStatus = (_h = (_g = error === null || error === void 0 ? void 0 : error.response) === null || _g === void 0 ? void 0 : _g.status) !== null && _h !== void 0 ? _h : null;
220
+ responseSummary = (0, webhook_utils_1.summarizePayload)((_j = error === null || error === void 0 ? void 0 : error.response) === null || _j === void 0 ? void 0 : _j.data);
221
+ }
222
+ }
223
+ const success = !lastError;
224
+ await this.logs.create({
225
+ data: {
226
+ event_webhook_id: webhook.id,
227
+ integration_event_catalog_id: (_o = (_m = (_l = (_k = webhook.event_webhook_event) === null || _k === void 0 ? void 0 : _k[0]) === null || _l === void 0 ? void 0 : _l.integration_event_catalog) === null || _m === void 0 ? void 0 : _m.id) !== null && _o !== void 0 ? _o : null,
228
+ outbox_event_id: Number(event.outboxEventId || 0) || null,
229
+ event_name: event.eventName,
230
+ method,
231
+ url,
232
+ status: success ? 'success' : 'failed',
233
+ http_status: httpStatus,
234
+ duration_ms: Date.now() - startedAt,
235
+ attempt_count: attemptCount,
236
+ error_message: lastError
237
+ ? lastError instanceof Error
238
+ ? lastError.message
239
+ : String(lastError)
240
+ : null,
241
+ request_summary: (0, webhook_utils_1.summarizePayload)({
242
+ headers,
243
+ query,
244
+ payload,
245
+ }),
246
+ response_summary: responseSummary,
247
+ },
248
+ });
249
+ if (!success) {
250
+ throw lastError;
251
+ }
252
+ }
253
+ async registerEventsFromWebhook(webhook) {
254
+ var _a;
255
+ const eventNames = ((_a = webhook.event_webhook_event) === null || _a === void 0 ? void 0 : _a.map((row) => { var _a; return (_a = row.integration_event_catalog) === null || _a === void 0 ? void 0 : _a.slug; }).filter(Boolean)) || [];
256
+ for (const eventName of eventNames) {
257
+ this.registerEvent(eventName);
258
+ }
259
+ }
260
+ registerEvent(eventName) {
261
+ if (this.registeredEvents.has(eventName)) {
262
+ return;
263
+ }
264
+ this.integrationApi.subscribe({
265
+ eventName,
266
+ consumerName: `core.event-webhook.${eventName}`,
267
+ priority: -100,
268
+ handler: async (event) => {
269
+ await this.handleEvent(event);
270
+ },
271
+ });
272
+ this.registeredEvents.add(eventName);
273
+ this.logger.log(`Registered event webhook dispatcher for ${eventName}`);
274
+ }
275
+ async ensureSlugAvailable(slug) {
276
+ const existing = await this.webhooks.findUnique({
277
+ where: { slug: String(slug || '').trim() },
278
+ select: { id: true },
279
+ });
280
+ if (existing) {
281
+ throw new common_1.BadRequestException(`Event webhook "${slug}" already exists.`);
282
+ }
283
+ }
284
+ normalizeWebhook(data, partial = false) {
285
+ var _a, _b, _c, _d;
286
+ const normalized = {};
287
+ const assign = (key, value) => {
288
+ if (!partial || value !== undefined) {
289
+ normalized[key] = value;
290
+ }
291
+ };
292
+ assign('slug', String((_a = data.slug) !== null && _a !== void 0 ? _a : '').trim());
293
+ assign('name', String((_b = data.name) !== null && _b !== void 0 ? _b : '').trim());
294
+ assign('description', this.nullableString(data.description, partial));
295
+ assign('status', data.status === 'inactive' ? 'inactive' : 'active');
296
+ assign('priority', Number((_c = data.priority) !== null && _c !== void 0 ? _c : 0));
297
+ assign('url', String((_d = data.url) !== null && _d !== void 0 ? _d : '').trim());
298
+ assign('method', String(data.method || 'POST').toUpperCase());
299
+ assign('headers', (0, webhook_utils_1.normalizeJsonObject)(data.headers));
300
+ assign('query', (0, webhook_utils_1.normalizeJsonObject)(data.query));
301
+ assign('payload', (0, webhook_utils_1.normalizeJsonObject)(data.payload));
302
+ assign('timeout_ms', Number(data.timeout_ms || 10000));
303
+ assign('retry_count', Number(data.retry_count || 0));
304
+ return normalized;
305
+ }
306
+ normalizeEventIds(value) {
307
+ if (!value) {
308
+ return [];
309
+ }
310
+ const values = Array.isArray(value) ? value : String(value).split(',');
311
+ return values
312
+ .map((item) => Number(item))
313
+ .filter((item) => Number.isFinite(item) && item > 0);
314
+ }
315
+ nullableString(value, partial = false) {
316
+ if (value === undefined) {
317
+ return partial ? undefined : null;
318
+ }
319
+ if (value === null) {
320
+ return null;
321
+ }
322
+ const normalized = String(value).trim();
323
+ return normalized || null;
324
+ }
325
+ };
326
+ exports.EventWebhookService = EventWebhookService;
327
+ exports.EventWebhookService = EventWebhookService = EventWebhookService_1 = __decorate([
328
+ (0, common_1.Injectable)(),
329
+ __metadata("design:paramtypes", [api_prisma_1.PrismaService,
330
+ api_pagination_1.PaginationService,
331
+ axios_1.HttpService,
332
+ integration_developer_api_service_1.IntegrationDeveloperApiService])
333
+ ], EventWebhookService);
334
+ //# sourceMappingURL=event-webhook.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-webhook.service.js","sourceRoot":"","sources":["../../src/webhook-integration/event-webhook.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AACA,4DAA2E;AAC3E,oDAAoD;AACpD,yCAA4C;AAC5C,2CAMwB;AACxB,+BAAsC;AACtC,iHAA2G;AAE3G,mDAIyB;AAGlB,IAAM,mBAAmB,2BAAzB,MAAM,mBAAmB;IAI9B,YACmB,MAAqB,EACrB,UAA6B,EAC7B,IAAiB,EACjB,cAA8C;QAH9C,WAAM,GAAN,MAAM,CAAe;QACrB,eAAU,GAAV,UAAU,CAAmB;QAC7B,SAAI,GAAJ,IAAI,CAAa;QACjB,mBAAc,GAAd,cAAc,CAAgC;QAPhD,WAAM,GAAG,IAAI,eAAM,CAAC,qBAAmB,CAAC,IAAI,CAAC,CAAC;QAC9C,qBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;IAOnD,CAAC;IAEJ,IAAY,QAAQ;QAClB,OAAQ,IAAI,CAAC,MAAc,CAAC,aAAa,CAAC;IAC5C,CAAC;IAED,IAAY,aAAa;QACvB,OAAQ,IAAI,CAAC,MAAc,CAAC,mBAAmB,CAAC;IAClD,CAAC;IAED,IAAY,OAAO;QACjB,OAAQ,IAAI,CAAC,MAAc,CAAC,yBAAyB,CAAC;IACxD,CAAC;IAED,IAAY,IAAI;QACd,OAAQ,IAAI,CAAC,MAAc,CAAC,0BAA0B,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,gBAA+B;QACxC,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC1E,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QAEzE,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,EAAE;YAC/D,KAAK,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE;YAClC,OAAO,EAAE;gBACP,mBAAmB,EAAE;oBACnB,OAAO,EAAE;wBACP,yBAAyB,EAAE,IAAI;qBAChC;iBACF;aACF;YACD,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;SAClD,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC5C,KAAK,EAAE,EAAE,EAAE,EAAE;YACb,OAAO,EAAE;gBACP,mBAAmB,EAAE;oBACnB,OAAO,EAAE;wBACP,yBAAyB,EAAE,IAAI;qBAChC;iBACF;aACF;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,0BAAiB,CAAC,yBAAyB,EAAE,aAAa,CAAC,CAAC;QACxE,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAS;QACpB,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YACxC,IAAI,kCACC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAC9B,mBAAmB,EAAE;oBACnB,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;wBAC/D,4BAA4B,EAAE,OAAO;qBACtC,CAAC,CAAC;iBACJ,GACF;YACD,OAAO,EAAE;gBACP,mBAAmB,EAAE;oBACnB,OAAO,EAAE,EAAE,yBAAyB,EAAE,IAAI,EAAE;iBAC7C;aACF;SACF,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;QAC7C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,IAAS;QAChC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC7C,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YACxC,KAAK,EAAE,EAAE,EAAE,EAAE;YACb,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC;YACvC,OAAO,EAAE;gBACP,mBAAmB,EAAE;oBACnB,OAAO,EAAE,EAAE,yBAAyB,EAAE,IAAI,EAAE;iBAC7C;aACF;SACF,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC;gBAClC,KAAK,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE;aAChC,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACxD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;oBAC9B,IAAI,EAAE;wBACJ,gBAAgB,EAAE,EAAE;wBACpB,4BAA4B,EAAE,OAAO;qBACtC;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;QAChD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAe;;QAC1B,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,GAAG,0CAAE,MAAM,CAAA,EAAE,CAAC;YACtB,MAAM,IAAI,4BAAmB,CAAC,8CAA8C,CAAC,CAAC;QAChF,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC9B,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE;SAChC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,SAAiB,EAAE,gBAA+B;QAC/D,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,EAAE;YAC3D,KAAK,EAAE,EAAE,gBAAgB,EAAE,SAAS,EAAE;YACtC,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;SAClD,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAkB;QAClC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAExE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,wBAAwB;QAC5B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;YACvC,KAAK,EAAE;gBACL,MAAM,EAAE,QAAQ;gBAChB,mBAAmB,EAAE;oBACnB,IAAI,EAAE;wBACJ,aAAa,EAAE;4BACb,MAAM,EAAE,QAAQ;yBACjB;qBACF;iBACF;aACF;YACD,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;SACvB,CAAC,CAAC;QAEH,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,0BAA0B,CAAC,SAAiB;QACxD,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC5B,KAAK,EAAE;gBACL,MAAM,EAAE,QAAQ;gBAChB,mBAAmB,EAAE;oBACnB,IAAI,EAAE;wBACJ,yBAAyB,EAAE;4BACzB,IAAI,EAAE,SAAS;4BACf,MAAM,EAAE,QAAQ;yBACjB;qBACF;iBACF;aACF;YACD,OAAO,EAAE;gBACP,mBAAmB,EAAE;oBACnB,OAAO,EAAE;wBACP,yBAAyB,EAAE,IAAI;qBAChC;iBACF;aACF;YACD,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;SAC/C,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,OAAY,EAAE,KAAkB;;QAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,SAAS,GAAQ,IAAI,CAAC;QAC1B,IAAI,UAAU,GAAkB,IAAI,CAAC;QACrC,IAAI,eAAe,GAAQ,IAAI,CAAC;QAEhC,MAAM,OAAO,mCACR,KAAK,KACR,SAAS,EAAE,MAAA,MAAA,MAAA,KAAK,CAAC,SAAS,0CAAE,WAAW,kDAAI,mCAAI,KAAK,CAAC,SAAS,EAC9D,aAAa,EAAE,MAAC,KAAa,CAAC,aAAa,mCAAI,IAAI,GACpD,CAAC;QAEF,MAAM,GAAG,GAAG,IAAA,8BAAc,EAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAW,CAAC;QAC3D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC;QACxC,MAAM,OAAO,GAAG,IAAA,8BAAc,EAAC,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,OAAO,CAA2B,CAAC;QACzF,MAAM,KAAK,GAAG,IAAA,8BAAc,EAAC,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE,OAAO,CAA2B,CAAC;QACrF,MAAM,OAAO,GAAG,IAAA,8BAAc,EAAC,MAAA,MAAA,OAAO,CAAC,OAAO,mCAAI,KAAK,CAAC,OAAO,mCAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QAChF,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAEtE,KAAK,YAAY,GAAG,CAAC,EAAE,YAAY,IAAI,WAAW,EAAE,YAAY,EAAE,EAAE,CAAC;YACnE,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAc,EACjC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;oBAChB,GAAG;oBACH,MAAM;oBACN,OAAO;oBACP,MAAM,EAAE,KAAK;oBACb,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;oBAC9D,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,IAAI,KAAK,CAAC;iBAC7C,CAAC,CACH,CAAC;gBAEF,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC3B,eAAe,GAAG,IAAA,gCAAgB,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAChD,SAAS,GAAG,IAAI,CAAC;gBACjB,MAAM;YACR,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,SAAS,GAAG,KAAK,CAAC;gBAClB,UAAU,GAAG,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,0CAAE,MAAM,mCAAI,IAAI,CAAC;gBAC7C,eAAe,GAAG,IAAA,gCAAgB,EAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,0CAAE,IAAI,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,SAAS,CAAC;QAC3B,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YACrB,IAAI,EAAE;gBACJ,gBAAgB,EAAE,OAAO,CAAC,EAAE;gBAC5B,4BAA4B,EAC1B,MAAA,MAAA,MAAA,MAAA,OAAO,CAAC,mBAAmB,0CAAG,CAAC,CAAC,0CAAE,yBAAyB,0CAAE,EAAE,mCAAI,IAAI;gBACzE,eAAe,EAAE,MAAM,CAAE,KAAa,CAAC,aAAa,IAAI,CAAC,CAAC,IAAI,IAAI;gBAClE,UAAU,EAAE,KAAK,CAAC,SAAS;gBAC3B,MAAM;gBACN,GAAG;gBACH,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;gBACtC,WAAW,EAAE,UAAU;gBACvB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBACnC,aAAa,EAAE,YAAY;gBAC3B,aAAa,EAAE,SAAS;oBACtB,CAAC,CAAC,SAAS,YAAY,KAAK;wBAC1B,CAAC,CAAC,SAAS,CAAC,OAAO;wBACnB,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;oBACrB,CAAC,CAAC,IAAI;gBACR,eAAe,EAAE,IAAA,gCAAgB,EAAC;oBAChC,OAAO;oBACP,KAAK;oBACL,OAAO;iBACR,CAAC;gBACF,gBAAgB,EAAE,eAAe;aAClC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,SAAS,CAAC;QAClB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,yBAAyB,CAAC,OAAY;;QAClD,MAAM,UAAU,GACd,CAAA,MAAA,OAAO,CAAC,mBAAmB,0CACvB,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,WAAC,OAAA,MAAA,GAAG,CAAC,yBAAyB,0CAAE,IAAI,CAAA,EAAA,EACtD,MAAM,CAAC,OAAO,CAAC,KAAI,EAAE,CAAC;QAE3B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,SAAiB;QACrC,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACzC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;YAC5B,SAAS;YACT,YAAY,EAAE,sBAAsB,SAAS,EAAE;YAC/C,QAAQ,EAAE,CAAC,GAAG;YACd,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACvB,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,2CAA2C,SAAS,EAAE,CAAC,CAAC;IAC1E,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,IAAY;QAC5C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC9C,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE;YAC1C,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE;SACrB,CAAC,CAAC;QAEH,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,4BAAmB,CAAC,kBAAkB,IAAI,mBAAmB,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAEO,gBAAgB,CAAC,IAAS,EAAE,OAAO,GAAG,KAAK;;QACjD,MAAM,UAAU,GAAwB,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,KAAU,EAAE,EAAE;YACzC,IAAI,CAAC,OAAO,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACpC,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAC1B,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAA,IAAI,CAAC,IAAI,mCAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/C,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAA,IAAI,CAAC,IAAI,mCAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/C,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;QACtE,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACrE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,MAAA,IAAI,CAAC,QAAQ,mCAAI,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAA,IAAI,CAAC,GAAG,mCAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7C,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAC9D,MAAM,CAAC,SAAS,EAAE,IAAA,mCAAmB,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACrD,MAAM,CAAC,OAAO,EAAE,IAAA,mCAAmB,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,SAAS,EAAE,IAAA,mCAAmB,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACrD,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,CAAC,CAAC;QACvD,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC;QAErD,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,iBAAiB,CAAC,KAAU;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvE,OAAO,MAAM;aACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAC3B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;IACzD,CAAC;IAEO,cAAc,CAAC,KAAU,EAAE,OAAO,GAAG,KAAK;QAChD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QACpC,CAAC;QAED,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;QACxC,OAAO,UAAU,IAAI,IAAI,CAAC;IAC5B,CAAC;CACF,CAAA;AAzWY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;qCAMgB,0BAAa;QACT,kCAAiB;QACvB,mBAAW;QACD,kEAA8B;GARtD,mBAAmB,CAyW/B"}
@@ -0,0 +1,21 @@
1
+ import { DeleteDTO } from '@hed-hog/api';
2
+ import { IntegrationEventCatalogService } from './integration-event-catalog.service';
3
+ export declare class IntegrationEventCatalogController {
4
+ private readonly service;
5
+ constructor(service: IntegrationEventCatalogService);
6
+ list(paginationParams: any): Promise<{
7
+ total: any;
8
+ lastPage: number;
9
+ page: number;
10
+ pageSize: number;
11
+ prev: number;
12
+ next: number;
13
+ data: any[];
14
+ }>;
15
+ options(): Promise<any>;
16
+ get(id: number): Promise<any>;
17
+ create(data: any): Promise<any>;
18
+ update(id: number, data: any): Promise<any>;
19
+ delete(data: DeleteDTO): Promise<any>;
20
+ }
21
+ //# sourceMappingURL=integration-event-catalog.controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integration-event-catalog.controller.d.ts","sourceRoot":"","sources":["../../src/webhook-integration/integration-event-catalog.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAQ,MAAM,cAAc,CAAC;AAY/C,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAErF,qBAEa,iCAAiC;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,8BAA8B;IAGpE,IAAI,CAAe,gBAAgB,KAAA;;;;;;;;;IAKnC,OAAO;IAKP,GAAG,CAA4B,EAAE,EAAE,MAAM;IAKzC,MAAM,CAAS,IAAI,EAAE,GAAG;IAKxB,MAAM,CAA4B,EAAE,EAAE,MAAM,EAAU,IAAI,EAAE,GAAG;IAK/D,MAAM,CAAS,IAAI,EAAE,SAAS;CAG/B"}
@@ -0,0 +1,91 @@
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
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.IntegrationEventCatalogController = void 0;
16
+ const api_1 = require("@hed-hog/api");
17
+ const api_pagination_1 = require("@hed-hog/api-pagination");
18
+ const common_1 = require("@nestjs/common");
19
+ const integration_event_catalog_service_1 = require("./integration-event-catalog.service");
20
+ let IntegrationEventCatalogController = class IntegrationEventCatalogController {
21
+ constructor(service) {
22
+ this.service = service;
23
+ }
24
+ list(paginationParams) {
25
+ return this.service.list(paginationParams);
26
+ }
27
+ options() {
28
+ return this.service.options();
29
+ }
30
+ get(id) {
31
+ return this.service.get(id);
32
+ }
33
+ create(data) {
34
+ return this.service.create(data);
35
+ }
36
+ update(id, data) {
37
+ return this.service.update(id, data);
38
+ }
39
+ delete(data) {
40
+ return this.service.delete(data);
41
+ }
42
+ };
43
+ exports.IntegrationEventCatalogController = IntegrationEventCatalogController;
44
+ __decorate([
45
+ (0, common_1.Get)(),
46
+ __param(0, (0, api_pagination_1.Pagination)()),
47
+ __metadata("design:type", Function),
48
+ __metadata("design:paramtypes", [Object]),
49
+ __metadata("design:returntype", void 0)
50
+ ], IntegrationEventCatalogController.prototype, "list", null);
51
+ __decorate([
52
+ (0, common_1.Get)('options'),
53
+ __metadata("design:type", Function),
54
+ __metadata("design:paramtypes", []),
55
+ __metadata("design:returntype", void 0)
56
+ ], IntegrationEventCatalogController.prototype, "options", null);
57
+ __decorate([
58
+ (0, common_1.Get)(':id'),
59
+ __param(0, (0, common_1.Param)('id', common_1.ParseIntPipe)),
60
+ __metadata("design:type", Function),
61
+ __metadata("design:paramtypes", [Number]),
62
+ __metadata("design:returntype", void 0)
63
+ ], IntegrationEventCatalogController.prototype, "get", null);
64
+ __decorate([
65
+ (0, common_1.Post)(),
66
+ __param(0, (0, common_1.Body)()),
67
+ __metadata("design:type", Function),
68
+ __metadata("design:paramtypes", [Object]),
69
+ __metadata("design:returntype", void 0)
70
+ ], IntegrationEventCatalogController.prototype, "create", null);
71
+ __decorate([
72
+ (0, common_1.Patch)(':id'),
73
+ __param(0, (0, common_1.Param)('id', common_1.ParseIntPipe)),
74
+ __param(1, (0, common_1.Body)()),
75
+ __metadata("design:type", Function),
76
+ __metadata("design:paramtypes", [Number, Object]),
77
+ __metadata("design:returntype", void 0)
78
+ ], IntegrationEventCatalogController.prototype, "update", null);
79
+ __decorate([
80
+ (0, common_1.Delete)(),
81
+ __param(0, (0, common_1.Body)()),
82
+ __metadata("design:type", Function),
83
+ __metadata("design:paramtypes", [api_1.DeleteDTO]),
84
+ __metadata("design:returntype", void 0)
85
+ ], IntegrationEventCatalogController.prototype, "delete", null);
86
+ exports.IntegrationEventCatalogController = IntegrationEventCatalogController = __decorate([
87
+ (0, api_1.Role)(),
88
+ (0, common_1.Controller)('integration-event-catalog'),
89
+ __metadata("design:paramtypes", [integration_event_catalog_service_1.IntegrationEventCatalogService])
90
+ ], IntegrationEventCatalogController);
91
+ //# sourceMappingURL=integration-event-catalog.controller.js.map