@camunda/ccma-api 0.0.1 → 0.0.2

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/package.json +10 -10
  2. package/dist/index.d.ts +0 -97
  3. package/dist/index.js +0 -153
  4. package/dist/index.js.map +0 -7
  5. package/dist/services/accounts/accounts.data-export.service.d.ts +0 -13
  6. package/dist/services/accounts/accounts.data-export.service.js +0 -41
  7. package/dist/services/accounts/accounts.data-export.service.js.map +0 -7
  8. package/dist/services/accounts/accounts.valuemetrics.service.d.ts +0 -8
  9. package/dist/services/accounts/accounts.valuemetrics.service.js +0 -1
  10. package/dist/services/accounts/accounts.valuemetrics.service.js.map +0 -7
  11. package/dist/services/accounts/bot.service.d.ts +0 -21
  12. package/dist/services/accounts/bot.service.js +0 -74
  13. package/dist/services/accounts/bot.service.js.map +0 -7
  14. package/dist/services/accounts/challenge.service.d.ts +0 -296
  15. package/dist/services/accounts/challenge.service.js +0 -475
  16. package/dist/services/accounts/challenge.service.js.map +0 -7
  17. package/dist/services/accounts/connections.service.d.ts +0 -27
  18. package/dist/services/accounts/connections.service.js +0 -41
  19. package/dist/services/accounts/connections.service.js.map +0 -7
  20. package/dist/services/accounts/dashboards.service.d.ts +0 -8
  21. package/dist/services/accounts/dashboards.service.js +0 -42
  22. package/dist/services/accounts/dashboards.service.js.map +0 -7
  23. package/dist/services/accounts/early-access-features.service.d.ts +0 -34
  24. package/dist/services/accounts/early-access-features.service.js +0 -67
  25. package/dist/services/accounts/early-access-features.service.js.map +0 -7
  26. package/dist/services/accounts/genericCache.service.d.ts +0 -13
  27. package/dist/services/accounts/genericCache.service.js +0 -80
  28. package/dist/services/accounts/genericCache.service.js.map +0 -7
  29. package/dist/services/accounts/hdp.service.d.ts +0 -52
  30. package/dist/services/accounts/hdp.service.js +0 -180
  31. package/dist/services/accounts/hdp.service.js.map +0 -7
  32. package/dist/services/accounts/offboarding.service.d.ts +0 -18
  33. package/dist/services/accounts/offboarding.service.js +0 -48
  34. package/dist/services/accounts/offboarding.service.js.map +0 -7
  35. package/dist/services/accounts/organization-members.service.d.ts +0 -68
  36. package/dist/services/accounts/organization-members.service.js +0 -216
  37. package/dist/services/accounts/organization-members.service.js.map +0 -7
  38. package/dist/services/accounts/orgs.service.d.ts +0 -273
  39. package/dist/services/accounts/orgs.service.js +0 -978
  40. package/dist/services/accounts/orgs.service.js.map +0 -7
  41. package/dist/services/accounts/salesplan.service.d.ts +0 -7
  42. package/dist/services/accounts/salesplan.service.js +0 -40
  43. package/dist/services/accounts/salesplan.service.js.map +0 -7
  44. package/dist/services/accounts/spam-detection.service.d.ts +0 -8
  45. package/dist/services/accounts/spam-detection.service.js +0 -72
  46. package/dist/services/accounts/spam-detection.service.js.map +0 -7
  47. package/dist/services/accounts/stats.service.d.ts +0 -7
  48. package/dist/services/accounts/stats.service.js +0 -40
  49. package/dist/services/accounts/stats.service.js.map +0 -7
  50. package/dist/services/accounts/teams.service.d.ts +0 -85
  51. package/dist/services/accounts/teams.service.js +0 -516
  52. package/dist/services/accounts/teams.service.js.map +0 -7
  53. package/dist/services/accounts/usage-alerts.service.d.ts +0 -34
  54. package/dist/services/accounts/usage-alerts.service.js +0 -112
  55. package/dist/services/accounts/usage-alerts.service.js.map +0 -7
  56. package/dist/services/accounts/users.service.d.ts +0 -101
  57. package/dist/services/accounts/users.service.js +0 -444
  58. package/dist/services/accounts/users.service.js.map +0 -7
  59. package/dist/services/alerts/alerts.service.d.ts +0 -59
  60. package/dist/services/alerts/alerts.service.js +0 -234
  61. package/dist/services/alerts/alerts.service.js.map +0 -7
  62. package/dist/services/analytic-bridge/analytic-bridge.service.d.ts +0 -23
  63. package/dist/services/analytic-bridge/analytic-bridge.service.js +0 -86
  64. package/dist/services/analytic-bridge/analytic-bridge.service.js.map +0 -7
  65. package/dist/services/audit-logger/audit-logger.service.d.ts +0 -27
  66. package/dist/services/audit-logger/audit-logger.service.js +0 -108
  67. package/dist/services/audit-logger/audit-logger.service.js.map +0 -7
  68. package/dist/services/auth0/auth0.service.d.ts +0 -15
  69. package/dist/services/auth0/auth0.service.js +0 -40
  70. package/dist/services/auth0/auth0.service.js.map +0 -7
  71. package/dist/services/comm-bridge/comm-bridge.service.d.ts +0 -33
  72. package/dist/services/comm-bridge/comm-bridge.service.js +0 -40
  73. package/dist/services/comm-bridge/comm-bridge.service.js.map +0 -7
  74. package/dist/services/console/console.admin.service.d.ts +0 -328
  75. package/dist/services/console/console.admin.service.js +0 -1526
  76. package/dist/services/console/console.admin.service.js.map +0 -7
  77. package/dist/services/console/console.alerts.service.d.ts +0 -69
  78. package/dist/services/console/console.alerts.service.js +0 -160
  79. package/dist/services/console/console.alerts.service.js.map +0 -7
  80. package/dist/services/console/console.api-clients.service.d.ts +0 -48
  81. package/dist/services/console/console.api-clients.service.js +0 -123
  82. package/dist/services/console/console.api-clients.service.js.map +0 -7
  83. package/dist/services/console/console.backup-schedule.service.d.ts +0 -21
  84. package/dist/services/console/console.backup-schedule.service.js +0 -67
  85. package/dist/services/console/console.backup-schedule.service.js.map +0 -7
  86. package/dist/services/console/console.byok-scripts.service.d.ts +0 -12
  87. package/dist/services/console/console.byok-scripts.service.js +0 -92
  88. package/dist/services/console/console.byok-scripts.service.js.map +0 -7
  89. package/dist/services/console/console.byom-monitoring.service.d.ts +0 -58
  90. package/dist/services/console/console.byom-monitoring.service.js +0 -177
  91. package/dist/services/console/console.byom-monitoring.service.js.map +0 -7
  92. package/dist/services/console/console.cluster-clients.service.d.ts +0 -55
  93. package/dist/services/console/console.cluster-clients.service.js +0 -123
  94. package/dist/services/console/console.cluster-clients.service.js.map +0 -7
  95. package/dist/services/console/console.cluster-parameters.service.d.ts +0 -64
  96. package/dist/services/console/console.cluster-parameters.service.js +0 -39
  97. package/dist/services/console/console.cluster-parameters.service.js.map +0 -7
  98. package/dist/services/console/console.cluster.service.d.ts +0 -114
  99. package/dist/services/console/console.cluster.service.js +0 -271
  100. package/dist/services/console/console.cluster.service.js.map +0 -7
  101. package/dist/services/console/console.clusterBulkOperation.service.d.ts +0 -20
  102. package/dist/services/console/console.clusterBulkOperation.service.js +0 -199
  103. package/dist/services/console/console.clusterBulkOperation.service.js.map +0 -7
  104. package/dist/services/console/console.clusterplan.modification.service.d.ts +0 -33
  105. package/dist/services/console/console.clusterplan.modification.service.js +0 -231
  106. package/dist/services/console/console.clusterplan.modification.service.js.map +0 -7
  107. package/dist/services/console/console.clusterplan.service.d.ts +0 -21
  108. package/dist/services/console/console.clusterplan.service.js +0 -64
  109. package/dist/services/console/console.clusterplan.service.js.map +0 -7
  110. package/dist/services/console/console.connector-secrets.service.d.ts +0 -30
  111. package/dist/services/console/console.connector-secrets.service.js +0 -125
  112. package/dist/services/console/console.connector-secrets.service.js.map +0 -7
  113. package/dist/services/console/console.custommetrics.service.d.ts +0 -10
  114. package/dist/services/console/console.custommetrics.service.js +0 -43
  115. package/dist/services/console/console.custommetrics.service.js.map +0 -7
  116. package/dist/services/console/console.hotbackups.service.d.ts +0 -34
  117. package/dist/services/console/console.hotbackups.service.js +0 -120
  118. package/dist/services/console/console.hotbackups.service.js.map +0 -7
  119. package/dist/services/console/console.ip-whitelist.service.d.ts +0 -15
  120. package/dist/services/console/console.ip-whitelist.service.js +0 -36
  121. package/dist/services/console/console.ip-whitelist.service.js.map +0 -7
  122. package/dist/services/console/console.jobs.saas.service.d.ts +0 -70
  123. package/dist/services/console/console.jobs.saas.service.js +0 -139
  124. package/dist/services/console/console.jobs.saas.service.js.map +0 -7
  125. package/dist/services/console/console.jobs.sm.service.d.ts +0 -57
  126. package/dist/services/console/console.jobs.sm.service.js +0 -208
  127. package/dist/services/console/console.jobs.sm.service.js.map +0 -7
  128. package/dist/services/console/console.m2m.service.d.ts +0 -23
  129. package/dist/services/console/console.m2m.service.js +0 -94
  130. package/dist/services/console/console.m2m.service.js.map +0 -7
  131. package/dist/services/console/console.secure-connectivity.service.d.ts +0 -41
  132. package/dist/services/console/console.secure-connectivity.service.js +0 -129
  133. package/dist/services/console/console.secure-connectivity.service.js.map +0 -7
  134. package/dist/services/console/console.valuemetrics.service.d.ts +0 -17
  135. package/dist/services/console/console.valuemetrics.service.js +0 -110
  136. package/dist/services/console/console.valuemetrics.service.js.map +0 -7
  137. package/dist/services/console/generation.service.d.ts +0 -21
  138. package/dist/services/console/generation.service.js +0 -106
  139. package/dist/services/console/generation.service.js.map +0 -7
  140. package/dist/services/github/github.service.d.ts +0 -73
  141. package/dist/services/github/github.service.js +0 -272
  142. package/dist/services/github/github.service.js.map +0 -7
  143. package/dist/services/hibob/hibob.service.d.ts +0 -74
  144. package/dist/services/hibob/hibob.service.js +0 -125
  145. package/dist/services/hibob/hibob.service.js.map +0 -7
  146. package/dist/services/hubspot/hubspot.service.d.ts +0 -50
  147. package/dist/services/hubspot/hubspot.service.js +0 -119
  148. package/dist/services/hubspot/hubspot.service.js.map +0 -7
  149. package/dist/services/litellm/litellm.service.d.ts +0 -290
  150. package/dist/services/litellm/litellm.service.js +0 -392
  151. package/dist/services/litellm/litellm.service.js.map +0 -7
  152. package/dist/services/login/login.service.d.ts +0 -15
  153. package/dist/services/login/login.service.js +0 -66
  154. package/dist/services/login/login.service.js.map +0 -7
  155. package/dist/services/mixpanel/mixpanel.service.d.ts +0 -16
  156. package/dist/services/mixpanel/mixpanel.service.js +0 -86
  157. package/dist/services/mixpanel/mixpanel.service.js.map +0 -7
  158. package/dist/services/notifications/notifications.service.d.ts +0 -7
  159. package/dist/services/notifications/notifications.service.js +0 -38
  160. package/dist/services/notifications/notifications.service.js.map +0 -7
  161. package/dist/services/slack/slack-blockkit.service.d.ts +0 -28
  162. package/dist/services/slack/slack-blockkit.service.js +0 -45
  163. package/dist/services/slack/slack-blockkit.service.js.map +0 -7
  164. package/dist/services/slack/slack.service.d.ts +0 -31
  165. package/dist/services/slack/slack.service.js +0 -118
  166. package/dist/services/slack/slack.service.js.map +0 -7
  167. package/dist/services/telemetry/telemetry.service.d.ts +0 -16
  168. package/dist/services/telemetry/telemetry.service.js +0 -85
  169. package/dist/services/telemetry/telemetry.service.js.map +0 -7
  170. package/dist/services/token-issuer/token-issuer.jwks.service.d.ts +0 -13
  171. package/dist/services/token-issuer/token-issuer.jwks.service.js +0 -76
  172. package/dist/services/token-issuer/token-issuer.jwks.service.js.map +0 -7
  173. package/dist/services/wordpress/wordpress.service.d.ts +0 -15
  174. package/dist/services/wordpress/wordpress.service.js +0 -111
  175. package/dist/services/wordpress/wordpress.service.js.map +0 -7
  176. package/dist/types/general.types.d.ts +0 -61
  177. package/dist/types/general.types.js +0 -1
  178. package/dist/types/general.types.js.map +0 -7
  179. package/dist/utils/api.d.ts +0 -31
  180. package/dist/utils/api.js +0 -400
  181. package/dist/utils/api.js.map +0 -7
  182. package/dist/utils/cache.d.ts +0 -7
  183. package/dist/utils/cache.js +0 -25
  184. package/dist/utils/cache.js.map +0 -7
  185. package/dist/utils/ccma-metrics.d.ts +0 -18
  186. package/dist/utils/ccma-metrics.js +0 -37
  187. package/dist/utils/ccma-metrics.js.map +0 -7
  188. package/dist/utils/environments.d.ts +0 -11
  189. package/dist/utils/environments.js +0 -148
  190. package/dist/utils/environments.js.map +0 -7
  191. package/dist/utils/errors.d.ts +0 -5
  192. package/dist/utils/errors.js +0 -11
  193. package/dist/utils/errors.js.map +0 -7
  194. package/dist/utils/frontendCache.d.ts +0 -26
  195. package/dist/utils/frontendCache.js +0 -121
  196. package/dist/utils/frontendCache.js.map +0 -7
  197. package/dist/utils/token-issuer.utils.d.ts +0 -8
  198. package/dist/utils/token-issuer.utils.js +0 -19
  199. package/dist/utils/token-issuer.utils.js.map +0 -7
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/services/accounts/users.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 {\n MINUTE,\n type OrganizationRole,\n type User,\n} from '@camunda/ccma-shared-types'\nimport type {\n RequestBaseParams,\n RequestBaseServiceContext,\n} from '../../types/general.types.js'\nimport { request } from '../../utils/api.js'\nimport { Cache } from '../../utils/cache.js'\nimport { HttpError } from '../../utils/errors.js'\nimport type { HibobSearchResponse } from '../hibob/hibob.service.js'\n\nconst userCache = new Cache<string, User>(5 * MINUTE)\nconst REGEX_EMAIL =\n // eslint-disable-next-line prefer-named-capture-group, no-useless-escape\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/u\n\nexport interface SearchParams extends RequestBaseParams {\n params: {\n q: {\n organization?: {\n uuid: string\n member: boolean\n }\n name?: string\n userId?: string\n roleId?: string\n email?: string\n signUpStatus?: {\n verified: boolean\n tokenExpired?: boolean\n }\n created?: {\n after?: Date\n before?: Date\n }\n }\n onBehalfOf?: string\n }\n}\n\nexport interface SimpleSearchParams extends RequestBaseParams {\n params: {\n query: string\n type: 'by-email' | 'by-id' | 'fuzzy' | 'lucene'\n }\n}\n\nexport interface AddUserToOrganizationRequest extends RequestBaseParams {\n params: {\n userId: string\n orgId: string\n orgRoles: OrganizationRole[]\n byEmail?: boolean\n }\n}\n\nexport interface RemoveUserFromOrganizationRequest extends RequestBaseParams {\n params: {\n userId: string\n orgId: string\n byEmail?: boolean\n }\n}\n\nexport interface UpdateUserRoleRequest extends RequestBaseParams {\n params: {\n userId: string\n roleToAdd?: string\n roleToRemove?: string\n }\n headers?: {\n 'x-camunda-email'?: string\n }\n}\n\nexport class UsersService {\n public static async search(params: SearchParams): Promise<User[]> {\n const queryParams = new URLSearchParams()\n const urlParts: string[] = []\n if (params.params.q.roleId) {\n // API route different if roleId is present\n // eslint-disable-next-line id-length\n const q = {\n roleId: params.params.q.roleId,\n name: params.params.q.name || '',\n email: params.params.q.email || '',\n }\n queryParams.append('q', JSON.stringify(q))\n urlParts.push(...['api', 'users', `?${queryParams.toString()}`])\n } else {\n if (params.params.onBehalfOf) {\n queryParams.append(\n 'onBehalfOf',\n encodeURI(JSON.stringify(params.params.onBehalfOf)),\n )\n }\n queryParams.append('q', encodeURI(JSON.stringify(params.params.q)))\n urlParts.push(...['api', 'users', 'search', `?${queryParams.toString()}`])\n }\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `UsersService.search`,\n url: urlParts.join(`/`),\n normalizedUrl: `api/users/search`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'accounts',\n type: 'internal',\n },\n }\n\n // Validation\n if (params.params.q.userId) {\n UsersService.validateUserId(serviceContext, params.params.q.userId)\n }\n\n const response = await request<User[]>({\n config: params.config,\n base: {\n id: 'accounts',\n },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\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 simpleSearch(\n params: SimpleSearchParams,\n ): Promise<{ users: User[] }> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `UsersService.simpleSearch`,\n url: `api/users/search`,\n normalizedUrl: `api/users/search`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'accounts',\n type: 'internal',\n },\n }\n\n switch (params.params.type) {\n case 'by-email':\n UsersService.validateEmail(serviceContext, params.params.query)\n break\n case 'by-id':\n UsersService.validateUserId(serviceContext, params.params.query)\n break\n case 'lucene':\n UsersService.validateLuceneQuery(serviceContext, params.params.query)\n break\n }\n\n const response = await request<{ users: User[] }>({\n config: params.config,\n base: {\n id: 'accounts',\n },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n body: {\n query: params.params.query,\n type: params.params.type,\n },\n metricsDetails: serviceContext,\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 getUserInfo(\n params: { userId: string; basic?: boolean } & RequestBaseParams,\n ): Promise<User | undefined> {\n const cacheKey =\n params.basic === true ? `basic-${params.userId}` : params.userId\n if (!params.cacheControl?.ignoreCache) {\n const inCache = userCache.get(cacheKey)\n if (inCache) {\n return inCache\n }\n }\n\n let queryParams: string = ''\n if (params.basic === true) {\n const searchParams = new URLSearchParams()\n searchParams.append('basic', 'true')\n queryParams = `?${searchParams.toString()}`\n }\n\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `UsersService.getUserInfo`,\n url: `api/users/${params.userId}${queryParams}`,\n normalizedUrl: `api/users/:userId`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'accounts',\n type: 'internal',\n },\n }\n\n // Validation\n UsersService.validateUserId(serviceContext, params.userId)\n\n const response = await request<User>({\n ...params,\n base: { id: 'accounts' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\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 userCache.set(cacheKey, response.body!)\n return response.body\n }\n\n public static async addUserToOrganization(\n params: AddUserToOrganizationRequest,\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `UsersService.addUserToOrganization`,\n url: `api/users/${params.params.userId}/organization/${params.params.orgId}`,\n normalizedUrl: `api/users/:userId/organization/:orgId`,\n type: 'put',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'accounts',\n type: 'internal',\n },\n }\n\n const response = await request({\n config: params.config,\n base: { id: 'accounts' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: {\n orgRoles: params.params.orgRoles,\n byEmail: params.params.byEmail,\n },\n responseType: 'none',\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 }\n\n public static async removeUserFromOrganization(\n params: RemoveUserFromOrganizationRequest,\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `UsersService.removeUserFromOrganization`,\n url: `api/users/${params.params.userId}/organization/${params.params.orgId}`,\n normalizedUrl: `api/users/:userId/organization/:orgId`,\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'accounts',\n type: 'internal',\n },\n }\n\n const response = await request({\n config: params.config,\n base: { id: 'accounts' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: {\n byEmail: params.params.byEmail,\n },\n responseType: 'none',\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 }\n\n /**\n * Update a user's role by adding or removing a single role.\n * This uses the PATCH /api/users/:userId/roles endpoint.\n * Supports email-based auth middleware via the x-camunda-email header.\n */\n public static async updateUserRole(\n params: UpdateUserRoleRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `UsersService.updateUserRole`,\n url: `api/users/${encodeURIComponent(params.params.userId)}/roles`,\n normalizedUrl: `api/users/:userId/roles`,\n type: 'patch',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'accounts',\n type: 'internal',\n },\n }\n\n // Validation\n UsersService.validateUserId(serviceContext, params.params.userId)\n\n if (!params.params.roleToAdd && !params.params.roleToRemove) {\n throw new HttpError(\n `${serviceContext.method.name}: 400 - Validation Error in API Package - either roleToAdd or roleToRemove must be specified`,\n 400,\n `Validation Error in API Package - either roleToAdd or roleToRemove must be specified`,\n )\n }\n\n const body: { roleToAdd?: string; roleToRemove?: string } = {}\n if (params.params.roleToAdd) {\n body.roleToAdd = params.params.roleToAdd\n }\n if (params.params.roleToRemove) {\n body.roleToRemove = params.params.roleToRemove\n }\n\n const response = await request({\n config: params.config,\n base: { id: 'accounts' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body,\n headers: params.headers,\n responseType: 'none',\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 }\n\n /**\n * Get all Hibob users (for bulk ghost account checks).\n * This fetches all active Hibob employees in a single request.\n */\n public static async getAllHibobUsers(\n params: RequestBaseParams,\n ): Promise<HibobSearchResponse> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'UsersService.getAllHibobUsers',\n url: 'api/users/hibob/all',\n normalizedUrl: 'api/users/hibob/all',\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'accounts',\n type: 'internal',\n },\n }\n\n const response = await request<HibobSearchResponse>({\n ...params,\n base: { id: 'accounts' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\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\n return response.body!\n }\n\n /**\n * Get Hibob details for a specific user by their Auth0 user ID.\n */\n public static async getUserHibobDetails(\n params: { userId: string } & RequestBaseParams,\n ): Promise<HibobSearchResponse> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'UsersService.getUserHibobDetails',\n url: `api/users/${encodeURIComponent(params.userId)}/hibob`,\n normalizedUrl: 'api/users/:userId/hibob',\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'accounts',\n type: 'internal',\n },\n }\n\n const response = await request<HibobSearchResponse>({\n ...params,\n base: { id: 'accounts' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\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\n return response.body!\n }\n\n private static validateUserId(\n serviceContext: RequestBaseServiceContext,\n userId: string,\n ) {\n if (!userId || !userId.includes('|')) {\n throw new HttpError(\n `${serviceContext.method.name}: 400 - Validation Error in API Package - missing pipe '|'`,\n 400,\n `Validation Error in API Package - missing pipe '|'`,\n )\n }\n }\n\n private static validateEmail(\n serviceContext: RequestBaseServiceContext,\n email: string,\n ) {\n if (!email || !REGEX_EMAIL.test(email)) {\n throw new HttpError(\n `${serviceContext.method.name}: 400 - Validation Error in API Package - invalid email format`,\n 400,\n `Validation Error in API Package - invalid email format`,\n )\n }\n }\n\n /**\n * Validates a Lucene query string for Auth0 user search.\n * Auth0 supports Lucene query syntax including:\n * - Field queries: field:value (e.g., email:john@example.com)\n * - Wildcards: field:*value*, field:value*\n * - Boolean operators: AND, OR, NOT\n * - Grouping: (field:value OR field:value)\n * - Range queries: field:[min TO max]\n * - Exact phrase: field:\"exact phrase\"\n *\n * @see https://auth0.com/docs/manage-users/user-search/user-search-query-syntax\n */\n private static validateLuceneQuery(\n serviceContext: RequestBaseServiceContext,\n query: string,\n ) {\n if (!query || query.trim().length === 0) {\n throw new HttpError(\n `${serviceContext.method.name}: 400 - Validation Error in API Package - empty Lucene query`,\n 400,\n `Validation Error in API Package - empty Lucene query`,\n )\n }\n\n // Basic validation: query should contain at least a field:value pattern or be a valid search term\n // Auth0 Lucene syntax requires queries to have field:value format for structured searches\n const trimmedQuery = query.trim()\n\n // Check for unbalanced parentheses\n let parenCount = 0\n for (const char of trimmedQuery) {\n if (char === '(') parenCount++\n if (char === ')') parenCount--\n if (parenCount < 0) {\n throw new HttpError(\n `${serviceContext.method.name}: 400 - Validation Error in API Package - unbalanced parentheses in Lucene query`,\n 400,\n `Validation Error in API Package - unbalanced parentheses in Lucene query`,\n )\n }\n }\n if (parenCount !== 0) {\n throw new HttpError(\n `${serviceContext.method.name}: 400 - Validation Error in API Package - unbalanced parentheses in Lucene query`,\n 400,\n `Validation Error in API Package - unbalanced parentheses in Lucene query`,\n )\n }\n\n // Check for unbalanced square brackets (range queries)\n let bracketCount = 0\n for (const char of trimmedQuery) {\n if (char === '[') bracketCount++\n if (char === ']') bracketCount--\n if (bracketCount < 0) {\n throw new HttpError(\n `${serviceContext.method.name}: 400 - Validation Error in API Package - unbalanced brackets in Lucene query`,\n 400,\n `Validation Error in API Package - unbalanced brackets in Lucene query`,\n )\n }\n }\n if (bracketCount !== 0) {\n throw new HttpError(\n `${serviceContext.method.name}: 400 - Validation Error in API Package - unbalanced brackets in Lucene query`,\n 400,\n `Validation Error in API Package - unbalanced brackets in Lucene query`,\n )\n }\n\n // Check for unbalanced quotes\n const quoteCount = (trimmedQuery.match(/\"/gu) || []).length\n if (quoteCount % 2 !== 0) {\n throw new HttpError(\n `${serviceContext.method.name}: 400 - Validation Error in API Package - unbalanced quotes in Lucene query`,\n 400,\n `Validation Error in API Package - unbalanced quotes in Lucene query`,\n )\n }\n\n // Validate that query contains at least one valid field:value pattern or search term\n // A valid Lucene query for Auth0 should have field:value syntax\n // Use word boundary to match field:value patterns anywhere in the query\n const hasFieldValue = /\\b\\w+:/u.test(trimmedQuery)\n if (!hasFieldValue) {\n throw new HttpError(\n `${serviceContext.method.name}: 400 - Validation Error in API Package - Lucene query must contain field:value syntax (e.g., email:john@example.com)`,\n 400,\n `Validation Error in API Package - Lucene query must contain field:value syntax (e.g., email:john@example.com)`,\n )\n }\n }\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,59 +0,0 @@
1
- import type { AlertSubscriptionDto, AlertSubscriptionEntryDto, AlertSubscriptionReportType, AlertSubscriptionType, AlertSubscriptionWebhookAuth } from '@camunda/ccma-shared-types';
2
- import type { RequestBaseParams } from '../../types/general.types.js';
3
- export interface GetAlertSubscriptions extends RequestBaseParams {
4
- params: {
5
- clusterUuid: string;
6
- };
7
- }
8
- export interface CreateAlertSubscription extends RequestBaseParams {
9
- params: {
10
- creator: string;
11
- clusterUuid: string;
12
- userIdOrWebhook: string;
13
- type: AlertSubscriptionType;
14
- report: AlertSubscriptionReportType;
15
- options?: {
16
- webhookAuth?: AlertSubscriptionWebhookAuth;
17
- ignoreHead?: boolean;
18
- };
19
- };
20
- }
21
- export interface UpdateAlertSubscription extends RequestBaseParams {
22
- params: {
23
- alertSubscriptionUuid: string;
24
- updater: string;
25
- clusterUuid: string;
26
- userIdOrWebhook: string;
27
- type: AlertSubscriptionType;
28
- report: AlertSubscriptionReportType;
29
- options?: {
30
- webhookAuth?: AlertSubscriptionWebhookAuth;
31
- ignoreHead?: boolean;
32
- };
33
- };
34
- }
35
- export interface DeleteAlertSubscription extends RequestBaseParams {
36
- params: {
37
- alertSubscriptionUuid: string;
38
- };
39
- }
40
- export interface DeleteAlertSubscriptionForCluster extends RequestBaseParams {
41
- params: {
42
- clusterUuid: string;
43
- };
44
- }
45
- export interface PushAlert extends RequestBaseParams {
46
- params: {
47
- clusterUuid: string;
48
- alerts: AlertSubscriptionEntryDto[];
49
- };
50
- }
51
- export declare class AlertsService {
52
- static getSubscriptions(params: GetAlertSubscriptions): Promise<AlertSubscriptionDto[]>;
53
- static createNewSubscription(params: CreateAlertSubscription): Promise<AlertSubscriptionDto>;
54
- static update(params: UpdateAlertSubscription): Promise<AlertSubscriptionDto>;
55
- static delete(params: DeleteAlertSubscription): Promise<AlertSubscriptionDto>;
56
- static deleteForCluster(params: DeleteAlertSubscriptionForCluster): Promise<AlertSubscriptionDto>;
57
- static pushWorkflowAlerts(params: PushAlert): Promise<void>;
58
- static pushClusterAlerts(params: PushAlert): Promise<void>;
59
- }
@@ -1,234 +0,0 @@
1
- import { request } from "../../utils/api.js";
2
- import { HttpError } from "../../utils/errors.js";
3
- class AlertsService {
4
- static async getSubscriptions(params) {
5
- const serviceContext = {
6
- method: {
7
- name: `AlertsService.getSubscriptions`,
8
- url: `api/subscriptions/cluster/${params.params.clusterUuid}`,
9
- normalizedUrl: `api/subscriptions/cluster/:clusterUuid`,
10
- type: "get"
11
- },
12
- source: params.config.metrics?.source || "unset",
13
- target: {
14
- name: "alert-distributor",
15
- type: "internal"
16
- }
17
- };
18
- const response = await request({
19
- ...params,
20
- base: {
21
- id: "alert-distributor"
22
- },
23
- url: serviceContext.method.url,
24
- method: serviceContext.method.type,
25
- metricsDetails: serviceContext
26
- });
27
- if (!response.ok) {
28
- throw new HttpError(
29
- `${serviceContext.method.name}: ${response.status} ${response.statusText}`,
30
- response.status,
31
- response.statusText
32
- );
33
- }
34
- return response.body;
35
- }
36
- static async createNewSubscription(params) {
37
- const serviceContext = {
38
- method: {
39
- name: `AlertsService.createSubscription`,
40
- url: `api/subscriptions/cluster/${params.params.clusterUuid}`,
41
- normalizedUrl: `api/subscriptions/cluster/:clusterUuid`,
42
- type: "post"
43
- },
44
- source: params.config.metrics?.source || "unset",
45
- target: {
46
- name: "alert-distributor",
47
- type: "internal"
48
- }
49
- };
50
- const response = await request({
51
- config: params.config,
52
- base: {
53
- id: "alert-distributor"
54
- },
55
- url: serviceContext.method.url,
56
- method: serviceContext.method.type,
57
- metricsDetails: serviceContext,
58
- body: params.params
59
- });
60
- if (!response.ok) {
61
- throw new HttpError(
62
- `${serviceContext.method.name}: ${response.status} ${response.statusText}`,
63
- response.status,
64
- response.statusText
65
- );
66
- }
67
- return response.body;
68
- }
69
- static async update(params) {
70
- const serviceContext = {
71
- method: {
72
- name: `AlertsService.updateSubscription`,
73
- url: `api/subscriptions/${params.params.alertSubscriptionUuid}`,
74
- normalizedUrl: `api/subscriptions/:alertSubscriptionUuid`,
75
- type: "put"
76
- },
77
- source: params.config.metrics?.source || "unset",
78
- target: {
79
- name: "alert-distributor",
80
- type: "internal"
81
- }
82
- };
83
- const response = await request({
84
- config: params.config,
85
- base: {
86
- id: "alert-distributor"
87
- },
88
- url: serviceContext.method.url,
89
- method: serviceContext.method.type,
90
- metricsDetails: serviceContext,
91
- body: params.params
92
- });
93
- if (!response.ok) {
94
- throw new HttpError(
95
- `${serviceContext.method.name}: ${response.status} ${response.statusText}`,
96
- response.status,
97
- response.statusText
98
- );
99
- }
100
- return response.body;
101
- }
102
- static async delete(params) {
103
- const serviceContext = {
104
- method: {
105
- name: `AlertsService.updateSubscription`,
106
- url: `api/subscriptions/${params.params.alertSubscriptionUuid}`,
107
- normalizedUrl: `api/subscriptions/:alertSubscriptionUuid`,
108
- type: "delete"
109
- },
110
- source: params.config.metrics?.source || "unset",
111
- target: {
112
- name: "alert-distributor",
113
- type: "internal"
114
- }
115
- };
116
- const response = await request({
117
- config: params.config,
118
- base: {
119
- id: "alert-distributor"
120
- },
121
- url: serviceContext.method.url,
122
- method: serviceContext.method.type,
123
- metricsDetails: serviceContext
124
- });
125
- if (!response.ok) {
126
- throw new HttpError(
127
- `${serviceContext.method.name}: ${response.status} ${response.statusText}`,
128
- response.status,
129
- response.statusText
130
- );
131
- }
132
- return response.body;
133
- }
134
- static async deleteForCluster(params) {
135
- const serviceContext = {
136
- method: {
137
- name: `AlertsService.updateSubscription`,
138
- url: `api/subscriptions/cluster/${params.params.clusterUuid}`,
139
- normalizedUrl: `api/subscriptions/cluster/:clusterUuid`,
140
- type: "delete"
141
- },
142
- source: params.config.metrics?.source || "unset",
143
- target: {
144
- name: "alert-distributor",
145
- type: "internal"
146
- }
147
- };
148
- const response = await request({
149
- config: params.config,
150
- base: {
151
- id: "alert-distributor"
152
- },
153
- url: serviceContext.method.url,
154
- method: serviceContext.method.type,
155
- metricsDetails: serviceContext
156
- });
157
- if (!response.ok) {
158
- throw new HttpError(
159
- `${serviceContext.method.name}: ${response.status} ${response.statusText}`,
160
- response.status,
161
- response.statusText
162
- );
163
- }
164
- return response.body;
165
- }
166
- static async pushWorkflowAlerts(params) {
167
- const serviceContext = {
168
- method: {
169
- name: `AlertsService.pushWorkflowAlerts`,
170
- url: `api/alert/workflow/cluster/${params.params.clusterUuid}`,
171
- normalizedUrl: `api/alert/workflow/cluster/:clusterUuid`,
172
- type: "post"
173
- },
174
- source: params.config.metrics?.source || "unset",
175
- target: {
176
- name: "alert-distributor",
177
- type: "internal"
178
- }
179
- };
180
- const response = await request({
181
- config: params.config,
182
- base: {
183
- id: "alert-distributor"
184
- },
185
- url: serviceContext.method.url,
186
- method: serviceContext.method.type,
187
- metricsDetails: serviceContext,
188
- body: params.params
189
- });
190
- if (!response.ok) {
191
- throw new HttpError(
192
- `${serviceContext.method.name}: ${response.status} ${response.statusText}`,
193
- response.status,
194
- response.statusText
195
- );
196
- }
197
- }
198
- static async pushClusterAlerts(params) {
199
- const serviceContext = {
200
- method: {
201
- name: `AlertsService.pushClusterAlerts`,
202
- url: `api/alert/cluster/cluster/${params.params.clusterUuid}`,
203
- normalizedUrl: `api/alert/cluster/cluster/:clusterUuid`,
204
- type: "post"
205
- },
206
- source: params.config.metrics?.source || "unset",
207
- target: {
208
- name: "alert-distributor",
209
- type: "internal"
210
- }
211
- };
212
- const response = await request({
213
- config: params.config,
214
- base: {
215
- id: "alert-distributor"
216
- },
217
- url: serviceContext.method.url,
218
- method: serviceContext.method.type,
219
- metricsDetails: serviceContext,
220
- body: params.params
221
- });
222
- if (!response.ok) {
223
- throw new HttpError(
224
- `${serviceContext.method.name}: ${response.status} ${response.statusText}`,
225
- response.status,
226
- response.statusText
227
- );
228
- }
229
- }
230
- }
231
- export {
232
- AlertsService
233
- };
234
- //# sourceMappingURL=alerts.service.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/services/alerts/alerts.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 AlertSubscriptionDto,\n AlertSubscriptionEntryDto,\n AlertSubscriptionReportType,\n AlertSubscriptionType,\n AlertSubscriptionWebhookAuth,\n} from '@camunda/ccma-shared-types'\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 GetAlertSubscriptions extends RequestBaseParams {\n params: {\n clusterUuid: string\n }\n}\n\nexport interface CreateAlertSubscription extends RequestBaseParams {\n params: {\n creator: string\n clusterUuid: string\n userIdOrWebhook: string\n type: AlertSubscriptionType\n report: AlertSubscriptionReportType\n options?: {\n webhookAuth?: AlertSubscriptionWebhookAuth\n ignoreHead?: boolean\n }\n }\n}\n\nexport interface UpdateAlertSubscription extends RequestBaseParams {\n params: {\n alertSubscriptionUuid: string\n updater: string\n clusterUuid: string\n userIdOrWebhook: string\n type: AlertSubscriptionType\n report: AlertSubscriptionReportType\n options?: {\n webhookAuth?: AlertSubscriptionWebhookAuth\n ignoreHead?: boolean\n }\n }\n}\n\nexport interface DeleteAlertSubscription extends RequestBaseParams {\n params: {\n alertSubscriptionUuid: string\n }\n}\n\nexport interface DeleteAlertSubscriptionForCluster extends RequestBaseParams {\n params: {\n clusterUuid: string\n }\n}\n\nexport interface PushAlert extends RequestBaseParams {\n params: {\n clusterUuid: string\n alerts: AlertSubscriptionEntryDto[]\n }\n}\n\nexport class AlertsService {\n public static async getSubscriptions(\n params: GetAlertSubscriptions,\n ): Promise<AlertSubscriptionDto[]> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `AlertsService.getSubscriptions`,\n url: `api/subscriptions/cluster/${params.params.clusterUuid}`,\n normalizedUrl: `api/subscriptions/cluster/:clusterUuid`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'alert-distributor',\n type: 'internal',\n },\n }\n const response = await request<AlertSubscriptionDto[]>({\n ...params,\n base: {\n id: 'alert-distributor',\n },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\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 createNewSubscription(\n params: CreateAlertSubscription,\n ): Promise<AlertSubscriptionDto> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `AlertsService.createSubscription`,\n url: `api/subscriptions/cluster/${params.params.clusterUuid}`,\n normalizedUrl: `api/subscriptions/cluster/:clusterUuid`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'alert-distributor',\n type: 'internal',\n },\n }\n const response = await request({\n config: params.config,\n base: {\n id: 'alert-distributor',\n },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: params.params,\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 as AlertSubscriptionDto\n }\n\n public static async update(\n params: UpdateAlertSubscription,\n ): Promise<AlertSubscriptionDto> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `AlertsService.updateSubscription`,\n url: `api/subscriptions/${params.params.alertSubscriptionUuid}`,\n normalizedUrl: `api/subscriptions/:alertSubscriptionUuid`,\n type: 'put',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'alert-distributor',\n type: 'internal',\n },\n }\n const response = await request({\n config: params.config,\n base: {\n id: 'alert-distributor',\n },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: params.params,\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 as AlertSubscriptionDto\n }\n\n public static async delete(\n params: DeleteAlertSubscription,\n ): Promise<AlertSubscriptionDto> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `AlertsService.updateSubscription`,\n url: `api/subscriptions/${params.params.alertSubscriptionUuid}`,\n normalizedUrl: `api/subscriptions/:alertSubscriptionUuid`,\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'alert-distributor',\n type: 'internal',\n },\n }\n const response = await request({\n config: params.config,\n base: {\n id: 'alert-distributor',\n },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\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 as AlertSubscriptionDto\n }\n\n public static async deleteForCluster(\n params: DeleteAlertSubscriptionForCluster,\n ): Promise<AlertSubscriptionDto> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `AlertsService.updateSubscription`,\n url: `api/subscriptions/cluster/${params.params.clusterUuid}`,\n normalizedUrl: `api/subscriptions/cluster/:clusterUuid`,\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'alert-distributor',\n type: 'internal',\n },\n }\n const response = await request({\n config: params.config,\n base: {\n id: 'alert-distributor',\n },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\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 as AlertSubscriptionDto\n }\n\n public static async pushWorkflowAlerts(params: PushAlert) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `AlertsService.pushWorkflowAlerts`,\n url: `api/alert/workflow/cluster/${params.params.clusterUuid}`,\n normalizedUrl: `api/alert/workflow/cluster/:clusterUuid`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'alert-distributor',\n type: 'internal',\n },\n }\n const response = await request({\n config: params.config,\n base: {\n id: 'alert-distributor',\n },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: params.params,\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 }\n\n public static async pushClusterAlerts(params: PushAlert) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `AlertsService.pushClusterAlerts`,\n url: `api/alert/cluster/cluster/${params.params.clusterUuid}`,\n normalizedUrl: `api/alert/cluster/cluster/:clusterUuid`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'alert-distributor',\n type: 'internal',\n },\n }\n const response = await request({\n config: params.config,\n base: {\n id: 'alert-distributor',\n },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: params.params,\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 }\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,23 +0,0 @@
1
- import type { RequestBaseParams } from '../../types/general.types.js';
2
- export interface AddAnalyticBridgeRequest extends RequestBaseParams {
3
- body: {
4
- eventType: any;
5
- attributes: any;
6
- accessToken?: string | undefined;
7
- };
8
- }
9
- export interface AddClusterAnalyticBridgeRequest extends RequestBaseParams {
10
- body: {
11
- clusterId: string;
12
- eventType: any;
13
- userAgent?: string;
14
- internalClient?: boolean;
15
- properties?: {
16
- [key: string]: string | number;
17
- };
18
- };
19
- }
20
- export declare class AnalyticBridgeService {
21
- static add(params: AddAnalyticBridgeRequest): Promise<boolean>;
22
- static addCluster(params: AddClusterAnalyticBridgeRequest): Promise<boolean>;
23
- }
@@ -1,86 +0,0 @@
1
- import { request } from "../../utils/api.js";
2
- import { HttpError } from "../../utils/errors.js";
3
- class AnalyticBridgeService {
4
- static async add(params) {
5
- const serviceContext = {
6
- method: {
7
- name: `AnalyticService.add`,
8
- url: "",
9
- normalizedUrl: "",
10
- type: "post"
11
- },
12
- source: params.config.metrics?.source || "unset",
13
- target: {
14
- name: "analytic-bridge",
15
- type: "internal"
16
- }
17
- };
18
- const attributes = params.body.attributes;
19
- const reqBody = {
20
- ...{
21
- eventType: params.body.eventType,
22
- accessToken: params.body.accessToken
23
- },
24
- ...attributes
25
- };
26
- const response = await request({
27
- config: params.config,
28
- base: { id: "analytic-bridge" },
29
- url: serviceContext.method.url,
30
- method: serviceContext.method.type,
31
- metricsDetails: serviceContext,
32
- body: reqBody,
33
- responseType: "none"
34
- });
35
- if (!response.ok) {
36
- throw new HttpError(
37
- `${serviceContext.method.name}: ${response.status} ${response.statusText}`,
38
- response.status,
39
- response.statusText
40
- );
41
- }
42
- return response.status === 200;
43
- }
44
- static async addCluster(params) {
45
- const serviceContext = {
46
- method: {
47
- name: `AnalyticService.addCluster`,
48
- url: `cluster/${params.body.clusterId}`,
49
- normalizedUrl: `/cluster/:clusterId`,
50
- type: "post"
51
- },
52
- source: params.config.metrics?.source || "unset",
53
- target: {
54
- name: "analytic-bridge",
55
- type: "internal"
56
- }
57
- };
58
- const reqBody = {
59
- eventType: params.body.eventType,
60
- userAgent: params.body.userAgent,
61
- internalClient: params.body.internalClient,
62
- properties: params.body.properties
63
- };
64
- const response = await request({
65
- config: params.config,
66
- base: { id: "analytic-bridge" },
67
- url: serviceContext.method.url,
68
- method: serviceContext.method.type,
69
- metricsDetails: serviceContext,
70
- body: reqBody,
71
- responseType: "none"
72
- });
73
- if (!response.ok) {
74
- throw new HttpError(
75
- `${serviceContext.method.name}: ${response.status} ${response.statusText}`,
76
- response.status,
77
- response.statusText
78
- );
79
- }
80
- return response.status === 200;
81
- }
82
- }
83
- export {
84
- AnalyticBridgeService
85
- };
86
- //# sourceMappingURL=analytic-bridge.service.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/services/analytic-bridge/analytic-bridge.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 AddAnalyticBridgeRequest extends RequestBaseParams {\n body: {\n eventType: any\n attributes: any\n accessToken?: string | undefined\n }\n}\n\nexport interface AddClusterAnalyticBridgeRequest extends RequestBaseParams {\n body: {\n clusterId: string\n eventType: any\n userAgent?: string\n internalClient?: boolean\n properties?: {\n [key: string]: string | number\n }\n }\n}\n\nexport class AnalyticBridgeService {\n public static async add(params: AddAnalyticBridgeRequest): Promise<boolean> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `AnalyticService.add`,\n url: '',\n normalizedUrl: '',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'analytic-bridge',\n type: 'internal',\n },\n }\n const attributes = params.body.attributes\n const reqBody = {\n ...{\n eventType: params.body.eventType,\n accessToken: params.body.accessToken,\n },\n ...attributes,\n }\n const response = await request({\n config: params.config,\n base: { id: 'analytic-bridge' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: reqBody,\n responseType: 'none',\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.status === 200\n }\n\n public static async addCluster(\n params: AddClusterAnalyticBridgeRequest,\n ): Promise<boolean> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `AnalyticService.addCluster`,\n url: `cluster/${params.body.clusterId}`,\n normalizedUrl: `/cluster/:clusterId`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'analytic-bridge',\n type: 'internal',\n },\n }\n const reqBody = {\n eventType: params.body.eventType,\n userAgent: params.body.userAgent,\n internalClient: params.body.internalClient,\n properties: params.body.properties,\n }\n const response = await request({\n config: params.config,\n base: { id: 'analytic-bridge' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: reqBody,\n responseType: 'none',\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.status === 200\n }\n}\n"],
5
- "mappings": "AAUA,SAAS,eAAe;AACxB,SAAS,iBAAiB;AAsBnB,MAAM,sBAAsB;AAAA,EACjC,aAAoB,IAAI,QAAoD;AAC1E,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,aAAa,OAAO,KAAK;AAC/B,UAAM,UAAU;AAAA,MACd,GAAG;AAAA,QACD,WAAW,OAAO,KAAK;AAAA,QACvB,aAAa,OAAO,KAAK;AAAA,MAC3B;AAAA,MACA,GAAG;AAAA,IACL;AACA,UAAM,WAAW,MAAM,QAAQ;AAAA,MAC7B,QAAQ,OAAO;AAAA,MACf,MAAM,EAAE,IAAI,kBAAkB;AAAA,MAC9B,KAAK,eAAe,OAAO;AAAA,MAC3B,QAAQ,eAAe,OAAO;AAAA,MAC9B,gBAAgB;AAAA,MAChB,MAAM;AAAA,MACN,cAAc;AAAA,IAChB,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,WAAW;AAAA,EAC7B;AAAA,EAEA,aAAoB,WAClB,QACkB;AAClB,UAAM,iBAA4C;AAAA,MAChD,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,KAAK,WAAW,OAAO,KAAK,SAAS;AAAA,QACrC,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,UAAU;AAAA,MACd,WAAW,OAAO,KAAK;AAAA,MACvB,WAAW,OAAO,KAAK;AAAA,MACvB,gBAAgB,OAAO,KAAK;AAAA,MAC5B,YAAY,OAAO,KAAK;AAAA,IAC1B;AACA,UAAM,WAAW,MAAM,QAAQ;AAAA,MAC7B,QAAQ,OAAO;AAAA,MACf,MAAM,EAAE,IAAI,kBAAkB;AAAA,MAC9B,KAAK,eAAe,OAAO;AAAA,MAC3B,QAAQ,eAAe,OAAO;AAAA,MAC9B,gBAAgB;AAAA,MAChB,MAAM;AAAA,MACN,cAAc;AAAA,IAChB,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,WAAW;AAAA,EAC7B;AACF;",
6
- "names": []
7
- }
@@ -1,27 +0,0 @@
1
- import type { AuditDto } from '@camunda/ccma-shared-types';
2
- import type { RequestBaseParams } from '../../types/general.types.js';
3
- export interface AddAuditRequest extends RequestBaseParams {
4
- params: {
5
- audit: AuditDto;
6
- };
7
- }
8
- export interface GetAuditRequest extends RequestBaseParams {
9
- params: {
10
- orgId: string;
11
- pagination?: {
12
- page: number;
13
- perPage: number;
14
- };
15
- };
16
- }
17
- export interface GetClusterAuditRequest extends RequestBaseParams {
18
- params: {
19
- orgId: string;
20
- clusterId: string;
21
- };
22
- }
23
- export declare class AuditLoggerService {
24
- static addAudit(params: AddAuditRequest): Promise<boolean>;
25
- static getAudit(params: GetAuditRequest): Promise<AuditDto[]>;
26
- static getClusterAudit(params: GetClusterAuditRequest): Promise<AuditDto[]>;
27
- }
@@ -1,108 +0,0 @@
1
- import { request } from "../../utils/api.js";
2
- import { HttpError } from "../../utils/errors.js";
3
- class AuditLoggerService {
4
- static async addAudit(params) {
5
- const serviceContext = {
6
- method: {
7
- name: `AuditLoggerService.addAudit`,
8
- url: `api/audit/orgs`,
9
- normalizedUrl: `api/audit/orgs`,
10
- type: "post"
11
- },
12
- source: params.config.metrics?.source || "unset",
13
- target: {
14
- name: "audit-logger",
15
- type: "internal"
16
- }
17
- };
18
- const response = await request({
19
- config: params.config,
20
- base: { id: "audit-logger" },
21
- url: serviceContext.method.url,
22
- method: serviceContext.method.type,
23
- metricsDetails: serviceContext,
24
- body: params.params,
25
- responseType: "none"
26
- });
27
- if (!response.ok) {
28
- throw new HttpError(
29
- `${serviceContext.method.name}: ${response.status} ${response.statusText}`,
30
- response.status,
31
- response.statusText
32
- );
33
- }
34
- return response.status === 200;
35
- }
36
- static async getAudit(params) {
37
- let url = `api/audit/orgs/${params.params.orgId}`;
38
- if (params.params.pagination) {
39
- url = url.concat(
40
- `?per_page=${params.params.pagination.perPage}&page=${params.params.pagination.page}`
41
- );
42
- }
43
- const serviceContext = {
44
- method: {
45
- name: `AuditLoggerService.getAudit`,
46
- url,
47
- normalizedUrl: url,
48
- type: "get"
49
- },
50
- source: params.config.metrics?.source || "unset",
51
- target: {
52
- name: "audit-logger",
53
- type: "internal"
54
- }
55
- };
56
- const response = await request({
57
- ...params,
58
- base: { id: "audit-logger" },
59
- url: serviceContext.method.url,
60
- method: serviceContext.method.type,
61
- metricsDetails: serviceContext,
62
- responseType: "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 getClusterAudit(params) {
74
- const serviceContext = {
75
- method: {
76
- name: `AuditLoggerService.getClusterAudit`,
77
- url: `api/audit/orgs/${params.params.orgId}/cluster/${params.params.clusterId}`,
78
- normalizedUrl: `api/audit/orgs/:orgId/cluster/:clusterId`,
79
- type: "get"
80
- },
81
- source: params.config.metrics?.source || "unset",
82
- target: {
83
- name: "audit-logger",
84
- type: "internal"
85
- }
86
- };
87
- const response = await request({
88
- ...params,
89
- base: { id: "audit-logger" },
90
- url: serviceContext.method.url,
91
- method: serviceContext.method.type,
92
- metricsDetails: serviceContext,
93
- responseType: "json"
94
- });
95
- if (!response.ok) {
96
- throw new HttpError(
97
- `${serviceContext.method.name}: ${response.status} ${response.statusText}`,
98
- response.status,
99
- response.statusText
100
- );
101
- }
102
- return response.body ?? [];
103
- }
104
- }
105
- export {
106
- AuditLoggerService
107
- };
108
- //# sourceMappingURL=audit-logger.service.js.map