@neohm/nestend 6.2.0 → 6.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (240) hide show
  1. package/dist/admin/admin.module.d.ts.map +1 -1
  2. package/dist/admin/admin.module.js +3 -0
  3. package/dist/admin/admin.module.js.map +1 -1
  4. package/dist/admin/controllers/admin.payment.controller.d.ts +12 -0
  5. package/dist/admin/controllers/admin.payment.controller.d.ts.map +1 -0
  6. package/dist/admin/controllers/admin.payment.controller.js +77 -0
  7. package/dist/admin/controllers/admin.payment.controller.js.map +1 -0
  8. package/dist/admin/controllers/admin.plan.controller.d.ts +17 -0
  9. package/dist/admin/controllers/admin.plan.controller.d.ts.map +1 -0
  10. package/dist/admin/controllers/admin.plan.controller.js +121 -0
  11. package/dist/admin/controllers/admin.plan.controller.js.map +1 -0
  12. package/dist/admin/controllers/admin.tenant.controller.d.ts +8 -1
  13. package/dist/admin/controllers/admin.tenant.controller.d.ts.map +1 -1
  14. package/dist/admin/controllers/admin.tenant.controller.js +71 -2
  15. package/dist/admin/controllers/admin.tenant.controller.js.map +1 -1
  16. package/dist/admin/controllers/admin.webhook.event.controller.d.ts +16 -0
  17. package/dist/admin/controllers/admin.webhook.event.controller.d.ts.map +1 -0
  18. package/dist/admin/controllers/admin.webhook.event.controller.js +117 -0
  19. package/dist/admin/controllers/admin.webhook.event.controller.js.map +1 -0
  20. package/dist/admin/dtos/add.plan.dto.d.ts +20 -0
  21. package/dist/admin/dtos/add.plan.dto.d.ts.map +1 -0
  22. package/dist/admin/dtos/add.plan.dto.js +156 -0
  23. package/dist/admin/dtos/add.plan.dto.js.map +1 -0
  24. package/dist/admin/dtos/add.tenant.dto.d.ts +4 -0
  25. package/dist/admin/dtos/add.tenant.dto.d.ts.map +1 -1
  26. package/dist/admin/dtos/add.tenant.dto.js +27 -0
  27. package/dist/admin/dtos/add.tenant.dto.js.map +1 -1
  28. package/dist/admin/dtos/assign.tenant.plan.dto.d.ts +7 -0
  29. package/dist/admin/dtos/assign.tenant.plan.dto.d.ts.map +1 -0
  30. package/dist/admin/dtos/assign.tenant.plan.dto.js +44 -0
  31. package/dist/admin/dtos/assign.tenant.plan.dto.js.map +1 -0
  32. package/dist/admin/dtos/payment.list.dto.d.ts +4 -0
  33. package/dist/admin/dtos/payment.list.dto.d.ts.map +1 -0
  34. package/dist/admin/dtos/payment.list.dto.js +8 -0
  35. package/dist/admin/dtos/payment.list.dto.js.map +1 -0
  36. package/dist/admin/dtos/plan.list.dto.d.ts +4 -0
  37. package/dist/admin/dtos/plan.list.dto.d.ts.map +1 -0
  38. package/dist/admin/dtos/plan.list.dto.js +8 -0
  39. package/dist/admin/dtos/plan.list.dto.js.map +1 -0
  40. package/dist/admin/dtos/webhook.event.list.dto.d.ts +4 -0
  41. package/dist/admin/dtos/webhook.event.list.dto.d.ts.map +1 -0
  42. package/dist/admin/dtos/webhook.event.list.dto.js +8 -0
  43. package/dist/admin/dtos/webhook.event.list.dto.js.map +1 -0
  44. package/dist/admin/es6.classes.d.ts +13 -4
  45. package/dist/admin/es6.classes.d.ts.map +1 -1
  46. package/dist/admin/es6.classes.js +27 -0
  47. package/dist/admin/es6.classes.js.map +1 -1
  48. package/dist/admin/libraries/payment.list.processor.d.ts +11 -0
  49. package/dist/admin/libraries/payment.list.processor.d.ts.map +1 -0
  50. package/dist/admin/libraries/payment.list.processor.js +68 -0
  51. package/dist/admin/libraries/payment.list.processor.js.map +1 -0
  52. package/dist/admin/libraries/plan.data.processor.d.ts +24 -0
  53. package/dist/admin/libraries/plan.data.processor.d.ts.map +1 -0
  54. package/dist/admin/libraries/plan.data.processor.js +207 -0
  55. package/dist/admin/libraries/plan.data.processor.js.map +1 -0
  56. package/dist/admin/libraries/plan.list.processor.d.ts +11 -0
  57. package/dist/admin/libraries/plan.list.processor.d.ts.map +1 -0
  58. package/dist/admin/libraries/plan.list.processor.js +84 -0
  59. package/dist/admin/libraries/plan.list.processor.js.map +1 -0
  60. package/dist/admin/libraries/tenant.data.processor.d.ts +1 -0
  61. package/dist/admin/libraries/tenant.data.processor.d.ts.map +1 -1
  62. package/dist/admin/libraries/tenant.data.processor.js +19 -1
  63. package/dist/admin/libraries/tenant.data.processor.js.map +1 -1
  64. package/dist/admin/libraries/tenant.plan.data.processor.d.ts +16 -0
  65. package/dist/admin/libraries/tenant.plan.data.processor.d.ts.map +1 -0
  66. package/dist/admin/libraries/tenant.plan.data.processor.js +66 -0
  67. package/dist/admin/libraries/tenant.plan.data.processor.js.map +1 -0
  68. package/dist/admin/libraries/webhook.event.list.processor.d.ts +11 -0
  69. package/dist/admin/libraries/webhook.event.list.processor.d.ts.map +1 -0
  70. package/dist/admin/libraries/webhook.event.list.processor.js +46 -0
  71. package/dist/admin/libraries/webhook.event.list.processor.js.map +1 -0
  72. package/dist/auth/auth.module.d.ts.map +1 -1
  73. package/dist/auth/auth.module.js +13 -1
  74. package/dist/auth/auth.module.js.map +1 -1
  75. package/dist/auth/controllers/tenant.payment.controller.d.ts +10 -0
  76. package/dist/auth/controllers/tenant.payment.controller.d.ts.map +1 -0
  77. package/dist/auth/controllers/tenant.payment.controller.js +52 -0
  78. package/dist/auth/controllers/tenant.payment.controller.js.map +1 -0
  79. package/dist/auth/controllers/tenant.plan.controller.d.ts +17 -0
  80. package/dist/auth/controllers/tenant.plan.controller.d.ts.map +1 -0
  81. package/dist/auth/controllers/tenant.plan.controller.js +105 -0
  82. package/dist/auth/controllers/tenant.plan.controller.js.map +1 -0
  83. package/dist/auth/dtos/checkout.plan.dto.d.ts +5 -0
  84. package/dist/auth/dtos/checkout.plan.dto.d.ts.map +1 -0
  85. package/dist/auth/dtos/checkout.plan.dto.js +43 -0
  86. package/dist/auth/dtos/checkout.plan.dto.js.map +1 -0
  87. package/dist/auth/entities/payment.entity.d.ts +17 -0
  88. package/dist/auth/entities/payment.entity.d.ts.map +1 -0
  89. package/dist/auth/entities/payment.entity.js +74 -0
  90. package/dist/auth/entities/payment.entity.js.map +1 -0
  91. package/dist/auth/entities/plan.entity.d.ts +18 -0
  92. package/dist/auth/entities/plan.entity.d.ts.map +1 -0
  93. package/dist/auth/entities/plan.entity.js +75 -0
  94. package/dist/auth/entities/plan.entity.js.map +1 -0
  95. package/dist/auth/entities/plan.limit.entity.d.ts +11 -0
  96. package/dist/auth/entities/plan.limit.entity.d.ts.map +1 -0
  97. package/dist/auth/entities/plan.limit.entity.js +45 -0
  98. package/dist/auth/entities/plan.limit.entity.js.map +1 -0
  99. package/dist/auth/entities/plan.scope.entity.d.ts +10 -0
  100. package/dist/auth/entities/plan.scope.entity.d.ts.map +1 -0
  101. package/dist/auth/entities/plan.scope.entity.js +41 -0
  102. package/dist/auth/entities/plan.scope.entity.js.map +1 -0
  103. package/dist/auth/entities/tenant.plan.entity.d.ts +15 -0
  104. package/dist/auth/entities/tenant.plan.entity.d.ts.map +1 -0
  105. package/dist/auth/entities/tenant.plan.entity.js +58 -0
  106. package/dist/auth/entities/tenant.plan.entity.js.map +1 -0
  107. package/dist/auth/enums/payment.enum.d.ts +42 -0
  108. package/dist/auth/enums/payment.enum.d.ts.map +1 -0
  109. package/dist/auth/enums/payment.enum.js +49 -0
  110. package/dist/auth/enums/payment.enum.js.map +1 -0
  111. package/dist/auth/enums/tenant.limit.enum.d.ts +6 -0
  112. package/dist/auth/enums/tenant.limit.enum.d.ts.map +1 -1
  113. package/dist/auth/enums/tenant.limit.enum.js +8 -1
  114. package/dist/auth/enums/tenant.limit.enum.js.map +1 -1
  115. package/dist/auth/enums/tenant.plan.enum.d.ts +31 -0
  116. package/dist/auth/enums/tenant.plan.enum.d.ts.map +1 -0
  117. package/dist/auth/enums/tenant.plan.enum.js +40 -0
  118. package/dist/auth/enums/tenant.plan.enum.js.map +1 -0
  119. package/dist/auth/enums/tenant.provisioning.enum.d.ts +5 -1
  120. package/dist/auth/enums/tenant.provisioning.enum.d.ts.map +1 -1
  121. package/dist/auth/enums/tenant.provisioning.enum.js +4 -0
  122. package/dist/auth/enums/tenant.provisioning.enum.js.map +1 -1
  123. package/dist/auth/es6.classes.d.ts +8 -3
  124. package/dist/auth/es6.classes.d.ts.map +1 -1
  125. package/dist/auth/es6.classes.js +10 -0
  126. package/dist/auth/es6.classes.js.map +1 -1
  127. package/dist/auth/services/payment.service.d.ts +40 -0
  128. package/dist/auth/services/payment.service.d.ts.map +1 -0
  129. package/dist/auth/services/payment.service.js +334 -0
  130. package/dist/auth/services/payment.service.js.map +1 -0
  131. package/dist/auth/services/scope.service.d.ts.map +1 -1
  132. package/dist/auth/services/scope.service.js +4 -0
  133. package/dist/auth/services/scope.service.js.map +1 -1
  134. package/dist/auth/services/tenant.limit.service.d.ts.map +1 -1
  135. package/dist/auth/services/tenant.limit.service.js +2 -0
  136. package/dist/auth/services/tenant.limit.service.js.map +1 -1
  137. package/dist/auth/services/tenant.plan.service.d.ts +20 -0
  138. package/dist/auth/services/tenant.plan.service.d.ts.map +1 -0
  139. package/dist/auth/services/tenant.plan.service.js +158 -0
  140. package/dist/auth/services/tenant.plan.service.js.map +1 -0
  141. package/dist/auth/services/tenant.provisioning.service.d.ts.map +1 -1
  142. package/dist/auth/services/tenant.provisioning.service.js +32 -2
  143. package/dist/auth/services/tenant.provisioning.service.js.map +1 -1
  144. package/dist/auth/types/payment.types.d.ts +45 -0
  145. package/dist/auth/types/payment.types.d.ts.map +1 -0
  146. package/dist/auth/types/payment.types.js +3 -0
  147. package/dist/auth/types/payment.types.js.map +1 -0
  148. package/dist/auth/types/tenant.limit.types.d.ts +9 -1
  149. package/dist/auth/types/tenant.limit.types.d.ts.map +1 -1
  150. package/dist/auth/types/tenant.plan.types.d.ts +58 -0
  151. package/dist/auth/types/tenant.plan.types.d.ts.map +1 -0
  152. package/dist/auth/types/tenant.plan.types.js +3 -0
  153. package/dist/auth/types/tenant.plan.types.js.map +1 -0
  154. package/dist/auth/types/tenant.provisioning.types.d.ts +5 -0
  155. package/dist/auth/types/tenant.provisioning.types.d.ts.map +1 -1
  156. package/dist/auth/utilities/tenant.limits.d.ts +2 -2
  157. package/dist/auth/utilities/tenant.limits.d.ts.map +1 -1
  158. package/dist/auth/utilities/tenant.limits.js +33 -4
  159. package/dist/auth/utilities/tenant.limits.js.map +1 -1
  160. package/dist/auth/utilities/tenant.plans.d.ts +12 -0
  161. package/dist/auth/utilities/tenant.plans.d.ts.map +1 -0
  162. package/dist/auth/utilities/tenant.plans.js +91 -0
  163. package/dist/auth/utilities/tenant.plans.js.map +1 -0
  164. package/dist/constants/entity.constants.d.ts +6 -0
  165. package/dist/constants/entity.constants.d.ts.map +1 -1
  166. package/dist/constants/entity.constants.js +6 -0
  167. package/dist/constants/entity.constants.js.map +1 -1
  168. package/dist/constants/entity.maps.d.ts +12 -0
  169. package/dist/constants/entity.maps.d.ts.map +1 -1
  170. package/dist/constants/entity.maps.js +12 -0
  171. package/dist/constants/entity.maps.js.map +1 -1
  172. package/dist/index.d.ts +22 -2
  173. package/dist/index.d.ts.map +1 -1
  174. package/dist/index.js +45 -4
  175. package/dist/index.js.map +1 -1
  176. package/dist/migrations/1749600000041.CreateSysPlansTable.d.ts +6 -0
  177. package/dist/migrations/1749600000041.CreateSysPlansTable.d.ts.map +1 -0
  178. package/dist/migrations/1749600000041.CreateSysPlansTable.js +39 -0
  179. package/dist/migrations/1749600000041.CreateSysPlansTable.js.map +1 -0
  180. package/dist/migrations/1749600000042.CreateSysPlanScopesTable.d.ts +6 -0
  181. package/dist/migrations/1749600000042.CreateSysPlanScopesTable.d.ts.map +1 -0
  182. package/dist/migrations/1749600000042.CreateSysPlanScopesTable.js +32 -0
  183. package/dist/migrations/1749600000042.CreateSysPlanScopesTable.js.map +1 -0
  184. package/dist/migrations/1749600000043.CreateSysPlanLimitsTable.d.ts +6 -0
  185. package/dist/migrations/1749600000043.CreateSysPlanLimitsTable.d.ts.map +1 -0
  186. package/dist/migrations/1749600000043.CreateSysPlanLimitsTable.js +33 -0
  187. package/dist/migrations/1749600000043.CreateSysPlanLimitsTable.js.map +1 -0
  188. package/dist/migrations/1749600000044.CreateSysTenantPlansTable.d.ts +6 -0
  189. package/dist/migrations/1749600000044.CreateSysTenantPlansTable.d.ts.map +1 -0
  190. package/dist/migrations/1749600000044.CreateSysTenantPlansTable.js +46 -0
  191. package/dist/migrations/1749600000044.CreateSysTenantPlansTable.js.map +1 -0
  192. package/dist/migrations/1749600000045.CreateSysPaymentsTable.d.ts +6 -0
  193. package/dist/migrations/1749600000045.CreateSysPaymentsTable.d.ts.map +1 -0
  194. package/dist/migrations/1749600000045.CreateSysPaymentsTable.js +44 -0
  195. package/dist/migrations/1749600000045.CreateSysPaymentsTable.js.map +1 -0
  196. package/dist/migrations/1749600000046.CreateSysWebhookEventsTable.d.ts +6 -0
  197. package/dist/migrations/1749600000046.CreateSysWebhookEventsTable.d.ts.map +1 -0
  198. package/dist/migrations/1749600000046.CreateSysWebhookEventsTable.js +32 -0
  199. package/dist/migrations/1749600000046.CreateSysWebhookEventsTable.js.map +1 -0
  200. package/dist/webhook/controllers/webhook.controller.d.ts +10 -0
  201. package/dist/webhook/controllers/webhook.controller.d.ts.map +1 -0
  202. package/dist/webhook/controllers/webhook.controller.js +55 -0
  203. package/dist/webhook/controllers/webhook.controller.js.map +1 -0
  204. package/dist/webhook/entities/webhook.event.entity.d.ts +13 -0
  205. package/dist/webhook/entities/webhook.event.entity.d.ts.map +1 -0
  206. package/dist/webhook/entities/webhook.event.entity.js +54 -0
  207. package/dist/webhook/entities/webhook.event.entity.js.map +1 -0
  208. package/dist/webhook/enums/webhook.enum.d.ts +38 -0
  209. package/dist/webhook/enums/webhook.enum.d.ts.map +1 -0
  210. package/dist/webhook/enums/webhook.enum.js +46 -0
  211. package/dist/webhook/enums/webhook.enum.js.map +1 -0
  212. package/dist/webhook/es6.classes.d.ts +13 -0
  213. package/dist/webhook/es6.classes.d.ts.map +1 -0
  214. package/dist/webhook/es6.classes.js +16 -0
  215. package/dist/webhook/es6.classes.js.map +1 -0
  216. package/dist/webhook/jobs/process.webhook.event.job.d.ts +11 -0
  217. package/dist/webhook/jobs/process.webhook.event.job.d.ts.map +1 -0
  218. package/dist/webhook/jobs/process.webhook.event.job.js +34 -0
  219. package/dist/webhook/jobs/process.webhook.event.job.js.map +1 -0
  220. package/dist/webhook/jobs/purge.webhook.events.job.d.ts +11 -0
  221. package/dist/webhook/jobs/purge.webhook.events.job.d.ts.map +1 -0
  222. package/dist/webhook/jobs/purge.webhook.events.job.js +37 -0
  223. package/dist/webhook/jobs/purge.webhook.events.job.js.map +1 -0
  224. package/dist/webhook/services/webhook.service.d.ts +26 -0
  225. package/dist/webhook/services/webhook.service.d.ts.map +1 -0
  226. package/dist/webhook/services/webhook.service.js +217 -0
  227. package/dist/webhook/services/webhook.service.js.map +1 -0
  228. package/dist/webhook/types/webhook.types.d.ts +39 -0
  229. package/dist/webhook/types/webhook.types.d.ts.map +1 -0
  230. package/dist/webhook/types/webhook.types.js +3 -0
  231. package/dist/webhook/types/webhook.types.js.map +1 -0
  232. package/dist/webhook/utilities/webhook.signature.d.ts +6 -0
  233. package/dist/webhook/utilities/webhook.signature.d.ts.map +1 -0
  234. package/dist/webhook/utilities/webhook.signature.js +30 -0
  235. package/dist/webhook/utilities/webhook.signature.js.map +1 -0
  236. package/dist/webhook/webhook.module.d.ts +7 -0
  237. package/dist/webhook/webhook.module.d.ts.map +1 -0
  238. package/dist/webhook/webhook.module.js +61 -0
  239. package/dist/webhook/webhook.module.js.map +1 -0
  240. package/package.json +1 -1
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CreateSysPlanLimitsTable1749600000043 = void 0;
4
+ const migration_utility_1 = require("../global/utilities/migration.utility");
5
+ class CreateSysPlanLimitsTable1749600000043 extends migration_utility_1.MigrationUtility {
6
+ constructor() {
7
+ super('sys_plan_limits');
8
+ this.process();
9
+ }
10
+ process() {
11
+ this.rootPrimary();
12
+ this.foreign({
13
+ name: 'plan_id',
14
+ foreignTable: 'sys_plans',
15
+ onDelete: 'CASCADE',
16
+ nullable: false,
17
+ });
18
+ this.foreign({
19
+ name: 'limit_id',
20
+ foreignTable: 'sys_limits',
21
+ onDelete: 'CASCADE',
22
+ nullable: false,
23
+ });
24
+ this.number('value', { nullable: true, comment: 'null = unlimited' });
25
+ this.adminWhoColumns();
26
+ this.unique(['plan_id', 'limit_id'], 'uq_sys_plan_limits_plan_limit', 'deleted_at IS NULL');
27
+ this.index('limit_id');
28
+ this.index('created_by');
29
+ this.index('updated_by');
30
+ }
31
+ }
32
+ exports.CreateSysPlanLimitsTable1749600000043 = CreateSysPlanLimitsTable1749600000043;
33
+ //# sourceMappingURL=1749600000043.CreateSysPlanLimitsTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1749600000043.CreateSysPlanLimitsTable.js","sourceRoot":"","sources":["../../src/migrations/1749600000043.CreateSysPlanLimitsTable.ts"],"names":[],"mappings":";;;AAAA,6EAAyE;AAGzE,MAAa,qCAAsC,SAAQ,oCAAgB;IACzE;QACE,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACzB,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,CAAC;YACX,IAAI,EAAE,SAAS;YACf,YAAY,EAAE,WAAW;YACzB,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC;YACX,IAAI,EAAE,UAAU;YAChB,YAAY,EAAE,YAAY;YAC1B,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC,CAAC;QACtE,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,IAAI,CAAC,MAAM,CACT,CAAC,SAAS,EAAE,UAAU,CAAC,EACvB,+BAA+B,EAC/B,oBAAoB,CACrB,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC3B,CAAC;CACF;AAhCD,sFAgCC"}
@@ -0,0 +1,6 @@
1
+ import { MigrationUtility } from '../global/utilities/migration.utility';
2
+ export declare class CreateSysTenantPlansTable1749600000044 extends MigrationUtility {
3
+ constructor();
4
+ process(): void;
5
+ }
6
+ //# sourceMappingURL=1749600000044.CreateSysTenantPlansTable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1749600000044.CreateSysTenantPlansTable.d.ts","sourceRoot":"","sources":["../../src/migrations/1749600000044.CreateSysTenantPlansTable.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAGzE,qBAAa,sCAAuC,SAAQ,gBAAgB;;IAM1E,OAAO;CAuCR"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CreateSysTenantPlansTable1749600000044 = void 0;
4
+ const tenant_plan_enum_1 = require("../auth/enums/tenant.plan.enum");
5
+ const migration_utility_1 = require("../global/utilities/migration.utility");
6
+ class CreateSysTenantPlansTable1749600000044 extends migration_utility_1.MigrationUtility {
7
+ constructor() {
8
+ super('sys_tenant_plans');
9
+ this.process();
10
+ }
11
+ process() {
12
+ this.rootPrimary();
13
+ this.foreign({
14
+ name: 'tenant_id',
15
+ foreignTable: 'sys_tenants',
16
+ onDelete: 'CASCADE',
17
+ nullable: false,
18
+ });
19
+ this.foreign({
20
+ name: 'plan_id',
21
+ foreignTable: 'sys_plans',
22
+ onDelete: 'CASCADE',
23
+ nullable: false,
24
+ });
25
+ this.string('status', {
26
+ length: 16,
27
+ nullable: false,
28
+ default: tenant_plan_enum_1.TenantPlanStatus.ACTIVE,
29
+ });
30
+ this.string('source', {
31
+ length: 16,
32
+ nullable: false,
33
+ default: tenant_plan_enum_1.TenantPlanSource.ADMIN,
34
+ });
35
+ this.date('started_at', { nullable: false });
36
+ this.date('ends_at', { nullable: true });
37
+ this.adminWhoColumns();
38
+ this.unique('tenant_id', 'uq_sys_tenant_plans_live', `status <> ${migration_utility_1.MigrationUtility.literal(tenant_plan_enum_1.TenantPlanStatus.ENDED)} AND deleted_at IS NULL`);
39
+ this.index('tenant_id');
40
+ this.index('plan_id');
41
+ this.index('created_by');
42
+ this.index('updated_by');
43
+ }
44
+ }
45
+ exports.CreateSysTenantPlansTable1749600000044 = CreateSysTenantPlansTable1749600000044;
46
+ //# sourceMappingURL=1749600000044.CreateSysTenantPlansTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1749600000044.CreateSysTenantPlansTable.js","sourceRoot":"","sources":["../../src/migrations/1749600000044.CreateSysTenantPlansTable.ts"],"names":[],"mappings":";;;AAAA,qEAGwC;AACxC,6EAAyE;AAGzE,MAAa,sCAAuC,SAAQ,oCAAgB;IAC1E;QACE,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC1B,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,CAAC;YACX,IAAI,EAAE,WAAW;YACjB,YAAY,EAAE,aAAa;YAC3B,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC;YACX,IAAI,EAAE,SAAS;YACf,YAAY,EAAE,WAAW;YACzB,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;YACpB,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,mCAAgB,CAAC,MAAM;SACjC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;YACpB,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,mCAAgB,CAAC,KAAK;SAChC,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,eAAe,EAAE,CAAC;QAGvB,IAAI,CAAC,MAAM,CACT,WAAW,EACX,0BAA0B,EAC1B,aAAa,oCAAgB,CAAC,OAAO,CAAC,mCAAgB,CAAC,KAAK,CAAC,yBAAyB,CACvF,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC3B,CAAC;CACF;AA7CD,wFA6CC"}
@@ -0,0 +1,6 @@
1
+ import { MigrationUtility } from '../global/utilities/migration.utility';
2
+ export declare class CreateSysPaymentsTable1749600000045 extends MigrationUtility {
3
+ constructor();
4
+ process(): void;
5
+ }
6
+ //# sourceMappingURL=1749600000045.CreateSysPaymentsTable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1749600000045.CreateSysPaymentsTable.d.ts","sourceRoot":"","sources":["../../src/migrations/1749600000045.CreateSysPaymentsTable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAGzE,qBAAa,mCAAoC,SAAQ,gBAAgB;;IAMvE,OAAO;CAsCR"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CreateSysPaymentsTable1749600000045 = void 0;
4
+ const payment_enum_1 = require("../auth/enums/payment.enum");
5
+ const migration_utility_1 = require("../global/utilities/migration.utility");
6
+ class CreateSysPaymentsTable1749600000045 extends migration_utility_1.MigrationUtility {
7
+ constructor() {
8
+ super('sys_payments');
9
+ this.process();
10
+ }
11
+ process() {
12
+ this.rootPrimary();
13
+ this.foreign({
14
+ name: 'tenant_id',
15
+ foreignTable: 'sys_tenants',
16
+ nullable: false,
17
+ });
18
+ this.string('source_type', { length: 100, nullable: false });
19
+ this.uuid('source_id', { nullable: false });
20
+ this.string('gateway', { length: 50, nullable: false });
21
+ this.string('reference_identifier', { length: 255, nullable: true });
22
+ this.bigInteger('amount', { nullable: false, comment: 'minor units' });
23
+ this.string('currency', { length: 3, nullable: false });
24
+ this.string('status', {
25
+ length: 16,
26
+ nullable: false,
27
+ default: payment_enum_1.PaymentStatus.PENDING,
28
+ });
29
+ this.date('paid_at', { nullable: true });
30
+ this.date('refunded_at', { nullable: true });
31
+ this.text('failure_reason');
32
+ this.json('gateway_payload', { nullable: true });
33
+ this.json('attributes', { nullable: false, default: {} });
34
+ this.whoColumns();
35
+ this.unique(['gateway', 'reference_identifier'], 'uq_sys_payments_gateway_reference', 'reference_identifier IS NOT NULL');
36
+ this.index('tenant_id');
37
+ this.index(['source_type', 'source_id']);
38
+ this.index('status');
39
+ this.index('created_by');
40
+ this.index('updated_by');
41
+ }
42
+ }
43
+ exports.CreateSysPaymentsTable1749600000045 = CreateSysPaymentsTable1749600000045;
44
+ //# sourceMappingURL=1749600000045.CreateSysPaymentsTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1749600000045.CreateSysPaymentsTable.js","sourceRoot":"","sources":["../../src/migrations/1749600000045.CreateSysPaymentsTable.ts"],"names":[],"mappings":";;;AAAA,6DAA2D;AAC3D,6EAAyE;AAGzE,MAAa,mCAAoC,SAAQ,oCAAgB;IACvE;QACE,KAAK,CAAC,cAAc,CAAC,CAAC;QACtB,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,IAAI,CAAC,OAAO,CAAC;YACX,IAAI,EAAE,WAAW;YACjB,YAAY,EAAE,aAAa;YAC3B,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;YACpB,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,4BAAa,CAAC,OAAO;SAC/B,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,UAAU,EAAE,CAAC;QAGlB,IAAI,CAAC,MAAM,CACT,CAAC,SAAS,EAAE,sBAAsB,CAAC,EACnC,mCAAmC,EACnC,kCAAkC,CACnC,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC3B,CAAC;CACF;AA5CD,kFA4CC"}
@@ -0,0 +1,6 @@
1
+ import { MigrationUtility } from '../global/utilities/migration.utility';
2
+ export declare class CreateSysWebhookEventsTable1749600000046 extends MigrationUtility {
3
+ constructor();
4
+ process(): void;
5
+ }
6
+ //# sourceMappingURL=1749600000046.CreateSysWebhookEventsTable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1749600000046.CreateSysWebhookEventsTable.d.ts","sourceRoot":"","sources":["../../src/migrations/1749600000046.CreateSysWebhookEventsTable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAGzE,qBAAa,wCAAyC,SAAQ,gBAAgB;;IAM5E,OAAO;CAwBR"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CreateSysWebhookEventsTable1749600000046 = void 0;
4
+ const webhook_enum_1 = require("../webhook/enums/webhook.enum");
5
+ const migration_utility_1 = require("../global/utilities/migration.utility");
6
+ class CreateSysWebhookEventsTable1749600000046 extends migration_utility_1.MigrationUtility {
7
+ constructor() {
8
+ super('sys_webhook_events');
9
+ this.process();
10
+ }
11
+ process() {
12
+ this.rootPrimary();
13
+ this.string('provider', { length: 50, nullable: false });
14
+ this.string('event_id', { length: 255, nullable: false });
15
+ this.string('type', { length: 150, nullable: false });
16
+ this.json('payload', { nullable: false });
17
+ this.string('status', {
18
+ length: 16,
19
+ nullable: false,
20
+ default: webhook_enum_1.WebhookEventStatus.RECEIVED,
21
+ });
22
+ this.number('attempts', { nullable: false, default: 0 });
23
+ this.text('last_error');
24
+ this.date('processed_at', { nullable: true });
25
+ this.timestamps();
26
+ this.unique(['provider', 'event_id'], 'uq_sys_webhook_events_provider_event');
27
+ this.index('status');
28
+ this.index('type');
29
+ }
30
+ }
31
+ exports.CreateSysWebhookEventsTable1749600000046 = CreateSysWebhookEventsTable1749600000046;
32
+ //# sourceMappingURL=1749600000046.CreateSysWebhookEventsTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1749600000046.CreateSysWebhookEventsTable.js","sourceRoot":"","sources":["../../src/migrations/1749600000046.CreateSysWebhookEventsTable.ts"],"names":[],"mappings":";;;AAAA,gEAAmE;AACnE,6EAAyE;AAGzE,MAAa,wCAAyC,SAAQ,oCAAgB;IAC5E;QACE,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;YACpB,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,iCAAkB,CAAC,QAAQ;SACrC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,EAAE,CAAC;QAGlB,IAAI,CAAC,MAAM,CACT,CAAC,UAAU,EAAE,UAAU,CAAC,EACxB,sCAAsC,CACvC,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;CACF;AA9BD,4FA8BC"}
@@ -0,0 +1,10 @@
1
+ import { RawBodyRequest } from '@nestjs/common';
2
+ import type { Request } from 'express';
3
+ import { WebhookService } from '../services/webhook.service';
4
+ import { WebhookReceipt } from '../types/webhook.types';
5
+ export declare class WebhookController {
6
+ private readonly webhookService;
7
+ constructor(webhookService: WebhookService);
8
+ receive(provider: string, request: RawBodyRequest<Request>): Promise<WebhookReceipt>;
9
+ }
10
+ //# sourceMappingURL=webhook.controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook.controller.d.ts","sourceRoot":"","sources":["../../../src/webhook/controllers/webhook.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,cAAc,EAGf,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAMxD,qBAGa,iBAAiB;IAChB,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAAd,cAAc,EAAE,cAAc;IAS3D,OAAO,CACc,QAAQ,EAAE,MAAM,EAC5B,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,GACtC,OAAO,CAAC,cAAc,CAAC;CAU3B"}
@@ -0,0 +1,55 @@
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.WebhookController = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const swagger_1 = require("@nestjs/swagger");
18
+ const strict_validation_pipe_1 = require("../../common/pipes/strict.validation.pipe");
19
+ const webhook_service_1 = require("../services/webhook.service");
20
+ let WebhookController = class WebhookController {
21
+ constructor(webhookService) {
22
+ this.webhookService = webhookService;
23
+ }
24
+ receive(provider, request) {
25
+ return this.webhookService.receive(provider, {
26
+ provider,
27
+ headers: request.headers,
28
+ rawBody: request.rawBody,
29
+ body: request.body,
30
+ query: request.query,
31
+ ip: request.ip,
32
+ });
33
+ }
34
+ };
35
+ exports.WebhookController = WebhookController;
36
+ __decorate([
37
+ (0, common_1.Post)(':provider'),
38
+ (0, common_1.HttpCode)(common_1.HttpStatus.OK),
39
+ (0, swagger_1.ApiOperation)({
40
+ summary: 'Receive a webhook from a provider.',
41
+ description: "Verified by the provider's registered handler (its signature over the raw body); each event is stored once per provider event id and processed by the queue. Unknown provider → 404, bad signature → 401. Answers quickly with `{ received, duplicates }`.",
42
+ }),
43
+ __param(0, (0, common_1.Param)('provider')),
44
+ __param(1, (0, common_1.Req)()),
45
+ __metadata("design:type", Function),
46
+ __metadata("design:paramtypes", [String, Object]),
47
+ __metadata("design:returntype", Promise)
48
+ ], WebhookController.prototype, "receive", null);
49
+ exports.WebhookController = WebhookController = __decorate([
50
+ (0, swagger_1.ApiTags)('Webhooks'),
51
+ (0, common_1.UsePipes)(strict_validation_pipe_1.StrictValidationPipe),
52
+ (0, common_1.Controller)('api/webhooks'),
53
+ __metadata("design:paramtypes", [webhook_service_1.WebhookService])
54
+ ], WebhookController);
55
+ //# sourceMappingURL=webhook.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook.controller.js","sourceRoot":"","sources":["../../../src/webhook/controllers/webhook.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CASwB;AACxB,6CAAwD;AAExD,sFAAiF;AACjF,iEAA6D;AAUtD,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAC5B,YAA6B,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;IAAG,CAAC;IAS/D,OAAO,CACc,QAAgB,EAC5B,OAAgC;QAEvC,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,EAAE;YAC3C,QAAQ;YACR,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI,EAAE,OAAO,CAAC,IAAe;YAC7B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,EAAE,EAAE,OAAO,CAAC,EAAE;SACf,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAvBY,8CAAiB;AAU5B;IAPC,IAAA,aAAI,EAAC,WAAW,CAAC;IACjB,IAAA,iBAAQ,EAAC,mBAAU,CAAC,EAAE,CAAC;IACvB,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,oCAAoC;QAC7C,WAAW,EACT,4PAA4P;KAC/P,CAAC;IAEC,WAAA,IAAA,cAAK,EAAC,UAAU,CAAC,CAAA;IACjB,WAAA,IAAA,YAAG,GAAE,CAAA;;;;gDAUP;4BAtBU,iBAAiB;IAH7B,IAAA,iBAAO,EAAC,UAAU,CAAC;IACnB,IAAA,iBAAQ,EAAC,6CAAoB,CAAC;IAC9B,IAAA,mBAAU,EAAC,cAAc,CAAC;qCAEoB,gCAAc;GADhD,iBAAiB,CAuB7B"}
@@ -0,0 +1,13 @@
1
+ import { RootEntity } from '../../common/entities/root.entity';
2
+ import { WebhookEventStatus } from '../enums/webhook.enum';
3
+ export declare class WebhookEventEntity extends RootEntity {
4
+ provider: string;
5
+ event_id: string;
6
+ type: string;
7
+ payload: Record<string, unknown>;
8
+ status: WebhookEventStatus;
9
+ attempts: number;
10
+ last_error: string | null;
11
+ processed_at: Date | null;
12
+ }
13
+ //# sourceMappingURL=webhook.event.entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook.event.entity.d.ts","sourceRoot":"","sources":["../../../src/webhook/entities/webhook.event.entity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAG3D,qBACa,kBAAmB,SAAQ,UAAU;IAEhD,QAAQ,EAAE,MAAM,CAAC;IAIjB,QAAQ,EAAE,MAAM,CAAC;IAGjB,IAAI,EAAE,MAAM,CAAC;IAIb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAGjC,MAAM,EAAE,kBAAkB,CAAC;IAG3B,QAAQ,EAAE,MAAM,CAAC;IAGjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAG1B,YAAY,EAAE,IAAI,GAAG,IAAI,CAAC;CAC3B"}
@@ -0,0 +1,54 @@
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.WebhookEventEntity = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const root_entity_1 = require("../../common/entities/root.entity");
15
+ const webhook_enum_1 = require("../enums/webhook.enum");
16
+ let WebhookEventEntity = class WebhookEventEntity extends root_entity_1.RootEntity {
17
+ };
18
+ exports.WebhookEventEntity = WebhookEventEntity;
19
+ __decorate([
20
+ (0, typeorm_1.Column)({ type: 'varchar' }),
21
+ __metadata("design:type", String)
22
+ ], WebhookEventEntity.prototype, "provider", void 0);
23
+ __decorate([
24
+ (0, typeorm_1.Column)({ type: 'varchar' }),
25
+ __metadata("design:type", String)
26
+ ], WebhookEventEntity.prototype, "event_id", void 0);
27
+ __decorate([
28
+ (0, typeorm_1.Column)({ type: 'varchar' }),
29
+ __metadata("design:type", String)
30
+ ], WebhookEventEntity.prototype, "type", void 0);
31
+ __decorate([
32
+ (0, typeorm_1.Column)({ type: 'jsonb', select: false }),
33
+ __metadata("design:type", Object)
34
+ ], WebhookEventEntity.prototype, "payload", void 0);
35
+ __decorate([
36
+ (0, typeorm_1.Column)({ type: 'varchar', default: webhook_enum_1.WebhookEventStatus.RECEIVED }),
37
+ __metadata("design:type", String)
38
+ ], WebhookEventEntity.prototype, "status", void 0);
39
+ __decorate([
40
+ (0, typeorm_1.Column)({ type: 'integer', default: 0 }),
41
+ __metadata("design:type", Number)
42
+ ], WebhookEventEntity.prototype, "attempts", void 0);
43
+ __decorate([
44
+ (0, typeorm_1.Column)({ type: 'text', nullable: true }),
45
+ __metadata("design:type", String)
46
+ ], WebhookEventEntity.prototype, "last_error", void 0);
47
+ __decorate([
48
+ (0, typeorm_1.Column)({ type: 'timestamptz', nullable: true }),
49
+ __metadata("design:type", Date)
50
+ ], WebhookEventEntity.prototype, "processed_at", void 0);
51
+ exports.WebhookEventEntity = WebhookEventEntity = __decorate([
52
+ (0, typeorm_1.Entity)({ name: 'sys_webhook_events' })
53
+ ], WebhookEventEntity);
54
+ //# sourceMappingURL=webhook.event.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook.event.entity.js","sourceRoot":"","sources":["../../../src/webhook/entities/webhook.event.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAyC;AACzC,mEAA+D;AAC/D,wDAA2D;AAIpD,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,wBAAU;CA0BjD,CAAA;AA1BY,gDAAkB;AAE7B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;oDACX;AAIjB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;oDACX;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;gDACf;AAIb;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;;mDACR;AAGjC;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,iCAAkB,CAAC,QAAQ,EAAE,CAAC;;kDACvC;AAG3B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;oDACvB;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sDACf;AAG1B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BAClC,IAAI;wDAAQ;6BAzBf,kBAAkB;IAD9B,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC;GAC1B,kBAAkB,CA0B9B"}
@@ -0,0 +1,38 @@
1
+ export declare enum WebhookEventStatus {
2
+ RECEIVED = "received",
3
+ PROCESSING = "processing",
4
+ PROCESSED = "processed",
5
+ IGNORED = "ignored",
6
+ FAILED = "failed"
7
+ }
8
+ export declare enum WebhookOutcome {
9
+ PROCESSED = "processed",
10
+ IGNORED = "ignored"
11
+ }
12
+ export declare enum WebhookDefault {
13
+ PROCESS_JOB = "process.webhook.event.job",
14
+ PURGE_JOB = "purge.webhook.events.job",
15
+ RETENTION_PROPERTY = "webhook_event_retention_days"
16
+ }
17
+ export declare enum WebhookBound {
18
+ RETENTION_DAYS = 90,
19
+ PROVIDER_MAX_LENGTH = 50,
20
+ EVENT_ID_MAX_LENGTH = 255,
21
+ TYPE_MAX_LENGTH = 150,
22
+ ERROR_MAX_LENGTH = 2000,
23
+ JOB_ATTEMPTS = 5,
24
+ JOB_BACKOFF_MS = 30000,
25
+ STALE_PROCESSING_MS = 600000,
26
+ MS_PER_DAY = 86400000
27
+ }
28
+ export declare enum WebhookMessage {
29
+ UNKNOWN_PROVIDER = "Unknown webhook provider",
30
+ INVALID_SIGNATURE = "Invalid webhook signature",
31
+ INVALID_EVENT = "The webhook handler returned an event without a valid id or type",
32
+ NOT_FOUND = "No webhook event exists for this id",
33
+ NOT_REPLAYABLE = "Only a failed, ignored, processed or stuck event can be replayed",
34
+ NO_HANDLER = "No handler is registered for provider",
35
+ PROVIDER_INVALID = "A webhook provider is lowercase letters, digits, hyphens and underscores"
36
+ }
37
+ export declare const WEBHOOK_PROVIDER_PATTERN: RegExp;
38
+ //# sourceMappingURL=webhook.enum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook.enum.d.ts","sourceRoot":"","sources":["../../../src/webhook/enums/webhook.enum.ts"],"names":[],"mappings":"AACA,oBAAY,kBAAkB;IAC5B,QAAQ,aAAa;IACrB,UAAU,eAAe;IACzB,SAAS,cAAc;IAEvB,OAAO,YAAY;IACnB,MAAM,WAAW;CAClB;AAGD,oBAAY,cAAc;IACxB,SAAS,cAAc;IACvB,OAAO,YAAY;CACpB;AAED,oBAAY,cAAc;IACxB,WAAW,8BAA8B;IACzC,SAAS,6BAA6B;IAEtC,kBAAkB,iCAAiC;CACpD;AAED,oBAAY,YAAY;IAEtB,cAAc,KAAK;IACnB,mBAAmB,KAAK;IACxB,mBAAmB,MAAM;IACzB,eAAe,MAAM;IACrB,gBAAgB,OAAO;IAEvB,YAAY,IAAI;IAChB,cAAc,QAAS;IAEvB,mBAAmB,SAAU;IAC7B,UAAU,WAAa;CACxB;AAED,oBAAY,cAAc;IACxB,gBAAgB,6BAA6B;IAC7C,iBAAiB,8BAA8B;IAC/C,aAAa,qEAAqE;IAClF,SAAS,wCAAwC;IACjD,cAAc,qEAAqE;IACnF,UAAU,0CAA0C;IACpD,gBAAgB,6EAA6E;CAC9F;AAGD,eAAO,MAAM,wBAAwB,QAA+B,CAAC"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WEBHOOK_PROVIDER_PATTERN = exports.WebhookMessage = exports.WebhookBound = exports.WebhookDefault = exports.WebhookOutcome = exports.WebhookEventStatus = void 0;
4
+ var WebhookEventStatus;
5
+ (function (WebhookEventStatus) {
6
+ WebhookEventStatus["RECEIVED"] = "received";
7
+ WebhookEventStatus["PROCESSING"] = "processing";
8
+ WebhookEventStatus["PROCESSED"] = "processed";
9
+ WebhookEventStatus["IGNORED"] = "ignored";
10
+ WebhookEventStatus["FAILED"] = "failed";
11
+ })(WebhookEventStatus || (exports.WebhookEventStatus = WebhookEventStatus = {}));
12
+ var WebhookOutcome;
13
+ (function (WebhookOutcome) {
14
+ WebhookOutcome["PROCESSED"] = "processed";
15
+ WebhookOutcome["IGNORED"] = "ignored";
16
+ })(WebhookOutcome || (exports.WebhookOutcome = WebhookOutcome = {}));
17
+ var WebhookDefault;
18
+ (function (WebhookDefault) {
19
+ WebhookDefault["PROCESS_JOB"] = "process.webhook.event.job";
20
+ WebhookDefault["PURGE_JOB"] = "purge.webhook.events.job";
21
+ WebhookDefault["RETENTION_PROPERTY"] = "webhook_event_retention_days";
22
+ })(WebhookDefault || (exports.WebhookDefault = WebhookDefault = {}));
23
+ var WebhookBound;
24
+ (function (WebhookBound) {
25
+ WebhookBound[WebhookBound["RETENTION_DAYS"] = 90] = "RETENTION_DAYS";
26
+ WebhookBound[WebhookBound["PROVIDER_MAX_LENGTH"] = 50] = "PROVIDER_MAX_LENGTH";
27
+ WebhookBound[WebhookBound["EVENT_ID_MAX_LENGTH"] = 255] = "EVENT_ID_MAX_LENGTH";
28
+ WebhookBound[WebhookBound["TYPE_MAX_LENGTH"] = 150] = "TYPE_MAX_LENGTH";
29
+ WebhookBound[WebhookBound["ERROR_MAX_LENGTH"] = 2000] = "ERROR_MAX_LENGTH";
30
+ WebhookBound[WebhookBound["JOB_ATTEMPTS"] = 5] = "JOB_ATTEMPTS";
31
+ WebhookBound[WebhookBound["JOB_BACKOFF_MS"] = 30000] = "JOB_BACKOFF_MS";
32
+ WebhookBound[WebhookBound["STALE_PROCESSING_MS"] = 600000] = "STALE_PROCESSING_MS";
33
+ WebhookBound[WebhookBound["MS_PER_DAY"] = 86400000] = "MS_PER_DAY";
34
+ })(WebhookBound || (exports.WebhookBound = WebhookBound = {}));
35
+ var WebhookMessage;
36
+ (function (WebhookMessage) {
37
+ WebhookMessage["UNKNOWN_PROVIDER"] = "Unknown webhook provider";
38
+ WebhookMessage["INVALID_SIGNATURE"] = "Invalid webhook signature";
39
+ WebhookMessage["INVALID_EVENT"] = "The webhook handler returned an event without a valid id or type";
40
+ WebhookMessage["NOT_FOUND"] = "No webhook event exists for this id";
41
+ WebhookMessage["NOT_REPLAYABLE"] = "Only a failed, ignored, processed or stuck event can be replayed";
42
+ WebhookMessage["NO_HANDLER"] = "No handler is registered for provider";
43
+ WebhookMessage["PROVIDER_INVALID"] = "A webhook provider is lowercase letters, digits, hyphens and underscores";
44
+ })(WebhookMessage || (exports.WebhookMessage = WebhookMessage = {}));
45
+ exports.WEBHOOK_PROVIDER_PATTERN = /^[a-z0-9][a-z0-9_-]{0,49}$/;
46
+ //# sourceMappingURL=webhook.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook.enum.js","sourceRoot":"","sources":["../../../src/webhook/enums/webhook.enum.ts"],"names":[],"mappings":";;;AACA,IAAY,kBAOX;AAPD,WAAY,kBAAkB;IAC5B,2CAAqB,CAAA;IACrB,+CAAyB,CAAA;IACzB,6CAAuB,CAAA;IAEvB,yCAAmB,CAAA;IACnB,uCAAiB,CAAA;AACnB,CAAC,EAPW,kBAAkB,kCAAlB,kBAAkB,QAO7B;AAGD,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,yCAAuB,CAAA;IACvB,qCAAmB,CAAA;AACrB,CAAC,EAHW,cAAc,8BAAd,cAAc,QAGzB;AAED,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,2DAAyC,CAAA;IACzC,wDAAsC,CAAA;IAEtC,qEAAmD,CAAA;AACrD,CAAC,EALW,cAAc,8BAAd,cAAc,QAKzB;AAED,IAAY,YAaX;AAbD,WAAY,YAAY;IAEtB,oEAAmB,CAAA;IACnB,8EAAwB,CAAA;IACxB,+EAAyB,CAAA;IACzB,uEAAqB,CAAA;IACrB,0EAAuB,CAAA;IAEvB,+DAAgB,CAAA;IAChB,uEAAuB,CAAA;IAEvB,kFAA6B,CAAA;IAC7B,kEAAuB,CAAA;AACzB,CAAC,EAbW,YAAY,4BAAZ,YAAY,QAavB;AAED,IAAY,cAQX;AARD,WAAY,cAAc;IACxB,+DAA6C,CAAA;IAC7C,iEAA+C,CAAA;IAC/C,oGAAkF,CAAA;IAClF,mEAAiD,CAAA;IACjD,qGAAmF,CAAA;IACnF,sEAAoD,CAAA;IACpD,+GAA6F,CAAA;AAC/F,CAAC,EARW,cAAc,8BAAd,cAAc,QAQzB;AAGY,QAAA,wBAAwB,GAAG,4BAA4B,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { WebhookController } from './controllers/webhook.controller';
2
+ import { WebhookService } from './services/webhook.service';
3
+ import { ProcessWebhookEventJob } from './jobs/process.webhook.event.job';
4
+ import { PurgeWebhookEventsJob } from './jobs/purge.webhook.events.job';
5
+ export declare const es6Classes: {
6
+ controllers: (typeof WebhookController)[];
7
+ services: readonly [typeof WebhookService];
8
+ libraries: any[];
9
+ dtos: any[];
10
+ jobs: readonly [typeof ProcessWebhookEventJob, typeof PurgeWebhookEventsJob];
11
+ subscribers: any[];
12
+ };
13
+ //# sourceMappingURL=es6.classes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"es6.classes.d.ts","sourceRoot":"","sources":["../../src/webhook/es6.classes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAExE,eAAO,MAAM,UAAU;;;;;;;CAOtB,CAAC"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.es6Classes = void 0;
4
+ const webhook_controller_1 = require("./controllers/webhook.controller");
5
+ const webhook_service_1 = require("./services/webhook.service");
6
+ const process_webhook_event_job_1 = require("./jobs/process.webhook.event.job");
7
+ const purge_webhook_events_job_1 = require("./jobs/purge.webhook.events.job");
8
+ exports.es6Classes = {
9
+ controllers: [webhook_controller_1.WebhookController],
10
+ services: [webhook_service_1.WebhookService],
11
+ libraries: [],
12
+ dtos: [],
13
+ jobs: [process_webhook_event_job_1.ProcessWebhookEventJob, purge_webhook_events_job_1.PurgeWebhookEventsJob],
14
+ subscribers: [],
15
+ };
16
+ //# sourceMappingURL=es6.classes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"es6.classes.js","sourceRoot":"","sources":["../../src/webhook/es6.classes.ts"],"names":[],"mappings":";;;AAAA,yEAAqE;AACrE,gEAA4D;AAC5D,gFAA0E;AAC1E,8EAAwE;AAE3D,QAAA,UAAU,GAAG;IACxB,WAAW,EAAE,CAAC,sCAAiB,CAAC;IAChC,QAAQ,EAAE,CAAC,gCAAc,CAAU;IACnC,SAAS,EAAE,EAAE;IACb,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,CAAC,kDAAsB,EAAE,gDAAqB,CAAU;IAC9D,WAAW,EAAE,EAAE;CAChB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { CommonJob } from '../../common/jobs/common.job';
2
+ import { QueueService } from '../../common/services/queue.service';
3
+ import { WebhookService } from '../services/webhook.service';
4
+ import { ProcessWebhookEventJobData } from '../types/webhook.types';
5
+ export declare class ProcessWebhookEventJob extends CommonJob {
6
+ protected readonly queueService: QueueService;
7
+ private readonly webhookService;
8
+ constructor(queueService: QueueService, webhookService: WebhookService);
9
+ handle(data: ProcessWebhookEventJobData): Promise<void>;
10
+ }
11
+ //# sourceMappingURL=process.webhook.event.job.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process.webhook.event.job.d.ts","sourceRoot":"","sources":["../../../src/webhook/jobs/process.webhook.event.job.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAGpE,qBACa,sBAAuB,SAAQ,SAAS;IAEjD,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY;IAC7C,OAAO,CAAC,QAAQ,CAAC,cAAc;gBADZ,YAAY,EAAE,YAAY,EAC5B,cAAc,EAAE,cAAc;IAK3C,MAAM,CAAC,IAAI,EAAE,0BAA0B,GAAG,OAAO,CAAC,IAAI,CAAC;CAG9D"}
@@ -0,0 +1,34 @@
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.ProcessWebhookEventJob = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const common_job_1 = require("../../common/jobs/common.job");
15
+ const queue_service_1 = require("../../common/services/queue.service");
16
+ const webhook_enum_1 = require("../enums/webhook.enum");
17
+ const webhook_service_1 = require("../services/webhook.service");
18
+ let ProcessWebhookEventJob = class ProcessWebhookEventJob extends common_job_1.CommonJob {
19
+ constructor(queueService, webhookService) {
20
+ super(webhook_enum_1.WebhookDefault.PROCESS_JOB);
21
+ this.queueService = queueService;
22
+ this.webhookService = webhookService;
23
+ }
24
+ async handle(data) {
25
+ await this.webhookService.process(data.event_id);
26
+ }
27
+ };
28
+ exports.ProcessWebhookEventJob = ProcessWebhookEventJob;
29
+ exports.ProcessWebhookEventJob = ProcessWebhookEventJob = __decorate([
30
+ (0, common_1.Injectable)(),
31
+ __metadata("design:paramtypes", [queue_service_1.QueueService,
32
+ webhook_service_1.WebhookService])
33
+ ], ProcessWebhookEventJob);
34
+ //# sourceMappingURL=process.webhook.event.job.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process.webhook.event.job.js","sourceRoot":"","sources":["../../../src/webhook/jobs/process.webhook.event.job.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,6DAAyD;AACzD,uEAAmE;AACnE,wDAAuD;AACvD,iEAA6D;AAKtD,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,sBAAS;IACnD,YACqB,YAA0B,EAC5B,cAA8B;QAE/C,KAAK,CAAC,6BAAc,CAAC,WAAW,CAAC,CAAC;QAHf,iBAAY,GAAZ,YAAY,CAAc;QAC5B,mBAAc,GAAd,cAAc,CAAgB;IAGjD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAgC;QAC3C,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC;CACF,CAAA;AAXY,wDAAsB;iCAAtB,sBAAsB;IADlC,IAAA,mBAAU,GAAE;qCAGwB,4BAAY;QACZ,gCAAc;GAHtC,sBAAsB,CAWlC"}
@@ -0,0 +1,11 @@
1
+ import { CommonJob } from '../../common/jobs/common.job';
2
+ import { QueueService } from '../../common/services/queue.service';
3
+ import { WebhookService } from '../services/webhook.service';
4
+ export declare class PurgeWebhookEventsJob extends CommonJob {
5
+ protected readonly queueService: QueueService;
6
+ private readonly webhookService;
7
+ schedulable: boolean;
8
+ constructor(queueService: QueueService, webhookService: WebhookService);
9
+ handle(): Promise<void>;
10
+ }
11
+ //# sourceMappingURL=purge.webhook.events.job.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"purge.webhook.events.job.d.ts","sourceRoot":"","sources":["../../../src/webhook/jobs/purge.webhook.events.job.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAO7D,qBACa,qBAAsB,SAAQ,SAAS;IAIhD,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY;IAC7C,OAAO,CAAC,QAAQ,CAAC,cAAc;IAJ1B,WAAW,UAAQ;gBAGL,YAAY,EAAE,YAAY,EAC5B,cAAc,EAAE,cAAc;IAK3C,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAI9B"}
@@ -0,0 +1,37 @@
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.PurgeWebhookEventsJob = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const common_job_1 = require("../../common/jobs/common.job");
15
+ const queue_service_1 = require("../../common/services/queue.service");
16
+ const webhook_enum_1 = require("../enums/webhook.enum");
17
+ const webhook_service_1 = require("../services/webhook.service");
18
+ let PurgeWebhookEventsJob = class PurgeWebhookEventsJob extends common_job_1.CommonJob {
19
+ constructor(queueService, webhookService) {
20
+ super(webhook_enum_1.WebhookDefault.PURGE_JOB);
21
+ this.queueService = queueService;
22
+ this.webhookService = webhookService;
23
+ this.schedulable = true;
24
+ }
25
+ async handle() {
26
+ const removed = await this.webhookService.purge();
27
+ if (removed)
28
+ this.logger.log(`Soft-deleted ${removed} webhook event(s).`);
29
+ }
30
+ };
31
+ exports.PurgeWebhookEventsJob = PurgeWebhookEventsJob;
32
+ exports.PurgeWebhookEventsJob = PurgeWebhookEventsJob = __decorate([
33
+ (0, common_1.Injectable)(),
34
+ __metadata("design:paramtypes", [queue_service_1.QueueService,
35
+ webhook_service_1.WebhookService])
36
+ ], PurgeWebhookEventsJob);
37
+ //# sourceMappingURL=purge.webhook.events.job.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"purge.webhook.events.job.js","sourceRoot":"","sources":["../../../src/webhook/jobs/purge.webhook.events.job.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,6DAAyD;AACzD,uEAAmE;AACnE,wDAAuD;AACvD,iEAA6D;AAQtD,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,sBAAS;IAGlD,YACqB,YAA0B,EAC5B,cAA8B;QAE/C,KAAK,CAAC,6BAAc,CAAC,SAAS,CAAC,CAAC;QAHb,iBAAY,GAAZ,YAAY,CAAc;QAC5B,mBAAc,GAAd,cAAc,CAAgB;QAJ1C,gBAAW,GAAG,IAAI,CAAC;IAO1B,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAClD,IAAI,OAAO;YAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,OAAO,oBAAoB,CAAC,CAAC;IAC5E,CAAC;CACF,CAAA;AAdY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,mBAAU,GAAE;qCAKwB,4BAAY;QACZ,gCAAc;GALtC,qBAAqB,CAcjC"}