@marinoscar/platform-api 0.1.0-next.18 → 0.1.0-next.20

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 (598) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +1 -0
  3. package/dist/ai/runtime/ai-limits.service.d.ts.map +1 -1
  4. package/dist/ai/runtime/ai-limits.service.js +8 -1
  5. package/dist/ai/runtime/ai-limits.service.js.map +1 -1
  6. package/dist/ai/usage/ai-usage-admin.controller.d.ts +6 -3
  7. package/dist/ai/usage/ai-usage-admin.controller.d.ts.map +1 -1
  8. package/dist/ai/usage/ai-usage-admin.controller.js +31 -17
  9. package/dist/ai/usage/ai-usage-admin.controller.js.map +1 -1
  10. package/dist/ai/usage/ai-usage.controller.d.ts +5 -2
  11. package/dist/ai/usage/ai-usage.controller.d.ts.map +1 -1
  12. package/dist/ai/usage/ai-usage.controller.js +18 -11
  13. package/dist/ai/usage/ai-usage.controller.js.map +1 -1
  14. package/dist/ai/usage/ai-usage.service.d.ts +19 -4
  15. package/dist/ai/usage/ai-usage.service.d.ts.map +1 -1
  16. package/dist/ai/usage/ai-usage.service.js +84 -43
  17. package/dist/ai/usage/ai-usage.service.js.map +1 -1
  18. package/dist/ai/usage/dto/ai-usage.dto.d.ts +8 -0
  19. package/dist/ai/usage/dto/ai-usage.dto.d.ts.map +1 -1
  20. package/dist/ai/usage/dto/ai-usage.dto.js +16 -5
  21. package/dist/ai/usage/dto/ai-usage.dto.js.map +1 -1
  22. package/dist/alerts/alerts-admin.controller.d.ts +40 -0
  23. package/dist/alerts/alerts-admin.controller.d.ts.map +1 -0
  24. package/dist/alerts/alerts-admin.controller.js +297 -0
  25. package/dist/alerts/alerts-admin.controller.js.map +1 -0
  26. package/dist/alerts/alerts-context.service.d.ts +64 -0
  27. package/dist/alerts/alerts-context.service.d.ts.map +1 -0
  28. package/dist/alerts/alerts-context.service.js +190 -0
  29. package/dist/alerts/alerts-context.service.js.map +1 -0
  30. package/dist/alerts/alerts-dispatch.service.d.ts +53 -0
  31. package/dist/alerts/alerts-dispatch.service.d.ts.map +1 -0
  32. package/dist/alerts/alerts-dispatch.service.js +135 -0
  33. package/dist/alerts/alerts-dispatch.service.js.map +1 -0
  34. package/dist/alerts/alerts-evaluation.service.d.ts +88 -0
  35. package/dist/alerts/alerts-evaluation.service.d.ts.map +1 -0
  36. package/dist/alerts/alerts-evaluation.service.js +296 -0
  37. package/dist/alerts/alerts-evaluation.service.js.map +1 -0
  38. package/dist/alerts/alerts-event.listener.d.ts +22 -0
  39. package/dist/alerts/alerts-event.listener.d.ts.map +1 -0
  40. package/dist/alerts/alerts-event.listener.js +72 -0
  41. package/dist/alerts/alerts-event.listener.js.map +1 -0
  42. package/dist/alerts/alerts-incidents.service.d.ts +86 -0
  43. package/dist/alerts/alerts-incidents.service.d.ts.map +1 -0
  44. package/dist/alerts/alerts-incidents.service.js +144 -0
  45. package/dist/alerts/alerts-incidents.service.js.map +1 -0
  46. package/dist/alerts/alerts-rules.service.d.ts +73 -0
  47. package/dist/alerts/alerts-rules.service.d.ts.map +1 -0
  48. package/dist/alerts/alerts-rules.service.js +205 -0
  49. package/dist/alerts/alerts-rules.service.js.map +1 -0
  50. package/dist/alerts/alerts-seed.service.d.ts +25 -0
  51. package/dist/alerts/alerts-seed.service.d.ts.map +1 -0
  52. package/dist/alerts/alerts-seed.service.js +82 -0
  53. package/dist/alerts/alerts-seed.service.js.map +1 -0
  54. package/dist/alerts/alerts.constants.d.ts +53 -0
  55. package/dist/alerts/alerts.constants.d.ts.map +1 -0
  56. package/dist/alerts/alerts.constants.js +57 -0
  57. package/dist/alerts/alerts.constants.js.map +1 -0
  58. package/dist/alerts/alerts.errors.d.ts +44 -0
  59. package/dist/alerts/alerts.errors.d.ts.map +1 -0
  60. package/dist/alerts/alerts.errors.js +47 -0
  61. package/dist/alerts/alerts.errors.js.map +1 -0
  62. package/dist/alerts/alerts.metrics.d.ts +60 -0
  63. package/dist/alerts/alerts.metrics.d.ts.map +1 -0
  64. package/dist/alerts/alerts.metrics.js +135 -0
  65. package/dist/alerts/alerts.metrics.js.map +1 -0
  66. package/dist/alerts/alerts.module.d.ts +35 -0
  67. package/dist/alerts/alerts.module.d.ts.map +1 -0
  68. package/dist/alerts/alerts.module.js +96 -0
  69. package/dist/alerts/alerts.module.js.map +1 -0
  70. package/dist/alerts/alerts.options.d.ts +64 -0
  71. package/dist/alerts/alerts.options.d.ts.map +1 -0
  72. package/dist/alerts/alerts.options.js +34 -0
  73. package/dist/alerts/alerts.options.js.map +1 -0
  74. package/dist/alerts/alerts.permissions.d.ts +27 -0
  75. package/dist/alerts/alerts.permissions.d.ts.map +1 -0
  76. package/dist/alerts/alerts.permissions.js +29 -0
  77. package/dist/alerts/alerts.permissions.js.map +1 -0
  78. package/dist/alerts/alerts.types.d.ts +182 -0
  79. package/dist/alerts/alerts.types.d.ts.map +1 -0
  80. package/dist/alerts/alerts.types.js +3 -0
  81. package/dist/alerts/alerts.types.js.map +1 -0
  82. package/dist/alerts/data/alerts-db.d.ts +169 -0
  83. package/dist/alerts/data/alerts-db.d.ts.map +1 -0
  84. package/dist/alerts/data/alerts-db.js +18 -0
  85. package/dist/alerts/data/alerts-db.js.map +1 -0
  86. package/dist/alerts/dto/alerts.dto.d.ts +132 -0
  87. package/dist/alerts/dto/alerts.dto.d.ts.map +1 -0
  88. package/dist/alerts/dto/alerts.dto.js +42 -0
  89. package/dist/alerts/dto/alerts.dto.js.map +1 -0
  90. package/dist/alerts/handlers/alerts-evaluate-event.handler.d.ts +23 -0
  91. package/dist/alerts/handlers/alerts-evaluate-event.handler.d.ts.map +1 -0
  92. package/dist/alerts/handlers/alerts-evaluate-event.handler.js +71 -0
  93. package/dist/alerts/handlers/alerts-evaluate-event.handler.js.map +1 -0
  94. package/dist/alerts/handlers/alerts-evaluate.handler.d.ts +25 -0
  95. package/dist/alerts/handlers/alerts-evaluate.handler.d.ts.map +1 -0
  96. package/dist/alerts/handlers/alerts-evaluate.handler.js +54 -0
  97. package/dist/alerts/handlers/alerts-evaluate.handler.js.map +1 -0
  98. package/dist/alerts/handlers/alerts-incidents-purge.handler.d.ts +29 -0
  99. package/dist/alerts/handlers/alerts-incidents-purge.handler.d.ts.map +1 -0
  100. package/dist/alerts/handlers/alerts-incidents-purge.handler.js +76 -0
  101. package/dist/alerts/handlers/alerts-incidents-purge.handler.js.map +1 -0
  102. package/dist/alerts/index.d.ts +45 -0
  103. package/dist/alerts/index.d.ts.map +1 -0
  104. package/dist/alerts/index.js +108 -0
  105. package/dist/alerts/index.js.map +1 -0
  106. package/dist/alerts/kinds/alert-kind.registry.d.ts +33 -0
  107. package/dist/alerts/kinds/alert-kind.registry.d.ts.map +1 -0
  108. package/dist/alerts/kinds/alert-kind.registry.js +63 -0
  109. package/dist/alerts/kinds/alert-kind.registry.js.map +1 -0
  110. package/dist/alerts/kinds/builtin-kinds.d.ts +18 -0
  111. package/dist/alerts/kinds/builtin-kinds.d.ts.map +1 -0
  112. package/dist/alerts/kinds/builtin-kinds.js +33 -0
  113. package/dist/alerts/kinds/builtin-kinds.js.map +1 -0
  114. package/dist/alerts/kinds/metric-threshold.kind.d.ts +11 -0
  115. package/dist/alerts/kinds/metric-threshold.kind.d.ts.map +1 -0
  116. package/dist/alerts/kinds/metric-threshold.kind.js +63 -0
  117. package/dist/alerts/kinds/metric-threshold.kind.js.map +1 -0
  118. package/dist/alerts/kinds/metric-threshold.sql.d.ts +41 -0
  119. package/dist/alerts/kinds/metric-threshold.sql.d.ts.map +1 -0
  120. package/dist/alerts/kinds/metric-threshold.sql.js +124 -0
  121. package/dist/alerts/kinds/metric-threshold.sql.js.map +1 -0
  122. package/dist/alerts/kinds/node-event.kind.d.ts +44 -0
  123. package/dist/alerts/kinds/node-event.kind.d.ts.map +1 -0
  124. package/dist/alerts/kinds/node-event.kind.js +113 -0
  125. package/dist/alerts/kinds/node-event.kind.js.map +1 -0
  126. package/dist/alerts/kinds/node-offline.kind.d.ts +11 -0
  127. package/dist/alerts/kinds/node-offline.kind.d.ts.map +1 -0
  128. package/dist/alerts/kinds/node-offline.kind.js +41 -0
  129. package/dist/alerts/kinds/node-offline.kind.js.map +1 -0
  130. package/dist/alerts/kinds/telemetry-unavailable.kind.d.ts +11 -0
  131. package/dist/alerts/kinds/telemetry-unavailable.kind.d.ts.map +1 -0
  132. package/dist/alerts/kinds/telemetry-unavailable.kind.js +40 -0
  133. package/dist/alerts/kinds/telemetry-unavailable.kind.js.map +1 -0
  134. package/dist/alerts/kinds/verdict.kind.d.ts +13 -0
  135. package/dist/alerts/kinds/verdict.kind.d.ts.map +1 -0
  136. package/dist/alerts/kinds/verdict.kind.js +34 -0
  137. package/dist/alerts/kinds/verdict.kind.js.map +1 -0
  138. package/dist/alerts/notifications/alerts.notifications.d.ts +77 -0
  139. package/dist/alerts/notifications/alerts.notifications.d.ts.map +1 -0
  140. package/dist/alerts/notifications/alerts.notifications.js +145 -0
  141. package/dist/alerts/notifications/alerts.notifications.js.map +1 -0
  142. package/dist/alerts/starter-rules.d.ts +21 -0
  143. package/dist/alerts/starter-rules.d.ts.map +1 -0
  144. package/dist/alerts/starter-rules.js +141 -0
  145. package/dist/alerts/starter-rules.js.map +1 -0
  146. package/dist/alerts/state/alert-state-machine.d.ts +92 -0
  147. package/dist/alerts/state/alert-state-machine.d.ts.map +1 -0
  148. package/dist/alerts/state/alert-state-machine.js +96 -0
  149. package/dist/alerts/state/alert-state-machine.js.map +1 -0
  150. package/dist/alerts/tasks/alerts-evaluate.task.d.ts +18 -0
  151. package/dist/alerts/tasks/alerts-evaluate.task.d.ts.map +1 -0
  152. package/dist/alerts/tasks/alerts-evaluate.task.js +61 -0
  153. package/dist/alerts/tasks/alerts-evaluate.task.js.map +1 -0
  154. package/dist/alerts/tasks/alerts-purge.task.d.ts +15 -0
  155. package/dist/alerts/tasks/alerts-purge.task.d.ts.map +1 -0
  156. package/dist/alerts/tasks/alerts-purge.task.js +58 -0
  157. package/dist/alerts/tasks/alerts-purge.task.js.map +1 -0
  158. package/dist/alerts/testing/conformance.d.ts +58 -0
  159. package/dist/alerts/testing/conformance.d.ts.map +1 -0
  160. package/dist/alerts/testing/conformance.js +198 -0
  161. package/dist/alerts/testing/conformance.js.map +1 -0
  162. package/dist/alerts/testing/fakes.d.ts +80 -0
  163. package/dist/alerts/testing/fakes.d.ts.map +1 -0
  164. package/dist/alerts/testing/fakes.js +230 -0
  165. package/dist/alerts/testing/fakes.js.map +1 -0
  166. package/dist/alerts/testing/index.d.ts +5 -0
  167. package/dist/alerts/testing/index.d.ts.map +1 -0
  168. package/dist/alerts/testing/index.js +15 -0
  169. package/dist/alerts/testing/index.js.map +1 -0
  170. package/dist/core/index.d.ts +3 -0
  171. package/dist/core/index.d.ts.map +1 -1
  172. package/dist/core/index.js +13 -2
  173. package/dist/core/index.js.map +1 -1
  174. package/dist/core/net/ip-classify.d.ts +39 -0
  175. package/dist/core/net/ip-classify.d.ts.map +1 -0
  176. package/dist/core/net/ip-classify.js +196 -0
  177. package/dist/core/net/ip-classify.js.map +1 -0
  178. package/dist/core/timezone/request-time-zone.d.ts +61 -0
  179. package/dist/core/timezone/request-time-zone.d.ts.map +1 -0
  180. package/dist/core/timezone/request-time-zone.js +71 -0
  181. package/dist/core/timezone/request-time-zone.js.map +1 -0
  182. package/dist/credentials/testing/conformance.d.ts.map +1 -1
  183. package/dist/credentials/testing/conformance.js +1 -0
  184. package/dist/credentials/testing/conformance.js.map +1 -1
  185. package/dist/email/email-settings.controller.d.ts +5 -2
  186. package/dist/email/email-settings.controller.d.ts.map +1 -1
  187. package/dist/email/email-settings.controller.js +11 -5
  188. package/dist/email/email-settings.controller.js.map +1 -1
  189. package/dist/email/email-test-send.service.d.ts +11 -1
  190. package/dist/email/email-test-send.service.d.ts.map +1 -1
  191. package/dist/email/email-test-send.service.js +17 -3
  192. package/dist/email/email-test-send.service.js.map +1 -1
  193. package/dist/email/index.d.ts +2 -2
  194. package/dist/email/index.d.ts.map +1 -1
  195. package/dist/email/index.js +3 -1
  196. package/dist/email/index.js.map +1 -1
  197. package/dist/email/templates/backup-failed.email.d.ts.map +1 -1
  198. package/dist/email/templates/backup-failed.email.js +9 -5
  199. package/dist/email/templates/backup-failed.email.js.map +1 -1
  200. package/dist/email/templates/format-date.d.ts +39 -0
  201. package/dist/email/templates/format-date.d.ts.map +1 -0
  202. package/dist/email/templates/format-date.js +103 -0
  203. package/dist/email/templates/format-date.js.map +1 -0
  204. package/dist/email/templates/index.d.ts +2 -0
  205. package/dist/email/templates/index.d.ts.map +1 -1
  206. package/dist/email/templates/index.js +4 -1
  207. package/dist/email/templates/index.js.map +1 -1
  208. package/dist/email/templates/job-failed.email.d.ts +1 -1
  209. package/dist/email/templates/job-failed.email.d.ts.map +1 -1
  210. package/dist/email/templates/job-failed.email.js +6 -6
  211. package/dist/email/templates/job-failed.email.js.map +1 -1
  212. package/dist/email/templates/node-offline.email.d.ts.map +1 -1
  213. package/dist/email/templates/node-offline.email.js +11 -7
  214. package/dist/email/templates/node-offline.email.js.map +1 -1
  215. package/dist/email/templates/render-context.d.ts +5 -0
  216. package/dist/email/templates/render-context.d.ts.map +1 -1
  217. package/dist/email/templates/render-context.js.map +1 -1
  218. package/dist/email/templates/restore-completed.email.d.ts.map +1 -1
  219. package/dist/email/templates/restore-completed.email.js +9 -5
  220. package/dist/email/templates/restore-completed.email.js.map +1 -1
  221. package/dist/email/templates/role-changed.email.d.ts +1 -1
  222. package/dist/email/templates/role-changed.email.d.ts.map +1 -1
  223. package/dist/email/templates/role-changed.email.js +6 -7
  224. package/dist/email/templates/role-changed.email.js.map +1 -1
  225. package/dist/email/templates/test-email.email.d.ts +1 -1
  226. package/dist/email/templates/test-email.email.d.ts.map +1 -1
  227. package/dist/email/templates/test-email.email.js +6 -11
  228. package/dist/email/templates/test-email.email.js.map +1 -1
  229. package/dist/exports/export-job.d.ts +1 -0
  230. package/dist/exports/export-job.d.ts.map +1 -1
  231. package/dist/exports/export-job.js +2 -0
  232. package/dist/exports/export-job.js.map +1 -1
  233. package/dist/exports/export.types.d.ts +8 -0
  234. package/dist/exports/export.types.d.ts.map +1 -1
  235. package/dist/exports/exports.controller.d.ts +4 -2
  236. package/dist/exports/exports.controller.d.ts.map +1 -1
  237. package/dist/exports/exports.controller.js +15 -6
  238. package/dist/exports/exports.controller.js.map +1 -1
  239. package/dist/exports/exports.service.d.ts +5 -0
  240. package/dist/exports/exports.service.d.ts.map +1 -1
  241. package/dist/exports/exports.service.js +3 -0
  242. package/dist/exports/exports.service.js.map +1 -1
  243. package/dist/exports/handlers/export-run.handler.d.ts.map +1 -1
  244. package/dist/exports/handlers/export-run.handler.js +4 -1
  245. package/dist/exports/handlers/export-run.handler.js.map +1 -1
  246. package/dist/exports/index.d.ts +1 -0
  247. package/dist/exports/index.d.ts.map +1 -1
  248. package/dist/exports/index.js +7 -2
  249. package/dist/exports/index.js.map +1 -1
  250. package/dist/exports/testing/conformance.d.ts.map +1 -1
  251. package/dist/exports/testing/conformance.js +1 -0
  252. package/dist/exports/testing/conformance.js.map +1 -1
  253. package/dist/host/http/cors-options.d.ts +5 -1
  254. package/dist/host/http/cors-options.d.ts.map +1 -1
  255. package/dist/host/http/cors-options.js.map +1 -1
  256. package/dist/identity/pat/pat.controller.d.ts +4 -3
  257. package/dist/identity/pat/pat.controller.d.ts.map +1 -1
  258. package/dist/identity/pat/pat.controller.js +19 -5
  259. package/dist/identity/pat/pat.controller.js.map +1 -1
  260. package/dist/identity/pat/pat.service.d.ts +21 -0
  261. package/dist/identity/pat/pat.service.d.ts.map +1 -1
  262. package/dist/identity/pat/pat.service.js +27 -10
  263. package/dist/identity/pat/pat.service.js.map +1 -1
  264. package/dist/jobs/data/jobs-db.d.ts +26 -0
  265. package/dist/jobs/data/jobs-db.d.ts.map +1 -1
  266. package/dist/jobs/index.d.ts +1 -1
  267. package/dist/jobs/index.d.ts.map +1 -1
  268. package/dist/jobs/index.js.map +1 -1
  269. package/dist/manifest/platform-model-ownership.d.ts +1 -1
  270. package/dist/manifest/platform-model-ownership.d.ts.map +1 -1
  271. package/dist/manifest/platform-model-ownership.js +30 -1
  272. package/dist/manifest/platform-model-ownership.js.map +1 -1
  273. package/dist/manifest/platform-permissions.d.ts +6 -2
  274. package/dist/manifest/platform-permissions.d.ts.map +1 -1
  275. package/dist/manifest/platform-permissions.js +56 -44
  276. package/dist/manifest/platform-permissions.js.map +1 -1
  277. package/dist/manifest/platform-user-owned-models.d.ts.map +1 -1
  278. package/dist/manifest/platform-user-owned-models.js +16 -0
  279. package/dist/manifest/platform-user-owned-models.js.map +1 -1
  280. package/dist/nodes/dto/node-admin.dto.d.ts +5 -0
  281. package/dist/nodes/dto/node-admin.dto.d.ts.map +1 -1
  282. package/dist/nodes/dto/node-admin.dto.js +19 -0
  283. package/dist/nodes/dto/node-admin.dto.js.map +1 -1
  284. package/dist/nodes/dto/node-control-plane.dto.d.ts +26 -0
  285. package/dist/nodes/dto/node-control-plane.dto.d.ts.map +1 -1
  286. package/dist/nodes/dto/node-event.dto.d.ts +100 -0
  287. package/dist/nodes/dto/node-event.dto.d.ts.map +1 -0
  288. package/dist/nodes/dto/node-event.dto.js +239 -0
  289. package/dist/nodes/dto/node-event.dto.js.map +1 -0
  290. package/dist/nodes/dto/node-response.dto.d.ts +21 -0
  291. package/dist/nodes/dto/node-response.dto.d.ts.map +1 -1
  292. package/dist/nodes/dto/node-response.dto.js +42 -1
  293. package/dist/nodes/dto/node-response.dto.js.map +1 -1
  294. package/dist/nodes/events/node-event.event.d.ts +41 -0
  295. package/dist/nodes/events/node-event.event.d.ts.map +1 -0
  296. package/dist/nodes/events/node-event.event.js +69 -0
  297. package/dist/nodes/events/node-event.event.js.map +1 -0
  298. package/dist/nodes/handlers/node-events-purge.handler.d.ts +31 -0
  299. package/dist/nodes/handlers/node-events-purge.handler.d.ts.map +1 -0
  300. package/dist/nodes/handlers/node-events-purge.handler.js +91 -0
  301. package/dist/nodes/handlers/node-events-purge.handler.js.map +1 -0
  302. package/dist/nodes/index.d.ts +11 -4
  303. package/dist/nodes/index.d.ts.map +1 -1
  304. package/dist/nodes/index.js +20 -1
  305. package/dist/nodes/index.js.map +1 -1
  306. package/dist/nodes/node-events.service.d.ts +87 -0
  307. package/dist/nodes/node-events.service.d.ts.map +1 -0
  308. package/dist/nodes/node-events.service.js +271 -0
  309. package/dist/nodes/node-events.service.js.map +1 -0
  310. package/dist/nodes/node-fleet-metrics.service.d.ts +10 -1
  311. package/dist/nodes/node-fleet-metrics.service.d.ts.map +1 -1
  312. package/dist/nodes/node-fleet-metrics.service.js +31 -0
  313. package/dist/nodes/node-fleet-metrics.service.js.map +1 -1
  314. package/dist/nodes/node-lifecycle.service.d.ts +16 -1
  315. package/dist/nodes/node-lifecycle.service.d.ts.map +1 -1
  316. package/dist/nodes/node-lifecycle.service.js +7 -0
  317. package/dist/nodes/node-lifecycle.service.js.map +1 -1
  318. package/dist/nodes/nodes-admin.controller.d.ts +5 -1
  319. package/dist/nodes/nodes-admin.controller.d.ts.map +1 -1
  320. package/dist/nodes/nodes-admin.controller.js +32 -2
  321. package/dist/nodes/nodes-admin.controller.js.map +1 -1
  322. package/dist/nodes/nodes.controller.d.ts +7 -3
  323. package/dist/nodes/nodes.controller.d.ts.map +1 -1
  324. package/dist/nodes/nodes.controller.js +46 -6
  325. package/dist/nodes/nodes.controller.js.map +1 -1
  326. package/dist/nodes/nodes.metrics.d.ts +23 -1
  327. package/dist/nodes/nodes.metrics.d.ts.map +1 -1
  328. package/dist/nodes/nodes.metrics.js +80 -1
  329. package/dist/nodes/nodes.metrics.js.map +1 -1
  330. package/dist/nodes/nodes.module.d.ts.map +1 -1
  331. package/dist/nodes/nodes.module.js +6 -0
  332. package/dist/nodes/nodes.module.js.map +1 -1
  333. package/dist/nodes/nodes.options.d.ts +17 -0
  334. package/dist/nodes/nodes.options.d.ts.map +1 -1
  335. package/dist/nodes/nodes.options.js +13 -2
  336. package/dist/nodes/nodes.options.js.map +1 -1
  337. package/dist/nodes/nodes.service.d.ts +3 -1
  338. package/dist/nodes/nodes.service.d.ts.map +1 -1
  339. package/dist/nodes/nodes.service.js +14 -3
  340. package/dist/nodes/nodes.service.js.map +1 -1
  341. package/dist/nodes/tasks/node-events-purge.task.d.ts +13 -0
  342. package/dist/nodes/tasks/node-events-purge.task.d.ts.map +1 -0
  343. package/dist/nodes/tasks/node-events-purge.task.js +73 -0
  344. package/dist/nodes/tasks/node-events-purge.task.js.map +1 -0
  345. package/dist/notifications/channels/browser-notification.channel.js +1 -1
  346. package/dist/notifications/channels/browser-notification.channel.js.map +1 -1
  347. package/dist/notifications/channels/browser-templates.d.ts +12 -1
  348. package/dist/notifications/channels/browser-templates.d.ts.map +1 -1
  349. package/dist/notifications/channels/browser-templates.js +5 -4
  350. package/dist/notifications/channels/browser-templates.js.map +1 -1
  351. package/dist/notifications/channels/email-notification.channel.d.ts.map +1 -1
  352. package/dist/notifications/channels/email-notification.channel.js +3 -3
  353. package/dist/notifications/channels/email-notification.channel.js.map +1 -1
  354. package/dist/notifications/channels/push-notification.channel.js +1 -1
  355. package/dist/notifications/channels/push-notification.channel.js.map +1 -1
  356. package/dist/notifications/index.d.ts +1 -1
  357. package/dist/notifications/index.d.ts.map +1 -1
  358. package/dist/notifications/notification.types.d.ts +15 -0
  359. package/dist/notifications/notification.types.d.ts.map +1 -1
  360. package/dist/notifications/notification.types.js.map +1 -1
  361. package/dist/notifications/notifications.service.d.ts.map +1 -1
  362. package/dist/notifications/notifications.service.js +8 -0
  363. package/dist/notifications/notifications.service.js.map +1 -1
  364. package/dist/notifications/push-config.controller.d.ts +5 -2
  365. package/dist/notifications/push-config.controller.d.ts.map +1 -1
  366. package/dist/notifications/push-config.controller.js +11 -5
  367. package/dist/notifications/push-config.controller.js.map +1 -1
  368. package/dist/notifications/push-test.service.d.ts +1 -1
  369. package/dist/notifications/push-test.service.d.ts.map +1 -1
  370. package/dist/notifications/push-test.service.js +6 -4
  371. package/dist/notifications/push-test.service.js.map +1 -1
  372. package/dist/settings/settings-resolver.d.ts +28 -1
  373. package/dist/settings/settings-resolver.d.ts.map +1 -1
  374. package/dist/settings/settings-resolver.js +41 -0
  375. package/dist/settings/settings-resolver.js.map +1 -1
  376. package/dist/settings/settings.module.d.ts.map +1 -1
  377. package/dist/settings/settings.module.js +9 -4
  378. package/dist/settings/settings.module.js.map +1 -1
  379. package/dist/settings/user-settings/user-settings.service.d.ts.map +1 -1
  380. package/dist/settings/user-settings/user-settings.service.js +2 -4
  381. package/dist/settings/user-settings/user-settings.service.js.map +1 -1
  382. package/dist/sharing/grants/grants.service.js +2 -2
  383. package/dist/sharing/grants/grants.service.js.map +1 -1
  384. package/dist/sharing/groups/group-invites.service.js +1 -1
  385. package/dist/sharing/groups/group-invites.service.js.map +1 -1
  386. package/dist/sharing/groups/sharing-effects.d.ts +2 -1
  387. package/dist/sharing/groups/sharing-effects.d.ts.map +1 -1
  388. package/dist/sharing/groups/sharing-effects.js +4 -4
  389. package/dist/sharing/groups/sharing-effects.js.map +1 -1
  390. package/dist/sharing/index.d.ts +1 -1
  391. package/dist/sharing/index.d.ts.map +1 -1
  392. package/dist/sharing/index.js.map +1 -1
  393. package/dist/sharing/notifications/group-invitation.templates.d.ts +23 -0
  394. package/dist/sharing/notifications/group-invitation.templates.d.ts.map +1 -1
  395. package/dist/sharing/notifications/group-invitation.templates.js +17 -2
  396. package/dist/sharing/notifications/group-invitation.templates.js.map +1 -1
  397. package/dist/sharing/notifications/shared-with-you.templates.d.ts +1 -1
  398. package/dist/sharing/notifications/shared-with-you.templates.d.ts.map +1 -1
  399. package/dist/sharing/notifications/shared-with-you.templates.js +3 -2
  400. package/dist/sharing/notifications/shared-with-you.templates.js.map +1 -1
  401. package/dist/sharing/ports.d.ts +15 -2
  402. package/dist/sharing/ports.d.ts.map +1 -1
  403. package/dist/sharing/ports.js.map +1 -1
  404. package/dist/telemetry/dashboard/telemetry-dashboard.service.d.ts +30 -8
  405. package/dist/telemetry/dashboard/telemetry-dashboard.service.d.ts.map +1 -1
  406. package/dist/telemetry/dashboard/telemetry-dashboard.service.js +12 -0
  407. package/dist/telemetry/dashboard/telemetry-dashboard.service.js.map +1 -1
  408. package/dist/telemetry/dashboard/telemetry-dashboard.verdict.d.ts +15 -0
  409. package/dist/telemetry/dashboard/telemetry-dashboard.verdict.d.ts.map +1 -1
  410. package/dist/telemetry/dashboard/telemetry-dashboard.verdict.js +17 -2
  411. package/dist/telemetry/dashboard/telemetry-dashboard.verdict.js.map +1 -1
  412. package/dist/telemetry/dto/telemetry-dashboard.dto.d.ts +3 -3
  413. package/dist/telemetry/index.d.ts +4 -2
  414. package/dist/telemetry/index.d.ts.map +1 -1
  415. package/dist/telemetry/index.js +4 -1
  416. package/dist/telemetry/index.js.map +1 -1
  417. package/dist/telemetry/metrics/groups/nodes.metric-group.d.ts.map +1 -1
  418. package/dist/telemetry/metrics/groups/nodes.metric-group.js +77 -0
  419. package/dist/telemetry/metrics/groups/nodes.metric-group.js.map +1 -1
  420. package/dist/telemetry/metrics/metric-verdict.d.ts +1 -1
  421. package/dist/telemetry/metrics/metric-verdict.d.ts.map +1 -1
  422. package/dist/telemetry/metrics/metric-verdict.js +15 -1
  423. package/dist/telemetry/metrics/metric-verdict.js.map +1 -1
  424. package/dist/telemetry/query/telemetry-query-facade.d.ts +1 -1
  425. package/dist/telemetry/query/telemetry-query-facade.d.ts.map +1 -1
  426. package/dist/telemetry/query/telemetry-query-facade.js.map +1 -1
  427. package/dist/telemetry/query/telemetry-query.service.d.ts +2 -2
  428. package/dist/telemetry/query/telemetry-query.service.d.ts.map +1 -1
  429. package/dist/telemetry/query/telemetry-query.service.js +4 -0
  430. package/dist/telemetry/query/telemetry-query.service.js.map +1 -1
  431. package/dist/telemetry/stack/dto/telemetry-stack.dto.d.ts +1 -1
  432. package/dist/telemetry/telemetry-support-bundle.section.d.ts +4 -4
  433. package/dist/telemetry/telemetry.module.d.ts.map +1 -1
  434. package/dist/telemetry/telemetry.module.js +1 -0
  435. package/dist/telemetry/telemetry.module.js.map +1 -1
  436. package/dist/telemetry/testing/metric-schema.fixture.d.ts.map +1 -1
  437. package/dist/telemetry/testing/metric-schema.fixture.js +56 -0
  438. package/dist/telemetry/testing/metric-schema.fixture.js.map +1 -1
  439. package/dist/user-data/platform-user-data.d.ts.map +1 -1
  440. package/dist/user-data/platform-user-data.js +2 -0
  441. package/dist/user-data/platform-user-data.js.map +1 -1
  442. package/dist/webhooks/data/webhooks-db.d.ts +176 -0
  443. package/dist/webhooks/data/webhooks-db.d.ts.map +1 -0
  444. package/dist/webhooks/data/webhooks-db.js +14 -0
  445. package/dist/webhooks/data/webhooks-db.js.map +1 -0
  446. package/dist/webhooks/egress/egress-guard.d.ts +99 -0
  447. package/dist/webhooks/egress/egress-guard.d.ts.map +1 -0
  448. package/dist/webhooks/egress/egress-guard.js +172 -0
  449. package/dist/webhooks/egress/egress-guard.js.map +1 -0
  450. package/dist/webhooks/egress/transport.d.ts +58 -0
  451. package/dist/webhooks/egress/transport.d.ts.map +1 -0
  452. package/dist/webhooks/egress/transport.js +115 -0
  453. package/dist/webhooks/egress/transport.js.map +1 -0
  454. package/dist/webhooks/handlers/webhook-deliver.handler.d.ts +76 -0
  455. package/dist/webhooks/handlers/webhook-deliver.handler.d.ts.map +1 -0
  456. package/dist/webhooks/handlers/webhook-deliver.handler.js +332 -0
  457. package/dist/webhooks/handlers/webhook-deliver.handler.js.map +1 -0
  458. package/dist/webhooks/handlers/webhook-fanout.handler.d.ts +28 -0
  459. package/dist/webhooks/handlers/webhook-fanout.handler.d.ts.map +1 -0
  460. package/dist/webhooks/handlers/webhook-fanout.handler.js +73 -0
  461. package/dist/webhooks/handlers/webhook-fanout.handler.js.map +1 -0
  462. package/dist/webhooks/handlers/webhook-purge.handler.d.ts +33 -0
  463. package/dist/webhooks/handlers/webhook-purge.handler.d.ts.map +1 -0
  464. package/dist/webhooks/handlers/webhook-purge.handler.js +77 -0
  465. package/dist/webhooks/handlers/webhook-purge.handler.js.map +1 -0
  466. package/dist/webhooks/http/admin-webhooks.controller.d.ts +36 -0
  467. package/dist/webhooks/http/admin-webhooks.controller.d.ts.map +1 -0
  468. package/dist/webhooks/http/admin-webhooks.controller.js +250 -0
  469. package/dist/webhooks/http/admin-webhooks.controller.js.map +1 -0
  470. package/dist/webhooks/http/org-webhooks.controller.d.ts +36 -0
  471. package/dist/webhooks/http/org-webhooks.controller.d.ts.map +1 -0
  472. package/dist/webhooks/http/org-webhooks.controller.js +249 -0
  473. package/dist/webhooks/http/org-webhooks.controller.js.map +1 -0
  474. package/dist/webhooks/http/scope-context.d.ts +17 -0
  475. package/dist/webhooks/http/scope-context.d.ts.map +1 -0
  476. package/dist/webhooks/http/scope-context.js +28 -0
  477. package/dist/webhooks/http/scope-context.js.map +1 -0
  478. package/dist/webhooks/http/webhook.dto.d.ts +174 -0
  479. package/dist/webhooks/http/webhook.dto.d.ts.map +1 -0
  480. package/dist/webhooks/http/webhook.dto.js +58 -0
  481. package/dist/webhooks/http/webhook.dto.js.map +1 -0
  482. package/dist/webhooks/http/webhooks.controller.d.ts +36 -0
  483. package/dist/webhooks/http/webhooks.controller.d.ts.map +1 -0
  484. package/dist/webhooks/http/webhooks.controller.js +243 -0
  485. package/dist/webhooks/http/webhooks.controller.js.map +1 -0
  486. package/dist/webhooks/index.d.ts +43 -0
  487. package/dist/webhooks/index.d.ts.map +1 -0
  488. package/dist/webhooks/index.js +147 -0
  489. package/dist/webhooks/index.js.map +1 -0
  490. package/dist/webhooks/listeners/webhook-event.listeners.d.ts +23 -0
  491. package/dist/webhooks/listeners/webhook-event.listeners.d.ts.map +1 -0
  492. package/dist/webhooks/listeners/webhook-event.listeners.js +120 -0
  493. package/dist/webhooks/listeners/webhook-event.listeners.js.map +1 -0
  494. package/dist/webhooks/notifications/webhook-notification.channel.d.ts +31 -0
  495. package/dist/webhooks/notifications/webhook-notification.channel.d.ts.map +1 -0
  496. package/dist/webhooks/notifications/webhook-notification.channel.js +127 -0
  497. package/dist/webhooks/notifications/webhook-notification.channel.js.map +1 -0
  498. package/dist/webhooks/notifications/webhook-notifications.d.ts +98 -0
  499. package/dist/webhooks/notifications/webhook-notifications.d.ts.map +1 -0
  500. package/dist/webhooks/notifications/webhook-notifications.js +150 -0
  501. package/dist/webhooks/notifications/webhook-notifications.js.map +1 -0
  502. package/dist/webhooks/ports.d.ts +29 -0
  503. package/dist/webhooks/ports.d.ts.map +1 -0
  504. package/dist/webhooks/ports.js +23 -0
  505. package/dist/webhooks/ports.js.map +1 -0
  506. package/dist/webhooks/registry/builtin-events.d.ts +57 -0
  507. package/dist/webhooks/registry/builtin-events.d.ts.map +1 -0
  508. package/dist/webhooks/registry/builtin-events.js +113 -0
  509. package/dist/webhooks/registry/builtin-events.js.map +1 -0
  510. package/dist/webhooks/registry/webhook-catalog.d.ts +63 -0
  511. package/dist/webhooks/registry/webhook-catalog.d.ts.map +1 -0
  512. package/dist/webhooks/registry/webhook-catalog.js +123 -0
  513. package/dist/webhooks/registry/webhook-catalog.js.map +1 -0
  514. package/dist/webhooks/registry/webhook-event.registry.d.ts +116 -0
  515. package/dist/webhooks/registry/webhook-event.registry.d.ts.map +1 -0
  516. package/dist/webhooks/registry/webhook-event.registry.js +152 -0
  517. package/dist/webhooks/registry/webhook-event.registry.js.map +1 -0
  518. package/dist/webhooks/signing.d.ts +31 -0
  519. package/dist/webhooks/signing.d.ts.map +1 -0
  520. package/dist/webhooks/signing.js +48 -0
  521. package/dist/webhooks/signing.js.map +1 -0
  522. package/dist/webhooks/tasks/webhook-purge.task.d.ts +17 -0
  523. package/dist/webhooks/tasks/webhook-purge.task.d.ts.map +1 -0
  524. package/dist/webhooks/tasks/webhook-purge.task.js +68 -0
  525. package/dist/webhooks/tasks/webhook-purge.task.js.map +1 -0
  526. package/dist/webhooks/testing/conformance.d.ts +61 -0
  527. package/dist/webhooks/testing/conformance.d.ts.map +1 -0
  528. package/dist/webhooks/testing/conformance.js +316 -0
  529. package/dist/webhooks/testing/conformance.js.map +1 -0
  530. package/dist/webhooks/testing/in-memory.d.ts +156 -0
  531. package/dist/webhooks/testing/in-memory.d.ts.map +1 -0
  532. package/dist/webhooks/testing/in-memory.js +323 -0
  533. package/dist/webhooks/testing/in-memory.js.map +1 -0
  534. package/dist/webhooks/testing/index.d.ts +7 -0
  535. package/dist/webhooks/testing/index.d.ts.map +1 -0
  536. package/dist/webhooks/testing/index.js +25 -0
  537. package/dist/webhooks/testing/index.js.map +1 -0
  538. package/dist/webhooks/testing/kit.d.ts +86 -0
  539. package/dist/webhooks/testing/kit.d.ts.map +1 -0
  540. package/dist/webhooks/testing/kit.js +113 -0
  541. package/dist/webhooks/testing/kit.js.map +1 -0
  542. package/dist/webhooks/webhook-endpoints.service.d.ts +142 -0
  543. package/dist/webhooks/webhook-endpoints.service.d.ts.map +1 -0
  544. package/dist/webhooks/webhook-endpoints.service.js +366 -0
  545. package/dist/webhooks/webhook-endpoints.service.js.map +1 -0
  546. package/dist/webhooks/webhook-envelope.d.ts +36 -0
  547. package/dist/webhooks/webhook-envelope.d.ts.map +1 -0
  548. package/dist/webhooks/webhook-envelope.js +46 -0
  549. package/dist/webhooks/webhook-envelope.js.map +1 -0
  550. package/dist/webhooks/webhook-secrets.service.d.ts +49 -0
  551. package/dist/webhooks/webhook-secrets.service.d.ts.map +1 -0
  552. package/dist/webhooks/webhook-secrets.service.js +118 -0
  553. package/dist/webhooks/webhook-secrets.service.js.map +1 -0
  554. package/dist/webhooks/webhook-views.d.ts +34 -0
  555. package/dist/webhooks/webhook-views.d.ts.map +1 -0
  556. package/dist/webhooks/webhook-views.js +83 -0
  557. package/dist/webhooks/webhook-views.js.map +1 -0
  558. package/dist/webhooks/webhooks.access.d.ts +28 -0
  559. package/dist/webhooks/webhooks.access.d.ts.map +1 -0
  560. package/dist/webhooks/webhooks.access.js +55 -0
  561. package/dist/webhooks/webhooks.access.js.map +1 -0
  562. package/dist/webhooks/webhooks.constants.d.ts +73 -0
  563. package/dist/webhooks/webhooks.constants.d.ts.map +1 -0
  564. package/dist/webhooks/webhooks.constants.js +100 -0
  565. package/dist/webhooks/webhooks.constants.js.map +1 -0
  566. package/dist/webhooks/webhooks.credentials.d.ts +28 -0
  567. package/dist/webhooks/webhooks.credentials.d.ts.map +1 -0
  568. package/dist/webhooks/webhooks.credentials.js +51 -0
  569. package/dist/webhooks/webhooks.credentials.js.map +1 -0
  570. package/dist/webhooks/webhooks.errors.d.ts +25 -0
  571. package/dist/webhooks/webhooks.errors.d.ts.map +1 -0
  572. package/dist/webhooks/webhooks.errors.js +65 -0
  573. package/dist/webhooks/webhooks.errors.js.map +1 -0
  574. package/dist/webhooks/webhooks.metrics.d.ts +24 -0
  575. package/dist/webhooks/webhooks.metrics.d.ts.map +1 -0
  576. package/dist/webhooks/webhooks.metrics.js +70 -0
  577. package/dist/webhooks/webhooks.metrics.js.map +1 -0
  578. package/dist/webhooks/webhooks.module.d.ts +29 -0
  579. package/dist/webhooks/webhooks.module.d.ts.map +1 -0
  580. package/dist/webhooks/webhooks.module.js +108 -0
  581. package/dist/webhooks/webhooks.module.js.map +1 -0
  582. package/dist/webhooks/webhooks.options.d.ts +119 -0
  583. package/dist/webhooks/webhooks.options.d.ts.map +1 -0
  584. package/dist/webhooks/webhooks.options.js +80 -0
  585. package/dist/webhooks/webhooks.options.js.map +1 -0
  586. package/dist/webhooks/webhooks.permissions.d.ts +47 -0
  587. package/dist/webhooks/webhooks.permissions.d.ts.map +1 -0
  588. package/dist/webhooks/webhooks.permissions.js +83 -0
  589. package/dist/webhooks/webhooks.permissions.js.map +1 -0
  590. package/dist/webhooks/webhooks.repository.d.ts +162 -0
  591. package/dist/webhooks/webhooks.repository.d.ts.map +1 -0
  592. package/dist/webhooks/webhooks.repository.js +246 -0
  593. package/dist/webhooks/webhooks.repository.js.map +1 -0
  594. package/dist/webhooks/webhooks.service.d.ts +91 -0
  595. package/dist/webhooks/webhooks.service.d.ts.map +1 -0
  596. package/dist/webhooks/webhooks.service.js +216 -0
  597. package/dist/webhooks/webhooks.service.js.map +1 -0
  598. package/package.json +19 -3
@@ -0,0 +1,250 @@
1
+ "use strict";
2
+ // =============================================================================
3
+ // /api/admin/webhooks: the deployment's webhook endpoints (issue #1046)
4
+ // =============================================================================
5
+ //
6
+ // Permissions `system_webhooks:read` / `system_webhooks:write`, held by the
7
+ // `admin` system role. The same routes as `/api/webhooks`, pinned to the
8
+ // deployment's own endpoints (scope `system`, no organization): the ones that
9
+ // receive platform events such as a worker node going offline or a job failing
10
+ // for good.
11
+ // =============================================================================
12
+ //
13
+ // Permissions `webhooks:read` / `webhooks:write`, held by every organization
14
+ // role: a member manages the endpoints THEY own in the active organization.
15
+ // The service pins every query to the caller, so another member's endpoint or
16
+ // delivery answers 404, never 403. The organization and system tiers are the
17
+ // same routes under `/api/org/webhooks` and `/api/admin/webhooks`.
18
+ // =============================================================================
19
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
20
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
21
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
22
+ 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;
23
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
24
+ };
25
+ var __metadata = (this && this.__metadata) || function (k, v) {
26
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
27
+ };
28
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
29
+ return function (target, key) { decorator(target, key, paramIndex); }
30
+ };
31
+ Object.defineProperty(exports, "__esModule", { value: true });
32
+ exports.AdminWebhooksController = void 0;
33
+ const common_1 = require("@nestjs/common");
34
+ const swagger_1 = require("@nestjs/swagger");
35
+ const webhooks_1 = require("@marinoscar/platform-contract/webhooks");
36
+ const index_1 = require("../../core/index");
37
+ const index_2 = require("../../identity/index");
38
+ const webhook_endpoints_service_1 = require("../webhook-endpoints.service");
39
+ const scope_context_1 = require("./scope-context");
40
+ const webhook_dto_1 = require("./webhook.dto");
41
+ const READ = webhooks_1.WEBHOOK_PERMISSIONS.SYSTEM_READ;
42
+ const WRITE = webhooks_1.WEBHOOK_PERMISSIONS.SYSTEM_WRITE;
43
+ /**
44
+ * The deployment-scope webhook routes. See the file header.
45
+ *
46
+ * @stability experimental
47
+ */
48
+ let AdminWebhooksController = class AdminWebhooksController {
49
+ endpoints;
50
+ constructor(endpoints) {
51
+ this.endpoints = endpoints;
52
+ }
53
+ /** The events the caller may subscribe to. */
54
+ events(principal) {
55
+ return { items: this.endpoints.catalog((0, scope_context_1.webhookScopeContext)(principal, 'system')) };
56
+ }
57
+ /** One delivery, with its payload. */
58
+ getDelivery(principal, deliveryId) {
59
+ return this.endpoints.getDelivery((0, scope_context_1.webhookScopeContext)(principal, 'system'), deliveryId);
60
+ }
61
+ /** Sends a delivery again. */
62
+ redeliver(principal, deliveryId) {
63
+ return this.endpoints.redeliver((0, scope_context_1.webhookScopeContext)(principal, 'system'), deliveryId);
64
+ }
65
+ /** The caller's endpoints. */
66
+ async list(principal) {
67
+ return { items: await this.endpoints.list((0, scope_context_1.webhookScopeContext)(principal, 'system')) };
68
+ }
69
+ /** Creates an endpoint. */
70
+ create(principal, body) {
71
+ return this.endpoints.create((0, scope_context_1.webhookScopeContext)(principal, 'system'), body);
72
+ }
73
+ /** One endpoint. */
74
+ get(principal, id) {
75
+ return this.endpoints.get((0, scope_context_1.webhookScopeContext)(principal, 'system'), id);
76
+ }
77
+ /** Changes an endpoint. */
78
+ update(principal, id, body) {
79
+ return this.endpoints.update((0, scope_context_1.webhookScopeContext)(principal, 'system'), id, body);
80
+ }
81
+ /** Deletes an endpoint. */
82
+ remove(principal, id) {
83
+ return this.endpoints.remove((0, scope_context_1.webhookScopeContext)(principal, 'system'), id);
84
+ }
85
+ /** Rotates the signing secret. */
86
+ rotate(principal, id) {
87
+ return this.endpoints.rotateSecret((0, scope_context_1.webhookScopeContext)(principal, 'system'), id);
88
+ }
89
+ /** Queues a test ping. */
90
+ test(principal, id) {
91
+ return this.endpoints.test((0, scope_context_1.webhookScopeContext)(principal, 'system'), id);
92
+ }
93
+ /** An endpoint's deliveries. */
94
+ deliveries(principal, id, query) {
95
+ return this.endpoints.listDeliveries((0, scope_context_1.webhookScopeContext)(principal, 'system'), id, query);
96
+ }
97
+ };
98
+ exports.AdminWebhooksController = AdminWebhooksController;
99
+ __decorate([
100
+ (0, common_1.Get)('events'),
101
+ (0, index_2.Auth)({ permissions: [READ] }),
102
+ (0, swagger_1.ApiOperation)({ summary: 'List the events a webhook endpoint can subscribe to', description: 'Each with its JSON Schema and an example. Notifications appear as `notification.<eventKey>`.' }),
103
+ (0, index_1.ApiDataResponse)(webhook_dto_1.WebhookEventCatalogDto, { description: 'The catalog.' }),
104
+ __param(0, (0, index_2.CurrentPrincipal)()),
105
+ __metadata("design:type", Function),
106
+ __metadata("design:paramtypes", [Object]),
107
+ __metadata("design:returntype", Object)
108
+ ], AdminWebhooksController.prototype, "events", null);
109
+ __decorate([
110
+ (0, common_1.Get)('deliveries/:deliveryId'),
111
+ (0, index_2.Auth)({ permissions: [READ] }),
112
+ (0, swagger_1.ApiOperation)({ summary: 'Get one webhook delivery', description: 'The payload that was sent and the request headers that are stable across attempts (the signature is never shown). 404 unless it belongs to one of the deployment endpoints.' }),
113
+ (0, swagger_1.ApiParam)({ name: 'deliveryId', type: String, format: 'uuid' }),
114
+ (0, index_1.ApiDataResponse)(webhook_dto_1.WebhookDeliveryDetailDto, { description: 'The delivery.' }),
115
+ (0, swagger_1.ApiResponse)({ status: 404, description: 'Delivery not found' }),
116
+ __param(0, (0, index_2.CurrentPrincipal)()),
117
+ __param(1, (0, common_1.Param)('deliveryId', common_1.ParseUUIDPipe)),
118
+ __metadata("design:type", Function),
119
+ __metadata("design:paramtypes", [Object, String]),
120
+ __metadata("design:returntype", Promise)
121
+ ], AdminWebhooksController.prototype, "getDelivery", null);
122
+ __decorate([
123
+ (0, common_1.Post)('deliveries/:deliveryId/redeliver'),
124
+ (0, index_2.Auth)({ permissions: [WRITE] }),
125
+ (0, common_1.HttpCode)(common_1.HttpStatus.ACCEPTED),
126
+ (0, swagger_1.ApiOperation)({ summary: 'Redeliver a webhook delivery', description: 'Puts the same delivery back to `pending` with a fresh attempt count; the event id (`webhook-id`) is unchanged. 409 while the endpoint is disabled.' }),
127
+ (0, swagger_1.ApiParam)({ name: 'deliveryId', type: String, format: 'uuid' }),
128
+ (0, index_1.ApiDataResponse)(webhook_dto_1.WebhookDeliveryDetailDto, { status: 202, description: 'Queued.' }),
129
+ (0, swagger_1.ApiResponse)({ status: 404, description: 'Delivery not found' }),
130
+ (0, swagger_1.ApiResponse)({ status: 409, description: 'The endpoint is disabled' }),
131
+ __param(0, (0, index_2.CurrentPrincipal)()),
132
+ __param(1, (0, common_1.Param)('deliveryId', common_1.ParseUUIDPipe)),
133
+ __metadata("design:type", Function),
134
+ __metadata("design:paramtypes", [Object, String]),
135
+ __metadata("design:returntype", Promise)
136
+ ], AdminWebhooksController.prototype, "redeliver", null);
137
+ __decorate([
138
+ (0, common_1.Get)(),
139
+ (0, index_2.Auth)({ permissions: [READ] }),
140
+ (0, swagger_1.ApiOperation)({ summary: 'List the deployment webhook endpoints', description: 'The deployment endpoints, newest first. The signing secret is never part of a list.' }),
141
+ (0, index_1.ApiDataResponse)(webhook_dto_1.WebhookEndpointListDto, { description: 'The endpoints.' }),
142
+ __param(0, (0, index_2.CurrentPrincipal)()),
143
+ __metadata("design:type", Function),
144
+ __metadata("design:paramtypes", [Object]),
145
+ __metadata("design:returntype", Promise)
146
+ ], AdminWebhooksController.prototype, "list", null);
147
+ __decorate([
148
+ (0, common_1.Post)(),
149
+ (0, index_2.Auth)({ permissions: [WRITE] }),
150
+ (0, swagger_1.ApiOperation)({ summary: 'Create a webhook endpoint', description: 'Returns the endpoint and its signing secret ONCE (`whsec_...`); store it, it is never shown again. 422 `WEBHOOK_URL_FORBIDDEN` for a URL the server will not call (private address, non-https, userinfo, a low port), `WEBHOOK_EVENT_UNKNOWN`, `WEBHOOK_EVENT_NOT_PERMITTED` or `WEBHOOK_LIMIT_REACHED`.' }),
151
+ (0, swagger_1.ApiBody)({ type: webhook_dto_1.CreateWebhookEndpointDto }),
152
+ (0, index_1.ApiDataResponse)(webhook_dto_1.WebhookEndpointCreatedDto, { status: 201, description: 'Created.' }),
153
+ (0, swagger_1.ApiResponse)({ status: 422, description: 'A forbidden URL, an unknown or not-permitted event, or the endpoint limit' }),
154
+ __param(0, (0, index_2.CurrentPrincipal)()),
155
+ __param(1, (0, common_1.Body)()),
156
+ __metadata("design:type", Function),
157
+ __metadata("design:paramtypes", [Object, webhook_dto_1.CreateWebhookEndpointDto]),
158
+ __metadata("design:returntype", Promise)
159
+ ], AdminWebhooksController.prototype, "create", null);
160
+ __decorate([
161
+ (0, common_1.Get)(':id'),
162
+ (0, index_2.Auth)({ permissions: [READ] }),
163
+ (0, swagger_1.ApiOperation)({ summary: 'Get one webhook endpoint', description: '404 unless it is one of the deployment endpoints.' }),
164
+ (0, swagger_1.ApiParam)({ name: 'id', type: String, format: 'uuid' }),
165
+ (0, index_1.ApiDataResponse)(webhook_dto_1.WebhookEndpointDto, { description: 'The endpoint.' }),
166
+ (0, swagger_1.ApiResponse)({ status: 404, description: 'Endpoint not found' }),
167
+ __param(0, (0, index_2.CurrentPrincipal)()),
168
+ __param(1, (0, common_1.Param)('id', common_1.ParseUUIDPipe)),
169
+ __metadata("design:type", Function),
170
+ __metadata("design:paramtypes", [Object, String]),
171
+ __metadata("design:returntype", Promise)
172
+ ], AdminWebhooksController.prototype, "get", null);
173
+ __decorate([
174
+ (0, common_1.Patch)(':id'),
175
+ (0, index_2.Auth)({ permissions: [WRITE] }),
176
+ (0, swagger_1.ApiOperation)({ summary: 'Change a webhook endpoint', description: 'Enabling a disabled endpoint resets its failure count.' }),
177
+ (0, swagger_1.ApiParam)({ name: 'id', type: String, format: 'uuid' }),
178
+ (0, swagger_1.ApiBody)({ type: webhook_dto_1.UpdateWebhookEndpointDto }),
179
+ (0, index_1.ApiDataResponse)(webhook_dto_1.WebhookEndpointDto, { description: 'The endpoint.' }),
180
+ (0, swagger_1.ApiResponse)({ status: 404, description: 'Endpoint not found' }),
181
+ (0, swagger_1.ApiResponse)({ status: 422, description: 'A forbidden URL or an unknown or not-permitted event' }),
182
+ __param(0, (0, index_2.CurrentPrincipal)()),
183
+ __param(1, (0, common_1.Param)('id', common_1.ParseUUIDPipe)),
184
+ __param(2, (0, common_1.Body)()),
185
+ __metadata("design:type", Function),
186
+ __metadata("design:paramtypes", [Object, String, webhook_dto_1.UpdateWebhookEndpointDto]),
187
+ __metadata("design:returntype", Promise)
188
+ ], AdminWebhooksController.prototype, "update", null);
189
+ __decorate([
190
+ (0, common_1.Delete)(':id'),
191
+ (0, index_2.Auth)({ permissions: [WRITE] }),
192
+ (0, common_1.HttpCode)(common_1.HttpStatus.NO_CONTENT),
193
+ (0, swagger_1.ApiOperation)({ summary: 'Delete a webhook endpoint', description: 'Also deletes its deliveries and its stored signing secrets.' }),
194
+ (0, swagger_1.ApiParam)({ name: 'id', type: String, format: 'uuid' }),
195
+ (0, swagger_1.ApiResponse)({ status: 204, description: 'Deleted.' }),
196
+ (0, swagger_1.ApiResponse)({ status: 404, description: 'Endpoint not found' }),
197
+ __param(0, (0, index_2.CurrentPrincipal)()),
198
+ __param(1, (0, common_1.Param)('id', common_1.ParseUUIDPipe)),
199
+ __metadata("design:type", Function),
200
+ __metadata("design:paramtypes", [Object, String]),
201
+ __metadata("design:returntype", Promise)
202
+ ], AdminWebhooksController.prototype, "remove", null);
203
+ __decorate([
204
+ (0, common_1.Post)(':id/rotate-secret'),
205
+ (0, index_2.Auth)({ permissions: [WRITE] }),
206
+ (0, common_1.HttpCode)(common_1.HttpStatus.OK),
207
+ (0, swagger_1.ApiOperation)({ summary: 'Rotate the signing secret', description: 'Returns the new secret ONCE. The previous secret keeps signing alongside it until `previousSecretValidUntil` (24 hours by default), so a delivery carries two signatures meanwhile.' }),
208
+ (0, swagger_1.ApiParam)({ name: 'id', type: String, format: 'uuid' }),
209
+ (0, index_1.ApiDataResponse)(webhook_dto_1.RotateWebhookSecretResponseDto, { description: 'The new secret.' }),
210
+ (0, swagger_1.ApiResponse)({ status: 404, description: 'Endpoint not found' }),
211
+ __param(0, (0, index_2.CurrentPrincipal)()),
212
+ __param(1, (0, common_1.Param)('id', common_1.ParseUUIDPipe)),
213
+ __metadata("design:type", Function),
214
+ __metadata("design:paramtypes", [Object, String]),
215
+ __metadata("design:returntype", Promise)
216
+ ], AdminWebhooksController.prototype, "rotate", null);
217
+ __decorate([
218
+ (0, common_1.Post)(':id/test'),
219
+ (0, index_2.Auth)({ permissions: [WRITE] }),
220
+ (0, common_1.HttpCode)(common_1.HttpStatus.ACCEPTED),
221
+ (0, swagger_1.ApiOperation)({ summary: 'Send a test ping', description: 'Queues a `webhooks.ping` delivery; follow it in the delivery list.' }),
222
+ (0, swagger_1.ApiParam)({ name: 'id', type: String, format: 'uuid' }),
223
+ (0, index_1.ApiDataResponse)(webhook_dto_1.WebhookTestResponseDto, { status: 202, description: 'Queued.' }),
224
+ (0, swagger_1.ApiResponse)({ status: 404, description: 'Endpoint not found' }),
225
+ __param(0, (0, index_2.CurrentPrincipal)()),
226
+ __param(1, (0, common_1.Param)('id', common_1.ParseUUIDPipe)),
227
+ __metadata("design:type", Function),
228
+ __metadata("design:paramtypes", [Object, String]),
229
+ __metadata("design:returntype", Promise)
230
+ ], AdminWebhooksController.prototype, "test", null);
231
+ __decorate([
232
+ (0, common_1.Get)(':id/deliveries'),
233
+ (0, index_2.Auth)({ permissions: [READ] }),
234
+ (0, swagger_1.ApiOperation)({ summary: "List an endpoint's deliveries", description: 'Newest first, filterable by `status` and `eventKey`.' }),
235
+ (0, swagger_1.ApiParam)({ name: 'id', type: String, format: 'uuid' }),
236
+ (0, index_1.ApiDataResponse)(webhook_dto_1.WebhookDeliveryListDto, { description: 'A page of deliveries.' }),
237
+ (0, swagger_1.ApiResponse)({ status: 404, description: 'Endpoint not found' }),
238
+ __param(0, (0, index_2.CurrentPrincipal)()),
239
+ __param(1, (0, common_1.Param)('id', common_1.ParseUUIDPipe)),
240
+ __param(2, (0, common_1.Query)()),
241
+ __metadata("design:type", Function),
242
+ __metadata("design:paramtypes", [Object, String, webhook_dto_1.WebhookDeliveryListQueryDto]),
243
+ __metadata("design:returntype", Promise)
244
+ ], AdminWebhooksController.prototype, "deliveries", null);
245
+ exports.AdminWebhooksController = AdminWebhooksController = __decorate([
246
+ (0, swagger_1.ApiTags)('Webhooks'),
247
+ (0, common_1.Controller)('admin/webhooks'),
248
+ __metadata("design:paramtypes", [webhook_endpoints_service_1.WebhookEndpointsService])
249
+ ], AdminWebhooksController);
250
+ //# sourceMappingURL=admin-webhooks.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-webhooks.controller.js","sourceRoot":"","sources":["../../../src/webhooks/http/admin-webhooks.controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import { type RotateWebhookSecretResponse, type WebhookDeliveryDetail, type WebhookDeliveryList, type WebhookEndpoint, type WebhookEndpointCreated, type WebhookEndpointList, type WebhookEventCatalog, type WebhookTestResponse } from '@marinoscar/platform-contract/webhooks';
2
+ import type { Principal } from '../../core/index';
3
+ import { WebhookEndpointsService } from '../webhook-endpoints.service';
4
+ import { CreateWebhookEndpointDto, UpdateWebhookEndpointDto, WebhookDeliveryListQueryDto } from './webhook.dto';
5
+ /**
6
+ * The organization-scope webhook routes. See the file header.
7
+ *
8
+ * @stability experimental
9
+ */
10
+ export declare class OrgWebhooksController {
11
+ private readonly endpoints;
12
+ constructor(endpoints: WebhookEndpointsService);
13
+ /** The events the caller may subscribe to. */
14
+ events(principal: Principal | undefined): WebhookEventCatalog;
15
+ /** One delivery, with its payload. */
16
+ getDelivery(principal: Principal | undefined, deliveryId: string): Promise<WebhookDeliveryDetail>;
17
+ /** Sends a delivery again. */
18
+ redeliver(principal: Principal | undefined, deliveryId: string): Promise<WebhookDeliveryDetail>;
19
+ /** The caller's endpoints. */
20
+ list(principal: Principal | undefined): Promise<WebhookEndpointList>;
21
+ /** Creates an endpoint. */
22
+ create(principal: Principal | undefined, body: CreateWebhookEndpointDto): Promise<WebhookEndpointCreated>;
23
+ /** One endpoint. */
24
+ get(principal: Principal | undefined, id: string): Promise<WebhookEndpoint>;
25
+ /** Changes an endpoint. */
26
+ update(principal: Principal | undefined, id: string, body: UpdateWebhookEndpointDto): Promise<WebhookEndpoint>;
27
+ /** Deletes an endpoint. */
28
+ remove(principal: Principal | undefined, id: string): Promise<void>;
29
+ /** Rotates the signing secret. */
30
+ rotate(principal: Principal | undefined, id: string): Promise<RotateWebhookSecretResponse>;
31
+ /** Queues a test ping. */
32
+ test(principal: Principal | undefined, id: string): Promise<WebhookTestResponse>;
33
+ /** An endpoint's deliveries. */
34
+ deliveries(principal: Principal | undefined, id: string, query: WebhookDeliveryListQueryDto): Promise<WebhookDeliveryList>;
35
+ }
36
+ //# sourceMappingURL=org-webhooks.controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"org-webhooks.controller.d.ts","sourceRoot":"","sources":["../../../src/webhooks/http/org-webhooks.controller.ts"],"names":[],"mappings":"AAmBA,OAAO,EAGL,KAAK,2BAA2B,EAEhC,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EAExB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACzB,MAAM,wCAAwC,CAAC;AAGhD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,EACL,wBAAwB,EAExB,wBAAwB,EAGxB,2BAA2B,EAM5B,MAAM,eAAe,CAAC;AAKvB;;;;GAIG;AACH,qBAEa,qBAAqB;IACpB,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,uBAAuB;IAE/D,8CAA8C;IAK9C,MAAM,CAAqB,SAAS,EAAE,SAAS,GAAG,SAAS,GAAG,mBAAmB;IAIjF,sCAAsC;IAOtC,WAAW,CAAqB,SAAS,EAAE,SAAS,GAAG,SAAS,EAAsC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAIzJ,8BAA8B;IAS9B,SAAS,CAAqB,SAAS,EAAE,SAAS,GAAG,SAAS,EAAsC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAIvJ,8BAA8B;IAKxB,IAAI,CAAqB,SAAS,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAI9F,2BAA2B;IAO3B,MAAM,CAAqB,SAAS,EAAE,SAAS,GAAG,SAAS,EAAU,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAIrI,oBAAoB;IAOpB,GAAG,CAAqB,SAAS,EAAE,SAAS,GAAG,SAAS,EAA8B,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAI3H,2BAA2B;IAS3B,MAAM,CAAqB,SAAS,EAAE,SAAS,GAAG,SAAS,EAA8B,EAAE,EAAE,MAAM,EAAU,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC,eAAe,CAAC;IAItK,2BAA2B;IAQ3B,MAAM,CAAqB,SAAS,EAAE,SAAS,GAAG,SAAS,EAA8B,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInH,kCAAkC;IAQlC,MAAM,CAAqB,SAAS,EAAE,SAAS,GAAG,SAAS,EAA8B,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAI1I,0BAA0B;IAQ1B,IAAI,CAAqB,SAAS,EAAE,SAAS,GAAG,SAAS,EAA8B,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAIhI,gCAAgC;IAOhC,UAAU,CAAqB,SAAS,EAAE,SAAS,GAAG,SAAS,EAA8B,EAAE,EAAE,MAAM,EAAW,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAGpL"}
@@ -0,0 +1,249 @@
1
+ "use strict";
2
+ // =============================================================================
3
+ // /api/org/webhooks: the active organization's webhook endpoints (issue #1046)
4
+ // =============================================================================
5
+ //
6
+ // Permissions `org_webhooks:read` / `org_webhooks:write`, held by `org_admin`.
7
+ // The same routes as `/api/webhooks`, pinned to the organization's own
8
+ // endpoints (scope `org`) instead of the caller's; an endpoint of another
9
+ // organization, or one a member owns, answers 404.
10
+ // =============================================================================
11
+ //
12
+ // Permissions `webhooks:read` / `webhooks:write`, held by every organization
13
+ // role: a member manages the endpoints THEY own in the active organization.
14
+ // The service pins every query to the caller, so another member's endpoint or
15
+ // delivery answers 404, never 403. The organization and system tiers are the
16
+ // same routes under `/api/org/webhooks` and `/api/admin/webhooks`.
17
+ // =============================================================================
18
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
+ 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;
22
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
23
+ };
24
+ var __metadata = (this && this.__metadata) || function (k, v) {
25
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
26
+ };
27
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
28
+ return function (target, key) { decorator(target, key, paramIndex); }
29
+ };
30
+ Object.defineProperty(exports, "__esModule", { value: true });
31
+ exports.OrgWebhooksController = void 0;
32
+ const common_1 = require("@nestjs/common");
33
+ const swagger_1 = require("@nestjs/swagger");
34
+ const webhooks_1 = require("@marinoscar/platform-contract/webhooks");
35
+ const index_1 = require("../../core/index");
36
+ const index_2 = require("../../identity/index");
37
+ const webhook_endpoints_service_1 = require("../webhook-endpoints.service");
38
+ const scope_context_1 = require("./scope-context");
39
+ const webhook_dto_1 = require("./webhook.dto");
40
+ const READ = webhooks_1.WEBHOOK_PERMISSIONS.ORG_READ;
41
+ const WRITE = webhooks_1.WEBHOOK_PERMISSIONS.ORG_WRITE;
42
+ /**
43
+ * The organization-scope webhook routes. See the file header.
44
+ *
45
+ * @stability experimental
46
+ */
47
+ let OrgWebhooksController = class OrgWebhooksController {
48
+ endpoints;
49
+ constructor(endpoints) {
50
+ this.endpoints = endpoints;
51
+ }
52
+ /** The events the caller may subscribe to. */
53
+ events(principal) {
54
+ return { items: this.endpoints.catalog((0, scope_context_1.webhookScopeContext)(principal, 'org')) };
55
+ }
56
+ /** One delivery, with its payload. */
57
+ getDelivery(principal, deliveryId) {
58
+ return this.endpoints.getDelivery((0, scope_context_1.webhookScopeContext)(principal, 'org'), deliveryId);
59
+ }
60
+ /** Sends a delivery again. */
61
+ redeliver(principal, deliveryId) {
62
+ return this.endpoints.redeliver((0, scope_context_1.webhookScopeContext)(principal, 'org'), deliveryId);
63
+ }
64
+ /** The caller's endpoints. */
65
+ async list(principal) {
66
+ return { items: await this.endpoints.list((0, scope_context_1.webhookScopeContext)(principal, 'org')) };
67
+ }
68
+ /** Creates an endpoint. */
69
+ create(principal, body) {
70
+ return this.endpoints.create((0, scope_context_1.webhookScopeContext)(principal, 'org'), body);
71
+ }
72
+ /** One endpoint. */
73
+ get(principal, id) {
74
+ return this.endpoints.get((0, scope_context_1.webhookScopeContext)(principal, 'org'), id);
75
+ }
76
+ /** Changes an endpoint. */
77
+ update(principal, id, body) {
78
+ return this.endpoints.update((0, scope_context_1.webhookScopeContext)(principal, 'org'), id, body);
79
+ }
80
+ /** Deletes an endpoint. */
81
+ remove(principal, id) {
82
+ return this.endpoints.remove((0, scope_context_1.webhookScopeContext)(principal, 'org'), id);
83
+ }
84
+ /** Rotates the signing secret. */
85
+ rotate(principal, id) {
86
+ return this.endpoints.rotateSecret((0, scope_context_1.webhookScopeContext)(principal, 'org'), id);
87
+ }
88
+ /** Queues a test ping. */
89
+ test(principal, id) {
90
+ return this.endpoints.test((0, scope_context_1.webhookScopeContext)(principal, 'org'), id);
91
+ }
92
+ /** An endpoint's deliveries. */
93
+ deliveries(principal, id, query) {
94
+ return this.endpoints.listDeliveries((0, scope_context_1.webhookScopeContext)(principal, 'org'), id, query);
95
+ }
96
+ };
97
+ exports.OrgWebhooksController = OrgWebhooksController;
98
+ __decorate([
99
+ (0, common_1.Get)('events'),
100
+ (0, index_2.Auth)({ permissions: [READ] }),
101
+ (0, swagger_1.ApiOperation)({ summary: 'List the events a webhook endpoint can subscribe to', description: 'Each with its JSON Schema and an example. Notifications appear as `notification.<eventKey>`.' }),
102
+ (0, index_1.ApiDataResponse)(webhook_dto_1.WebhookEventCatalogDto, { description: 'The catalog.' }),
103
+ __param(0, (0, index_2.CurrentPrincipal)()),
104
+ __metadata("design:type", Function),
105
+ __metadata("design:paramtypes", [Object]),
106
+ __metadata("design:returntype", Object)
107
+ ], OrgWebhooksController.prototype, "events", null);
108
+ __decorate([
109
+ (0, common_1.Get)('deliveries/:deliveryId'),
110
+ (0, index_2.Auth)({ permissions: [READ] }),
111
+ (0, swagger_1.ApiOperation)({ summary: 'Get one webhook delivery', description: 'The payload that was sent and the request headers that are stable across attempts (the signature is never shown). 404 unless it belongs to one of the organization endpoints.' }),
112
+ (0, swagger_1.ApiParam)({ name: 'deliveryId', type: String, format: 'uuid' }),
113
+ (0, index_1.ApiDataResponse)(webhook_dto_1.WebhookDeliveryDetailDto, { description: 'The delivery.' }),
114
+ (0, swagger_1.ApiResponse)({ status: 404, description: 'Delivery not found' }),
115
+ __param(0, (0, index_2.CurrentPrincipal)()),
116
+ __param(1, (0, common_1.Param)('deliveryId', common_1.ParseUUIDPipe)),
117
+ __metadata("design:type", Function),
118
+ __metadata("design:paramtypes", [Object, String]),
119
+ __metadata("design:returntype", Promise)
120
+ ], OrgWebhooksController.prototype, "getDelivery", null);
121
+ __decorate([
122
+ (0, common_1.Post)('deliveries/:deliveryId/redeliver'),
123
+ (0, index_2.Auth)({ permissions: [WRITE] }),
124
+ (0, common_1.HttpCode)(common_1.HttpStatus.ACCEPTED),
125
+ (0, swagger_1.ApiOperation)({ summary: 'Redeliver a webhook delivery', description: 'Puts the same delivery back to `pending` with a fresh attempt count; the event id (`webhook-id`) is unchanged. 409 while the endpoint is disabled.' }),
126
+ (0, swagger_1.ApiParam)({ name: 'deliveryId', type: String, format: 'uuid' }),
127
+ (0, index_1.ApiDataResponse)(webhook_dto_1.WebhookDeliveryDetailDto, { status: 202, description: 'Queued.' }),
128
+ (0, swagger_1.ApiResponse)({ status: 404, description: 'Delivery not found' }),
129
+ (0, swagger_1.ApiResponse)({ status: 409, description: 'The endpoint is disabled' }),
130
+ __param(0, (0, index_2.CurrentPrincipal)()),
131
+ __param(1, (0, common_1.Param)('deliveryId', common_1.ParseUUIDPipe)),
132
+ __metadata("design:type", Function),
133
+ __metadata("design:paramtypes", [Object, String]),
134
+ __metadata("design:returntype", Promise)
135
+ ], OrgWebhooksController.prototype, "redeliver", null);
136
+ __decorate([
137
+ (0, common_1.Get)(),
138
+ (0, index_2.Auth)({ permissions: [READ] }),
139
+ (0, swagger_1.ApiOperation)({ summary: 'List the organization webhook endpoints', description: 'The organization endpoints, newest first. The signing secret is never part of a list.' }),
140
+ (0, index_1.ApiDataResponse)(webhook_dto_1.WebhookEndpointListDto, { description: 'The endpoints.' }),
141
+ __param(0, (0, index_2.CurrentPrincipal)()),
142
+ __metadata("design:type", Function),
143
+ __metadata("design:paramtypes", [Object]),
144
+ __metadata("design:returntype", Promise)
145
+ ], OrgWebhooksController.prototype, "list", null);
146
+ __decorate([
147
+ (0, common_1.Post)(),
148
+ (0, index_2.Auth)({ permissions: [WRITE] }),
149
+ (0, swagger_1.ApiOperation)({ summary: 'Create a webhook endpoint', description: 'Returns the endpoint and its signing secret ONCE (`whsec_...`); store it, it is never shown again. 422 `WEBHOOK_URL_FORBIDDEN` for a URL the server will not call (private address, non-https, userinfo, a low port), `WEBHOOK_EVENT_UNKNOWN`, `WEBHOOK_EVENT_NOT_PERMITTED` or `WEBHOOK_LIMIT_REACHED`.' }),
150
+ (0, swagger_1.ApiBody)({ type: webhook_dto_1.CreateWebhookEndpointDto }),
151
+ (0, index_1.ApiDataResponse)(webhook_dto_1.WebhookEndpointCreatedDto, { status: 201, description: 'Created.' }),
152
+ (0, swagger_1.ApiResponse)({ status: 422, description: 'A forbidden URL, an unknown or not-permitted event, or the endpoint limit' }),
153
+ __param(0, (0, index_2.CurrentPrincipal)()),
154
+ __param(1, (0, common_1.Body)()),
155
+ __metadata("design:type", Function),
156
+ __metadata("design:paramtypes", [Object, webhook_dto_1.CreateWebhookEndpointDto]),
157
+ __metadata("design:returntype", Promise)
158
+ ], OrgWebhooksController.prototype, "create", null);
159
+ __decorate([
160
+ (0, common_1.Get)(':id'),
161
+ (0, index_2.Auth)({ permissions: [READ] }),
162
+ (0, swagger_1.ApiOperation)({ summary: 'Get one webhook endpoint', description: '404 unless it is one of the organization endpoints.' }),
163
+ (0, swagger_1.ApiParam)({ name: 'id', type: String, format: 'uuid' }),
164
+ (0, index_1.ApiDataResponse)(webhook_dto_1.WebhookEndpointDto, { description: 'The endpoint.' }),
165
+ (0, swagger_1.ApiResponse)({ status: 404, description: 'Endpoint not found' }),
166
+ __param(0, (0, index_2.CurrentPrincipal)()),
167
+ __param(1, (0, common_1.Param)('id', common_1.ParseUUIDPipe)),
168
+ __metadata("design:type", Function),
169
+ __metadata("design:paramtypes", [Object, String]),
170
+ __metadata("design:returntype", Promise)
171
+ ], OrgWebhooksController.prototype, "get", null);
172
+ __decorate([
173
+ (0, common_1.Patch)(':id'),
174
+ (0, index_2.Auth)({ permissions: [WRITE] }),
175
+ (0, swagger_1.ApiOperation)({ summary: 'Change a webhook endpoint', description: 'Enabling a disabled endpoint resets its failure count.' }),
176
+ (0, swagger_1.ApiParam)({ name: 'id', type: String, format: 'uuid' }),
177
+ (0, swagger_1.ApiBody)({ type: webhook_dto_1.UpdateWebhookEndpointDto }),
178
+ (0, index_1.ApiDataResponse)(webhook_dto_1.WebhookEndpointDto, { description: 'The endpoint.' }),
179
+ (0, swagger_1.ApiResponse)({ status: 404, description: 'Endpoint not found' }),
180
+ (0, swagger_1.ApiResponse)({ status: 422, description: 'A forbidden URL or an unknown or not-permitted event' }),
181
+ __param(0, (0, index_2.CurrentPrincipal)()),
182
+ __param(1, (0, common_1.Param)('id', common_1.ParseUUIDPipe)),
183
+ __param(2, (0, common_1.Body)()),
184
+ __metadata("design:type", Function),
185
+ __metadata("design:paramtypes", [Object, String, webhook_dto_1.UpdateWebhookEndpointDto]),
186
+ __metadata("design:returntype", Promise)
187
+ ], OrgWebhooksController.prototype, "update", null);
188
+ __decorate([
189
+ (0, common_1.Delete)(':id'),
190
+ (0, index_2.Auth)({ permissions: [WRITE] }),
191
+ (0, common_1.HttpCode)(common_1.HttpStatus.NO_CONTENT),
192
+ (0, swagger_1.ApiOperation)({ summary: 'Delete a webhook endpoint', description: 'Also deletes its deliveries and its stored signing secrets.' }),
193
+ (0, swagger_1.ApiParam)({ name: 'id', type: String, format: 'uuid' }),
194
+ (0, swagger_1.ApiResponse)({ status: 204, description: 'Deleted.' }),
195
+ (0, swagger_1.ApiResponse)({ status: 404, description: 'Endpoint not found' }),
196
+ __param(0, (0, index_2.CurrentPrincipal)()),
197
+ __param(1, (0, common_1.Param)('id', common_1.ParseUUIDPipe)),
198
+ __metadata("design:type", Function),
199
+ __metadata("design:paramtypes", [Object, String]),
200
+ __metadata("design:returntype", Promise)
201
+ ], OrgWebhooksController.prototype, "remove", null);
202
+ __decorate([
203
+ (0, common_1.Post)(':id/rotate-secret'),
204
+ (0, index_2.Auth)({ permissions: [WRITE] }),
205
+ (0, common_1.HttpCode)(common_1.HttpStatus.OK),
206
+ (0, swagger_1.ApiOperation)({ summary: 'Rotate the signing secret', description: 'Returns the new secret ONCE. The previous secret keeps signing alongside it until `previousSecretValidUntil` (24 hours by default), so a delivery carries two signatures meanwhile.' }),
207
+ (0, swagger_1.ApiParam)({ name: 'id', type: String, format: 'uuid' }),
208
+ (0, index_1.ApiDataResponse)(webhook_dto_1.RotateWebhookSecretResponseDto, { description: 'The new secret.' }),
209
+ (0, swagger_1.ApiResponse)({ status: 404, description: 'Endpoint not found' }),
210
+ __param(0, (0, index_2.CurrentPrincipal)()),
211
+ __param(1, (0, common_1.Param)('id', common_1.ParseUUIDPipe)),
212
+ __metadata("design:type", Function),
213
+ __metadata("design:paramtypes", [Object, String]),
214
+ __metadata("design:returntype", Promise)
215
+ ], OrgWebhooksController.prototype, "rotate", null);
216
+ __decorate([
217
+ (0, common_1.Post)(':id/test'),
218
+ (0, index_2.Auth)({ permissions: [WRITE] }),
219
+ (0, common_1.HttpCode)(common_1.HttpStatus.ACCEPTED),
220
+ (0, swagger_1.ApiOperation)({ summary: 'Send a test ping', description: 'Queues a `webhooks.ping` delivery; follow it in the delivery list.' }),
221
+ (0, swagger_1.ApiParam)({ name: 'id', type: String, format: 'uuid' }),
222
+ (0, index_1.ApiDataResponse)(webhook_dto_1.WebhookTestResponseDto, { status: 202, description: 'Queued.' }),
223
+ (0, swagger_1.ApiResponse)({ status: 404, description: 'Endpoint not found' }),
224
+ __param(0, (0, index_2.CurrentPrincipal)()),
225
+ __param(1, (0, common_1.Param)('id', common_1.ParseUUIDPipe)),
226
+ __metadata("design:type", Function),
227
+ __metadata("design:paramtypes", [Object, String]),
228
+ __metadata("design:returntype", Promise)
229
+ ], OrgWebhooksController.prototype, "test", null);
230
+ __decorate([
231
+ (0, common_1.Get)(':id/deliveries'),
232
+ (0, index_2.Auth)({ permissions: [READ] }),
233
+ (0, swagger_1.ApiOperation)({ summary: "List an endpoint's deliveries", description: 'Newest first, filterable by `status` and `eventKey`.' }),
234
+ (0, swagger_1.ApiParam)({ name: 'id', type: String, format: 'uuid' }),
235
+ (0, index_1.ApiDataResponse)(webhook_dto_1.WebhookDeliveryListDto, { description: 'A page of deliveries.' }),
236
+ (0, swagger_1.ApiResponse)({ status: 404, description: 'Endpoint not found' }),
237
+ __param(0, (0, index_2.CurrentPrincipal)()),
238
+ __param(1, (0, common_1.Param)('id', common_1.ParseUUIDPipe)),
239
+ __param(2, (0, common_1.Query)()),
240
+ __metadata("design:type", Function),
241
+ __metadata("design:paramtypes", [Object, String, webhook_dto_1.WebhookDeliveryListQueryDto]),
242
+ __metadata("design:returntype", Promise)
243
+ ], OrgWebhooksController.prototype, "deliveries", null);
244
+ exports.OrgWebhooksController = OrgWebhooksController = __decorate([
245
+ (0, swagger_1.ApiTags)('Webhooks'),
246
+ (0, common_1.Controller)('org/webhooks'),
247
+ __metadata("design:paramtypes", [webhook_endpoints_service_1.WebhookEndpointsService])
248
+ ], OrgWebhooksController);
249
+ //# sourceMappingURL=org-webhooks.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"org-webhooks.controller.js","sourceRoot":"","sources":["../../../src/webhooks/http/org-webhooks.controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { WebhookScope } from '@marinoscar/platform-contract/webhooks';
2
+ import type { Principal } from '../../core/index';
3
+ import type { WebhookScopeContext } from '../webhook-endpoints.service';
4
+ /**
5
+ * The request's principal as the service's context. A worker node's credential
6
+ * manages no webhooks, and an organization-bound scope needs an active
7
+ * organization.
8
+ *
9
+ * @param principal - the request principal.
10
+ * @param scope - the scope of the controller.
11
+ * @returns the context.
12
+ * @throws ForbiddenException for a non-user principal or a missing active organization.
13
+ *
14
+ * @stability experimental
15
+ */
16
+ export declare function webhookScopeContext(principal: Principal | undefined, scope: WebhookScope): WebhookScopeContext;
17
+ //# sourceMappingURL=scope-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope-context.d.ts","sourceRoot":"","sources":["../../../src/webhooks/http/scope-context.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAE3E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAExE;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,EAAE,KAAK,EAAE,YAAY,GAAG,mBAAmB,CAK9G"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ // =============================================================================
3
+ // The caller, as a webhook scope context (issue #1046)
4
+ // =============================================================================
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.webhookScopeContext = webhookScopeContext;
7
+ const common_1 = require("@nestjs/common");
8
+ /**
9
+ * The request's principal as the service's context. A worker node's credential
10
+ * manages no webhooks, and an organization-bound scope needs an active
11
+ * organization.
12
+ *
13
+ * @param principal - the request principal.
14
+ * @param scope - the scope of the controller.
15
+ * @returns the context.
16
+ * @throws ForbiddenException for a non-user principal or a missing active organization.
17
+ *
18
+ * @stability experimental
19
+ */
20
+ function webhookScopeContext(principal, scope) {
21
+ if (!principal || principal.kind !== 'user')
22
+ throw new common_1.ForbiddenException('Webhooks are for signed-in users');
23
+ const orgId = principal.activeOrgId ?? null;
24
+ if (scope !== 'system' && !orgId)
25
+ throw new common_1.ForbiddenException('This credential has no active organization');
26
+ return { scope, userId: principal.userId, orgId: scope === 'system' ? null : orgId, permissions: principal.permissions };
27
+ }
28
+ //# sourceMappingURL=scope-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope-context.js","sourceRoot":"","sources":["../../../src/webhooks/http/scope-context.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,uDAAuD;AACvD,gFAAgF;;AAoBhF,kDAKC;AAvBD,2CAAoD;AAMpD;;;;;;;;;;;GAWG;AACH,SAAgB,mBAAmB,CAAC,SAAgC,EAAE,KAAmB;IACvF,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM;QAAE,MAAM,IAAI,2BAAkB,CAAC,kCAAkC,CAAC,CAAC;IAC9G,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,IAAI,IAAI,CAAC;IAC5C,IAAI,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,2BAAkB,CAAC,4CAA4C,CAAC,CAAC;IAC7G,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC;AAC3H,CAAC"}