@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,79 @@
1
+ import { createHash, randomBytes, randomUUID } from 'crypto';
2
+ import * as Handlebars from 'handlebars';
3
+
4
+ export function createPublicUuid() {
5
+ return randomUUID();
6
+ }
7
+
8
+ export function createPlainToken() {
9
+ return randomBytes(32).toString('hex');
10
+ }
11
+
12
+ export function hashToken(token: string) {
13
+ return createHash('sha256').update(token).digest('hex');
14
+ }
15
+
16
+ export function renderTemplate(source: unknown, context: Record<string, any>) {
17
+ if (source === undefined || source === null) {
18
+ return source;
19
+ }
20
+
21
+ if (typeof source === 'string') {
22
+ return Handlebars.compile(source)(context);
23
+ }
24
+
25
+ if (Array.isArray(source)) {
26
+ return source.map((item) => renderTemplate(item, context));
27
+ }
28
+
29
+ if (typeof source === 'object') {
30
+ return Object.fromEntries(
31
+ Object.entries(source as Record<string, unknown>).map(([key, value]) => [
32
+ key,
33
+ renderTemplate(value, context),
34
+ ]),
35
+ );
36
+ }
37
+
38
+ return source;
39
+ }
40
+
41
+ export function summarizePayload(value: unknown) {
42
+ if (value === undefined || value === null) {
43
+ return null;
44
+ }
45
+
46
+ try {
47
+ const serialized = JSON.stringify(value);
48
+ if (serialized.length <= 4000) {
49
+ return value as any;
50
+ }
51
+
52
+ return {
53
+ truncated: true,
54
+ preview: serialized.slice(0, 4000),
55
+ };
56
+ } catch {
57
+ return {
58
+ unsupported: true,
59
+ };
60
+ }
61
+ }
62
+
63
+ export function normalizeJsonObject(value: unknown) {
64
+ if (!value) {
65
+ return null;
66
+ }
67
+
68
+ if (typeof value === 'string') {
69
+ const trimmed = value.trim();
70
+ if (!trimmed) {
71
+ return null;
72
+ }
73
+
74
+ return JSON.parse(trimmed);
75
+ }
76
+
77
+ return value;
78
+ }
79
+