@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,112 +0,0 @@
1
- import { request } from "../../utils/api.js";
2
- import { HttpError } from "../../utils/errors.js";
3
- class UsageAlertsService {
4
- static async get(params) {
5
- const serviceContext = {
6
- method: {
7
- name: `UsageAlertsService.get`,
8
- url: `api/usage-alerts/${params.params.orgId}`,
9
- normalizedUrl: `api/usage-alerts/:orgId`,
10
- type: "get"
11
- },
12
- source: params.config.metrics?.source || "unset",
13
- target: {
14
- name: "accounts",
15
- type: "internal"
16
- }
17
- };
18
- const response = await request({
19
- ...params,
20
- base: {
21
- id: "accounts"
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 create(params) {
37
- const serviceContext = {
38
- method: {
39
- name: `UsageAlertsService.create`,
40
- url: `api/usage-alerts/${params.params.orgId}/${params.params.metric}`,
41
- normalizedUrl: `api/usage-alerts/:orgId/:metric`,
42
- type: "post"
43
- },
44
- source: params.config.metrics?.source || "unset",
45
- target: {
46
- name: "accounts",
47
- type: "internal"
48
- }
49
- };
50
- const response = await request({
51
- config: params.config,
52
- base: {
53
- id: "accounts"
54
- },
55
- url: serviceContext.method.url,
56
- method: serviceContext.method.type,
57
- metricsDetails: serviceContext,
58
- body: {
59
- threshold: params.params.threshold,
60
- enabled: params.params.enabled
61
- }
62
- });
63
- if (!response.ok) {
64
- throw new HttpError(
65
- `${serviceContext.method.name}: ${response.status} ${response.statusText}`,
66
- response.status,
67
- response.statusText
68
- );
69
- }
70
- return response.body;
71
- }
72
- static async patch(params) {
73
- const serviceContext = {
74
- method: {
75
- name: `UsageAlertsService.patch`,
76
- url: `api/usage-alerts/${params.params.orgId}/${params.params.usageAlertId}`,
77
- normalizedUrl: `api/usage-alerts/:orgId/:usageAlertId`,
78
- type: "patch"
79
- },
80
- source: params.config.metrics?.source || "unset",
81
- target: {
82
- name: "accounts",
83
- type: "internal"
84
- }
85
- };
86
- const response = await request({
87
- config: params.config,
88
- base: {
89
- id: "accounts"
90
- },
91
- url: serviceContext.method.url,
92
- method: serviceContext.method.type,
93
- metricsDetails: serviceContext,
94
- body: {
95
- threshold: params.params.threshold,
96
- enabled: params.params.enabled
97
- }
98
- });
99
- if (!response.ok) {
100
- throw new HttpError(
101
- `${serviceContext.method.name}: ${response.status} ${response.statusText}`,
102
- response.status,
103
- response.statusText
104
- );
105
- }
106
- return response.body;
107
- }
108
- }
109
- export {
110
- UsageAlertsService
111
- };
112
- //# sourceMappingURL=usage-alerts.service.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/services/accounts/usage-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 UsageAlertDto,\n UsageAlertMetric,\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 GetUsageAlertsParams extends RequestBaseParams {\n params: {\n orgId: string\n }\n}\n\nexport interface CreateUsageAlertParams extends RequestBaseParams {\n params: {\n orgId: string\n metric: UsageAlertMetric\n threshold: number\n enabled: boolean\n }\n}\n\nexport interface PatchUsageAlertParams extends RequestBaseParams {\n params: {\n usageAlertId: string\n orgId: string\n threshold: number\n enabled: boolean\n }\n}\n\nexport class UsageAlertsService {\n public static async get(\n params: GetUsageAlertsParams,\n ): Promise<{ usageAlerts: UsageAlertDto[] }> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `UsageAlertsService.get`,\n url: `api/usage-alerts/${params.params.orgId}`,\n normalizedUrl: `api/usage-alerts/:orgId`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'accounts',\n type: 'internal',\n },\n }\n const response = await request<{ usageAlerts: UsageAlertDto[] }>({\n ...params,\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 create(params: CreateUsageAlertParams) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `UsageAlertsService.create`,\n url: `api/usage-alerts/${params.params.orgId}/${params.params.metric}`,\n normalizedUrl: `api/usage-alerts/:orgId/:metric`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'accounts',\n type: 'internal',\n },\n }\n const response = await request<{ usageAlert: UsageAlertDto }>({\n config: params.config,\n base: {\n id: 'accounts',\n },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: {\n threshold: params.params.threshold,\n enabled: params.params.enabled,\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 patch(params: PatchUsageAlertParams) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `UsageAlertsService.patch`,\n url: `api/usage-alerts/${params.params.orgId}/${params.params.usageAlertId}`,\n normalizedUrl: `api/usage-alerts/:orgId/:usageAlertId`,\n type: 'patch',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'accounts',\n type: 'internal',\n },\n }\n const response = await request<{ usageAlert: UsageAlertDto }>({\n config: params.config,\n base: {\n id: 'accounts',\n },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: {\n threshold: params.params.threshold,\n enabled: params.params.enabled,\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": "AAcA,SAAS,eAAe;AACxB,SAAS,iBAAiB;AA0BnB,MAAM,mBAAmB;AAAA,EAC9B,aAAoB,IAClB,QAC2C;AAC3C,UAAM,iBAA4C;AAAA,MAChD,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,KAAK,oBAAoB,OAAO,OAAO,KAAK;AAAA,QAC5C,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,QAA0C;AAAA,MAC/D,GAAG;AAAA,MACH,MAAM;AAAA,QACJ,IAAI;AAAA,MACN;AAAA,MACA,KAAK,eAAe,OAAO;AAAA,MAC3B,QAAQ,eAAe,OAAO;AAAA,MAC9B,gBAAgB;AAAA,IAClB,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,OAAO,QAAgC;AACzD,UAAM,iBAA4C;AAAA,MAChD,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,KAAK,oBAAoB,OAAO,OAAO,KAAK,IAAI,OAAO,OAAO,MAAM;AAAA,QACpE,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,QAAuC;AAAA,MAC5D,QAAQ,OAAO;AAAA,MACf,MAAM;AAAA,QACJ,IAAI;AAAA,MACN;AAAA,MACA,KAAK,eAAe,OAAO;AAAA,MAC3B,QAAQ,eAAe,OAAO;AAAA,MAC9B,gBAAgB;AAAA,MAChB,MAAM;AAAA,QACJ,WAAW,OAAO,OAAO;AAAA,QACzB,SAAS,OAAO,OAAO;AAAA,MACzB;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,MAAM,QAA+B;AACvD,UAAM,iBAA4C;AAAA,MAChD,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,KAAK,oBAAoB,OAAO,OAAO,KAAK,IAAI,OAAO,OAAO,YAAY;AAAA,QAC1E,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,QAAuC;AAAA,MAC5D,QAAQ,OAAO;AAAA,MACf,MAAM;AAAA,QACJ,IAAI;AAAA,MACN;AAAA,MACA,KAAK,eAAe,OAAO;AAAA,MAC3B,QAAQ,eAAe,OAAO;AAAA,MAC9B,gBAAgB;AAAA,MAChB,MAAM;AAAA,QACJ,WAAW,OAAO,OAAO;AAAA,QACzB,SAAS,OAAO,OAAO;AAAA,MACzB;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
- }
@@ -1,101 +0,0 @@
1
- import { type OrganizationRole, type User } from '@camunda/ccma-shared-types';
2
- import type { RequestBaseParams } from '../../types/general.types.js';
3
- import type { HibobSearchResponse } from '../hibob/hibob.service.js';
4
- export interface SearchParams extends RequestBaseParams {
5
- params: {
6
- q: {
7
- organization?: {
8
- uuid: string;
9
- member: boolean;
10
- };
11
- name?: string;
12
- userId?: string;
13
- roleId?: string;
14
- email?: string;
15
- signUpStatus?: {
16
- verified: boolean;
17
- tokenExpired?: boolean;
18
- };
19
- created?: {
20
- after?: Date;
21
- before?: Date;
22
- };
23
- };
24
- onBehalfOf?: string;
25
- };
26
- }
27
- export interface SimpleSearchParams extends RequestBaseParams {
28
- params: {
29
- query: string;
30
- type: 'by-email' | 'by-id' | 'fuzzy' | 'lucene';
31
- };
32
- }
33
- export interface AddUserToOrganizationRequest extends RequestBaseParams {
34
- params: {
35
- userId: string;
36
- orgId: string;
37
- orgRoles: OrganizationRole[];
38
- byEmail?: boolean;
39
- };
40
- }
41
- export interface RemoveUserFromOrganizationRequest extends RequestBaseParams {
42
- params: {
43
- userId: string;
44
- orgId: string;
45
- byEmail?: boolean;
46
- };
47
- }
48
- export interface UpdateUserRoleRequest extends RequestBaseParams {
49
- params: {
50
- userId: string;
51
- roleToAdd?: string;
52
- roleToRemove?: string;
53
- };
54
- headers?: {
55
- 'x-camunda-email'?: string;
56
- };
57
- }
58
- export declare class UsersService {
59
- static search(params: SearchParams): Promise<User[]>;
60
- static simpleSearch(params: SimpleSearchParams): Promise<{
61
- users: User[];
62
- }>;
63
- static getUserInfo(params: {
64
- userId: string;
65
- basic?: boolean;
66
- } & RequestBaseParams): Promise<User | undefined>;
67
- static addUserToOrganization(params: AddUserToOrganizationRequest): Promise<void>;
68
- static removeUserFromOrganization(params: RemoveUserFromOrganizationRequest): Promise<void>;
69
- /**
70
- * Update a user's role by adding or removing a single role.
71
- * This uses the PATCH /api/users/:userId/roles endpoint.
72
- * Supports email-based auth middleware via the x-camunda-email header.
73
- */
74
- static updateUserRole(params: UpdateUserRoleRequest): Promise<void>;
75
- /**
76
- * Get all Hibob users (for bulk ghost account checks).
77
- * This fetches all active Hibob employees in a single request.
78
- */
79
- static getAllHibobUsers(params: RequestBaseParams): Promise<HibobSearchResponse>;
80
- /**
81
- * Get Hibob details for a specific user by their Auth0 user ID.
82
- */
83
- static getUserHibobDetails(params: {
84
- userId: string;
85
- } & RequestBaseParams): Promise<HibobSearchResponse>;
86
- private static validateUserId;
87
- private static validateEmail;
88
- /**
89
- * Validates a Lucene query string for Auth0 user search.
90
- * Auth0 supports Lucene query syntax including:
91
- * - Field queries: field:value (e.g., email:john@example.com)
92
- * - Wildcards: field:*value*, field:value*
93
- * - Boolean operators: AND, OR, NOT
94
- * - Grouping: (field:value OR field:value)
95
- * - Range queries: field:[min TO max]
96
- * - Exact phrase: field:"exact phrase"
97
- *
98
- * @see https://auth0.com/docs/manage-users/user-search/user-search-query-syntax
99
- */
100
- private static validateLuceneQuery;
101
- }
@@ -1,444 +0,0 @@
1
- import {
2
- MINUTE
3
- } from "@camunda/ccma-shared-types";
4
- import { request } from "../../utils/api.js";
5
- import { Cache } from "../../utils/cache.js";
6
- import { HttpError } from "../../utils/errors.js";
7
- const userCache = new Cache(5 * MINUTE);
8
- const REGEX_EMAIL = (
9
- // eslint-disable-next-line prefer-named-capture-group, no-useless-escape
10
- /^(([^<>()[\]\\.,;:\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
11
- );
12
- class UsersService {
13
- static async search(params) {
14
- const queryParams = new URLSearchParams();
15
- const urlParts = [];
16
- if (params.params.q.roleId) {
17
- const q = {
18
- roleId: params.params.q.roleId,
19
- name: params.params.q.name || "",
20
- email: params.params.q.email || ""
21
- };
22
- queryParams.append("q", JSON.stringify(q));
23
- urlParts.push(...["api", "users", `?${queryParams.toString()}`]);
24
- } else {
25
- if (params.params.onBehalfOf) {
26
- queryParams.append(
27
- "onBehalfOf",
28
- encodeURI(JSON.stringify(params.params.onBehalfOf))
29
- );
30
- }
31
- queryParams.append("q", encodeURI(JSON.stringify(params.params.q)));
32
- urlParts.push(...["api", "users", "search", `?${queryParams.toString()}`]);
33
- }
34
- const serviceContext = {
35
- method: {
36
- name: `UsersService.search`,
37
- url: urlParts.join(`/`),
38
- normalizedUrl: `api/users/search`,
39
- type: "get"
40
- },
41
- source: params.config.metrics?.source || "unset",
42
- target: {
43
- name: "accounts",
44
- type: "internal"
45
- }
46
- };
47
- if (params.params.q.userId) {
48
- UsersService.validateUserId(serviceContext, params.params.q.userId);
49
- }
50
- const response = await request({
51
- config: params.config,
52
- base: {
53
- id: "accounts"
54
- },
55
- url: serviceContext.method.url,
56
- method: serviceContext.method.type,
57
- metricsDetails: serviceContext
58
- });
59
- if (!response.ok) {
60
- throw new HttpError(
61
- `${serviceContext.method.name}: ${response.status} ${response.statusText}`,
62
- response.status,
63
- response.statusText
64
- );
65
- }
66
- return response.body;
67
- }
68
- static async simpleSearch(params) {
69
- const serviceContext = {
70
- method: {
71
- name: `UsersService.simpleSearch`,
72
- url: `api/users/search`,
73
- normalizedUrl: `api/users/search`,
74
- type: "post"
75
- },
76
- source: params.config.metrics?.source || "unset",
77
- target: {
78
- name: "accounts",
79
- type: "internal"
80
- }
81
- };
82
- switch (params.params.type) {
83
- case "by-email":
84
- UsersService.validateEmail(serviceContext, params.params.query);
85
- break;
86
- case "by-id":
87
- UsersService.validateUserId(serviceContext, params.params.query);
88
- break;
89
- case "lucene":
90
- UsersService.validateLuceneQuery(serviceContext, params.params.query);
91
- break;
92
- }
93
- const response = await request({
94
- config: params.config,
95
- base: {
96
- id: "accounts"
97
- },
98
- url: serviceContext.method.url,
99
- method: serviceContext.method.type,
100
- body: {
101
- query: params.params.query,
102
- type: params.params.type
103
- },
104
- metricsDetails: serviceContext
105
- });
106
- if (!response.ok) {
107
- throw new HttpError(
108
- `${serviceContext.method.name}: ${response.status} ${response.statusText}`,
109
- response.status,
110
- response.statusText
111
- );
112
- }
113
- return response.body;
114
- }
115
- static async getUserInfo(params) {
116
- const cacheKey = params.basic === true ? `basic-${params.userId}` : params.userId;
117
- if (!params.cacheControl?.ignoreCache) {
118
- const inCache = userCache.get(cacheKey);
119
- if (inCache) {
120
- return inCache;
121
- }
122
- }
123
- let queryParams = "";
124
- if (params.basic === true) {
125
- const searchParams = new URLSearchParams();
126
- searchParams.append("basic", "true");
127
- queryParams = `?${searchParams.toString()}`;
128
- }
129
- const serviceContext = {
130
- method: {
131
- name: `UsersService.getUserInfo`,
132
- url: `api/users/${params.userId}${queryParams}`,
133
- normalizedUrl: `api/users/:userId`,
134
- type: "get"
135
- },
136
- source: params.config.metrics?.source || "unset",
137
- target: {
138
- name: "accounts",
139
- type: "internal"
140
- }
141
- };
142
- UsersService.validateUserId(serviceContext, params.userId);
143
- const response = await request({
144
- ...params,
145
- base: { id: "accounts" },
146
- url: serviceContext.method.url,
147
- method: serviceContext.method.type,
148
- metricsDetails: serviceContext
149
- });
150
- if (!response.ok) {
151
- throw new HttpError(
152
- `${serviceContext.method.name}: ${response.status} ${response.statusText}`,
153
- response.status,
154
- response.statusText
155
- );
156
- }
157
- userCache.set(cacheKey, response.body);
158
- return response.body;
159
- }
160
- static async addUserToOrganization(params) {
161
- const serviceContext = {
162
- method: {
163
- name: `UsersService.addUserToOrganization`,
164
- url: `api/users/${params.params.userId}/organization/${params.params.orgId}`,
165
- normalizedUrl: `api/users/:userId/organization/:orgId`,
166
- type: "put"
167
- },
168
- source: params.config.metrics?.source || "unset",
169
- target: {
170
- name: "accounts",
171
- type: "internal"
172
- }
173
- };
174
- const response = await request({
175
- config: params.config,
176
- base: { id: "accounts" },
177
- url: serviceContext.method.url,
178
- method: serviceContext.method.type,
179
- metricsDetails: serviceContext,
180
- body: {
181
- orgRoles: params.params.orgRoles,
182
- byEmail: params.params.byEmail
183
- },
184
- responseType: "none"
185
- });
186
- if (!response.ok) {
187
- throw new HttpError(
188
- `${serviceContext.method.name}: ${response.status} ${response.statusText}`,
189
- response.status,
190
- response.statusText
191
- );
192
- }
193
- }
194
- static async removeUserFromOrganization(params) {
195
- const serviceContext = {
196
- method: {
197
- name: `UsersService.removeUserFromOrganization`,
198
- url: `api/users/${params.params.userId}/organization/${params.params.orgId}`,
199
- normalizedUrl: `api/users/:userId/organization/:orgId`,
200
- type: "delete"
201
- },
202
- source: params.config.metrics?.source || "unset",
203
- target: {
204
- name: "accounts",
205
- type: "internal"
206
- }
207
- };
208
- const response = await request({
209
- config: params.config,
210
- base: { id: "accounts" },
211
- url: serviceContext.method.url,
212
- method: serviceContext.method.type,
213
- metricsDetails: serviceContext,
214
- body: {
215
- byEmail: params.params.byEmail
216
- },
217
- responseType: "none"
218
- });
219
- if (!response.ok) {
220
- throw new HttpError(
221
- `${serviceContext.method.name}: ${response.status} ${response.statusText}`,
222
- response.status,
223
- response.statusText
224
- );
225
- }
226
- }
227
- /**
228
- * Update a user's role by adding or removing a single role.
229
- * This uses the PATCH /api/users/:userId/roles endpoint.
230
- * Supports email-based auth middleware via the x-camunda-email header.
231
- */
232
- static async updateUserRole(params) {
233
- const serviceContext = {
234
- method: {
235
- name: `UsersService.updateUserRole`,
236
- url: `api/users/${encodeURIComponent(params.params.userId)}/roles`,
237
- normalizedUrl: `api/users/:userId/roles`,
238
- type: "patch"
239
- },
240
- source: params.config.metrics?.source || "unset",
241
- target: {
242
- name: "accounts",
243
- type: "internal"
244
- }
245
- };
246
- UsersService.validateUserId(serviceContext, params.params.userId);
247
- if (!params.params.roleToAdd && !params.params.roleToRemove) {
248
- throw new HttpError(
249
- `${serviceContext.method.name}: 400 - Validation Error in API Package - either roleToAdd or roleToRemove must be specified`,
250
- 400,
251
- `Validation Error in API Package - either roleToAdd or roleToRemove must be specified`
252
- );
253
- }
254
- const body = {};
255
- if (params.params.roleToAdd) {
256
- body.roleToAdd = params.params.roleToAdd;
257
- }
258
- if (params.params.roleToRemove) {
259
- body.roleToRemove = params.params.roleToRemove;
260
- }
261
- const response = await request({
262
- config: params.config,
263
- base: { id: "accounts" },
264
- url: serviceContext.method.url,
265
- method: serviceContext.method.type,
266
- metricsDetails: serviceContext,
267
- body,
268
- headers: params.headers,
269
- responseType: "none"
270
- });
271
- if (!response.ok) {
272
- throw new HttpError(
273
- `${serviceContext.method.name}: ${response.status} ${response.statusText}`,
274
- response.status,
275
- response.statusText
276
- );
277
- }
278
- }
279
- /**
280
- * Get all Hibob users (for bulk ghost account checks).
281
- * This fetches all active Hibob employees in a single request.
282
- */
283
- static async getAllHibobUsers(params) {
284
- const serviceContext = {
285
- method: {
286
- name: "UsersService.getAllHibobUsers",
287
- url: "api/users/hibob/all",
288
- normalizedUrl: "api/users/hibob/all",
289
- type: "get"
290
- },
291
- source: params.config.metrics?.source || "unset",
292
- target: {
293
- name: "accounts",
294
- type: "internal"
295
- }
296
- };
297
- const response = await request({
298
- ...params,
299
- base: { id: "accounts" },
300
- url: serviceContext.method.url,
301
- method: serviceContext.method.type,
302
- metricsDetails: serviceContext
303
- });
304
- if (!response.ok) {
305
- throw new HttpError(
306
- `${serviceContext.method.name}: ${response.status} ${response.statusText}`,
307
- response.status,
308
- response.statusText
309
- );
310
- }
311
- return response.body;
312
- }
313
- /**
314
- * Get Hibob details for a specific user by their Auth0 user ID.
315
- */
316
- static async getUserHibobDetails(params) {
317
- const serviceContext = {
318
- method: {
319
- name: "UsersService.getUserHibobDetails",
320
- url: `api/users/${encodeURIComponent(params.userId)}/hibob`,
321
- normalizedUrl: "api/users/:userId/hibob",
322
- type: "get"
323
- },
324
- source: params.config.metrics?.source || "unset",
325
- target: {
326
- name: "accounts",
327
- type: "internal"
328
- }
329
- };
330
- const response = await request({
331
- ...params,
332
- base: { id: "accounts" },
333
- url: serviceContext.method.url,
334
- method: serviceContext.method.type,
335
- metricsDetails: serviceContext
336
- });
337
- if (!response.ok) {
338
- throw new HttpError(
339
- `${serviceContext.method.name}: ${response.status} ${response.statusText}`,
340
- response.status,
341
- response.statusText
342
- );
343
- }
344
- return response.body;
345
- }
346
- static validateUserId(serviceContext, userId) {
347
- if (!userId || !userId.includes("|")) {
348
- throw new HttpError(
349
- `${serviceContext.method.name}: 400 - Validation Error in API Package - missing pipe '|'`,
350
- 400,
351
- `Validation Error in API Package - missing pipe '|'`
352
- );
353
- }
354
- }
355
- static validateEmail(serviceContext, email) {
356
- if (!email || !REGEX_EMAIL.test(email)) {
357
- throw new HttpError(
358
- `${serviceContext.method.name}: 400 - Validation Error in API Package - invalid email format`,
359
- 400,
360
- `Validation Error in API Package - invalid email format`
361
- );
362
- }
363
- }
364
- /**
365
- * Validates a Lucene query string for Auth0 user search.
366
- * Auth0 supports Lucene query syntax including:
367
- * - Field queries: field:value (e.g., email:john@example.com)
368
- * - Wildcards: field:*value*, field:value*
369
- * - Boolean operators: AND, OR, NOT
370
- * - Grouping: (field:value OR field:value)
371
- * - Range queries: field:[min TO max]
372
- * - Exact phrase: field:"exact phrase"
373
- *
374
- * @see https://auth0.com/docs/manage-users/user-search/user-search-query-syntax
375
- */
376
- static validateLuceneQuery(serviceContext, query) {
377
- if (!query || query.trim().length === 0) {
378
- throw new HttpError(
379
- `${serviceContext.method.name}: 400 - Validation Error in API Package - empty Lucene query`,
380
- 400,
381
- `Validation Error in API Package - empty Lucene query`
382
- );
383
- }
384
- const trimmedQuery = query.trim();
385
- let parenCount = 0;
386
- for (const char of trimmedQuery) {
387
- if (char === "(") parenCount++;
388
- if (char === ")") parenCount--;
389
- if (parenCount < 0) {
390
- throw new HttpError(
391
- `${serviceContext.method.name}: 400 - Validation Error in API Package - unbalanced parentheses in Lucene query`,
392
- 400,
393
- `Validation Error in API Package - unbalanced parentheses in Lucene query`
394
- );
395
- }
396
- }
397
- if (parenCount !== 0) {
398
- throw new HttpError(
399
- `${serviceContext.method.name}: 400 - Validation Error in API Package - unbalanced parentheses in Lucene query`,
400
- 400,
401
- `Validation Error in API Package - unbalanced parentheses in Lucene query`
402
- );
403
- }
404
- let bracketCount = 0;
405
- for (const char of trimmedQuery) {
406
- if (char === "[") bracketCount++;
407
- if (char === "]") bracketCount--;
408
- if (bracketCount < 0) {
409
- throw new HttpError(
410
- `${serviceContext.method.name}: 400 - Validation Error in API Package - unbalanced brackets in Lucene query`,
411
- 400,
412
- `Validation Error in API Package - unbalanced brackets in Lucene query`
413
- );
414
- }
415
- }
416
- if (bracketCount !== 0) {
417
- throw new HttpError(
418
- `${serviceContext.method.name}: 400 - Validation Error in API Package - unbalanced brackets in Lucene query`,
419
- 400,
420
- `Validation Error in API Package - unbalanced brackets in Lucene query`
421
- );
422
- }
423
- const quoteCount = (trimmedQuery.match(/"/gu) || []).length;
424
- if (quoteCount % 2 !== 0) {
425
- throw new HttpError(
426
- `${serviceContext.method.name}: 400 - Validation Error in API Package - unbalanced quotes in Lucene query`,
427
- 400,
428
- `Validation Error in API Package - unbalanced quotes in Lucene query`
429
- );
430
- }
431
- const hasFieldValue = /\b\w+:/u.test(trimmedQuery);
432
- if (!hasFieldValue) {
433
- throw new HttpError(
434
- `${serviceContext.method.name}: 400 - Validation Error in API Package - Lucene query must contain field:value syntax (e.g., email:john@example.com)`,
435
- 400,
436
- `Validation Error in API Package - Lucene query must contain field:value syntax (e.g., email:john@example.com)`
437
- );
438
- }
439
- }
440
- }
441
- export {
442
- UsersService
443
- };
444
- //# sourceMappingURL=users.service.js.map