@camunda/ccma-api 0.0.1

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 (199) hide show
  1. package/dist/index.d.ts +97 -0
  2. package/dist/index.js +153 -0
  3. package/dist/index.js.map +7 -0
  4. package/dist/services/accounts/accounts.data-export.service.d.ts +13 -0
  5. package/dist/services/accounts/accounts.data-export.service.js +41 -0
  6. package/dist/services/accounts/accounts.data-export.service.js.map +7 -0
  7. package/dist/services/accounts/accounts.valuemetrics.service.d.ts +8 -0
  8. package/dist/services/accounts/accounts.valuemetrics.service.js +1 -0
  9. package/dist/services/accounts/accounts.valuemetrics.service.js.map +7 -0
  10. package/dist/services/accounts/bot.service.d.ts +21 -0
  11. package/dist/services/accounts/bot.service.js +74 -0
  12. package/dist/services/accounts/bot.service.js.map +7 -0
  13. package/dist/services/accounts/challenge.service.d.ts +296 -0
  14. package/dist/services/accounts/challenge.service.js +475 -0
  15. package/dist/services/accounts/challenge.service.js.map +7 -0
  16. package/dist/services/accounts/connections.service.d.ts +27 -0
  17. package/dist/services/accounts/connections.service.js +41 -0
  18. package/dist/services/accounts/connections.service.js.map +7 -0
  19. package/dist/services/accounts/dashboards.service.d.ts +8 -0
  20. package/dist/services/accounts/dashboards.service.js +42 -0
  21. package/dist/services/accounts/dashboards.service.js.map +7 -0
  22. package/dist/services/accounts/early-access-features.service.d.ts +34 -0
  23. package/dist/services/accounts/early-access-features.service.js +67 -0
  24. package/dist/services/accounts/early-access-features.service.js.map +7 -0
  25. package/dist/services/accounts/genericCache.service.d.ts +13 -0
  26. package/dist/services/accounts/genericCache.service.js +80 -0
  27. package/dist/services/accounts/genericCache.service.js.map +7 -0
  28. package/dist/services/accounts/hdp.service.d.ts +52 -0
  29. package/dist/services/accounts/hdp.service.js +180 -0
  30. package/dist/services/accounts/hdp.service.js.map +7 -0
  31. package/dist/services/accounts/offboarding.service.d.ts +18 -0
  32. package/dist/services/accounts/offboarding.service.js +48 -0
  33. package/dist/services/accounts/offboarding.service.js.map +7 -0
  34. package/dist/services/accounts/organization-members.service.d.ts +68 -0
  35. package/dist/services/accounts/organization-members.service.js +216 -0
  36. package/dist/services/accounts/organization-members.service.js.map +7 -0
  37. package/dist/services/accounts/orgs.service.d.ts +273 -0
  38. package/dist/services/accounts/orgs.service.js +978 -0
  39. package/dist/services/accounts/orgs.service.js.map +7 -0
  40. package/dist/services/accounts/salesplan.service.d.ts +7 -0
  41. package/dist/services/accounts/salesplan.service.js +40 -0
  42. package/dist/services/accounts/salesplan.service.js.map +7 -0
  43. package/dist/services/accounts/spam-detection.service.d.ts +8 -0
  44. package/dist/services/accounts/spam-detection.service.js +72 -0
  45. package/dist/services/accounts/spam-detection.service.js.map +7 -0
  46. package/dist/services/accounts/stats.service.d.ts +7 -0
  47. package/dist/services/accounts/stats.service.js +40 -0
  48. package/dist/services/accounts/stats.service.js.map +7 -0
  49. package/dist/services/accounts/teams.service.d.ts +85 -0
  50. package/dist/services/accounts/teams.service.js +516 -0
  51. package/dist/services/accounts/teams.service.js.map +7 -0
  52. package/dist/services/accounts/usage-alerts.service.d.ts +34 -0
  53. package/dist/services/accounts/usage-alerts.service.js +112 -0
  54. package/dist/services/accounts/usage-alerts.service.js.map +7 -0
  55. package/dist/services/accounts/users.service.d.ts +101 -0
  56. package/dist/services/accounts/users.service.js +444 -0
  57. package/dist/services/accounts/users.service.js.map +7 -0
  58. package/dist/services/alerts/alerts.service.d.ts +59 -0
  59. package/dist/services/alerts/alerts.service.js +234 -0
  60. package/dist/services/alerts/alerts.service.js.map +7 -0
  61. package/dist/services/analytic-bridge/analytic-bridge.service.d.ts +23 -0
  62. package/dist/services/analytic-bridge/analytic-bridge.service.js +86 -0
  63. package/dist/services/analytic-bridge/analytic-bridge.service.js.map +7 -0
  64. package/dist/services/audit-logger/audit-logger.service.d.ts +27 -0
  65. package/dist/services/audit-logger/audit-logger.service.js +108 -0
  66. package/dist/services/audit-logger/audit-logger.service.js.map +7 -0
  67. package/dist/services/auth0/auth0.service.d.ts +15 -0
  68. package/dist/services/auth0/auth0.service.js +40 -0
  69. package/dist/services/auth0/auth0.service.js.map +7 -0
  70. package/dist/services/comm-bridge/comm-bridge.service.d.ts +33 -0
  71. package/dist/services/comm-bridge/comm-bridge.service.js +40 -0
  72. package/dist/services/comm-bridge/comm-bridge.service.js.map +7 -0
  73. package/dist/services/console/console.admin.service.d.ts +328 -0
  74. package/dist/services/console/console.admin.service.js +1526 -0
  75. package/dist/services/console/console.admin.service.js.map +7 -0
  76. package/dist/services/console/console.alerts.service.d.ts +69 -0
  77. package/dist/services/console/console.alerts.service.js +160 -0
  78. package/dist/services/console/console.alerts.service.js.map +7 -0
  79. package/dist/services/console/console.api-clients.service.d.ts +48 -0
  80. package/dist/services/console/console.api-clients.service.js +123 -0
  81. package/dist/services/console/console.api-clients.service.js.map +7 -0
  82. package/dist/services/console/console.backup-schedule.service.d.ts +21 -0
  83. package/dist/services/console/console.backup-schedule.service.js +67 -0
  84. package/dist/services/console/console.backup-schedule.service.js.map +7 -0
  85. package/dist/services/console/console.byok-scripts.service.d.ts +12 -0
  86. package/dist/services/console/console.byok-scripts.service.js +92 -0
  87. package/dist/services/console/console.byok-scripts.service.js.map +7 -0
  88. package/dist/services/console/console.byom-monitoring.service.d.ts +58 -0
  89. package/dist/services/console/console.byom-monitoring.service.js +177 -0
  90. package/dist/services/console/console.byom-monitoring.service.js.map +7 -0
  91. package/dist/services/console/console.cluster-clients.service.d.ts +55 -0
  92. package/dist/services/console/console.cluster-clients.service.js +123 -0
  93. package/dist/services/console/console.cluster-clients.service.js.map +7 -0
  94. package/dist/services/console/console.cluster-parameters.service.d.ts +64 -0
  95. package/dist/services/console/console.cluster-parameters.service.js +39 -0
  96. package/dist/services/console/console.cluster-parameters.service.js.map +7 -0
  97. package/dist/services/console/console.cluster.service.d.ts +114 -0
  98. package/dist/services/console/console.cluster.service.js +271 -0
  99. package/dist/services/console/console.cluster.service.js.map +7 -0
  100. package/dist/services/console/console.clusterBulkOperation.service.d.ts +20 -0
  101. package/dist/services/console/console.clusterBulkOperation.service.js +199 -0
  102. package/dist/services/console/console.clusterBulkOperation.service.js.map +7 -0
  103. package/dist/services/console/console.clusterplan.modification.service.d.ts +33 -0
  104. package/dist/services/console/console.clusterplan.modification.service.js +231 -0
  105. package/dist/services/console/console.clusterplan.modification.service.js.map +7 -0
  106. package/dist/services/console/console.clusterplan.service.d.ts +21 -0
  107. package/dist/services/console/console.clusterplan.service.js +64 -0
  108. package/dist/services/console/console.clusterplan.service.js.map +7 -0
  109. package/dist/services/console/console.connector-secrets.service.d.ts +30 -0
  110. package/dist/services/console/console.connector-secrets.service.js +125 -0
  111. package/dist/services/console/console.connector-secrets.service.js.map +7 -0
  112. package/dist/services/console/console.custommetrics.service.d.ts +10 -0
  113. package/dist/services/console/console.custommetrics.service.js +43 -0
  114. package/dist/services/console/console.custommetrics.service.js.map +7 -0
  115. package/dist/services/console/console.hotbackups.service.d.ts +34 -0
  116. package/dist/services/console/console.hotbackups.service.js +120 -0
  117. package/dist/services/console/console.hotbackups.service.js.map +7 -0
  118. package/dist/services/console/console.ip-whitelist.service.d.ts +15 -0
  119. package/dist/services/console/console.ip-whitelist.service.js +36 -0
  120. package/dist/services/console/console.ip-whitelist.service.js.map +7 -0
  121. package/dist/services/console/console.jobs.saas.service.d.ts +70 -0
  122. package/dist/services/console/console.jobs.saas.service.js +139 -0
  123. package/dist/services/console/console.jobs.saas.service.js.map +7 -0
  124. package/dist/services/console/console.jobs.sm.service.d.ts +57 -0
  125. package/dist/services/console/console.jobs.sm.service.js +208 -0
  126. package/dist/services/console/console.jobs.sm.service.js.map +7 -0
  127. package/dist/services/console/console.m2m.service.d.ts +23 -0
  128. package/dist/services/console/console.m2m.service.js +94 -0
  129. package/dist/services/console/console.m2m.service.js.map +7 -0
  130. package/dist/services/console/console.secure-connectivity.service.d.ts +41 -0
  131. package/dist/services/console/console.secure-connectivity.service.js +129 -0
  132. package/dist/services/console/console.secure-connectivity.service.js.map +7 -0
  133. package/dist/services/console/console.valuemetrics.service.d.ts +17 -0
  134. package/dist/services/console/console.valuemetrics.service.js +110 -0
  135. package/dist/services/console/console.valuemetrics.service.js.map +7 -0
  136. package/dist/services/console/generation.service.d.ts +21 -0
  137. package/dist/services/console/generation.service.js +106 -0
  138. package/dist/services/console/generation.service.js.map +7 -0
  139. package/dist/services/github/github.service.d.ts +73 -0
  140. package/dist/services/github/github.service.js +272 -0
  141. package/dist/services/github/github.service.js.map +7 -0
  142. package/dist/services/hibob/hibob.service.d.ts +74 -0
  143. package/dist/services/hibob/hibob.service.js +125 -0
  144. package/dist/services/hibob/hibob.service.js.map +7 -0
  145. package/dist/services/hubspot/hubspot.service.d.ts +50 -0
  146. package/dist/services/hubspot/hubspot.service.js +119 -0
  147. package/dist/services/hubspot/hubspot.service.js.map +7 -0
  148. package/dist/services/litellm/litellm.service.d.ts +290 -0
  149. package/dist/services/litellm/litellm.service.js +392 -0
  150. package/dist/services/litellm/litellm.service.js.map +7 -0
  151. package/dist/services/login/login.service.d.ts +15 -0
  152. package/dist/services/login/login.service.js +66 -0
  153. package/dist/services/login/login.service.js.map +7 -0
  154. package/dist/services/mixpanel/mixpanel.service.d.ts +16 -0
  155. package/dist/services/mixpanel/mixpanel.service.js +86 -0
  156. package/dist/services/mixpanel/mixpanel.service.js.map +7 -0
  157. package/dist/services/notifications/notifications.service.d.ts +7 -0
  158. package/dist/services/notifications/notifications.service.js +38 -0
  159. package/dist/services/notifications/notifications.service.js.map +7 -0
  160. package/dist/services/slack/slack-blockkit.service.d.ts +28 -0
  161. package/dist/services/slack/slack-blockkit.service.js +45 -0
  162. package/dist/services/slack/slack-blockkit.service.js.map +7 -0
  163. package/dist/services/slack/slack.service.d.ts +31 -0
  164. package/dist/services/slack/slack.service.js +118 -0
  165. package/dist/services/slack/slack.service.js.map +7 -0
  166. package/dist/services/telemetry/telemetry.service.d.ts +16 -0
  167. package/dist/services/telemetry/telemetry.service.js +85 -0
  168. package/dist/services/telemetry/telemetry.service.js.map +7 -0
  169. package/dist/services/token-issuer/token-issuer.jwks.service.d.ts +13 -0
  170. package/dist/services/token-issuer/token-issuer.jwks.service.js +76 -0
  171. package/dist/services/token-issuer/token-issuer.jwks.service.js.map +7 -0
  172. package/dist/services/wordpress/wordpress.service.d.ts +15 -0
  173. package/dist/services/wordpress/wordpress.service.js +111 -0
  174. package/dist/services/wordpress/wordpress.service.js.map +7 -0
  175. package/dist/types/general.types.d.ts +61 -0
  176. package/dist/types/general.types.js +1 -0
  177. package/dist/types/general.types.js.map +7 -0
  178. package/dist/utils/api.d.ts +31 -0
  179. package/dist/utils/api.js +400 -0
  180. package/dist/utils/api.js.map +7 -0
  181. package/dist/utils/cache.d.ts +7 -0
  182. package/dist/utils/cache.js +25 -0
  183. package/dist/utils/cache.js.map +7 -0
  184. package/dist/utils/ccma-metrics.d.ts +18 -0
  185. package/dist/utils/ccma-metrics.js +37 -0
  186. package/dist/utils/ccma-metrics.js.map +7 -0
  187. package/dist/utils/environments.d.ts +11 -0
  188. package/dist/utils/environments.js +148 -0
  189. package/dist/utils/environments.js.map +7 -0
  190. package/dist/utils/errors.d.ts +5 -0
  191. package/dist/utils/errors.js +11 -0
  192. package/dist/utils/errors.js.map +7 -0
  193. package/dist/utils/frontendCache.d.ts +26 -0
  194. package/dist/utils/frontendCache.js +121 -0
  195. package/dist/utils/frontendCache.js.map +7 -0
  196. package/dist/utils/token-issuer.utils.d.ts +8 -0
  197. package/dist/utils/token-issuer.utils.js +19 -0
  198. package/dist/utils/token-issuer.utils.js.map +7 -0
  199. package/package.json +57 -0
@@ -0,0 +1,85 @@
1
+ import { request } from "../../utils/api.js";
2
+ import { HttpError } from "../../utils/errors.js";
3
+ const TOKEN = {
4
+ dev: "7*c8zQH.G*FYrEFbmQBZRwPnc-rekY",
5
+ devAws: "7*c8zQH.G*FYrEFbmQBZRwPnc-rekY",
6
+ int: "zmq*nfb5qgn.EWP_zcn",
7
+ prod: "UYN@bjg5utu5peg!kmb*ad+VwL",
8
+ local: "unset",
9
+ localaccounts: "unset",
10
+ localconsole: "unset"
11
+ };
12
+ class TelemetryService {
13
+ static async post(params) {
14
+ const serviceContext = {
15
+ method: {
16
+ name: `TelemetryService.post`,
17
+ url: `data`,
18
+ normalizedUrl: `data`,
19
+ type: "post"
20
+ },
21
+ source: params.config.metrics?.source || "unset",
22
+ target: {
23
+ name: "telemetry",
24
+ type: "internal"
25
+ }
26
+ };
27
+ const response = await request({
28
+ config: params.config,
29
+ base: { id: "telemetry" },
30
+ url: serviceContext.method.url,
31
+ method: serviceContext.method.type,
32
+ metricsDetails: serviceContext,
33
+ body: { data: params.params.data },
34
+ headers: {
35
+ authorization: TOKEN[params.config.stage]
36
+ }
37
+ });
38
+ if (!response.ok) {
39
+ throw new HttpError(
40
+ `${serviceContext.method.name}: ${response.status} ${response.statusText}`,
41
+ response.status,
42
+ response.statusText
43
+ );
44
+ }
45
+ return response.body;
46
+ }
47
+ static async ping(params) {
48
+ const serviceContext = {
49
+ method: {
50
+ name: `TelemetryService.ping`,
51
+ url: `data/ping`,
52
+ normalizedUrl: `data/ping`,
53
+ type: "post"
54
+ },
55
+ source: params.config.metrics?.source || "unset",
56
+ target: {
57
+ name: "telemetry",
58
+ type: "internal"
59
+ }
60
+ };
61
+ const response = await request({
62
+ config: params.config,
63
+ base: { id: "telemetry" },
64
+ url: serviceContext.method.url,
65
+ method: serviceContext.method.type,
66
+ metricsDetails: serviceContext,
67
+ body: params.params.data,
68
+ headers: {
69
+ authorization: TOKEN[params.config.stage]
70
+ }
71
+ });
72
+ if (!response.ok) {
73
+ throw new HttpError(
74
+ `${serviceContext.method.name}: ${response.status} ${response.statusText}`,
75
+ response.status,
76
+ response.statusText
77
+ );
78
+ }
79
+ return response.body;
80
+ }
81
+ }
82
+ export {
83
+ TelemetryService
84
+ };
85
+ //# sourceMappingURL=telemetry.service.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/services/telemetry/telemetry.service.ts"],
4
+ "sourcesContent": ["/*\n * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH\n * under one or more contributor license agreements. Licensed under a commercial license.\n * You may not use this file except in compliance with the commercial license.\n */\n\nimport type { Telemetry } from '@camunda/ccma-shared-types'\nimport type {\n RequestBaseParams,\n RequestBaseServiceContext,\n Stage,\n} from '../../types/general.types.js'\nimport { request } from '../../utils/api.js'\nimport { HttpError } from '../../utils/errors.js'\n\nexport interface TelemetryPostRequest extends RequestBaseParams {\n params: {\n data: Telemetry.EncodedData\n }\n}\n\nexport interface TelemetryPingRequest extends RequestBaseParams {\n params: {\n data: Telemetry.PingRequest\n }\n}\n\n// key will be hard coded, to make it easier for our customers\n// see https://github.com/camunda/camunda-cloud-management-apps/issues/2309\nconst TOKEN: Record<Stage, string> = {\n dev: '7*c8zQH.G*FYrEFbmQBZRwPnc-rekY',\n devAws: '7*c8zQH.G*FYrEFbmQBZRwPnc-rekY',\n int: 'zmq*nfb5qgn.EWP_zcn',\n prod: 'UYN@bjg5utu5peg!kmb*ad+VwL',\n local: 'unset',\n localaccounts: 'unset',\n localconsole: 'unset',\n}\n\nexport class TelemetryService {\n public static async post(\n params: TelemetryPostRequest,\n ): Promise<Telemetry.PostResponse> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `TelemetryService.post`,\n url: `data`,\n normalizedUrl: `data`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'telemetry',\n type: 'internal',\n },\n }\n const response = await request<Telemetry.PostResponse>({\n config: params.config,\n base: { id: 'telemetry' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: { data: params.params.data },\n headers: {\n authorization: TOKEN[params.config.stage],\n },\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async ping(\n params: TelemetryPingRequest,\n ): Promise<Telemetry.PostResponse> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `TelemetryService.ping`,\n url: `data/ping`,\n normalizedUrl: `data/ping`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'telemetry',\n type: 'internal',\n },\n }\n const response = await request<Telemetry.PostResponse>({\n config: params.config,\n base: { id: 'telemetry' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: params.params.data,\n headers: {\n authorization: TOKEN[params.config.stage],\n },\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n}\n"],
5
+ "mappings": "AAYA,SAAS,eAAe;AACxB,SAAS,iBAAiB;AAgB1B,MAAM,QAA+B;AAAA,EACnC,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,MAAM;AAAA,EACN,OAAO;AAAA,EACP,eAAe;AAAA,EACf,cAAc;AAChB;AAEO,MAAM,iBAAiB;AAAA,EAC5B,aAAoB,KAClB,QACiC;AACjC,UAAM,iBAA4C;AAAA,MAChD,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,KAAK;AAAA,QACL,eAAe;AAAA,QACf,MAAM;AAAA,MACR;AAAA,MACA,QAAQ,OAAO,OAAO,SAAS,UAAU;AAAA,MACzC,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,MAAM;AAAA,MACR;AAAA,IACF;AACA,UAAM,WAAW,MAAM,QAAgC;AAAA,MACrD,QAAQ,OAAO;AAAA,MACf,MAAM,EAAE,IAAI,YAAY;AAAA,MACxB,KAAK,eAAe,OAAO;AAAA,MAC3B,QAAQ,eAAe,OAAO;AAAA,MAC9B,gBAAgB;AAAA,MAChB,MAAM,EAAE,MAAM,OAAO,OAAO,KAAK;AAAA,MACjC,SAAS;AAAA,QACP,eAAe,MAAM,OAAO,OAAO,KAAK;AAAA,MAC1C;AAAA,IACF,CAAC;AACD,QAAI,CAAC,SAAS,IAAI;AAChB,YAAM,IAAI;AAAA,QACR,GAAG,eAAe,OAAO,IAAI,KAAK,SAAS,MAAM,IAAI,SAAS,UAAU;AAAA,QACxE,SAAS;AAAA,QACT,SAAS;AAAA,MACX;AAAA,IACF;AACA,WAAO,SAAS;AAAA,EAClB;AAAA,EAEA,aAAoB,KAClB,QACiC;AACjC,UAAM,iBAA4C;AAAA,MAChD,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,KAAK;AAAA,QACL,eAAe;AAAA,QACf,MAAM;AAAA,MACR;AAAA,MACA,QAAQ,OAAO,OAAO,SAAS,UAAU;AAAA,MACzC,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,MAAM;AAAA,MACR;AAAA,IACF;AACA,UAAM,WAAW,MAAM,QAAgC;AAAA,MACrD,QAAQ,OAAO;AAAA,MACf,MAAM,EAAE,IAAI,YAAY;AAAA,MACxB,KAAK,eAAe,OAAO;AAAA,MAC3B,QAAQ,eAAe,OAAO;AAAA,MAC9B,gBAAgB;AAAA,MAChB,MAAM,OAAO,OAAO;AAAA,MACpB,SAAS;AAAA,QACP,eAAe,MAAM,OAAO,OAAO,KAAK;AAAA,MAC1C;AAAA,IACF,CAAC;AACD,QAAI,CAAC,SAAS,IAAI;AAChB,YAAM,IAAI;AAAA,QACR,GAAG,eAAe,OAAO,IAAI,KAAK,SAAS,MAAM,IAAI,SAAS,UAAU;AAAA,QACxE,SAAS;AAAA,QACT,SAAS;AAAA,MACX;AAAA,IACF;AACA,WAAO,SAAS;AAAA,EAClB;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,13 @@
1
+ import type { RequestBaseParams } from '../../types/general.types.js';
2
+ export interface JwksRequest extends RequestBaseParams {
3
+ params: {
4
+ uri: string;
5
+ };
6
+ }
7
+ export interface JwksResponse {
8
+ keys: any;
9
+ }
10
+ export declare class TokenIssuerJwksService {
11
+ static get(params: JwksRequest): Promise<JwksResponse>;
12
+ private static isValidKeysObject;
13
+ }
@@ -0,0 +1,76 @@
1
+ import { MINUTE } from "@camunda/ccma-shared-types";
2
+ import { log, request } from "../../utils/api.js";
3
+ import { Cache } from "../../utils/cache.js";
4
+ import { HttpError } from "../../utils/errors.js";
5
+ const CACHE_KEY = "jwks";
6
+ const keysCache = new Cache(60 * MINUTE);
7
+ class TokenIssuerJwksService {
8
+ static async get(params) {
9
+ const serviceContext = {
10
+ method: {
11
+ name: `TokenIssuerJwksService.get`,
12
+ url: params.params.uri,
13
+ normalizedUrl: params.params.uri,
14
+ type: "get"
15
+ },
16
+ source: params.config.metrics?.source || "unset",
17
+ target: {
18
+ name: "token-issuer",
19
+ type: "internal"
20
+ }
21
+ };
22
+ const requestConfig = {
23
+ config: params.config,
24
+ url: serviceContext.method.url,
25
+ method: serviceContext.method.type,
26
+ metricsDetails: serviceContext
27
+ };
28
+ const response = await request(requestConfig);
29
+ if (!response.ok) {
30
+ const fromCache = keysCache.get(CACHE_KEY);
31
+ if (fromCache && TokenIssuerJwksService.isValidKeysObject(fromCache)) {
32
+ return fromCache;
33
+ }
34
+ throw new HttpError(
35
+ `${serviceContext.method.name}: ${response.status} ${response.statusText}`,
36
+ response.status,
37
+ response.statusText
38
+ );
39
+ }
40
+ if (TokenIssuerJwksService.isValidKeysObject(response.body)) {
41
+ log(requestConfig, "debug", "jwks response valid, adding cache entry", {
42
+ response
43
+ });
44
+ keysCache.set(CACHE_KEY, response.body);
45
+ if (requestConfig.config.stage === "dev") {
46
+ const fromCache = keysCache.get(CACHE_KEY);
47
+ log(requestConfig, "debug", "jwks value in cache", {
48
+ response,
49
+ fromCache
50
+ });
51
+ }
52
+ } else {
53
+ log(requestConfig, "debug", "jwks response invalid", { response });
54
+ const fromCache = keysCache.get(CACHE_KEY);
55
+ log(requestConfig, "debug", "checking cached entry", {
56
+ response,
57
+ fromCache
58
+ });
59
+ if (fromCache && TokenIssuerJwksService.isValidKeysObject(fromCache)) {
60
+ log(requestConfig, "debug", "using jwks from local cache", {
61
+ response,
62
+ fromCache
63
+ });
64
+ return fromCache;
65
+ }
66
+ }
67
+ return response.body;
68
+ }
69
+ static isValidKeysObject(response) {
70
+ return response?.keys && response?.keys.length > 0;
71
+ }
72
+ }
73
+ export {
74
+ TokenIssuerJwksService
75
+ };
76
+ //# sourceMappingURL=token-issuer.jwks.service.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/services/token-issuer/token-issuer.jwks.service.ts"],
4
+ "sourcesContent": ["/*\n * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH\n * under one or more contributor license agreements. Licensed under a commercial license.\n * You may not use this file except in compliance with the commercial license.\n */\n\nimport { MINUTE } from '@camunda/ccma-shared-types'\nimport type {\n RequestBaseParams,\n RequestBaseServiceContext,\n} from '../../types/general.types.js'\nimport { log, request } from '../../utils/api.js'\nimport { Cache } from '../../utils/cache.js'\nimport { HttpError } from '../../utils/errors.js'\n\nconst CACHE_KEY = 'jwks'\nconst keysCache = new Cache<string, JwksResponse>(60 * MINUTE)\n\nexport interface JwksRequest extends RequestBaseParams {\n params: {\n uri: string\n }\n}\n\nexport interface JwksResponse {\n keys: any\n}\n\nexport class TokenIssuerJwksService {\n public static async get(params: JwksRequest): Promise<JwksResponse> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `TokenIssuerJwksService.get`,\n url: params.params.uri,\n normalizedUrl: params.params.uri,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'token-issuer',\n type: 'internal',\n },\n }\n const requestConfig = {\n config: params.config,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n }\n const response = await request<JwksResponse>(requestConfig)\n if (!response.ok) {\n const fromCache = keysCache.get(CACHE_KEY)\n if (fromCache && TokenIssuerJwksService.isValidKeysObject(fromCache)) {\n return fromCache\n }\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n\n if (TokenIssuerJwksService.isValidKeysObject(response.body)) {\n // valid response\n log(requestConfig, 'debug', 'jwks response valid, adding cache entry', {\n response,\n })\n keysCache.set(CACHE_KEY, response.body!)\n if (requestConfig.config.stage === 'dev') {\n const fromCache = keysCache.get(CACHE_KEY)\n log(requestConfig, 'debug', 'jwks value in cache', {\n response,\n fromCache,\n })\n }\n } else {\n log(requestConfig, 'debug', 'jwks response invalid', { response })\n // invalid response\n const fromCache = keysCache.get(CACHE_KEY)\n log(requestConfig, 'debug', 'checking cached entry', {\n response,\n fromCache,\n })\n if (fromCache && TokenIssuerJwksService.isValidKeysObject(fromCache)) {\n log(requestConfig, 'debug', 'using jwks from local cache', {\n response,\n fromCache,\n })\n return fromCache\n }\n }\n return response.body!\n }\n\n private static isValidKeysObject(response: any): boolean {\n return response?.keys && response?.keys.length > 0\n }\n}\n"],
5
+ "mappings": "AAMA,SAAS,cAAc;AAKvB,SAAS,KAAK,eAAe;AAC7B,SAAS,aAAa;AACtB,SAAS,iBAAiB;AAE1B,MAAM,YAAY;AAClB,MAAM,YAAY,IAAI,MAA4B,KAAK,MAAM;AAYtD,MAAM,uBAAuB;AAAA,EAClC,aAAoB,IAAI,QAA4C;AAClE,UAAM,iBAA4C;AAAA,MAChD,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,KAAK,OAAO,OAAO;AAAA,QACnB,eAAe,OAAO,OAAO;AAAA,QAC7B,MAAM;AAAA,MACR;AAAA,MACA,QAAQ,OAAO,OAAO,SAAS,UAAU;AAAA,MACzC,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,MAAM;AAAA,MACR;AAAA,IACF;AACA,UAAM,gBAAgB;AAAA,MACpB,QAAQ,OAAO;AAAA,MACf,KAAK,eAAe,OAAO;AAAA,MAC3B,QAAQ,eAAe,OAAO;AAAA,MAC9B,gBAAgB;AAAA,IAClB;AACA,UAAM,WAAW,MAAM,QAAsB,aAAa;AAC1D,QAAI,CAAC,SAAS,IAAI;AAChB,YAAM,YAAY,UAAU,IAAI,SAAS;AACzC,UAAI,aAAa,uBAAuB,kBAAkB,SAAS,GAAG;AACpE,eAAO;AAAA,MACT;AACA,YAAM,IAAI;AAAA,QACR,GAAG,eAAe,OAAO,IAAI,KAAK,SAAS,MAAM,IAAI,SAAS,UAAU;AAAA,QACxE,SAAS;AAAA,QACT,SAAS;AAAA,MACX;AAAA,IACF;AAEA,QAAI,uBAAuB,kBAAkB,SAAS,IAAI,GAAG;AAE3D,UAAI,eAAe,SAAS,2CAA2C;AAAA,QACrE;AAAA,MACF,CAAC;AACD,gBAAU,IAAI,WAAW,SAAS,IAAK;AACvC,UAAI,cAAc,OAAO,UAAU,OAAO;AACxC,cAAM,YAAY,UAAU,IAAI,SAAS;AACzC,YAAI,eAAe,SAAS,uBAAuB;AAAA,UACjD;AAAA,UACA;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF,OAAO;AACL,UAAI,eAAe,SAAS,yBAAyB,EAAE,SAAS,CAAC;AAEjE,YAAM,YAAY,UAAU,IAAI,SAAS;AACzC,UAAI,eAAe,SAAS,yBAAyB;AAAA,QACnD;AAAA,QACA;AAAA,MACF,CAAC;AACD,UAAI,aAAa,uBAAuB,kBAAkB,SAAS,GAAG;AACpE,YAAI,eAAe,SAAS,+BAA+B;AAAA,UACzD;AAAA,UACA;AAAA,QACF,CAAC;AACD,eAAO;AAAA,MACT;AAAA,IACF;AACA,WAAO,SAAS;AAAA,EAClB;AAAA,EAEA,OAAe,kBAAkB,UAAwB;AACvD,WAAO,UAAU,QAAQ,UAAU,KAAK,SAAS;AAAA,EACnD;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,15 @@
1
+ import type { RequestBaseParams } from '../../types/general.types.js';
2
+ export interface WordpressGetCardsRequest extends RequestBaseParams {
3
+ options: {
4
+ cardIds: string[];
5
+ };
6
+ }
7
+ export interface WordpressGetHelpCenterConfigRequest extends RequestBaseParams {
8
+ }
9
+ export interface WordpressGetSurveyConfigRequest extends RequestBaseParams {
10
+ }
11
+ export declare class WordpressService {
12
+ static getCards(params: WordpressGetCardsRequest): Promise<any[]>;
13
+ static getHelpCenterConfig(params: WordpressGetHelpCenterConfigRequest): Promise<any>;
14
+ static getSurveyConfig(params: WordpressGetSurveyConfigRequest): Promise<any>;
15
+ }
@@ -0,0 +1,111 @@
1
+ import { request } from "../../utils/api.js";
2
+ import { HttpError } from "../../utils/errors.js";
3
+ class WordpressService {
4
+ static async getCards(params) {
5
+ const serviceContext = {
6
+ method: {
7
+ name: `WordpressService.getCards`,
8
+ url: `wp-json/camundahelp/v1/cards?card_id=${params.options.cardIds.join(
9
+ ","
10
+ )}`,
11
+ normalizedUrl: `wp-json/camundahelp/v1/cards?card_id=:card_id`,
12
+ type: "get"
13
+ },
14
+ source: params.config.metrics?.source || "unset",
15
+ target: {
16
+ name: "wordpress",
17
+ type: "external"
18
+ }
19
+ };
20
+ const response = await request({
21
+ ...params,
22
+ base: {
23
+ id: "wordpress-helpcenter"
24
+ },
25
+ url: serviceContext.method.url,
26
+ method: serviceContext.method.type,
27
+ metricsDetails: serviceContext,
28
+ type: "json"
29
+ });
30
+ if (!response.ok) {
31
+ throw new HttpError(
32
+ `${serviceContext.method.name}: ${response.status} ${response.statusText}`,
33
+ response.status,
34
+ response.statusText
35
+ );
36
+ }
37
+ return response.body;
38
+ }
39
+ static async getHelpCenterConfig(params) {
40
+ const serviceContext = {
41
+ method: {
42
+ name: `WordpressService.getHelpCenterConfig`,
43
+ url: `wp-json/camundahelp/v1/helpcenter?env=${params.config.stage}`,
44
+ normalizedUrl: `wp-json/camundahelp/v1/helpcenter?env=:env`,
45
+ type: "get"
46
+ },
47
+ source: params.config.metrics?.source || "unset",
48
+ target: {
49
+ name: "wordpress",
50
+ type: "external"
51
+ }
52
+ };
53
+ params.config.stage = params.config.stage.replace("-test", "");
54
+ const response = await request({
55
+ ...params,
56
+ base: {
57
+ id: "wordpress-helpcenter"
58
+ },
59
+ url: serviceContext.method.url,
60
+ method: serviceContext.method.type,
61
+ metricsDetails: serviceContext,
62
+ type: "json"
63
+ });
64
+ if (!response.ok) {
65
+ throw new HttpError(
66
+ `${serviceContext.method.name}: ${response.status} ${response.statusText}`,
67
+ response.status,
68
+ response.statusText
69
+ );
70
+ }
71
+ return response.body;
72
+ }
73
+ static async getSurveyConfig(params) {
74
+ const serviceContext = {
75
+ method: {
76
+ name: `WordpressService.getSurveyConfig`,
77
+ url: `wp-json/camundahelp/v1/onboardingsurvey?env=${params.config.stage}`,
78
+ normalizedUrl: `wp-json/camundahelp/v1/onboardingsurvey?env=:env`,
79
+ type: "get"
80
+ },
81
+ source: params.config.metrics?.source || "unset",
82
+ target: {
83
+ name: "wordpress",
84
+ type: "external"
85
+ }
86
+ };
87
+ params.config.stage = params.config.stage.replace("-test", "");
88
+ const response = await request({
89
+ ...params,
90
+ base: {
91
+ id: "wordpress-helpcenter"
92
+ },
93
+ url: serviceContext.method.url,
94
+ method: serviceContext.method.type,
95
+ metricsDetails: serviceContext,
96
+ type: "json"
97
+ });
98
+ if (!response.ok) {
99
+ throw new HttpError(
100
+ `${serviceContext.method.name}: ${response.status} ${response.statusText}`,
101
+ response.status,
102
+ response.statusText
103
+ );
104
+ }
105
+ return response.body;
106
+ }
107
+ }
108
+ export {
109
+ WordpressService
110
+ };
111
+ //# sourceMappingURL=wordpress.service.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/services/wordpress/wordpress.service.ts"],
4
+ "sourcesContent": ["/*\n * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH\n * under one or more contributor license agreements. Licensed under a commercial license.\n * You may not use this file except in compliance with the commercial license.\n */\n\nimport type {\n RequestBaseParams,\n RequestBaseServiceContext,\n} from '../../types/general.types.js'\nimport { request } from '../../utils/api.js'\nimport { HttpError } from '../../utils/errors.js'\n\nexport interface WordpressGetCardsRequest extends RequestBaseParams {\n options: {\n cardIds: string[]\n }\n}\n\nexport interface WordpressGetHelpCenterConfigRequest\n extends RequestBaseParams {}\n\nexport interface WordpressGetSurveyConfigRequest extends RequestBaseParams {}\n\nexport class WordpressService {\n public static async getCards(\n params: WordpressGetCardsRequest,\n ): Promise<any[]> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `WordpressService.getCards`,\n url: `wp-json/camundahelp/v1/cards?card_id=${params.options.cardIds.join(\n ',',\n )}`,\n normalizedUrl: `wp-json/camundahelp/v1/cards?card_id=:card_id`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'wordpress',\n type: 'external',\n },\n }\n\n const response = await request<any[]>({\n ...params,\n base: {\n id: 'wordpress-helpcenter',\n },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n type: 'json',\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async getHelpCenterConfig(\n params: WordpressGetHelpCenterConfigRequest,\n ): Promise<any> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `WordpressService.getHelpCenterConfig`,\n url: `wp-json/camundahelp/v1/helpcenter?env=${params.config.stage}`,\n normalizedUrl: `wp-json/camundahelp/v1/helpcenter?env=:env`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'wordpress',\n type: 'external',\n },\n }\n params.config.stage = params.config.stage.replace('-test', '') as any\n const response = await request<any>({\n ...params,\n base: {\n id: 'wordpress-helpcenter',\n },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n type: 'json',\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async getSurveyConfig(\n params: WordpressGetSurveyConfigRequest,\n ): Promise<any> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `WordpressService.getSurveyConfig`,\n url: `wp-json/camundahelp/v1/onboardingsurvey?env=${params.config.stage}`,\n normalizedUrl: `wp-json/camundahelp/v1/onboardingsurvey?env=:env`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'wordpress',\n type: 'external',\n },\n }\n params.config.stage = params.config.stage.replace('-test', '') as any\n const response = await request<any>({\n ...params,\n base: {\n id: 'wordpress-helpcenter',\n },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n type: 'json',\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,61 @@
1
+ export type Stage = 'dev' | 'devAws' | 'int' | 'prod' | 'local' | 'localconsole' | 'localaccounts';
2
+ export interface RequestBaseParamsAuth {
3
+ getToken: () => Promise<string>;
4
+ }
5
+ export interface RequestBaseParamsLogger {
6
+ debug: (message: string, data?: any) => void;
7
+ info: (message: string, data?: any) => void;
8
+ error: (message: string, data?: any) => void;
9
+ }
10
+ export type RequestBaseCustomMetricsDetailsType = 'request' | 'success' | 'error' | 'rate-limit-retry';
11
+ export interface RequestBaseServiceContext {
12
+ source: string;
13
+ target: {
14
+ name: string;
15
+ type: 'internal' | 'external';
16
+ };
17
+ method: {
18
+ name: string;
19
+ url: string;
20
+ normalizedUrl: string;
21
+ type: RequestBaseMethodType;
22
+ };
23
+ eventType?: RequestBaseCustomMetricsDetailsType;
24
+ durationBucket?: string;
25
+ statusCode?: string;
26
+ error?: string;
27
+ }
28
+ export interface RequestBaseCustomMetrics {
29
+ source: string;
30
+ types: RequestBaseCustomMetricsDetailsType[];
31
+ callback: (details: RequestBaseServiceContext) => void;
32
+ }
33
+ export interface RequestBaseParamsEnvOverride {
34
+ [key: string]: string;
35
+ }
36
+ export interface RequestBaseParamsConfig {
37
+ stage: Stage;
38
+ auth?: RequestBaseParamsAuth;
39
+ logger?: RequestBaseParamsLogger;
40
+ envOverride?: RequestBaseParamsEnvOverride;
41
+ metrics?: RequestBaseCustomMetrics;
42
+ timeout?: number;
43
+ proxyAgent?: any;
44
+ frontendCaching?: {
45
+ enabled: boolean;
46
+ dbName: string;
47
+ storeName?: string;
48
+ ttl: number;
49
+ };
50
+ }
51
+ export interface RequestBaseParams {
52
+ config: RequestBaseParamsConfig;
53
+ cacheControl?: {
54
+ ignoreCache?: boolean;
55
+ };
56
+ onCachedResponse?: (data: any, info: {
57
+ fresh: boolean;
58
+ source: 'cache';
59
+ }) => void;
60
+ }
61
+ export type RequestBaseMethodType = 'get' | 'post' | 'put' | 'delete' | 'patch';
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=general.types.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,31 @@
1
+ import type { RequestBaseMethodType, RequestBaseParams, RequestBaseServiceContext } from '../types/general.types.js';
2
+ import { type ServiceName } from './environments.js';
3
+ export interface RequestPayload extends RequestBaseParams {
4
+ base?: {
5
+ id: ServiceName;
6
+ };
7
+ url: string;
8
+ method: RequestBaseMethodType;
9
+ headers?: {
10
+ [key: string]: string;
11
+ };
12
+ type?: 'json' | 'text' | 'form' | 'none';
13
+ responseType?: 'json' | 'text' | 'none';
14
+ retry?: {
15
+ attempts: number;
16
+ remaining: number;
17
+ };
18
+ body?: any;
19
+ metricsDetails: RequestBaseServiceContext;
20
+ }
21
+ export interface Response<T> {
22
+ body?: T;
23
+ status: number;
24
+ statusText?: string;
25
+ ok: boolean;
26
+ meta: {
27
+ duration: number;
28
+ };
29
+ }
30
+ export declare function log(payload: RequestPayload, type: 'debug' | 'info' | 'error', message: string, additionalData?: any): void;
31
+ export declare function request<T>(payload: RequestPayload): Promise<Response<T>>;