@camunda/ccma-api 5.14.0 → 5.15.0
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.
- package/dist/index.d.ts +1 -1
- package/dist/index.js.map +2 -2
- package/dist/services/accounts/approvals.m2m.service.d.ts +5 -0
- package/dist/services/accounts/approvals.m2m.service.js.map +2 -2
- package/dist/services/accounts/users.service.d.ts +12 -0
- package/dist/services/accounts/users.service.js +33 -0
- package/dist/services/accounts/users.service.js.map +2 -2
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -49,7 +49,7 @@ export type { GetOrgTrialDetailParams, GetTrialManagementOrgsParams, GetTrialMan
|
|
|
49
49
|
export { TrialManagementService } from './services/accounts/trial-management.service.js';
|
|
50
50
|
export type { CreateUsageAlertParams, GetUsageAlertsParams, PatchUsageAlertParams, } from './services/accounts/usage-alerts.service.js';
|
|
51
51
|
export { UsageAlertsService } from './services/accounts/usage-alerts.service.js';
|
|
52
|
-
export type { AddUserToOrganizationRequest, ChangeUserEmailRequest, ChangeUserNameRequest, DeleteMeRequest, RemoveStaleOrganizationRequest, RemoveUserFromOrganizationRequest, SearchParams, SetDefaultOrgRequest, SimpleSearchParams, UpdateUserRoleRequest, UserIdRequest, } from './services/accounts/users.service.js';
|
|
52
|
+
export type { AddUserToOrganizationRequest, ChangeUserEmailRequest, ChangeUserNameRequest, DeleteMeRequest, PurgeUserResult, RemoveStaleOrganizationRequest, RemoveUserFromOrganizationRequest, SearchParams, SetDefaultOrgRequest, SimpleSearchParams, UpdateUserRoleRequest, UserIdRequest, } from './services/accounts/users.service.js';
|
|
53
53
|
export { UsersService } from './services/accounts/users.service.js';
|
|
54
54
|
export type { CreateAlertSubscription, DeleteAlertSubscription, GetAlertSubscriptions, UpdateAlertSubscription, } from './services/alerts/alerts.service.js';
|
|
55
55
|
export { AlertsService } from './services/alerts/alerts.service.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/index.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\nexport type {\n GetDataExportRequest,\n GetDataExportResponse,\n} from './services/accounts/accounts.data-export.service.js'\n// accounts services\nexport { AccountsDataExportService } from './services/accounts/accounts.data-export.service.js'\nexport type { GetValueMetricsPerDayParams } from './services/accounts/accounts.valuemetrics.service.js'\nexport type {\n DownloadDatabaseDumpParams,\n TriggerValueMetricsCronParams,\n} from './services/accounts/admin-tools.service.js'\nexport { AdminToolsService } from './services/accounts/admin-tools.service.js'\nexport type {\n AutomatedEnterpriseOnboardingThroughApprovalRequest,\n ChangeClusterPlanLinkThroughApprovalRequest,\n ChangeClusterPlanLinkThroughApprovalResult,\n ChangeGenerationLinkThroughApprovalRequest,\n ChangeGenerationLinkThroughApprovalResult,\n ChangeOrgLimitThroughApprovalRequest,\n ChangePlatformRolesThroughApprovalRequest,\n ChangePlatformRolesThroughApprovalResult,\n ChangeSalesPlanThroughApprovalRequest,\n ChangeUserEmailThroughApprovalRequest,\n CheckOrgOwnerRequest,\n CreatePersonalOrganizationThroughApprovalRequest,\n CreatePersonalOrganizationThroughApprovalResult,\n DeleteOrganizationThroughApprovalRequest,\n DeleteOrganizationThroughApprovalResult,\n DeleteSsoConnectionThroughApprovalRequest,\n DeleteSsoConnectionThroughApprovalResult,\n DeleteUserThroughApprovalRequest,\n DeleteUserThroughApprovalResult,\n ExtendTrialThroughApprovalRequest,\n OnboardToEnterpriseClusterMapping,\n OnboardToEnterpriseContract,\n OnboardToEnterpriseThroughApprovalRequest,\n OrgLimitValue,\n SendToExpiredTrialThroughApprovalRequest,\n UnlinkClusterPlanFromMemberOrganizationsRequest,\n UnlinkClusterPlanFromMemberOrganizationsResult,\n UnlinkGenerationFromMemberOrganizationsRequest,\n UnlinkGenerationFromMemberOrganizationsResult,\n UpdateReservationsThroughApprovalRequest,\n UpdateUserMetadataThroughApprovalRequest,\n} from './services/accounts/approvals.m2m.service.js'\nexport { AccountsApprovalsM2MService } from './services/accounts/approvals.m2m.service.js'\nexport { AccountsBotService } from './services/accounts/bot.service.js'\nexport type {\n BugReportRequest,\n BugReportRequestBody,\n BugReportResponse,\n} from './services/accounts/bug-report.service.js'\nexport { BugReportService } from './services/accounts/bug-report.service.js'\nexport type {\n CancelMatchParams,\n CancelMatchResponse,\n GameInfo,\n GetGameInfoParams,\n GetHighscoresParams,\n GetHighscoresResponse,\n GetMatchStateParams,\n GetOrganizationalGroupsParams,\n GetOrganizationalGroupsResponse,\n GetRunningMatchesParams,\n GetRunningMatchesResponse,\n HighscoreEntry,\n InitiateMatchParams,\n InitiateMatchResponse,\n JoinMatchParams,\n JoinMatchResponse,\n Match,\n Player,\n PlayerAnswer,\n Question,\n QuestionChoice,\n SlackProfile,\n StartMatchParams,\n StartMatchResponse,\n SubmitAnswerParams,\n SubmitAnswerResponse,\n} from './services/accounts/challenge.service.js'\nexport { ChallengeService } from './services/accounts/challenge.service.js'\nexport type {\n AzureConnectionPayload,\n Connection,\n ConnectionPayload,\n ConnectionUserDto,\n ConnectionWriteStrategy,\n CreateConnectionParams,\n DeleteConnectionParams,\n GetConnectionParams,\n GetConnectionsParams,\n SamlConnectionPayload,\n UpdateConnectionParams,\n} from './services/accounts/connections.service.js'\nexport { ConnectionsService } from './services/accounts/connections.service.js'\nexport type { GetEngineeringOperationsDashboardRequest } from './services/accounts/dashboards.service.js'\nexport { DashboardsService } from './services/accounts/dashboards.service.js'\nexport type {\n CreateEarlyAccessFeatureParams,\n DeleteEarlyAccessFeatureParams,\n EarlyAccessFeatureActivationDto,\n EarlyAccessFeatureDto,\n EarlyAccessFeatureOrgDto,\n EarlyAccessFeatureSalesPlanConfigDto,\n GetEarlyAccessFeatureOrgsParams,\n GetEarlyAccessFeaturesForOrgParams,\n SetEarlyAccessFeatureActivationParams,\n UpdateEarlyAccessFeatureParams,\n} from './services/accounts/early-access-features.service.js'\nexport { EarlyAccessFeaturesService } from './services/accounts/early-access-features.service.js'\nexport { GenericCacheService } from './services/accounts/genericCache.service.js'\nexport type {\n GetActiveOrgsRequest,\n GetActiveOrgsResponse,\n GetBackendChangeEventsRequest,\n GetClusterActivityRequest,\n GetClusterCapacityRequest,\n GetClusterDiskUsageParams,\n GetClusterDiskUsageRequest,\n GetClusterHostingCostRequest,\n GetClusterHostingCostResponse,\n GetLlmUsageRequest,\n GetTenantUsageRequest,\n GetUsageMetricsRequest,\n GetUsageMetricsResponse,\n LlmUsageEntry,\n QueryChartRequest,\n} from './services/accounts/hdp.service.js'\nexport { HdpService } from './services/accounts/hdp.service.js'\nexport {\n type InviteDto,\n InvitesService,\n type SearchInvitesRequest,\n} from './services/accounts/invites.service.js'\nexport type { GetM2mTokenCountsRequest } from './services/accounts/logs.service.js'\nexport { AccountsLogsService } from './services/accounts/logs.service.js'\nexport type {\n OffboardCamundiRequest,\n OffboardCamundiResponse,\n} from './services/accounts/offboarding.service.js'\nexport { OffboardingService } from './services/accounts/offboarding.service.js'\nexport type {\n AssignNewOwnerParams,\n AssignNewOwnerResponse,\n CancelOrganizationInviteParams,\n GetOrganizationMembersParams,\n LeaveOrganizationParams,\n OrganizationMemberDto,\n OrganizationMemberInviteDto,\n RemoveUserFromOrganizationParams,\n ResendOrganizationInviteParams,\n UpdateOrganizationMemberRolesParams,\n} from './services/accounts/organization-members.service.js'\nexport { OrganizationMembersService } from './services/accounts/organization-members.service.js'\nexport type {\n AutomatedEnterpriseOnboardingRequest,\n AutomatedEnterpriseOnboardingResult,\n AwsOnlyRequest,\n BlockLiteLLMParams,\n ChangeSalesPlanRequest,\n CheckUserExistsForInviteRequest,\n CheckUserExistsForInviteResponse,\n ConvertTrialToInNegotiationRequest,\n DeleteOrganizationRequest,\n EnterpriseDevOnlyRequest,\n ExtendTrialRequest,\n GetLLMUsageInfoParams,\n GetQueuedOperationsParams,\n GetSubscriptionDetailsParams,\n GetSubscriptionDetailsResponse,\n GetSubscriptionItemsParams,\n IncreaseLLMBudgetParams,\n IncreaseLLMBudgetResponse,\n LicensingModelRequest,\n LLMUsageInfoResponse,\n OnboardLiteLLMParams,\n OrgClusterDefaultsRequest,\n OrgClusterDefaultsResponse,\n OrgInfo,\n QueuedOperationDto,\n RenameOrganizationRequest,\n ResetTrialExtensionsRequest,\n SelfExtendTrialRequest,\n SendInviteRequest,\n SetBetaTermsAcceptedRequest,\n SetLimitRequest,\n UnblockLiteLLMParams,\n UpdateOrgClusterDefaultsRequest,\n UpdateOrgLimitAsMemberRequest,\n UpdateOrgLimitAsMemberResponse,\n UpdateSuppressDropDisksRequest,\n UpdateSuppressDropDisksResponse,\n} from './services/accounts/orgs.service.js'\nexport { OrgsService } from './services/accounts/orgs.service.js'\nexport type {\n GetControlSessionRequest,\n GetOrganizationV2Request,\n ListOrganizationsV2Request,\n ListOrgMembersV2Request,\n} from './services/accounts/orgs.v2.service.js'\nexport { OrgsV2Service } from './services/accounts/orgs.v2.service.js'\nexport type {\n CreatePdfWatermarkProjectParams,\n PdfWatermarkAuditEntryDto,\n PdfWatermarkPasswordParams,\n PdfWatermarkProjectDto,\n PdfWatermarkProjectIdParams,\n RecordPdfWatermarkAuditParams,\n SetPdfWatermarkPdfParams,\n UpdatePdfWatermarkProjectParams,\n} from './services/accounts/pdf-watermark.service.js'\nexport { PdfWatermarkService } from './services/accounts/pdf-watermark.service.js'\nexport type {\n FleetQueuedOperationDto,\n ListQueuedOperationsParams,\n QueuedOperationStatus,\n QueuedOperationsResponse,\n QueueHealthDto,\n} from './services/accounts/queued-operations.service.js'\nexport { QueuedOperationsService } from './services/accounts/queued-operations.service.js'\nexport type {\n GetReleaseTrainParams,\n ReleaseTrainInfoDto,\n} from './services/accounts/release-train.service.js'\nexport {\n KNOWN_RELEASE_TRAINS,\n ReleaseTrainService,\n} from './services/accounts/release-train.service.js'\nexport type {\n CreateSalesPlanRequest,\n DeleteSalesPlanRequest,\n GetSalesPlansRequest,\n UpdateSalesPlanMetadataRequest,\n UpdateSalesPlanRequest,\n UpdateSalesPlanReservationsRequest,\n} from './services/accounts/salesplan.service.js'\nexport { SalesPlanService } from './services/accounts/salesplan.service.js'\nexport { SpamDetectionService } from './services/accounts/spam-detection.service.js'\nexport type { GetStatsParams } from './services/accounts/stats.service.js'\nexport { StatsService } from './services/accounts/stats.service.js'\nexport type { PostTracesRequest } from './services/accounts/telemetry-ingest.service.js'\nexport { TelemetryIngestService } from './services/accounts/telemetry-ingest.service.js'\nexport type {\n InvalidateTokenByClientParams,\n InvalidateTokenParams,\n} from './services/accounts/token-issuer.service.js'\nexport { TokenIssuerService } from './services/accounts/token-issuer.service.js'\nexport type {\n GetOrgTrialDetailParams,\n GetTrialManagementOrgsParams,\n GetTrialManagementParams,\n} from './services/accounts/trial-management.service.js'\nexport { TrialManagementService } from './services/accounts/trial-management.service.js'\nexport type {\n CreateUsageAlertParams,\n GetUsageAlertsParams,\n PatchUsageAlertParams,\n} from './services/accounts/usage-alerts.service.js'\nexport { UsageAlertsService } from './services/accounts/usage-alerts.service.js'\nexport type {\n AddUserToOrganizationRequest,\n ChangeUserEmailRequest,\n ChangeUserNameRequest,\n DeleteMeRequest,\n RemoveStaleOrganizationRequest,\n RemoveUserFromOrganizationRequest,\n SearchParams,\n SetDefaultOrgRequest,\n SimpleSearchParams,\n UpdateUserRoleRequest,\n UserIdRequest,\n} from './services/accounts/users.service.js'\nexport { UsersService } from './services/accounts/users.service.js'\nexport type {\n CreateAlertSubscription,\n DeleteAlertSubscription,\n GetAlertSubscriptions,\n UpdateAlertSubscription,\n} from './services/alerts/alerts.service.js'\n// alerts services\nexport { AlertsService } from './services/alerts/alerts.service.js'\nexport type {\n AddAnalyticBridgeRequest,\n AddClusterAnalyticBridgeRequest,\n} from './services/analytic-bridge/analytic-bridge.service.js'\n// analytic-bridge services\nexport { AnalyticBridgeService } from './services/analytic-bridge/analytic-bridge.service.js'\nexport type {\n AskBackendBaseParams,\n AskBackendGetOrgClustersParams,\n AskBackendOrgParams,\n AskBackendRunQueryParams,\n AskBackendSearchOrgsParams,\n OrgClusterRow,\n OrgDetail,\n OrgMemberInfo,\n OrgOwnerInfo,\n OrgSummary,\n} from './services/ask-backend/ask-backend.service.js'\n// ask-backend service\nexport { AskBackendService } from './services/ask-backend/ask-backend.service.js'\nexport type {\n AddAuditRequest,\n GetAuditRequest,\n GetClusterAuditRequest,\n} from './services/audit-logger/audit-logger.service.js'\n// audit-logger services\nexport { AuditLoggerService } from './services/audit-logger/audit-logger.service.js'\nexport type {\n AddSystemAuditRequest,\n GetSystemAuditRequest,\n} from './services/audit-logger/audit-logger.system.service.js'\nexport { SystemAuditLoggerService } from './services/audit-logger/audit-logger.system.service.js'\nexport type { Auth0Request } from './services/auth0/auth0.service.js'\n// auth0 services\nexport { Auth0Service } from './services/auth0/auth0.service.js'\nexport type { CommBridgeClientRequest } from './services/comm-bridge/comm-bridge.service.js'\n// comm-bridge services\nexport { CommBridgeService } from './services/comm-bridge/comm-bridge.service.js'\nexport type {\n AdminClusterAutoUpdateRequest,\n AdminClusterDetailsDto,\n AdminClusterNonSpotNodesRequest,\n AdminClusterOptionalTelemetryRequest,\n AdminClusterTtlRequest,\n CreateLiteLLMSecretsForOrgRequest,\n GetAdminClusterDetailsRequest,\n GetClusterCrdStateRequest,\n GetClusterRequest,\n GetSpecExplainerRequest,\n GetValueMetricsMetadataRequest,\n GetValueMetricsUsageDataPerDayRequest,\n ModificationsAnswer,\n RemoveLlmSecretsForOrgRequest,\n RemoveLlmSecretsForOrgResponse,\n RepointLlmSecretsForOrgRequest,\n RepointLlmSecretsForOrgResponse,\n RotateLiteLLMKeySecretsForOrgRequest,\n RotateLiteLLMKeySecretsForOrgResponse,\n SignalSignupRequest,\n SpecExplainerFieldAnnotation,\n SpecExplainerFieldSource,\n SpecExplainerResponse,\n UpdateClusterMetricsStartDateRequest,\n UpdateClusterToNewPlanTypeRequest,\n} from './services/console/console.admin.service.js'\n// console services\nexport { ConsoleAdminService } from './services/console/console.admin.service.js'\nexport {\n type CheckConsoleAlertParams,\n type CheckConsoleAlertResponse,\n ConsoleAlertsService,\n type CreateConsoleAlertParams,\n type DeleteConsoleAlertParams,\n type GetConsoleAlertsParams,\n type UpdateConsoleAlertParams,\n} from './services/console/console.alerts.service.js'\nexport {\n type ConsoleApiClientDto,\n ConsoleApiClientsService,\n type CreateConsoleApiClientParams,\n type CreateConsoleApiClientResponse,\n type DeleteConsoleApiClientParams,\n type GetConsoleApiClientsParams,\n type UpdateConsoleApiClientParams,\n} from './services/console/console.api-clients.service.js'\nexport type {\n AnnounceClusterBulkPlanUpdateRequest,\n ApplySelfServiceModificationRequest,\n ChangeClusterPlanTypeThroughApprovalRequest,\n ChangeGenerationVersionsThroughApprovalRequest,\n CheckCustomClusterPlanRemovalRequest,\n CheckCustomGenerationRemovalRequest,\n CreateCustomClusterPlanThroughApprovalRequest,\n CreateCustomGenerationThroughApprovalRequest,\n CustomClusterPlanThroughApprovalResult,\n CustomGenerationThroughApprovalResult,\n DeactivateSelfServiceModificationRequest,\n DeleteClusterOfPlanTypeThroughApprovalRequest,\n DeleteClusterPastTtlThroughApprovalRequest,\n DeleteClusterPlanTypeThroughApprovalRequest,\n DeleteCustomClusterPlanThroughApprovalRequest,\n DeleteCustomGenerationThroughApprovalRequest,\n DeleteInternalBackupThroughApprovalRequest,\n MoveClusterOwnerThroughApprovalRequest,\n PreviewReleaseTrainPublishRequest,\n PreviewReleaseTrainRollbackRequest,\n PublishReleaseTrainThroughApprovalRequest,\n PublishReleaseTrainThroughApprovalResult,\n ReadClusterPlanTypeClustersRequest,\n ReadClusterPlanTypeStateRequest,\n ReleaseTrainPublishRequest,\n ReleaseTrainRollbackRequest,\n RollbackReleaseTrainThroughApprovalRequest,\n RollbackReleaseTrainThroughApprovalResult,\n RunClusterBulkStepThroughApprovalRequest,\n} from './services/console/console.approvals.m2m.service.js'\nexport { ConsoleApprovalsM2MService } from './services/console/console.approvals.m2m.service.js'\nexport {\n ConsoleBackupScheduleService,\n type GetConsoleBackupScheduleParams,\n type UpdateConsoleBackupScheduleParams,\n} from './services/console/console.backup-schedule.service.js'\nexport {\n ConsoleByokScriptsService,\n type GetConsoleByokKmsPolicyParams,\n type GetConsoleByokScriptParams,\n} from './services/console/console.byok-scripts.service.js'\nexport {\n type ActivateConsoleByomMonitoringParams,\n type ByomMonitoringClientsResponseDto,\n type ByomMonitoringClientWithPasswordDto,\n ConsoleByomMonitoringService,\n type CreateConsoleByomMonitoringClientParams,\n type DeactivateConsoleByomMonitoringParams,\n type DeleteConsoleByomMonitoringClientParams,\n type GetConsoleByomMonitoringClientsParams,\n type RotateConsoleByomMonitoringClientPasswordParams,\n} from './services/console/console.byom-monitoring.service.js'\nexport {\n ChannelService,\n type ConsoleChannelDto,\n type CreateConsoleChannelParams,\n type DeleteConsoleChannelParams,\n type GetConsoleChannelsParams,\n type UpdateConsoleChannelParams,\n} from './services/console/console.channel.service.js'\nexport type {\n ConsoleClusterCarryOverResult,\n CreateConsoleClusterRequest,\n CreateConsoleClusterResponse,\n DeleteConsoleClusterRequest,\n DeleteExternalIdpRequest,\n DuplicateConsoleClusterRequest,\n DuplicateConsoleClusterResponse,\n FailoverConsoleClusterRequest,\n FailoverConsoleClusterResult,\n GetAdminClusterRequest,\n GetConsoleClusterRequest,\n GetConsoleClustersRequest,\n MoveClusterOwnerRequest,\n ProxyOrchestrationClusterRequest,\n SuspendConsoleClusterRequest,\n UpdateClusterRequest,\n UpdateExternalIdpSecretRequest,\n WakeConsoleClusterRequest,\n} from './services/console/console.cluster.service.js'\nexport { ConsoleClusterService } from './services/console/console.cluster.service.js'\nexport type {\n GetClusterParametersV2Request,\n GetClusterV2Request,\n ListClustersV2Request,\n ListOrgClustersV2Request,\n} from './services/console/console.cluster.v2.service.js'\nexport { ConsoleClusterV2Service } from './services/console/console.cluster.v2.service.js'\nexport {\n type ConsoleClusterClientDto,\n ConsoleClusterClientsService,\n type CreateConsoleClusterClientParams,\n type CreateConsoleClusterClientResponse,\n type DeleteConsoleClusterClientParams,\n type GetConsoleClusterClientsParams,\n type RotateConsoleClusterClientSecretParams,\n type RotateConsoleClusterClientSecretResponse,\n type UpdateConsoleClusterClientParams,\n} from './services/console/console.cluster-clients.service.js'\nexport {\n type ConsoleClusterCreationParametersChannel,\n type ConsoleClusterCreationParametersClusterPlanType,\n type ConsoleClusterCreationParametersGeneration,\n type ConsoleClusterCreationParametersRegion,\n type ConsoleClusterCreationParametersRegionBackup,\n type ConsoleClusterCreationParametersRegionBackupRegion,\n type ConsoleClusterCreationParametersResponse,\n type ConsoleClusterCreationParametersUnlockedClusterPlan,\n ConsoleClusterParametersService,\n type GetConsoleClusterCreationParametersRequest,\n} from './services/console/console.cluster-parameters.service.js'\nexport { ConsoleClusterBulkOperationService } from './services/console/console.clusterBulkOperation.service.js'\nexport { ClusterPlanModificationService } from './services/console/console.clusterplan.modification.service.js'\nexport type {\n CreateClusterPlanParams,\n DeleteClusterPlanParams,\n UpdateMigratableFromParams,\n UpdatePerformanceExpectationsParams,\n} from './services/console/console.clusterplan.service.js'\nexport { ClusterPlanService } from './services/console/console.clusterplan.service.js'\nexport {\n ClusterPlanTypeService,\n type CreateClusterPlanTypeParams,\n type DeleteClusterPlanTypeParams,\n type GetClusterPlanTypesParams,\n type SetClusterPlanTypeLimitsParams,\n type UpdateClusterPlanTypeParams,\n} from './services/console/console.clusterplantype.service.js'\nexport {\n ConsoleConnectorSecretsService,\n type DeleteConsoleConnectorSecretParams,\n type GetConsoleConnectorSecretsParams,\n type PutConsoleConnectorSecretParams,\n} from './services/console/console.connector-secrets.service.js'\nexport type {\n ConsoleCustomMetricsRequest,\n ConsoleCustomMetricsResponse,\n} from './services/console/console.custommetrics.service.js'\nexport { ConsoleCustomMetricsService } from './services/console/console.custommetrics.service.js'\nexport {\n ConsoleHotBackupsService,\n type CreateConsoleHotBackupParams,\n type CreateConsoleInternalBackupParams,\n type DeleteConsoleHotBackupParams,\n type DeleteConsoleInternalBackupParams,\n type GetConsoleHotBackupsParams,\n type GetConsoleInternalBackupsParams,\n type RestoreConsoleHotBackupParams,\n type RetryConsoleHotBackupParams,\n} from './services/console/console.hotbackups.service.js'\nexport {\n ConsoleIpWhitelistService,\n type IpWhitelistEntryDto,\n type UpdateConsoleIpWhitelistParams,\n} from './services/console/console.ip-whitelist.service.js'\nexport type {\n SaaSJobsBaseParams,\n SaaSJobsErrorsParams,\n SaaSJobsGlobalParams,\n SaaSJobsOverviewParams,\n SaaSJobsTimeSeriesParams,\n SaaSJobsWorkersParams,\n} from './services/console/console.jobs.saas.service.js'\nexport { SaaSJobsService } from './services/console/console.jobs.saas.service.js'\nexport {\n type GetK8sContextsParams,\n K8sContextService,\n} from './services/console/console.k8scontext.service.js'\nexport type {\n VerifyApiClientCredentialsResponse,\n VerifyClientCredentialsRequest,\n VerifyZeebeClientCredentialsResponse,\n} from './services/console/console.m2m.service.js'\nexport { ConsoleM2MService } from './services/console/console.m2m.service.js'\nexport {\n type ActivateSecureConnectivityParams,\n ConsoleSecureConnectivityService,\n type DeactivateSecureConnectivityParams,\n type GetSecureConnectivityStatusParams,\n type SecureConnectivityStatusDto,\n type UpdateSecureConnectivityParams,\n} from './services/console/console.secure-connectivity.service.js'\nexport {\n type GetStorybookConfigParams,\n StorybookConfigService,\n} from './services/console/console.storybook-config.service.js'\nexport { ConsoleValueMetricsService } from './services/console/console.valuemetrics.service.js'\n\nexport {\n type CreateGenerationParams,\n type DeleteGenerationParams,\n type DryRunPublishReleaseTrainResponse,\n type DryRunRollbackReleaseTrainResponse,\n GenerationService,\n type GenerationVersionsInput,\n type ListGenerationsParams,\n type ReleaseTrainGenerationRef,\n type SetGenerationArchivedParams,\n type SetGenerationBespokeParams,\n type UpdateGenerationParams,\n} from './services/console/generation.service.js'\nexport type {\n AddAnnotationNoteRequest,\n AddAnnotationTagRequest,\n AnnotationIdRequest,\n AnnotationPageDto,\n AnnotationPageInfoDto,\n AnnotationTagPageDto,\n AnnotationTargetDto,\n EditAnnotationNoteRequest,\n GetEntityAnnotationsRequest,\n ListAnnotationTagsRequest,\n LookupAnnotationsRequest,\n SearchAnnotationsRequest,\n} from './services/control/control.annotations.service.js'\nexport { ControlAnnotationsService } from './services/control/control.annotations.service.js'\n// control-backend \u2014 the four-eyes approval surface\nexport type {\n ApprovalFacetParams,\n ApprovalIdRequest,\n ApprovalPageDto,\n AutomatedEnterpriseOnboardingPayloadDto,\n ChangeClusterPlanTypePayloadDto,\n ChangeFeatureFlagPayloadDto,\n ChangeGenerationVersionsPayloadDto,\n ChangeGenerationVersionsTargetDto,\n ChangeOrgLimitsPayloadDto,\n ChangePlatformRolesPayloadDto,\n ChangeSalesPlanPayloadDto,\n ChangeUserEmailPayloadDto,\n CountApprovalsRequest,\n CreateApprovalRequest,\n CreateClusterTtlDeletionRequest,\n CreateCustomGenerationPayloadDto,\n CreateCustomHardwareSizingPayloadDto,\n CreatePersonalOrganisationPayloadDto,\n CreatePersonalOrganisationRequest,\n CustomHardwareSizingRequest,\n DeleteInternalBackupPayloadDto,\n DeleteOrganizationPayloadDto,\n DeleteSsoConnectionPayloadDto,\n DeleteUserPayloadDto,\n ExtendTrialPayloadDto,\n FeatureFlagValuesDto,\n ForceDeleteClusterPlanTypePayloadDto,\n LinkCustomGenerationPayloadDto,\n LinkCustomHardwareSizingPayloadDto,\n ListApprovalsRequest,\n MoveClusterOrgPayloadDto,\n OnboardToEnterpriseClusterDto,\n OnboardToEnterprisePayloadDto,\n PurgeUsersPayloadDto,\n RejectApprovalRequest,\n RemoveCustomGenerationPayloadDto,\n RemoveCustomHardwareSizingPayloadDto,\n SelfServiceApprovalRequest,\n SelfServiceClusterModificationPayloadDto,\n SendToExpiredTrialPayloadDto,\n UpdateUserMetadataPayloadDto,\n WithdrawApprovalRequest,\n} from './services/control/control.approvals.service.js'\nexport { ControlApprovalsService } from './services/control/control.approvals.service.js'\n// control-backend \u2014 the dashboards, whose tiles hold filters and never data\nexport type {\n AddDashboardTileRequest,\n CheckChartQueryRequest,\n CreateDashboardRequest,\n DashboardIdRequest,\n ListDashboardsRequest,\n UpdateDashboardRequest,\n} from './services/control/control.dashboards.service.js'\nexport { ControlDashboardsService } from './services/control/control.dashboards.service.js'\nexport type {\n CreateFeatureFlagRequest,\n EvaluateFeatureFlagsRequest,\n FeatureFlagIdRequest,\n UpdateFeatureFlagRequest,\n} from './services/control/control.feature-flags.service.js'\nexport { ControlFeatureFlagsService } from './services/control/control.feature-flags.service.js'\nexport type {\n ControlInfoDto,\n ControlWhoamiDto,\n} from './services/control/control.platform.service.js'\nexport { ControlPlatformService } from './services/control/control.platform.service.js'\n// external services (CORS-enabled webapp navigation surface)\nexport type {\n GetFeatureFlagsParams,\n UpdateUserThemeParams,\n UserThemePreference,\n} from './services/external/external.accounts.service.js'\nexport { ExternalAccountsService } from './services/external/external.accounts.service.js'\nexport type {\n GetOrgClustersParams,\n StreamOrgEventsParams,\n} from './services/external/external.console.service.js'\nexport { ExternalConsoleService } from './services/external/external.console.service.js'\nexport type {\n DismissAllNotificationsParams,\n GetUserNotificationsParams,\n MarkManyNotificationsReadParams,\n SetNotificationStateParams,\n StreamUserNotificationsParams,\n TrackNotificationEventParams,\n UserNotificationAnalyticsEvent,\n} from './services/external/external.notifications.service.js'\nexport { ExternalNotificationsService } from './services/external/external.notifications.service.js'\nexport type {\n GithubCommitComparison,\n GithubCompareCommitsRequest,\n GithubContentItem,\n GithubGetRawFileRequest,\n GithubListDirectoryContentRequest,\n GithubListMajorMinorReleasesRequest,\n GithubListReleasesRequest,\n GithubRelease,\n} from './services/github/github.service.js'\n// github services\nexport { GithubService } from './services/github/github.service.js'\nexport type {\n GleanSearchRequest,\n GleanSearchResult,\n} from './services/glean/glean.service.js'\n// glean services\nexport { GleanService } from './services/glean/glean.service.js'\nexport type {\n HelpCenterCardResponse,\n HelpCenterConfigResponse,\n HelpCenterGetCardsRequest,\n HelpCenterGetConfigRequest,\n} from './services/helpcenter/helpcenter.service.js'\n// helpcenter services\nexport { HelpCenterService } from './services/helpcenter/helpcenter.service.js'\nexport type {\n HibobEmployee,\n HibobGetAllUsersRequest,\n HibobReportsTo,\n HibobSearchRequest,\n HibobSearchResponse,\n} from './services/hibob/hibob.service.js'\n// hibob services\nexport {\n DEPARTMENT as HIBOB_DEPARTMENT_PATH,\n DIVISION as HIBOB_DIVISION_PATH,\n DIVISION_ID as HIBOB_DIVISION_ID,\n HibobService,\n SUB_DIVISION as HIBOB_SUB_DIVISION_PATH,\n SUB_DIVISION_ID as HIBOB_SUB_DIVISION_ID,\n} from './services/hibob/hibob.service.js'\nexport type {\n HubspotChangeContactPropertiesRequest,\n HubspotSubmission,\n HubspotSubmitRequest,\n HubspotTokenRequest,\n HubspotTokenResponse,\n} from './services/hubspot/hubspot.service.js'\n// hubspot services\nexport { HubspotService } from './services/hubspot/hubspot.service.js'\nexport type {\n IncidentIoGetOpenIncidentsRequest,\n OpenIncident,\n} from './services/incident-io/incident-io.service.js'\n// incident.io services\nexport { IncidentIoService } from './services/incident-io/incident-io.service.js'\n// litellm services\nexport type {\n BlockKeyRequest,\n BlockKeyResponse,\n CreateTeamRequest,\n CreateTeamResponse,\n DeleteKeyRequest,\n DeleteKeyResponse,\n DeleteTeamRequest,\n DeleteTeamResponse,\n GenerateKeyRequest,\n GenerateKeyResponse,\n GetKeyInfoRequest,\n GetKeyInfoResponse,\n RegenerateKeyRequest,\n RegenerateKeyResponse,\n UnblockKeyRequest,\n UnblockKeyResponse,\n UpdateKeyBudgetRequest,\n UpdateKeyBudgetResponse,\n UpdateTeamBudgetRequest,\n UpdateTeamBudgetResponse,\n} from './services/litellm/litellm.service.js'\nexport { LiteLLMService } from './services/litellm/litellm.service.js'\nexport type { LoginPayload } from './services/login/login.service.js'\n// login services\nexport { LoginService } from './services/login/login.service.js'\nexport type { MixpanelSetGroupPropertiesOnceRequest } from './services/mixpanel/mixpanel.service.js'\n// mixpanel services\nexport { MixpanelService } from './services/mixpanel/mixpanel.service.js'\n// notifications services\nexport type {\n CreateGlobalNotificationParams,\n CreateNotificationBySalesPlanParams,\n DeleteGlobalNotificationParams,\n UpdateNotificationParams,\n} from './services/notifications/notifications.service.js'\nexport { NotificationsService } from './services/notifications/notifications.service.js'\n// openrouter services\nexport type {\n CreateOpenRouterKeyRequest,\n CreateOpenRouterKeyResponse,\n DeleteOpenRouterKeyRequest,\n DeleteOpenRouterKeyResponse,\n GetOpenRouterKeyRequest,\n GetOpenRouterKeyResponse,\n GetOpenRouterWorkspaceRequest,\n GetOpenRouterWorkspaceResponse,\n ListOpenRouterKeysRequest,\n ListOpenRouterKeysResponse,\n OpenRouterKeyData,\n UpdateOpenRouterKeyRequest,\n UpdateOpenRouterKeyResponse,\n} from './services/openrouter/openrouter.service.js'\nexport {\n OPENROUTER_KEY_PAGE_SIZE,\n OpenRouterService,\n} from './services/openrouter/openrouter.service.js'\nexport type {\n IncomingWebhookData,\n IncomingWebhookRequest,\n SlackChatPostMessageParams,\n SlackChatPostMessageResponse,\n SlackConversationsInviteParams,\n SlackConversationsInviteResponse,\n SlackLookupUserByEmailParams,\n SlackLookupUserByEmailResponse,\n} from './services/slack/slack.service.js'\n// slack services\nexport { SlackService } from './services/slack/slack.service.js'\nexport type {\n SendBlockKitMessageParams,\n SendBlockKitMessageResponse,\n SlackBlock,\n} from './services/slack/slack-blockkit.service.js'\nexport { SlackBlockKitService } from './services/slack/slack-blockkit.service.js'\nexport type { TelemetryPostRequest } from './services/telemetry/telemetry.service.js'\n// telemetry services\nexport { TelemetryService } from './services/telemetry/telemetry.service.js'\nexport type {\n ThanosQueryRequest,\n ThanosQueryResponse,\n ThanosQueryResult,\n} from './services/thanos/thanos.service.js'\n// thanos services\nexport {\n ThanosApiEndpoint,\n ThanosService,\n} from './services/thanos/thanos.service.js'\nexport type {\n JwksRequest,\n JwksResponse,\n} from './services/token-issuer/token-issuer.jwks.service.js'\n// token-issuer services\nexport { TokenIssuerJwksService } from './services/token-issuer/token-issuer.jwks.service.js'\nexport type {\n WordpressGetCardsRequest,\n WordpressGetHelpCenterConfigRequest,\n WordpressGetSurveyConfigRequest,\n} from './services/wordpress/wordpress.service.js'\n// wordpress services\nexport { WordpressService } from './services/wordpress/wordpress.service.js'\n\n// types\nexport type {\n RequestBaseCustomMetrics,\n RequestBaseCustomMetricsDetailsType,\n RequestBaseMethodType,\n RequestBaseParams,\n RequestBaseParamsAuth,\n RequestBaseParamsConfig,\n RequestBaseParamsEnvOverride,\n RequestBaseParamsLogger,\n RequestBaseServiceContext,\n Stage,\n} from './types/general.types.js'\nexport type { RequestPayload, Response } from './utils/api.js'\n// utils\nexport {\n accountsNgHeaders,\n request,\n setAccountsNgBackend,\n} from './utils/api.js'\nexport { CustomMetricsCCMA } from './utils/ccma-metrics.js'\nexport type { ServiceAudience, ServiceName } from './utils/environments.js'\nexport { HttpError } from './utils/errors.js'\nexport type {\n SseConnection,\n SseConnectionOptions,\n SseConnectionState,\n SseMessage,\n} from './utils/sse.js'\nexport { connectSse } from './utils/sse.js'\n\nexport {\n correlationHeaders,\n generateTraceparent,\n getSessionId,\n sessionHeaders,\n setTraceparentProvider,\n traceparentHeaders,\n} from './utils/traceparent.js'\n"],
|
|
5
|
-
"mappings": "AAWA,SAAS,iCAAiC;AAM1C,SAAS,yBAAyB;AAkClC,SAAS,mCAAmC;AAC5C,SAAS,0BAA0B;AAMnC,SAAS,wBAAwB;AA6BjC,SAAS,wBAAwB;AAcjC,SAAS,0BAA0B;AAEnC,SAAS,yBAAyB;AAalC,SAAS,kCAAkC;AAC3C,SAAS,2BAA2B;AAkBpC,SAAS,kBAAkB;AAC3B;AAAA,EAEE;AAAA,OAEK;AAEP,SAAS,2BAA2B;AAKpC,SAAS,0BAA0B;AAanC,SAAS,kCAAkC;AAwC3C,SAAS,mBAAmB;AAO5B,SAAS,qBAAqB;AAW9B,SAAS,2BAA2B;AAQpC,SAAS,+BAA+B;AAKxC;AAAA,EACE;AAAA,EACA;AAAA,OACK;AASP,SAAS,wBAAwB;AACjC,SAAS,4BAA4B;AAErC,SAAS,oBAAoB;AAE7B,SAAS,8BAA8B;AAKvC,SAAS,0BAA0B;AAMnC,SAAS,8BAA8B;AAMvC,SAAS,0BAA0B;
|
|
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\nexport type {\n GetDataExportRequest,\n GetDataExportResponse,\n} from './services/accounts/accounts.data-export.service.js'\n// accounts services\nexport { AccountsDataExportService } from './services/accounts/accounts.data-export.service.js'\nexport type { GetValueMetricsPerDayParams } from './services/accounts/accounts.valuemetrics.service.js'\nexport type {\n DownloadDatabaseDumpParams,\n TriggerValueMetricsCronParams,\n} from './services/accounts/admin-tools.service.js'\nexport { AdminToolsService } from './services/accounts/admin-tools.service.js'\nexport type {\n AutomatedEnterpriseOnboardingThroughApprovalRequest,\n ChangeClusterPlanLinkThroughApprovalRequest,\n ChangeClusterPlanLinkThroughApprovalResult,\n ChangeGenerationLinkThroughApprovalRequest,\n ChangeGenerationLinkThroughApprovalResult,\n ChangeOrgLimitThroughApprovalRequest,\n ChangePlatformRolesThroughApprovalRequest,\n ChangePlatformRolesThroughApprovalResult,\n ChangeSalesPlanThroughApprovalRequest,\n ChangeUserEmailThroughApprovalRequest,\n CheckOrgOwnerRequest,\n CreatePersonalOrganizationThroughApprovalRequest,\n CreatePersonalOrganizationThroughApprovalResult,\n DeleteOrganizationThroughApprovalRequest,\n DeleteOrganizationThroughApprovalResult,\n DeleteSsoConnectionThroughApprovalRequest,\n DeleteSsoConnectionThroughApprovalResult,\n DeleteUserThroughApprovalRequest,\n DeleteUserThroughApprovalResult,\n ExtendTrialThroughApprovalRequest,\n OnboardToEnterpriseClusterMapping,\n OnboardToEnterpriseContract,\n OnboardToEnterpriseThroughApprovalRequest,\n OrgLimitValue,\n SendToExpiredTrialThroughApprovalRequest,\n UnlinkClusterPlanFromMemberOrganizationsRequest,\n UnlinkClusterPlanFromMemberOrganizationsResult,\n UnlinkGenerationFromMemberOrganizationsRequest,\n UnlinkGenerationFromMemberOrganizationsResult,\n UpdateReservationsThroughApprovalRequest,\n UpdateUserMetadataThroughApprovalRequest,\n} from './services/accounts/approvals.m2m.service.js'\nexport { AccountsApprovalsM2MService } from './services/accounts/approvals.m2m.service.js'\nexport { AccountsBotService } from './services/accounts/bot.service.js'\nexport type {\n BugReportRequest,\n BugReportRequestBody,\n BugReportResponse,\n} from './services/accounts/bug-report.service.js'\nexport { BugReportService } from './services/accounts/bug-report.service.js'\nexport type {\n CancelMatchParams,\n CancelMatchResponse,\n GameInfo,\n GetGameInfoParams,\n GetHighscoresParams,\n GetHighscoresResponse,\n GetMatchStateParams,\n GetOrganizationalGroupsParams,\n GetOrganizationalGroupsResponse,\n GetRunningMatchesParams,\n GetRunningMatchesResponse,\n HighscoreEntry,\n InitiateMatchParams,\n InitiateMatchResponse,\n JoinMatchParams,\n JoinMatchResponse,\n Match,\n Player,\n PlayerAnswer,\n Question,\n QuestionChoice,\n SlackProfile,\n StartMatchParams,\n StartMatchResponse,\n SubmitAnswerParams,\n SubmitAnswerResponse,\n} from './services/accounts/challenge.service.js'\nexport { ChallengeService } from './services/accounts/challenge.service.js'\nexport type {\n AzureConnectionPayload,\n Connection,\n ConnectionPayload,\n ConnectionUserDto,\n ConnectionWriteStrategy,\n CreateConnectionParams,\n DeleteConnectionParams,\n GetConnectionParams,\n GetConnectionsParams,\n SamlConnectionPayload,\n UpdateConnectionParams,\n} from './services/accounts/connections.service.js'\nexport { ConnectionsService } from './services/accounts/connections.service.js'\nexport type { GetEngineeringOperationsDashboardRequest } from './services/accounts/dashboards.service.js'\nexport { DashboardsService } from './services/accounts/dashboards.service.js'\nexport type {\n CreateEarlyAccessFeatureParams,\n DeleteEarlyAccessFeatureParams,\n EarlyAccessFeatureActivationDto,\n EarlyAccessFeatureDto,\n EarlyAccessFeatureOrgDto,\n EarlyAccessFeatureSalesPlanConfigDto,\n GetEarlyAccessFeatureOrgsParams,\n GetEarlyAccessFeaturesForOrgParams,\n SetEarlyAccessFeatureActivationParams,\n UpdateEarlyAccessFeatureParams,\n} from './services/accounts/early-access-features.service.js'\nexport { EarlyAccessFeaturesService } from './services/accounts/early-access-features.service.js'\nexport { GenericCacheService } from './services/accounts/genericCache.service.js'\nexport type {\n GetActiveOrgsRequest,\n GetActiveOrgsResponse,\n GetBackendChangeEventsRequest,\n GetClusterActivityRequest,\n GetClusterCapacityRequest,\n GetClusterDiskUsageParams,\n GetClusterDiskUsageRequest,\n GetClusterHostingCostRequest,\n GetClusterHostingCostResponse,\n GetLlmUsageRequest,\n GetTenantUsageRequest,\n GetUsageMetricsRequest,\n GetUsageMetricsResponse,\n LlmUsageEntry,\n QueryChartRequest,\n} from './services/accounts/hdp.service.js'\nexport { HdpService } from './services/accounts/hdp.service.js'\nexport {\n type InviteDto,\n InvitesService,\n type SearchInvitesRequest,\n} from './services/accounts/invites.service.js'\nexport type { GetM2mTokenCountsRequest } from './services/accounts/logs.service.js'\nexport { AccountsLogsService } from './services/accounts/logs.service.js'\nexport type {\n OffboardCamundiRequest,\n OffboardCamundiResponse,\n} from './services/accounts/offboarding.service.js'\nexport { OffboardingService } from './services/accounts/offboarding.service.js'\nexport type {\n AssignNewOwnerParams,\n AssignNewOwnerResponse,\n CancelOrganizationInviteParams,\n GetOrganizationMembersParams,\n LeaveOrganizationParams,\n OrganizationMemberDto,\n OrganizationMemberInviteDto,\n RemoveUserFromOrganizationParams,\n ResendOrganizationInviteParams,\n UpdateOrganizationMemberRolesParams,\n} from './services/accounts/organization-members.service.js'\nexport { OrganizationMembersService } from './services/accounts/organization-members.service.js'\nexport type {\n AutomatedEnterpriseOnboardingRequest,\n AutomatedEnterpriseOnboardingResult,\n AwsOnlyRequest,\n BlockLiteLLMParams,\n ChangeSalesPlanRequest,\n CheckUserExistsForInviteRequest,\n CheckUserExistsForInviteResponse,\n ConvertTrialToInNegotiationRequest,\n DeleteOrganizationRequest,\n EnterpriseDevOnlyRequest,\n ExtendTrialRequest,\n GetLLMUsageInfoParams,\n GetQueuedOperationsParams,\n GetSubscriptionDetailsParams,\n GetSubscriptionDetailsResponse,\n GetSubscriptionItemsParams,\n IncreaseLLMBudgetParams,\n IncreaseLLMBudgetResponse,\n LicensingModelRequest,\n LLMUsageInfoResponse,\n OnboardLiteLLMParams,\n OrgClusterDefaultsRequest,\n OrgClusterDefaultsResponse,\n OrgInfo,\n QueuedOperationDto,\n RenameOrganizationRequest,\n ResetTrialExtensionsRequest,\n SelfExtendTrialRequest,\n SendInviteRequest,\n SetBetaTermsAcceptedRequest,\n SetLimitRequest,\n UnblockLiteLLMParams,\n UpdateOrgClusterDefaultsRequest,\n UpdateOrgLimitAsMemberRequest,\n UpdateOrgLimitAsMemberResponse,\n UpdateSuppressDropDisksRequest,\n UpdateSuppressDropDisksResponse,\n} from './services/accounts/orgs.service.js'\nexport { OrgsService } from './services/accounts/orgs.service.js'\nexport type {\n GetControlSessionRequest,\n GetOrganizationV2Request,\n ListOrganizationsV2Request,\n ListOrgMembersV2Request,\n} from './services/accounts/orgs.v2.service.js'\nexport { OrgsV2Service } from './services/accounts/orgs.v2.service.js'\nexport type {\n CreatePdfWatermarkProjectParams,\n PdfWatermarkAuditEntryDto,\n PdfWatermarkPasswordParams,\n PdfWatermarkProjectDto,\n PdfWatermarkProjectIdParams,\n RecordPdfWatermarkAuditParams,\n SetPdfWatermarkPdfParams,\n UpdatePdfWatermarkProjectParams,\n} from './services/accounts/pdf-watermark.service.js'\nexport { PdfWatermarkService } from './services/accounts/pdf-watermark.service.js'\nexport type {\n FleetQueuedOperationDto,\n ListQueuedOperationsParams,\n QueuedOperationStatus,\n QueuedOperationsResponse,\n QueueHealthDto,\n} from './services/accounts/queued-operations.service.js'\nexport { QueuedOperationsService } from './services/accounts/queued-operations.service.js'\nexport type {\n GetReleaseTrainParams,\n ReleaseTrainInfoDto,\n} from './services/accounts/release-train.service.js'\nexport {\n KNOWN_RELEASE_TRAINS,\n ReleaseTrainService,\n} from './services/accounts/release-train.service.js'\nexport type {\n CreateSalesPlanRequest,\n DeleteSalesPlanRequest,\n GetSalesPlansRequest,\n UpdateSalesPlanMetadataRequest,\n UpdateSalesPlanRequest,\n UpdateSalesPlanReservationsRequest,\n} from './services/accounts/salesplan.service.js'\nexport { SalesPlanService } from './services/accounts/salesplan.service.js'\nexport { SpamDetectionService } from './services/accounts/spam-detection.service.js'\nexport type { GetStatsParams } from './services/accounts/stats.service.js'\nexport { StatsService } from './services/accounts/stats.service.js'\nexport type { PostTracesRequest } from './services/accounts/telemetry-ingest.service.js'\nexport { TelemetryIngestService } from './services/accounts/telemetry-ingest.service.js'\nexport type {\n InvalidateTokenByClientParams,\n InvalidateTokenParams,\n} from './services/accounts/token-issuer.service.js'\nexport { TokenIssuerService } from './services/accounts/token-issuer.service.js'\nexport type {\n GetOrgTrialDetailParams,\n GetTrialManagementOrgsParams,\n GetTrialManagementParams,\n} from './services/accounts/trial-management.service.js'\nexport { TrialManagementService } from './services/accounts/trial-management.service.js'\nexport type {\n CreateUsageAlertParams,\n GetUsageAlertsParams,\n PatchUsageAlertParams,\n} from './services/accounts/usage-alerts.service.js'\nexport { UsageAlertsService } from './services/accounts/usage-alerts.service.js'\nexport type {\n AddUserToOrganizationRequest,\n ChangeUserEmailRequest,\n ChangeUserNameRequest,\n DeleteMeRequest,\n PurgeUserResult,\n RemoveStaleOrganizationRequest,\n RemoveUserFromOrganizationRequest,\n SearchParams,\n SetDefaultOrgRequest,\n SimpleSearchParams,\n UpdateUserRoleRequest,\n UserIdRequest,\n} from './services/accounts/users.service.js'\nexport { UsersService } from './services/accounts/users.service.js'\nexport type {\n CreateAlertSubscription,\n DeleteAlertSubscription,\n GetAlertSubscriptions,\n UpdateAlertSubscription,\n} from './services/alerts/alerts.service.js'\n// alerts services\nexport { AlertsService } from './services/alerts/alerts.service.js'\nexport type {\n AddAnalyticBridgeRequest,\n AddClusterAnalyticBridgeRequest,\n} from './services/analytic-bridge/analytic-bridge.service.js'\n// analytic-bridge services\nexport { AnalyticBridgeService } from './services/analytic-bridge/analytic-bridge.service.js'\nexport type {\n AskBackendBaseParams,\n AskBackendGetOrgClustersParams,\n AskBackendOrgParams,\n AskBackendRunQueryParams,\n AskBackendSearchOrgsParams,\n OrgClusterRow,\n OrgDetail,\n OrgMemberInfo,\n OrgOwnerInfo,\n OrgSummary,\n} from './services/ask-backend/ask-backend.service.js'\n// ask-backend service\nexport { AskBackendService } from './services/ask-backend/ask-backend.service.js'\nexport type {\n AddAuditRequest,\n GetAuditRequest,\n GetClusterAuditRequest,\n} from './services/audit-logger/audit-logger.service.js'\n// audit-logger services\nexport { AuditLoggerService } from './services/audit-logger/audit-logger.service.js'\nexport type {\n AddSystemAuditRequest,\n GetSystemAuditRequest,\n} from './services/audit-logger/audit-logger.system.service.js'\nexport { SystemAuditLoggerService } from './services/audit-logger/audit-logger.system.service.js'\nexport type { Auth0Request } from './services/auth0/auth0.service.js'\n// auth0 services\nexport { Auth0Service } from './services/auth0/auth0.service.js'\nexport type { CommBridgeClientRequest } from './services/comm-bridge/comm-bridge.service.js'\n// comm-bridge services\nexport { CommBridgeService } from './services/comm-bridge/comm-bridge.service.js'\nexport type {\n AdminClusterAutoUpdateRequest,\n AdminClusterDetailsDto,\n AdminClusterNonSpotNodesRequest,\n AdminClusterOptionalTelemetryRequest,\n AdminClusterTtlRequest,\n CreateLiteLLMSecretsForOrgRequest,\n GetAdminClusterDetailsRequest,\n GetClusterCrdStateRequest,\n GetClusterRequest,\n GetSpecExplainerRequest,\n GetValueMetricsMetadataRequest,\n GetValueMetricsUsageDataPerDayRequest,\n ModificationsAnswer,\n RemoveLlmSecretsForOrgRequest,\n RemoveLlmSecretsForOrgResponse,\n RepointLlmSecretsForOrgRequest,\n RepointLlmSecretsForOrgResponse,\n RotateLiteLLMKeySecretsForOrgRequest,\n RotateLiteLLMKeySecretsForOrgResponse,\n SignalSignupRequest,\n SpecExplainerFieldAnnotation,\n SpecExplainerFieldSource,\n SpecExplainerResponse,\n UpdateClusterMetricsStartDateRequest,\n UpdateClusterToNewPlanTypeRequest,\n} from './services/console/console.admin.service.js'\n// console services\nexport { ConsoleAdminService } from './services/console/console.admin.service.js'\nexport {\n type CheckConsoleAlertParams,\n type CheckConsoleAlertResponse,\n ConsoleAlertsService,\n type CreateConsoleAlertParams,\n type DeleteConsoleAlertParams,\n type GetConsoleAlertsParams,\n type UpdateConsoleAlertParams,\n} from './services/console/console.alerts.service.js'\nexport {\n type ConsoleApiClientDto,\n ConsoleApiClientsService,\n type CreateConsoleApiClientParams,\n type CreateConsoleApiClientResponse,\n type DeleteConsoleApiClientParams,\n type GetConsoleApiClientsParams,\n type UpdateConsoleApiClientParams,\n} from './services/console/console.api-clients.service.js'\nexport type {\n AnnounceClusterBulkPlanUpdateRequest,\n ApplySelfServiceModificationRequest,\n ChangeClusterPlanTypeThroughApprovalRequest,\n ChangeGenerationVersionsThroughApprovalRequest,\n CheckCustomClusterPlanRemovalRequest,\n CheckCustomGenerationRemovalRequest,\n CreateCustomClusterPlanThroughApprovalRequest,\n CreateCustomGenerationThroughApprovalRequest,\n CustomClusterPlanThroughApprovalResult,\n CustomGenerationThroughApprovalResult,\n DeactivateSelfServiceModificationRequest,\n DeleteClusterOfPlanTypeThroughApprovalRequest,\n DeleteClusterPastTtlThroughApprovalRequest,\n DeleteClusterPlanTypeThroughApprovalRequest,\n DeleteCustomClusterPlanThroughApprovalRequest,\n DeleteCustomGenerationThroughApprovalRequest,\n DeleteInternalBackupThroughApprovalRequest,\n MoveClusterOwnerThroughApprovalRequest,\n PreviewReleaseTrainPublishRequest,\n PreviewReleaseTrainRollbackRequest,\n PublishReleaseTrainThroughApprovalRequest,\n PublishReleaseTrainThroughApprovalResult,\n ReadClusterPlanTypeClustersRequest,\n ReadClusterPlanTypeStateRequest,\n ReleaseTrainPublishRequest,\n ReleaseTrainRollbackRequest,\n RollbackReleaseTrainThroughApprovalRequest,\n RollbackReleaseTrainThroughApprovalResult,\n RunClusterBulkStepThroughApprovalRequest,\n} from './services/console/console.approvals.m2m.service.js'\nexport { ConsoleApprovalsM2MService } from './services/console/console.approvals.m2m.service.js'\nexport {\n ConsoleBackupScheduleService,\n type GetConsoleBackupScheduleParams,\n type UpdateConsoleBackupScheduleParams,\n} from './services/console/console.backup-schedule.service.js'\nexport {\n ConsoleByokScriptsService,\n type GetConsoleByokKmsPolicyParams,\n type GetConsoleByokScriptParams,\n} from './services/console/console.byok-scripts.service.js'\nexport {\n type ActivateConsoleByomMonitoringParams,\n type ByomMonitoringClientsResponseDto,\n type ByomMonitoringClientWithPasswordDto,\n ConsoleByomMonitoringService,\n type CreateConsoleByomMonitoringClientParams,\n type DeactivateConsoleByomMonitoringParams,\n type DeleteConsoleByomMonitoringClientParams,\n type GetConsoleByomMonitoringClientsParams,\n type RotateConsoleByomMonitoringClientPasswordParams,\n} from './services/console/console.byom-monitoring.service.js'\nexport {\n ChannelService,\n type ConsoleChannelDto,\n type CreateConsoleChannelParams,\n type DeleteConsoleChannelParams,\n type GetConsoleChannelsParams,\n type UpdateConsoleChannelParams,\n} from './services/console/console.channel.service.js'\nexport type {\n ConsoleClusterCarryOverResult,\n CreateConsoleClusterRequest,\n CreateConsoleClusterResponse,\n DeleteConsoleClusterRequest,\n DeleteExternalIdpRequest,\n DuplicateConsoleClusterRequest,\n DuplicateConsoleClusterResponse,\n FailoverConsoleClusterRequest,\n FailoverConsoleClusterResult,\n GetAdminClusterRequest,\n GetConsoleClusterRequest,\n GetConsoleClustersRequest,\n MoveClusterOwnerRequest,\n ProxyOrchestrationClusterRequest,\n SuspendConsoleClusterRequest,\n UpdateClusterRequest,\n UpdateExternalIdpSecretRequest,\n WakeConsoleClusterRequest,\n} from './services/console/console.cluster.service.js'\nexport { ConsoleClusterService } from './services/console/console.cluster.service.js'\nexport type {\n GetClusterParametersV2Request,\n GetClusterV2Request,\n ListClustersV2Request,\n ListOrgClustersV2Request,\n} from './services/console/console.cluster.v2.service.js'\nexport { ConsoleClusterV2Service } from './services/console/console.cluster.v2.service.js'\nexport {\n type ConsoleClusterClientDto,\n ConsoleClusterClientsService,\n type CreateConsoleClusterClientParams,\n type CreateConsoleClusterClientResponse,\n type DeleteConsoleClusterClientParams,\n type GetConsoleClusterClientsParams,\n type RotateConsoleClusterClientSecretParams,\n type RotateConsoleClusterClientSecretResponse,\n type UpdateConsoleClusterClientParams,\n} from './services/console/console.cluster-clients.service.js'\nexport {\n type ConsoleClusterCreationParametersChannel,\n type ConsoleClusterCreationParametersClusterPlanType,\n type ConsoleClusterCreationParametersGeneration,\n type ConsoleClusterCreationParametersRegion,\n type ConsoleClusterCreationParametersRegionBackup,\n type ConsoleClusterCreationParametersRegionBackupRegion,\n type ConsoleClusterCreationParametersResponse,\n type ConsoleClusterCreationParametersUnlockedClusterPlan,\n ConsoleClusterParametersService,\n type GetConsoleClusterCreationParametersRequest,\n} from './services/console/console.cluster-parameters.service.js'\nexport { ConsoleClusterBulkOperationService } from './services/console/console.clusterBulkOperation.service.js'\nexport { ClusterPlanModificationService } from './services/console/console.clusterplan.modification.service.js'\nexport type {\n CreateClusterPlanParams,\n DeleteClusterPlanParams,\n UpdateMigratableFromParams,\n UpdatePerformanceExpectationsParams,\n} from './services/console/console.clusterplan.service.js'\nexport { ClusterPlanService } from './services/console/console.clusterplan.service.js'\nexport {\n ClusterPlanTypeService,\n type CreateClusterPlanTypeParams,\n type DeleteClusterPlanTypeParams,\n type GetClusterPlanTypesParams,\n type SetClusterPlanTypeLimitsParams,\n type UpdateClusterPlanTypeParams,\n} from './services/console/console.clusterplantype.service.js'\nexport {\n ConsoleConnectorSecretsService,\n type DeleteConsoleConnectorSecretParams,\n type GetConsoleConnectorSecretsParams,\n type PutConsoleConnectorSecretParams,\n} from './services/console/console.connector-secrets.service.js'\nexport type {\n ConsoleCustomMetricsRequest,\n ConsoleCustomMetricsResponse,\n} from './services/console/console.custommetrics.service.js'\nexport { ConsoleCustomMetricsService } from './services/console/console.custommetrics.service.js'\nexport {\n ConsoleHotBackupsService,\n type CreateConsoleHotBackupParams,\n type CreateConsoleInternalBackupParams,\n type DeleteConsoleHotBackupParams,\n type DeleteConsoleInternalBackupParams,\n type GetConsoleHotBackupsParams,\n type GetConsoleInternalBackupsParams,\n type RestoreConsoleHotBackupParams,\n type RetryConsoleHotBackupParams,\n} from './services/console/console.hotbackups.service.js'\nexport {\n ConsoleIpWhitelistService,\n type IpWhitelistEntryDto,\n type UpdateConsoleIpWhitelistParams,\n} from './services/console/console.ip-whitelist.service.js'\nexport type {\n SaaSJobsBaseParams,\n SaaSJobsErrorsParams,\n SaaSJobsGlobalParams,\n SaaSJobsOverviewParams,\n SaaSJobsTimeSeriesParams,\n SaaSJobsWorkersParams,\n} from './services/console/console.jobs.saas.service.js'\nexport { SaaSJobsService } from './services/console/console.jobs.saas.service.js'\nexport {\n type GetK8sContextsParams,\n K8sContextService,\n} from './services/console/console.k8scontext.service.js'\nexport type {\n VerifyApiClientCredentialsResponse,\n VerifyClientCredentialsRequest,\n VerifyZeebeClientCredentialsResponse,\n} from './services/console/console.m2m.service.js'\nexport { ConsoleM2MService } from './services/console/console.m2m.service.js'\nexport {\n type ActivateSecureConnectivityParams,\n ConsoleSecureConnectivityService,\n type DeactivateSecureConnectivityParams,\n type GetSecureConnectivityStatusParams,\n type SecureConnectivityStatusDto,\n type UpdateSecureConnectivityParams,\n} from './services/console/console.secure-connectivity.service.js'\nexport {\n type GetStorybookConfigParams,\n StorybookConfigService,\n} from './services/console/console.storybook-config.service.js'\nexport { ConsoleValueMetricsService } from './services/console/console.valuemetrics.service.js'\n\nexport {\n type CreateGenerationParams,\n type DeleteGenerationParams,\n type DryRunPublishReleaseTrainResponse,\n type DryRunRollbackReleaseTrainResponse,\n GenerationService,\n type GenerationVersionsInput,\n type ListGenerationsParams,\n type ReleaseTrainGenerationRef,\n type SetGenerationArchivedParams,\n type SetGenerationBespokeParams,\n type UpdateGenerationParams,\n} from './services/console/generation.service.js'\nexport type {\n AddAnnotationNoteRequest,\n AddAnnotationTagRequest,\n AnnotationIdRequest,\n AnnotationPageDto,\n AnnotationPageInfoDto,\n AnnotationTagPageDto,\n AnnotationTargetDto,\n EditAnnotationNoteRequest,\n GetEntityAnnotationsRequest,\n ListAnnotationTagsRequest,\n LookupAnnotationsRequest,\n SearchAnnotationsRequest,\n} from './services/control/control.annotations.service.js'\nexport { ControlAnnotationsService } from './services/control/control.annotations.service.js'\n// control-backend \u2014 the four-eyes approval surface\nexport type {\n ApprovalFacetParams,\n ApprovalIdRequest,\n ApprovalPageDto,\n AutomatedEnterpriseOnboardingPayloadDto,\n ChangeClusterPlanTypePayloadDto,\n ChangeFeatureFlagPayloadDto,\n ChangeGenerationVersionsPayloadDto,\n ChangeGenerationVersionsTargetDto,\n ChangeOrgLimitsPayloadDto,\n ChangePlatformRolesPayloadDto,\n ChangeSalesPlanPayloadDto,\n ChangeUserEmailPayloadDto,\n CountApprovalsRequest,\n CreateApprovalRequest,\n CreateClusterTtlDeletionRequest,\n CreateCustomGenerationPayloadDto,\n CreateCustomHardwareSizingPayloadDto,\n CreatePersonalOrganisationPayloadDto,\n CreatePersonalOrganisationRequest,\n CustomHardwareSizingRequest,\n DeleteInternalBackupPayloadDto,\n DeleteOrganizationPayloadDto,\n DeleteSsoConnectionPayloadDto,\n DeleteUserPayloadDto,\n ExtendTrialPayloadDto,\n FeatureFlagValuesDto,\n ForceDeleteClusterPlanTypePayloadDto,\n LinkCustomGenerationPayloadDto,\n LinkCustomHardwareSizingPayloadDto,\n ListApprovalsRequest,\n MoveClusterOrgPayloadDto,\n OnboardToEnterpriseClusterDto,\n OnboardToEnterprisePayloadDto,\n PurgeUsersPayloadDto,\n RejectApprovalRequest,\n RemoveCustomGenerationPayloadDto,\n RemoveCustomHardwareSizingPayloadDto,\n SelfServiceApprovalRequest,\n SelfServiceClusterModificationPayloadDto,\n SendToExpiredTrialPayloadDto,\n UpdateUserMetadataPayloadDto,\n WithdrawApprovalRequest,\n} from './services/control/control.approvals.service.js'\nexport { ControlApprovalsService } from './services/control/control.approvals.service.js'\n// control-backend \u2014 the dashboards, whose tiles hold filters and never data\nexport type {\n AddDashboardTileRequest,\n CheckChartQueryRequest,\n CreateDashboardRequest,\n DashboardIdRequest,\n ListDashboardsRequest,\n UpdateDashboardRequest,\n} from './services/control/control.dashboards.service.js'\nexport { ControlDashboardsService } from './services/control/control.dashboards.service.js'\nexport type {\n CreateFeatureFlagRequest,\n EvaluateFeatureFlagsRequest,\n FeatureFlagIdRequest,\n UpdateFeatureFlagRequest,\n} from './services/control/control.feature-flags.service.js'\nexport { ControlFeatureFlagsService } from './services/control/control.feature-flags.service.js'\nexport type {\n ControlInfoDto,\n ControlWhoamiDto,\n} from './services/control/control.platform.service.js'\nexport { ControlPlatformService } from './services/control/control.platform.service.js'\n// external services (CORS-enabled webapp navigation surface)\nexport type {\n GetFeatureFlagsParams,\n UpdateUserThemeParams,\n UserThemePreference,\n} from './services/external/external.accounts.service.js'\nexport { ExternalAccountsService } from './services/external/external.accounts.service.js'\nexport type {\n GetOrgClustersParams,\n StreamOrgEventsParams,\n} from './services/external/external.console.service.js'\nexport { ExternalConsoleService } from './services/external/external.console.service.js'\nexport type {\n DismissAllNotificationsParams,\n GetUserNotificationsParams,\n MarkManyNotificationsReadParams,\n SetNotificationStateParams,\n StreamUserNotificationsParams,\n TrackNotificationEventParams,\n UserNotificationAnalyticsEvent,\n} from './services/external/external.notifications.service.js'\nexport { ExternalNotificationsService } from './services/external/external.notifications.service.js'\nexport type {\n GithubCommitComparison,\n GithubCompareCommitsRequest,\n GithubContentItem,\n GithubGetRawFileRequest,\n GithubListDirectoryContentRequest,\n GithubListMajorMinorReleasesRequest,\n GithubListReleasesRequest,\n GithubRelease,\n} from './services/github/github.service.js'\n// github services\nexport { GithubService } from './services/github/github.service.js'\nexport type {\n GleanSearchRequest,\n GleanSearchResult,\n} from './services/glean/glean.service.js'\n// glean services\nexport { GleanService } from './services/glean/glean.service.js'\nexport type {\n HelpCenterCardResponse,\n HelpCenterConfigResponse,\n HelpCenterGetCardsRequest,\n HelpCenterGetConfigRequest,\n} from './services/helpcenter/helpcenter.service.js'\n// helpcenter services\nexport { HelpCenterService } from './services/helpcenter/helpcenter.service.js'\nexport type {\n HibobEmployee,\n HibobGetAllUsersRequest,\n HibobReportsTo,\n HibobSearchRequest,\n HibobSearchResponse,\n} from './services/hibob/hibob.service.js'\n// hibob services\nexport {\n DEPARTMENT as HIBOB_DEPARTMENT_PATH,\n DIVISION as HIBOB_DIVISION_PATH,\n DIVISION_ID as HIBOB_DIVISION_ID,\n HibobService,\n SUB_DIVISION as HIBOB_SUB_DIVISION_PATH,\n SUB_DIVISION_ID as HIBOB_SUB_DIVISION_ID,\n} from './services/hibob/hibob.service.js'\nexport type {\n HubspotChangeContactPropertiesRequest,\n HubspotSubmission,\n HubspotSubmitRequest,\n HubspotTokenRequest,\n HubspotTokenResponse,\n} from './services/hubspot/hubspot.service.js'\n// hubspot services\nexport { HubspotService } from './services/hubspot/hubspot.service.js'\nexport type {\n IncidentIoGetOpenIncidentsRequest,\n OpenIncident,\n} from './services/incident-io/incident-io.service.js'\n// incident.io services\nexport { IncidentIoService } from './services/incident-io/incident-io.service.js'\n// litellm services\nexport type {\n BlockKeyRequest,\n BlockKeyResponse,\n CreateTeamRequest,\n CreateTeamResponse,\n DeleteKeyRequest,\n DeleteKeyResponse,\n DeleteTeamRequest,\n DeleteTeamResponse,\n GenerateKeyRequest,\n GenerateKeyResponse,\n GetKeyInfoRequest,\n GetKeyInfoResponse,\n RegenerateKeyRequest,\n RegenerateKeyResponse,\n UnblockKeyRequest,\n UnblockKeyResponse,\n UpdateKeyBudgetRequest,\n UpdateKeyBudgetResponse,\n UpdateTeamBudgetRequest,\n UpdateTeamBudgetResponse,\n} from './services/litellm/litellm.service.js'\nexport { LiteLLMService } from './services/litellm/litellm.service.js'\nexport type { LoginPayload } from './services/login/login.service.js'\n// login services\nexport { LoginService } from './services/login/login.service.js'\nexport type { MixpanelSetGroupPropertiesOnceRequest } from './services/mixpanel/mixpanel.service.js'\n// mixpanel services\nexport { MixpanelService } from './services/mixpanel/mixpanel.service.js'\n// notifications services\nexport type {\n CreateGlobalNotificationParams,\n CreateNotificationBySalesPlanParams,\n DeleteGlobalNotificationParams,\n UpdateNotificationParams,\n} from './services/notifications/notifications.service.js'\nexport { NotificationsService } from './services/notifications/notifications.service.js'\n// openrouter services\nexport type {\n CreateOpenRouterKeyRequest,\n CreateOpenRouterKeyResponse,\n DeleteOpenRouterKeyRequest,\n DeleteOpenRouterKeyResponse,\n GetOpenRouterKeyRequest,\n GetOpenRouterKeyResponse,\n GetOpenRouterWorkspaceRequest,\n GetOpenRouterWorkspaceResponse,\n ListOpenRouterKeysRequest,\n ListOpenRouterKeysResponse,\n OpenRouterKeyData,\n UpdateOpenRouterKeyRequest,\n UpdateOpenRouterKeyResponse,\n} from './services/openrouter/openrouter.service.js'\nexport {\n OPENROUTER_KEY_PAGE_SIZE,\n OpenRouterService,\n} from './services/openrouter/openrouter.service.js'\nexport type {\n IncomingWebhookData,\n IncomingWebhookRequest,\n SlackChatPostMessageParams,\n SlackChatPostMessageResponse,\n SlackConversationsInviteParams,\n SlackConversationsInviteResponse,\n SlackLookupUserByEmailParams,\n SlackLookupUserByEmailResponse,\n} from './services/slack/slack.service.js'\n// slack services\nexport { SlackService } from './services/slack/slack.service.js'\nexport type {\n SendBlockKitMessageParams,\n SendBlockKitMessageResponse,\n SlackBlock,\n} from './services/slack/slack-blockkit.service.js'\nexport { SlackBlockKitService } from './services/slack/slack-blockkit.service.js'\nexport type { TelemetryPostRequest } from './services/telemetry/telemetry.service.js'\n// telemetry services\nexport { TelemetryService } from './services/telemetry/telemetry.service.js'\nexport type {\n ThanosQueryRequest,\n ThanosQueryResponse,\n ThanosQueryResult,\n} from './services/thanos/thanos.service.js'\n// thanos services\nexport {\n ThanosApiEndpoint,\n ThanosService,\n} from './services/thanos/thanos.service.js'\nexport type {\n JwksRequest,\n JwksResponse,\n} from './services/token-issuer/token-issuer.jwks.service.js'\n// token-issuer services\nexport { TokenIssuerJwksService } from './services/token-issuer/token-issuer.jwks.service.js'\nexport type {\n WordpressGetCardsRequest,\n WordpressGetHelpCenterConfigRequest,\n WordpressGetSurveyConfigRequest,\n} from './services/wordpress/wordpress.service.js'\n// wordpress services\nexport { WordpressService } from './services/wordpress/wordpress.service.js'\n\n// types\nexport type {\n RequestBaseCustomMetrics,\n RequestBaseCustomMetricsDetailsType,\n RequestBaseMethodType,\n RequestBaseParams,\n RequestBaseParamsAuth,\n RequestBaseParamsConfig,\n RequestBaseParamsEnvOverride,\n RequestBaseParamsLogger,\n RequestBaseServiceContext,\n Stage,\n} from './types/general.types.js'\nexport type { RequestPayload, Response } from './utils/api.js'\n// utils\nexport {\n accountsNgHeaders,\n request,\n setAccountsNgBackend,\n} from './utils/api.js'\nexport { CustomMetricsCCMA } from './utils/ccma-metrics.js'\nexport type { ServiceAudience, ServiceName } from './utils/environments.js'\nexport { HttpError } from './utils/errors.js'\nexport type {\n SseConnection,\n SseConnectionOptions,\n SseConnectionState,\n SseMessage,\n} from './utils/sse.js'\nexport { connectSse } from './utils/sse.js'\n\nexport {\n correlationHeaders,\n generateTraceparent,\n getSessionId,\n sessionHeaders,\n setTraceparentProvider,\n traceparentHeaders,\n} from './utils/traceparent.js'\n"],
|
|
5
|
+
"mappings": "AAWA,SAAS,iCAAiC;AAM1C,SAAS,yBAAyB;AAkClC,SAAS,mCAAmC;AAC5C,SAAS,0BAA0B;AAMnC,SAAS,wBAAwB;AA6BjC,SAAS,wBAAwB;AAcjC,SAAS,0BAA0B;AAEnC,SAAS,yBAAyB;AAalC,SAAS,kCAAkC;AAC3C,SAAS,2BAA2B;AAkBpC,SAAS,kBAAkB;AAC3B;AAAA,EAEE;AAAA,OAEK;AAEP,SAAS,2BAA2B;AAKpC,SAAS,0BAA0B;AAanC,SAAS,kCAAkC;AAwC3C,SAAS,mBAAmB;AAO5B,SAAS,qBAAqB;AAW9B,SAAS,2BAA2B;AAQpC,SAAS,+BAA+B;AAKxC;AAAA,EACE;AAAA,EACA;AAAA,OACK;AASP,SAAS,wBAAwB;AACjC,SAAS,4BAA4B;AAErC,SAAS,oBAAoB;AAE7B,SAAS,8BAA8B;AAKvC,SAAS,0BAA0B;AAMnC,SAAS,8BAA8B;AAMvC,SAAS,0BAA0B;AAenC,SAAS,oBAAoB;AAQ7B,SAAS,qBAAqB;AAM9B,SAAS,6BAA6B;AActC,SAAS,yBAAyB;AAOlC,SAAS,0BAA0B;AAKnC,SAAS,gCAAgC;AAGzC,SAAS,oBAAoB;AAG7B,SAAS,yBAAyB;AA6BlC,SAAS,2BAA2B;AACpC;AAAA,EAGE;AAAA,OAKK;AACP;AAAA,EAEE;AAAA,OAMK;AAgCP,SAAS,kCAAkC;AAC3C;AAAA,EACE;AAAA,OAGK;AACP;AAAA,EACE;AAAA,OAGK;AACP;AAAA,EAIE;AAAA,OAMK;AACP;AAAA,EACE;AAAA,OAMK;AAqBP,SAAS,6BAA6B;AAOtC,SAAS,+BAA+B;AACxC;AAAA,EAEE;AAAA,OAQK;AACP;AAAA,EASE;AAAA,OAEK;AACP,SAAS,0CAA0C;AACnD,SAAS,sCAAsC;AAO/C,SAAS,0BAA0B;AACnC;AAAA,EACE;AAAA,OAMK;AACP;AAAA,EACE;AAAA,OAIK;AAKP,SAAS,mCAAmC;AAC5C;AAAA,EACE;AAAA,OASK;AACP;AAAA,EACE;AAAA,OAGK;AASP,SAAS,uBAAuB;AAChC;AAAA,EAEE;AAAA,OACK;AAMP,SAAS,yBAAyB;AAClC;AAAA,EAEE;AAAA,OAKK;AACP;AAAA,EAEE;AAAA,OACK;AACP,SAAS,kCAAkC;AAE3C;AAAA,EAKE;AAAA,OAOK;AAeP,SAAS,iCAAiC;AA8C1C,SAAS,+BAA+B;AAUxC,SAAS,gCAAgC;AAOzC,SAAS,kCAAkC;AAK3C,SAAS,8BAA8B;AAOvC,SAAS,+BAA+B;AAKxC,SAAS,8BAA8B;AAUvC,SAAS,oCAAoC;AAY7C,SAAS,qBAAqB;AAM9B,SAAS,oBAAoB;AAQ7B,SAAS,yBAAyB;AASlC;AAAA,EACgB;AAAA,EACF;AAAA,EACG;AAAA,EACf;AAAA,EACgB;AAAA,EACG;AAAA,OACd;AASP,SAAS,sBAAsB;AAM/B,SAAS,yBAAyB;AAwBlC,SAAS,sBAAsB;AAG/B,SAAS,oBAAoB;AAG7B,SAAS,uBAAuB;AAQhC,SAAS,4BAA4B;AAiBrC;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAYP,SAAS,oBAAoB;AAM7B,SAAS,4BAA4B;AAGrC,SAAS,wBAAwB;AAOjC;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAMP,SAAS,8BAA8B;AAOvC,SAAS,wBAAwB;AAiBjC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,yBAAyB;AAElC,SAAS,iBAAiB;AAO1B,SAAS,kBAAkB;AAE3B;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -273,6 +273,11 @@ export interface DeleteUserThroughApprovalRequest extends RequestBaseParams {
|
|
|
273
273
|
* and not 404. A purge sets it.
|
|
274
274
|
*/
|
|
275
275
|
skipMissing?: boolean;
|
|
276
|
+
/**
|
|
277
|
+
* A purge sets it. The person who asked then needs `GOD_PURGE_USERS` as
|
|
278
|
+
* well as `DELETE_USER`.
|
|
279
|
+
*/
|
|
280
|
+
purge?: boolean;
|
|
276
281
|
};
|
|
277
282
|
}
|
|
278
283
|
/** What accounts answers for a user deletion. */
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/services/accounts/approvals.m2m.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 ApprovalM2mActor,\n EnterpriseIncludingValueMetrics,\n LicensingModelType,\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'\nimport type {\n AutomatedEnterpriseOnboardingRequest,\n AutomatedEnterpriseOnboardingResult,\n} from './orgs.service.js'\n\n/**\n * The routes of `api/admin/approvals` in accounts-backend.\n *\n * control-backend calls these when a four-eyes request holds the approvals\n * that it needs. They are separate from `OrgsService`, because they are a\n * separate surface: each one carries its own m2m permission, and each one\n * takes the actor envelope that names the Camundis. The routes that a browser\n * calls today go away, and this service does not go with them.\n */\n\nexport interface ExtendTrialThroughApprovalRequest extends RequestBaseParams {\n params: { orgId: string }\n body: {\n actor: ApprovalM2mActor\n /** An ISO timestamp, between 14 and 62 days from when the call ARRIVES. */\n newExpireDate: string\n }\n}\n\nexport interface SendToExpiredTrialThroughApprovalRequest\n extends RequestBaseParams {\n params: { orgId: string }\n body: { actor: ApprovalM2mActor }\n}\n\nexport interface ChangePlatformRolesThroughApprovalRequest\n extends RequestBaseParams {\n params: { userId: string }\n body: {\n actor: ApprovalM2mActor\n /** A CHANGE over the roles that the user holds when the call arrives. */\n rolesToAdd: string[]\n rolesToRemove: string[]\n }\n}\n\n/** What accounts answers for a role change: the roles after it. */\nexport interface ChangePlatformRolesThroughApprovalResult {\n userId: string\n roles: string[]\n rolesAdded: string[]\n rolesRemoved: string[]\n}\n\n/** A value of an org limit. `null` clears the override. */\nexport type OrgLimitValue = string | number | boolean | null\n\nexport interface ChangeOrgLimitThroughApprovalRequest\n extends RequestBaseParams {\n params: { orgId: string; limitKey: string }\n body: {\n actor: ApprovalM2mActor\n /**\n * The override that the person who asked read. Absent for \"not set\".\n * Accounts answers 409 and writes nothing when the override moved since.\n */\n expected?: OrgLimitValue\n value: OrgLimitValue\n }\n}\n\nexport interface DeleteSsoConnectionThroughApprovalRequest\n extends RequestBaseParams {\n params: { strategy: 'waad' | 'samlp'; connectionId: string }\n body: {\n actor: ApprovalM2mActor\n /**\n * The name of the connection that the approvers read. Accounts refuses\n * the deletion when the connection has another name.\n */\n connectionName?: string\n }\n}\n\n/** What accounts answers for a deleted connection. */\nexport interface DeleteSsoConnectionThroughApprovalResult {\n connectionId: string\n connectionName: string\n /** The users who signed in with the connection. Accounts deleted them too. */\n deletedUsers: number\n}\n\n/** One cluster of the organization and the plan type it moves to. */\nexport interface OnboardToEnterpriseClusterMapping {\n clusterId: string\n planTypeId: string\n numberOfAllocatedHwPackages?: number\n keepModification: boolean\n}\n\n/** The contract of the enterprise plan, as the accounts wizard sends it. */\nexport interface OnboardToEnterpriseContract {\n duration: number\n includedValueMetrics: EnterpriseIncludingValueMetrics\n /** `YYYY-MM-DD`. Accounts turns it into a date. */\n enterPriseStartDate: string\n enterpriseDevOnly: boolean\n awsOnly: boolean\n licensingModel: LicensingModelType\n salesForceId?: string\n}\n\nexport interface OnboardToEnterpriseThroughApprovalRequest\n extends RequestBaseParams {\n params: { orgId: string }\n body: {\n actor: ApprovalM2mActor\n salesPlanId: string\n /** The plan that the person who asked read. Absent for \"no plan\". */\n expectedSalesPlanId?: string\n salesPlanName?: string\n expectedSalesPlanName?: string\n contract: OnboardToEnterpriseContract\n /** One entry for each cluster of the organization. */\n onboardOrgClusterMapping: OnboardToEnterpriseClusterMapping[]\n }\n}\n\nexport interface UpdateReservationsThroughApprovalRequest\n extends RequestBaseParams {\n params: { orgId: string }\n body: {\n actor: ApprovalM2mActor\n /**\n * The plan the organization must be on. Accounts answers 409 when it is\n * on another one, so the reservations never land on a plan that the\n * approvers did not read.\n */\n expectedSalesPlanId: string\n /** The reservations of the organization, by plan type uuid. */\n clusterPlanTypesToReserved: Record<string, number>\n }\n}\n\nexport interface ChangeSalesPlanThroughApprovalRequest\n extends RequestBaseParams {\n params: { orgId: string }\n body: {\n actor: ApprovalM2mActor\n salesPlanId: string\n /**\n * The plan that the person who asked read. Absent for \"no plan\". Accounts\n * answers 409 and switches nothing when the plan moved since.\n */\n expectedSalesPlanId?: string\n /**\n * The names of the two plans that the approvers read. Accounts refuses\n * the switch when a plan has another name.\n */\n salesPlanName?: string\n expectedSalesPlanName?: string\n force: boolean\n }\n}\n\n/**\n * The body of `POST api/admin/approvals/organizations/enterprise-onboarding`:\n * the fields of `POST external/onboarding`, with the actor envelope.\n */\nexport interface AutomatedEnterpriseOnboardingThroughApprovalRequest\n extends RequestBaseParams {\n body: AutomatedEnterpriseOnboardingRequest & { actor: ApprovalM2mActor }\n}\n\nexport interface DeleteOrganizationThroughApprovalRequest\n extends RequestBaseParams {\n params: { orgId: string }\n body: {\n actor: ApprovalM2mActor\n /**\n * The name that the approvers read. Accounts refuses the deletion when\n * the organization has another name.\n */\n orgName: string\n }\n}\n\n/** What accounts answers for a deleted organization. */\nexport interface DeleteOrganizationThroughApprovalResult {\n orgId: string\n /** The members that accounts removed before it deleted the organization. */\n removedMembers: number\n}\n\nexport interface CreatePersonalOrganizationThroughApprovalRequest\n extends RequestBaseParams {\n body: {\n actor: ApprovalM2mActor\n name: string\n }\n}\n\n/** What accounts answers for a new personal organization. */\nexport interface CreatePersonalOrganizationThroughApprovalResult {\n orgId: string\n}\n\nexport interface ChangeClusterPlanLinkThroughApprovalRequest\n extends RequestBaseParams {\n params: { orgId: string; clusterPlanId: string }\n body: { actor: ApprovalM2mActor }\n}\n\n/** What accounts answers for a link or an unlink of one organization. */\nexport interface ChangeClusterPlanLinkThroughApprovalResult {\n orgId: string\n clusterPlanId: string\n /** `false` when the list of the organization already was as wanted. */\n changed: boolean\n}\n\nexport interface UnlinkClusterPlanFromMemberOrganizationsRequest\n extends RequestBaseParams {\n params: { clusterPlanId: string }\n body: { actor: ApprovalM2mActor }\n}\n\nexport interface UnlinkClusterPlanFromMemberOrganizationsResult {\n /** The organizations whose list held the plan before the call. */\n unlinkedOrgIds: string[]\n}\n\nexport interface ChangeGenerationLinkThroughApprovalRequest\n extends RequestBaseParams {\n params: { orgId: string; generationId: string }\n body: { actor: ApprovalM2mActor }\n}\n\n/** What accounts answers for a link or an unlink of one organization. */\nexport interface ChangeGenerationLinkThroughApprovalResult {\n orgId: string\n generationId: string\n /** `false` when the list of the organization already was as wanted. */\n changed: boolean\n}\n\nexport interface UnlinkGenerationFromMemberOrganizationsRequest\n extends RequestBaseParams {\n params: { generationId: string }\n body: { actor: ApprovalM2mActor }\n}\n\nexport interface UnlinkGenerationFromMemberOrganizationsResult {\n /** The organizations whose list held the generation before the call. */\n unlinkedOrgIds: string[]\n}\n\nexport interface CheckOrgOwnerRequest extends RequestBaseParams {\n params: { orgId: string }\n body: { actor: ApprovalM2mActor }\n}\n\nexport interface DeleteUserThroughApprovalRequest extends RequestBaseParams {\n params: { userId: string }\n body: {\n actor: ApprovalM2mActor\n /**\n * The address that the approvers read. When given, accounts refuses the\n * deletion of a user with another address.\n */\n expectedEmail?: string\n /**\n * Accounts answers `deleted: false` for a user that Auth0 does not have,\n * and not 404. A purge sets it.\n */\n skipMissing?: boolean\n }\n}\n\n/** What accounts answers for a user deletion. */\nexport interface DeleteUserThroughApprovalResult {\n userId: string\n /** `false` when Auth0 had no such user, which only `skipMissing` answers. */\n deleted: boolean\n}\n\nexport interface ChangeUserEmailThroughApprovalRequest\n extends RequestBaseParams {\n params: { userId: string }\n body: {\n actor: ApprovalM2mActor\n /**\n * The address that the person who asked read. Accounts answers 409 and\n * changes nothing when the address moved since.\n */\n expectedEmail: string\n newEmail: string\n }\n}\n\nexport interface UpdateUserMetadataThroughApprovalRequest\n extends RequestBaseParams {\n params: { userId: string; kind: 'app' | 'user' }\n body: {\n actor: ApprovalM2mActor\n /**\n * The metadata that the person who asked read. Absent for \"not set\".\n * Accounts answers 409 and writes nothing when it moved since.\n */\n expected?: Record<string, unknown>\n metadata: Record<string, unknown>\n }\n}\n\nexport class AccountsApprovalsM2MService {\n public static async extendTrial(\n params: ExtendTrialThroughApprovalRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'AccountsApprovalsM2MService.extendTrial',\n url: `api/admin/approvals/organizations/${params.params.orgId}/extend-trial`,\n normalizedUrl: 'api/admin/approvals/organizations/:orgId/extend-trial',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\n }\n\n const response = await request<void>({\n config: params.config,\n base: { id: 'accounts' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: params.body,\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 sendToExpiredTrial(\n params: SendToExpiredTrialThroughApprovalRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'AccountsApprovalsM2MService.sendToExpiredTrial',\n url: `api/admin/approvals/organizations/${params.params.orgId}/expire-trial`,\n normalizedUrl: 'api/admin/approvals/organizations/:orgId/expire-trial',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\n }\n\n const response = await request<void>({\n config: params.config,\n base: { id: 'accounts' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: params.body,\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 changePlatformRoles(\n params: ChangePlatformRolesThroughApprovalRequest,\n ): Promise<ChangePlatformRolesThroughApprovalResult> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'AccountsApprovalsM2MService.changePlatformRoles',\n url: `api/admin/approvals/users/${encodeURIComponent(params.params.userId)}/roles`,\n normalizedUrl: 'api/admin/approvals/users/:userId/roles',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\n }\n\n const response = await request<ChangePlatformRolesThroughApprovalResult>({\n config: params.config,\n base: { id: 'accounts' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: params.body,\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 changeOrgLimit(\n params: ChangeOrgLimitThroughApprovalRequest,\n ): Promise<void> {\n const { orgId, limitKey } = params.params\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'AccountsApprovalsM2MService.changeOrgLimit',\n url: `api/admin/approvals/organizations/${orgId}/limits/${encodeURIComponent(limitKey)}`,\n normalizedUrl:\n 'api/admin/approvals/organizations/:orgId/limits/:limitKey',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\n }\n\n const response = await request<void>({\n config: params.config,\n base: { id: 'accounts' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: params.body,\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 deleteSsoConnection(\n params: DeleteSsoConnectionThroughApprovalRequest,\n ): Promise<DeleteSsoConnectionThroughApprovalResult> {\n const { strategy, connectionId } = params.params\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'AccountsApprovalsM2MService.deleteSsoConnection',\n url: `api/admin/approvals/connections/${strategy}/${encodeURIComponent(connectionId)}`,\n normalizedUrl:\n 'api/admin/approvals/connections/:strategy/:connectionId',\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\n }\n\n const response = await request<DeleteSsoConnectionThroughApprovalResult>({\n config: params.config,\n base: { id: 'accounts' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: params.body,\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 /**\n * Moves an organization to an enterprise plan with its contract and the\n * plan type of each cluster. Accounts answers 409 when the plan moved since\n * `expectedSalesPlanId`, and 400 when a cluster has no mapping.\n */\n public static async onboardToEnterprise(\n params: OnboardToEnterpriseThroughApprovalRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'AccountsApprovalsM2MService.onboardToEnterprise',\n url: `api/admin/approvals/organizations/${params.params.orgId}/enterprise-onboarding`,\n normalizedUrl:\n 'api/admin/approvals/organizations/:orgId/enterprise-onboarding',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\n }\n\n const response = await request<void>({\n config: params.config,\n base: { id: 'accounts' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: params.body,\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 * Sets the reservations of an organization, the second write of the\n * enterprise onboarding. Accounts refuses a count below the clusters on\n * the plan type, and one above the maximum of the sales plan.\n */\n public static async updateReservations(\n params: UpdateReservationsThroughApprovalRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'AccountsApprovalsM2MService.updateReservations',\n url: `api/admin/approvals/organizations/${params.params.orgId}/reservations`,\n normalizedUrl: 'api/admin/approvals/organizations/:orgId/reservations',\n type: 'put',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\n }\n\n const response = await request<void>({\n config: params.config,\n base: { id: 'accounts' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: params.body,\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 changeSalesPlan(\n params: ChangeSalesPlanThroughApprovalRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'AccountsApprovalsM2MService.changeSalesPlan',\n url: `api/admin/approvals/organizations/${params.params.orgId}/sales-plan`,\n normalizedUrl: 'api/admin/approvals/organizations/:orgId/sales-plan',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\n }\n\n const response = await request<void>({\n config: params.config,\n base: { id: 'accounts' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: params.body,\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 * Creates a production and a development organization for a new enterprise\n * customer, as `POST external/onboarding` does, and names the Camundi who\n * asked as the person who invited the owner.\n */\n public static async automatedEnterpriseOnboarding(\n params: AutomatedEnterpriseOnboardingThroughApprovalRequest,\n ): Promise<AutomatedEnterpriseOnboardingResult> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'AccountsApprovalsM2MService.automatedEnterpriseOnboarding',\n url: 'api/admin/approvals/organizations/enterprise-onboarding',\n normalizedUrl:\n 'api/admin/approvals/organizations/enterprise-onboarding',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\n }\n\n const response = await request<AutomatedEnterpriseOnboardingResult>({\n config: params.config,\n base: { id: 'accounts' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: params.body,\n responseType: 'json',\n // No retry on a 429: accounts answers 429 when the Auth0 lookup of the\n // owner invitation runs out of tries, AFTER it created the two\n // organizations. A second POST would create a second pair.\n retry: { attempts: 1, remaining: 0 },\n })\n\n if (!response.ok || !response.body) {\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 deleteOrganization(\n params: DeleteOrganizationThroughApprovalRequest,\n ): Promise<DeleteOrganizationThroughApprovalResult> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'AccountsApprovalsM2MService.deleteOrganization',\n url: `api/admin/approvals/organizations/${params.params.orgId}`,\n normalizedUrl: 'api/admin/approvals/organizations/:orgId',\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\n }\n\n const response = await request<DeleteOrganizationThroughApprovalResult>({\n config: params.config,\n base: { id: 'accounts' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: params.body,\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 createPersonalOrganization(\n params: CreatePersonalOrganizationThroughApprovalRequest,\n ): Promise<CreatePersonalOrganizationThroughApprovalResult> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'AccountsApprovalsM2MService.createPersonalOrganization',\n url: 'api/admin/approvals/organizations/personal',\n normalizedUrl: 'api/admin/approvals/organizations/personal',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\n }\n\n const response =\n await request<CreatePersonalOrganizationThroughApprovalResult>({\n config: params.config,\n base: { id: 'accounts' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: params.body,\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 /**\n * Adds a cluster plan to the `clusterPlanWhiteList` of an organization that\n * the requester owns. Safe to run again.\n */\n public static async linkClusterPlan(\n params: ChangeClusterPlanLinkThroughApprovalRequest,\n ): Promise<ChangeClusterPlanLinkThroughApprovalResult> {\n return AccountsApprovalsM2MService.changeClusterPlanLink(params, 'put')\n }\n\n /**\n * Removes a cluster plan from the `clusterPlanWhiteList` of an organization\n * that the requester owns.\n */\n public static async unlinkClusterPlan(\n params: ChangeClusterPlanLinkThroughApprovalRequest,\n ): Promise<ChangeClusterPlanLinkThroughApprovalResult> {\n return AccountsApprovalsM2MService.changeClusterPlanLink(params, 'delete')\n }\n\n private static async changeClusterPlanLink(\n params: ChangeClusterPlanLinkThroughApprovalRequest,\n type: 'put' | 'delete',\n ): Promise<ChangeClusterPlanLinkThroughApprovalResult> {\n const { orgId, clusterPlanId } = params.params\n return AccountsApprovalsM2MService.callApprovalRoute({\n config: params.config,\n name:\n type === 'put'\n ? 'AccountsApprovalsM2MService.linkClusterPlan'\n : 'AccountsApprovalsM2MService.unlinkClusterPlan',\n url: `api/admin/approvals/organizations/${orgId}/cluster-plans/${clusterPlanId}`,\n normalizedUrl:\n 'api/admin/approvals/organizations/:orgId/cluster-plans/:clusterPlanId',\n type,\n body: params.body,\n })\n }\n\n /**\n * Removes a cluster plan from the `clusterPlanWhiteList` of every\n * organization that the requester is a member of.\n */\n public static async unlinkClusterPlanFromMemberOrganizations(\n params: UnlinkClusterPlanFromMemberOrganizationsRequest,\n ): Promise<UnlinkClusterPlanFromMemberOrganizationsResult> {\n const { clusterPlanId } = params.params\n return AccountsApprovalsM2MService.callApprovalRoute({\n config: params.config,\n name: 'AccountsApprovalsM2MService.unlinkClusterPlanFromMemberOrganizations',\n url: `api/admin/approvals/cluster-plans/${clusterPlanId}/unlink-from-member-organizations`,\n normalizedUrl:\n 'api/admin/approvals/cluster-plans/:clusterPlanId/unlink-from-member-organizations',\n type: 'post',\n body: params.body,\n })\n }\n\n /**\n * Adds a custom generation to the `generationWhiteList` of an organization\n * that the requester owns. Safe to run again.\n */\n public static async linkGeneration(\n params: ChangeGenerationLinkThroughApprovalRequest,\n ): Promise<ChangeGenerationLinkThroughApprovalResult> {\n return AccountsApprovalsM2MService.changeGenerationLink(params, 'put')\n }\n\n /**\n * Removes a custom generation from the list of an organization that the\n * requester owns.\n */\n public static async unlinkGeneration(\n params: ChangeGenerationLinkThroughApprovalRequest,\n ): Promise<ChangeGenerationLinkThroughApprovalResult> {\n return AccountsApprovalsM2MService.changeGenerationLink(params, 'delete')\n }\n\n private static async changeGenerationLink(\n params: ChangeGenerationLinkThroughApprovalRequest,\n type: 'put' | 'delete',\n ): Promise<ChangeGenerationLinkThroughApprovalResult> {\n const { orgId, generationId } = params.params\n return AccountsApprovalsM2MService.callApprovalRoute({\n config: params.config,\n name:\n type === 'put'\n ? 'AccountsApprovalsM2MService.linkGeneration'\n : 'AccountsApprovalsM2MService.unlinkGeneration',\n url: `api/admin/approvals/organizations/${orgId}/generations/${generationId}`,\n normalizedUrl:\n 'api/admin/approvals/organizations/:orgId/generations/:generationId',\n type,\n body: params.body,\n })\n }\n\n /**\n * Removes a custom generation from the list of every organization that the\n * requester is a member of.\n */\n public static async unlinkGenerationFromMemberOrganizations(\n params: UnlinkGenerationFromMemberOrganizationsRequest,\n ): Promise<UnlinkGenerationFromMemberOrganizationsResult> {\n const { generationId } = params.params\n return AccountsApprovalsM2MService.callApprovalRoute({\n config: params.config,\n name: 'AccountsApprovalsM2MService.unlinkGenerationFromMemberOrganizations',\n url: `api/admin/approvals/generations/${generationId}/unlink-from-member-organizations`,\n normalizedUrl:\n 'api/admin/approvals/generations/:generationId/unlink-from-member-organizations',\n type: 'post',\n body: params.body,\n })\n }\n\n /**\n * Asks whether the requester owns an organization. Accounts answers 204 with\n * no body, and 403 for a requester who is not an owner.\n */\n public static async checkOrgOwner(\n params: CheckOrgOwnerRequest,\n ): Promise<void> {\n const { orgId } = params.params\n await AccountsApprovalsM2MService.callApprovalRoute<void>({\n config: params.config,\n name: 'AccountsApprovalsM2MService.checkOrgOwner',\n url: `api/admin/approvals/organizations/${orgId}/owner-check`,\n normalizedUrl: 'api/admin/approvals/organizations/:orgId/owner-check',\n type: 'post',\n body: params.body,\n })\n }\n\n /** The shared half of the plan and generation link calls. */\n private static async callApprovalRoute<T>(args: {\n config: RequestBaseParams['config']\n name: string\n url: string\n normalizedUrl: string\n type: 'put' | 'delete' | 'post'\n body: unknown\n }): Promise<T> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: args.name,\n url: args.url,\n normalizedUrl: args.normalizedUrl,\n type: args.type,\n },\n source: args.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\n }\n\n const response = await request<T>({\n config: args.config,\n base: { id: 'accounts' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: args.body,\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 deleteUser(\n params: DeleteUserThroughApprovalRequest,\n ): Promise<DeleteUserThroughApprovalResult> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'AccountsApprovalsM2MService.deleteUser',\n url: `api/admin/approvals/users/${encodeURIComponent(params.params.userId)}`,\n normalizedUrl: 'api/admin/approvals/users/:userId',\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\n }\n\n const response = await request<DeleteUserThroughApprovalResult>({\n config: params.config,\n base: { id: 'accounts' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: params.body,\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 changeUserEmail(\n params: ChangeUserEmailThroughApprovalRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'AccountsApprovalsM2MService.changeUserEmail',\n url: `api/admin/approvals/users/${encodeURIComponent(params.params.userId)}/email`,\n normalizedUrl: 'api/admin/approvals/users/:userId/email',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\n }\n\n const response = await request<void>({\n config: params.config,\n base: { id: 'accounts' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: params.body,\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 updateUserMetadata(\n params: UpdateUserMetadataThroughApprovalRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'AccountsApprovalsM2MService.updateUserMetadata',\n url: `api/admin/approvals/users/${encodeURIComponent(params.params.userId)}/metadata/${params.params.kind}`,\n normalizedUrl: 'api/admin/approvals/users/:userId/metadata/:kind',\n type: 'put',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\n }\n\n const response = await request<void>({\n config: params.config,\n base: { id: 'accounts' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: params.body,\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"],
|
|
5
|
-
"mappings": "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",
|
|
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 ApprovalM2mActor,\n EnterpriseIncludingValueMetrics,\n LicensingModelType,\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'\nimport type {\n AutomatedEnterpriseOnboardingRequest,\n AutomatedEnterpriseOnboardingResult,\n} from './orgs.service.js'\n\n/**\n * The routes of `api/admin/approvals` in accounts-backend.\n *\n * control-backend calls these when a four-eyes request holds the approvals\n * that it needs. They are separate from `OrgsService`, because they are a\n * separate surface: each one carries its own m2m permission, and each one\n * takes the actor envelope that names the Camundis. The routes that a browser\n * calls today go away, and this service does not go with them.\n */\n\nexport interface ExtendTrialThroughApprovalRequest extends RequestBaseParams {\n params: { orgId: string }\n body: {\n actor: ApprovalM2mActor\n /** An ISO timestamp, between 14 and 62 days from when the call ARRIVES. */\n newExpireDate: string\n }\n}\n\nexport interface SendToExpiredTrialThroughApprovalRequest\n extends RequestBaseParams {\n params: { orgId: string }\n body: { actor: ApprovalM2mActor }\n}\n\nexport interface ChangePlatformRolesThroughApprovalRequest\n extends RequestBaseParams {\n params: { userId: string }\n body: {\n actor: ApprovalM2mActor\n /** A CHANGE over the roles that the user holds when the call arrives. */\n rolesToAdd: string[]\n rolesToRemove: string[]\n }\n}\n\n/** What accounts answers for a role change: the roles after it. */\nexport interface ChangePlatformRolesThroughApprovalResult {\n userId: string\n roles: string[]\n rolesAdded: string[]\n rolesRemoved: string[]\n}\n\n/** A value of an org limit. `null` clears the override. */\nexport type OrgLimitValue = string | number | boolean | null\n\nexport interface ChangeOrgLimitThroughApprovalRequest\n extends RequestBaseParams {\n params: { orgId: string; limitKey: string }\n body: {\n actor: ApprovalM2mActor\n /**\n * The override that the person who asked read. Absent for \"not set\".\n * Accounts answers 409 and writes nothing when the override moved since.\n */\n expected?: OrgLimitValue\n value: OrgLimitValue\n }\n}\n\nexport interface DeleteSsoConnectionThroughApprovalRequest\n extends RequestBaseParams {\n params: { strategy: 'waad' | 'samlp'; connectionId: string }\n body: {\n actor: ApprovalM2mActor\n /**\n * The name of the connection that the approvers read. Accounts refuses\n * the deletion when the connection has another name.\n */\n connectionName?: string\n }\n}\n\n/** What accounts answers for a deleted connection. */\nexport interface DeleteSsoConnectionThroughApprovalResult {\n connectionId: string\n connectionName: string\n /** The users who signed in with the connection. Accounts deleted them too. */\n deletedUsers: number\n}\n\n/** One cluster of the organization and the plan type it moves to. */\nexport interface OnboardToEnterpriseClusterMapping {\n clusterId: string\n planTypeId: string\n numberOfAllocatedHwPackages?: number\n keepModification: boolean\n}\n\n/** The contract of the enterprise plan, as the accounts wizard sends it. */\nexport interface OnboardToEnterpriseContract {\n duration: number\n includedValueMetrics: EnterpriseIncludingValueMetrics\n /** `YYYY-MM-DD`. Accounts turns it into a date. */\n enterPriseStartDate: string\n enterpriseDevOnly: boolean\n awsOnly: boolean\n licensingModel: LicensingModelType\n salesForceId?: string\n}\n\nexport interface OnboardToEnterpriseThroughApprovalRequest\n extends RequestBaseParams {\n params: { orgId: string }\n body: {\n actor: ApprovalM2mActor\n salesPlanId: string\n /** The plan that the person who asked read. Absent for \"no plan\". */\n expectedSalesPlanId?: string\n salesPlanName?: string\n expectedSalesPlanName?: string\n contract: OnboardToEnterpriseContract\n /** One entry for each cluster of the organization. */\n onboardOrgClusterMapping: OnboardToEnterpriseClusterMapping[]\n }\n}\n\nexport interface UpdateReservationsThroughApprovalRequest\n extends RequestBaseParams {\n params: { orgId: string }\n body: {\n actor: ApprovalM2mActor\n /**\n * The plan the organization must be on. Accounts answers 409 when it is\n * on another one, so the reservations never land on a plan that the\n * approvers did not read.\n */\n expectedSalesPlanId: string\n /** The reservations of the organization, by plan type uuid. */\n clusterPlanTypesToReserved: Record<string, number>\n }\n}\n\nexport interface ChangeSalesPlanThroughApprovalRequest\n extends RequestBaseParams {\n params: { orgId: string }\n body: {\n actor: ApprovalM2mActor\n salesPlanId: string\n /**\n * The plan that the person who asked read. Absent for \"no plan\". Accounts\n * answers 409 and switches nothing when the plan moved since.\n */\n expectedSalesPlanId?: string\n /**\n * The names of the two plans that the approvers read. Accounts refuses\n * the switch when a plan has another name.\n */\n salesPlanName?: string\n expectedSalesPlanName?: string\n force: boolean\n }\n}\n\n/**\n * The body of `POST api/admin/approvals/organizations/enterprise-onboarding`:\n * the fields of `POST external/onboarding`, with the actor envelope.\n */\nexport interface AutomatedEnterpriseOnboardingThroughApprovalRequest\n extends RequestBaseParams {\n body: AutomatedEnterpriseOnboardingRequest & { actor: ApprovalM2mActor }\n}\n\nexport interface DeleteOrganizationThroughApprovalRequest\n extends RequestBaseParams {\n params: { orgId: string }\n body: {\n actor: ApprovalM2mActor\n /**\n * The name that the approvers read. Accounts refuses the deletion when\n * the organization has another name.\n */\n orgName: string\n }\n}\n\n/** What accounts answers for a deleted organization. */\nexport interface DeleteOrganizationThroughApprovalResult {\n orgId: string\n /** The members that accounts removed before it deleted the organization. */\n removedMembers: number\n}\n\nexport interface CreatePersonalOrganizationThroughApprovalRequest\n extends RequestBaseParams {\n body: {\n actor: ApprovalM2mActor\n name: string\n }\n}\n\n/** What accounts answers for a new personal organization. */\nexport interface CreatePersonalOrganizationThroughApprovalResult {\n orgId: string\n}\n\nexport interface ChangeClusterPlanLinkThroughApprovalRequest\n extends RequestBaseParams {\n params: { orgId: string; clusterPlanId: string }\n body: { actor: ApprovalM2mActor }\n}\n\n/** What accounts answers for a link or an unlink of one organization. */\nexport interface ChangeClusterPlanLinkThroughApprovalResult {\n orgId: string\n clusterPlanId: string\n /** `false` when the list of the organization already was as wanted. */\n changed: boolean\n}\n\nexport interface UnlinkClusterPlanFromMemberOrganizationsRequest\n extends RequestBaseParams {\n params: { clusterPlanId: string }\n body: { actor: ApprovalM2mActor }\n}\n\nexport interface UnlinkClusterPlanFromMemberOrganizationsResult {\n /** The organizations whose list held the plan before the call. */\n unlinkedOrgIds: string[]\n}\n\nexport interface ChangeGenerationLinkThroughApprovalRequest\n extends RequestBaseParams {\n params: { orgId: string; generationId: string }\n body: { actor: ApprovalM2mActor }\n}\n\n/** What accounts answers for a link or an unlink of one organization. */\nexport interface ChangeGenerationLinkThroughApprovalResult {\n orgId: string\n generationId: string\n /** `false` when the list of the organization already was as wanted. */\n changed: boolean\n}\n\nexport interface UnlinkGenerationFromMemberOrganizationsRequest\n extends RequestBaseParams {\n params: { generationId: string }\n body: { actor: ApprovalM2mActor }\n}\n\nexport interface UnlinkGenerationFromMemberOrganizationsResult {\n /** The organizations whose list held the generation before the call. */\n unlinkedOrgIds: string[]\n}\n\nexport interface CheckOrgOwnerRequest extends RequestBaseParams {\n params: { orgId: string }\n body: { actor: ApprovalM2mActor }\n}\n\nexport interface DeleteUserThroughApprovalRequest extends RequestBaseParams {\n params: { userId: string }\n body: {\n actor: ApprovalM2mActor\n /**\n * The address that the approvers read. When given, accounts refuses the\n * deletion of a user with another address.\n */\n expectedEmail?: string\n /**\n * Accounts answers `deleted: false` for a user that Auth0 does not have,\n * and not 404. A purge sets it.\n */\n skipMissing?: boolean\n /**\n * A purge sets it. The person who asked then needs `GOD_PURGE_USERS` as\n * well as `DELETE_USER`.\n */\n purge?: boolean\n }\n}\n\n/** What accounts answers for a user deletion. */\nexport interface DeleteUserThroughApprovalResult {\n userId: string\n /** `false` when Auth0 had no such user, which only `skipMissing` answers. */\n deleted: boolean\n}\n\nexport interface ChangeUserEmailThroughApprovalRequest\n extends RequestBaseParams {\n params: { userId: string }\n body: {\n actor: ApprovalM2mActor\n /**\n * The address that the person who asked read. Accounts answers 409 and\n * changes nothing when the address moved since.\n */\n expectedEmail: string\n newEmail: string\n }\n}\n\nexport interface UpdateUserMetadataThroughApprovalRequest\n extends RequestBaseParams {\n params: { userId: string; kind: 'app' | 'user' }\n body: {\n actor: ApprovalM2mActor\n /**\n * The metadata that the person who asked read. Absent for \"not set\".\n * Accounts answers 409 and writes nothing when it moved since.\n */\n expected?: Record<string, unknown>\n metadata: Record<string, unknown>\n }\n}\n\nexport class AccountsApprovalsM2MService {\n public static async extendTrial(\n params: ExtendTrialThroughApprovalRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'AccountsApprovalsM2MService.extendTrial',\n url: `api/admin/approvals/organizations/${params.params.orgId}/extend-trial`,\n normalizedUrl: 'api/admin/approvals/organizations/:orgId/extend-trial',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\n }\n\n const response = await request<void>({\n config: params.config,\n base: { id: 'accounts' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: params.body,\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 sendToExpiredTrial(\n params: SendToExpiredTrialThroughApprovalRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'AccountsApprovalsM2MService.sendToExpiredTrial',\n url: `api/admin/approvals/organizations/${params.params.orgId}/expire-trial`,\n normalizedUrl: 'api/admin/approvals/organizations/:orgId/expire-trial',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\n }\n\n const response = await request<void>({\n config: params.config,\n base: { id: 'accounts' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: params.body,\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 changePlatformRoles(\n params: ChangePlatformRolesThroughApprovalRequest,\n ): Promise<ChangePlatformRolesThroughApprovalResult> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'AccountsApprovalsM2MService.changePlatformRoles',\n url: `api/admin/approvals/users/${encodeURIComponent(params.params.userId)}/roles`,\n normalizedUrl: 'api/admin/approvals/users/:userId/roles',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\n }\n\n const response = await request<ChangePlatformRolesThroughApprovalResult>({\n config: params.config,\n base: { id: 'accounts' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: params.body,\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 changeOrgLimit(\n params: ChangeOrgLimitThroughApprovalRequest,\n ): Promise<void> {\n const { orgId, limitKey } = params.params\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'AccountsApprovalsM2MService.changeOrgLimit',\n url: `api/admin/approvals/organizations/${orgId}/limits/${encodeURIComponent(limitKey)}`,\n normalizedUrl:\n 'api/admin/approvals/organizations/:orgId/limits/:limitKey',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\n }\n\n const response = await request<void>({\n config: params.config,\n base: { id: 'accounts' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: params.body,\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 deleteSsoConnection(\n params: DeleteSsoConnectionThroughApprovalRequest,\n ): Promise<DeleteSsoConnectionThroughApprovalResult> {\n const { strategy, connectionId } = params.params\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'AccountsApprovalsM2MService.deleteSsoConnection',\n url: `api/admin/approvals/connections/${strategy}/${encodeURIComponent(connectionId)}`,\n normalizedUrl:\n 'api/admin/approvals/connections/:strategy/:connectionId',\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\n }\n\n const response = await request<DeleteSsoConnectionThroughApprovalResult>({\n config: params.config,\n base: { id: 'accounts' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: params.body,\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 /**\n * Moves an organization to an enterprise plan with its contract and the\n * plan type of each cluster. Accounts answers 409 when the plan moved since\n * `expectedSalesPlanId`, and 400 when a cluster has no mapping.\n */\n public static async onboardToEnterprise(\n params: OnboardToEnterpriseThroughApprovalRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'AccountsApprovalsM2MService.onboardToEnterprise',\n url: `api/admin/approvals/organizations/${params.params.orgId}/enterprise-onboarding`,\n normalizedUrl:\n 'api/admin/approvals/organizations/:orgId/enterprise-onboarding',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\n }\n\n const response = await request<void>({\n config: params.config,\n base: { id: 'accounts' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: params.body,\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 * Sets the reservations of an organization, the second write of the\n * enterprise onboarding. Accounts refuses a count below the clusters on\n * the plan type, and one above the maximum of the sales plan.\n */\n public static async updateReservations(\n params: UpdateReservationsThroughApprovalRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'AccountsApprovalsM2MService.updateReservations',\n url: `api/admin/approvals/organizations/${params.params.orgId}/reservations`,\n normalizedUrl: 'api/admin/approvals/organizations/:orgId/reservations',\n type: 'put',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\n }\n\n const response = await request<void>({\n config: params.config,\n base: { id: 'accounts' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: params.body,\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 changeSalesPlan(\n params: ChangeSalesPlanThroughApprovalRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'AccountsApprovalsM2MService.changeSalesPlan',\n url: `api/admin/approvals/organizations/${params.params.orgId}/sales-plan`,\n normalizedUrl: 'api/admin/approvals/organizations/:orgId/sales-plan',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\n }\n\n const response = await request<void>({\n config: params.config,\n base: { id: 'accounts' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: params.body,\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 * Creates a production and a development organization for a new enterprise\n * customer, as `POST external/onboarding` does, and names the Camundi who\n * asked as the person who invited the owner.\n */\n public static async automatedEnterpriseOnboarding(\n params: AutomatedEnterpriseOnboardingThroughApprovalRequest,\n ): Promise<AutomatedEnterpriseOnboardingResult> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'AccountsApprovalsM2MService.automatedEnterpriseOnboarding',\n url: 'api/admin/approvals/organizations/enterprise-onboarding',\n normalizedUrl:\n 'api/admin/approvals/organizations/enterprise-onboarding',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\n }\n\n const response = await request<AutomatedEnterpriseOnboardingResult>({\n config: params.config,\n base: { id: 'accounts' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: params.body,\n responseType: 'json',\n // No retry on a 429: accounts answers 429 when the Auth0 lookup of the\n // owner invitation runs out of tries, AFTER it created the two\n // organizations. A second POST would create a second pair.\n retry: { attempts: 1, remaining: 0 },\n })\n\n if (!response.ok || !response.body) {\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 deleteOrganization(\n params: DeleteOrganizationThroughApprovalRequest,\n ): Promise<DeleteOrganizationThroughApprovalResult> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'AccountsApprovalsM2MService.deleteOrganization',\n url: `api/admin/approvals/organizations/${params.params.orgId}`,\n normalizedUrl: 'api/admin/approvals/organizations/:orgId',\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\n }\n\n const response = await request<DeleteOrganizationThroughApprovalResult>({\n config: params.config,\n base: { id: 'accounts' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: params.body,\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 createPersonalOrganization(\n params: CreatePersonalOrganizationThroughApprovalRequest,\n ): Promise<CreatePersonalOrganizationThroughApprovalResult> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'AccountsApprovalsM2MService.createPersonalOrganization',\n url: 'api/admin/approvals/organizations/personal',\n normalizedUrl: 'api/admin/approvals/organizations/personal',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\n }\n\n const response =\n await request<CreatePersonalOrganizationThroughApprovalResult>({\n config: params.config,\n base: { id: 'accounts' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: params.body,\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 /**\n * Adds a cluster plan to the `clusterPlanWhiteList` of an organization that\n * the requester owns. Safe to run again.\n */\n public static async linkClusterPlan(\n params: ChangeClusterPlanLinkThroughApprovalRequest,\n ): Promise<ChangeClusterPlanLinkThroughApprovalResult> {\n return AccountsApprovalsM2MService.changeClusterPlanLink(params, 'put')\n }\n\n /**\n * Removes a cluster plan from the `clusterPlanWhiteList` of an organization\n * that the requester owns.\n */\n public static async unlinkClusterPlan(\n params: ChangeClusterPlanLinkThroughApprovalRequest,\n ): Promise<ChangeClusterPlanLinkThroughApprovalResult> {\n return AccountsApprovalsM2MService.changeClusterPlanLink(params, 'delete')\n }\n\n private static async changeClusterPlanLink(\n params: ChangeClusterPlanLinkThroughApprovalRequest,\n type: 'put' | 'delete',\n ): Promise<ChangeClusterPlanLinkThroughApprovalResult> {\n const { orgId, clusterPlanId } = params.params\n return AccountsApprovalsM2MService.callApprovalRoute({\n config: params.config,\n name:\n type === 'put'\n ? 'AccountsApprovalsM2MService.linkClusterPlan'\n : 'AccountsApprovalsM2MService.unlinkClusterPlan',\n url: `api/admin/approvals/organizations/${orgId}/cluster-plans/${clusterPlanId}`,\n normalizedUrl:\n 'api/admin/approvals/organizations/:orgId/cluster-plans/:clusterPlanId',\n type,\n body: params.body,\n })\n }\n\n /**\n * Removes a cluster plan from the `clusterPlanWhiteList` of every\n * organization that the requester is a member of.\n */\n public static async unlinkClusterPlanFromMemberOrganizations(\n params: UnlinkClusterPlanFromMemberOrganizationsRequest,\n ): Promise<UnlinkClusterPlanFromMemberOrganizationsResult> {\n const { clusterPlanId } = params.params\n return AccountsApprovalsM2MService.callApprovalRoute({\n config: params.config,\n name: 'AccountsApprovalsM2MService.unlinkClusterPlanFromMemberOrganizations',\n url: `api/admin/approvals/cluster-plans/${clusterPlanId}/unlink-from-member-organizations`,\n normalizedUrl:\n 'api/admin/approvals/cluster-plans/:clusterPlanId/unlink-from-member-organizations',\n type: 'post',\n body: params.body,\n })\n }\n\n /**\n * Adds a custom generation to the `generationWhiteList` of an organization\n * that the requester owns. Safe to run again.\n */\n public static async linkGeneration(\n params: ChangeGenerationLinkThroughApprovalRequest,\n ): Promise<ChangeGenerationLinkThroughApprovalResult> {\n return AccountsApprovalsM2MService.changeGenerationLink(params, 'put')\n }\n\n /**\n * Removes a custom generation from the list of an organization that the\n * requester owns.\n */\n public static async unlinkGeneration(\n params: ChangeGenerationLinkThroughApprovalRequest,\n ): Promise<ChangeGenerationLinkThroughApprovalResult> {\n return AccountsApprovalsM2MService.changeGenerationLink(params, 'delete')\n }\n\n private static async changeGenerationLink(\n params: ChangeGenerationLinkThroughApprovalRequest,\n type: 'put' | 'delete',\n ): Promise<ChangeGenerationLinkThroughApprovalResult> {\n const { orgId, generationId } = params.params\n return AccountsApprovalsM2MService.callApprovalRoute({\n config: params.config,\n name:\n type === 'put'\n ? 'AccountsApprovalsM2MService.linkGeneration'\n : 'AccountsApprovalsM2MService.unlinkGeneration',\n url: `api/admin/approvals/organizations/${orgId}/generations/${generationId}`,\n normalizedUrl:\n 'api/admin/approvals/organizations/:orgId/generations/:generationId',\n type,\n body: params.body,\n })\n }\n\n /**\n * Removes a custom generation from the list of every organization that the\n * requester is a member of.\n */\n public static async unlinkGenerationFromMemberOrganizations(\n params: UnlinkGenerationFromMemberOrganizationsRequest,\n ): Promise<UnlinkGenerationFromMemberOrganizationsResult> {\n const { generationId } = params.params\n return AccountsApprovalsM2MService.callApprovalRoute({\n config: params.config,\n name: 'AccountsApprovalsM2MService.unlinkGenerationFromMemberOrganizations',\n url: `api/admin/approvals/generations/${generationId}/unlink-from-member-organizations`,\n normalizedUrl:\n 'api/admin/approvals/generations/:generationId/unlink-from-member-organizations',\n type: 'post',\n body: params.body,\n })\n }\n\n /**\n * Asks whether the requester owns an organization. Accounts answers 204 with\n * no body, and 403 for a requester who is not an owner.\n */\n public static async checkOrgOwner(\n params: CheckOrgOwnerRequest,\n ): Promise<void> {\n const { orgId } = params.params\n await AccountsApprovalsM2MService.callApprovalRoute<void>({\n config: params.config,\n name: 'AccountsApprovalsM2MService.checkOrgOwner',\n url: `api/admin/approvals/organizations/${orgId}/owner-check`,\n normalizedUrl: 'api/admin/approvals/organizations/:orgId/owner-check',\n type: 'post',\n body: params.body,\n })\n }\n\n /** The shared half of the plan and generation link calls. */\n private static async callApprovalRoute<T>(args: {\n config: RequestBaseParams['config']\n name: string\n url: string\n normalizedUrl: string\n type: 'put' | 'delete' | 'post'\n body: unknown\n }): Promise<T> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: args.name,\n url: args.url,\n normalizedUrl: args.normalizedUrl,\n type: args.type,\n },\n source: args.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\n }\n\n const response = await request<T>({\n config: args.config,\n base: { id: 'accounts' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: args.body,\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 deleteUser(\n params: DeleteUserThroughApprovalRequest,\n ): Promise<DeleteUserThroughApprovalResult> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'AccountsApprovalsM2MService.deleteUser',\n url: `api/admin/approvals/users/${encodeURIComponent(params.params.userId)}`,\n normalizedUrl: 'api/admin/approvals/users/:userId',\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\n }\n\n const response = await request<DeleteUserThroughApprovalResult>({\n config: params.config,\n base: { id: 'accounts' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: params.body,\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 changeUserEmail(\n params: ChangeUserEmailThroughApprovalRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'AccountsApprovalsM2MService.changeUserEmail',\n url: `api/admin/approvals/users/${encodeURIComponent(params.params.userId)}/email`,\n normalizedUrl: 'api/admin/approvals/users/:userId/email',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\n }\n\n const response = await request<void>({\n config: params.config,\n base: { id: 'accounts' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: params.body,\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 updateUserMetadata(\n params: UpdateUserMetadataThroughApprovalRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'AccountsApprovalsM2MService.updateUserMetadata',\n url: `api/admin/approvals/users/${encodeURIComponent(params.params.userId)}/metadata/${params.params.kind}`,\n normalizedUrl: 'api/admin/approvals/users/:userId/metadata/:kind',\n type: 'put',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\n }\n\n const response = await request<void>({\n config: params.config,\n base: { id: 'accounts' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: params.body,\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"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -79,6 +79,12 @@ export interface UserIdRequest extends RequestBaseParams {
|
|
|
79
79
|
userId: string;
|
|
80
80
|
};
|
|
81
81
|
}
|
|
82
|
+
/** What accounts answers for one user of a purge. */
|
|
83
|
+
export interface PurgeUserResult {
|
|
84
|
+
userId: string;
|
|
85
|
+
/** `false` when Auth0 had no such user, so nothing was deleted. */
|
|
86
|
+
deleted: boolean;
|
|
87
|
+
}
|
|
82
88
|
export interface DeleteMeRequest extends RequestBaseParams {
|
|
83
89
|
params: {
|
|
84
90
|
reason: string;
|
|
@@ -109,6 +115,12 @@ export declare class UsersService {
|
|
|
109
115
|
/** Refresh the verification token and resend the welcome mail. */
|
|
110
116
|
static resendWelcomeMail(params: UserIdRequest): Promise<void>;
|
|
111
117
|
static deleteUser(params: UserIdRequest): Promise<void>;
|
|
118
|
+
/**
|
|
119
|
+
* Deletes one user of a God Mode purge (`DELETE api/users/:userId/purge`).
|
|
120
|
+
* The route needs `admin.god.purgeUsers` and `admin.deleteUser`. A purge
|
|
121
|
+
* screen calls this for each user, and never `deleteUser`.
|
|
122
|
+
*/
|
|
123
|
+
static purgeUser(params: UserIdRequest): Promise<PurgeUserResult>;
|
|
112
124
|
/**
|
|
113
125
|
* Delete the account of the caller (self-service `DELETE api/users/me`).
|
|
114
126
|
* The route reads the caller from the token, so it needs no `userId`.
|
|
@@ -337,6 +337,39 @@ class UsersService {
|
|
|
337
337
|
);
|
|
338
338
|
}
|
|
339
339
|
}
|
|
340
|
+
/**
|
|
341
|
+
* Deletes one user of a God Mode purge (`DELETE api/users/:userId/purge`).
|
|
342
|
+
* The route needs `admin.god.purgeUsers` and `admin.deleteUser`. A purge
|
|
343
|
+
* screen calls this for each user, and never `deleteUser`.
|
|
344
|
+
*/
|
|
345
|
+
static async purgeUser(params) {
|
|
346
|
+
const serviceContext = {
|
|
347
|
+
method: {
|
|
348
|
+
name: "UsersService.purgeUser",
|
|
349
|
+
url: `api/users/${encodeURIComponent(params.params.userId)}/purge`,
|
|
350
|
+
normalizedUrl: "api/users/:userId/purge",
|
|
351
|
+
type: "delete"
|
|
352
|
+
},
|
|
353
|
+
source: params.config.metrics?.source || "unset",
|
|
354
|
+
target: { name: "accounts", type: "internal" }
|
|
355
|
+
};
|
|
356
|
+
const response = await request({
|
|
357
|
+
config: params.config,
|
|
358
|
+
base: { id: "accounts" },
|
|
359
|
+
url: serviceContext.method.url,
|
|
360
|
+
method: serviceContext.method.type,
|
|
361
|
+
metricsDetails: serviceContext,
|
|
362
|
+
responseType: "json"
|
|
363
|
+
});
|
|
364
|
+
if (!response.ok || response.body === void 0) {
|
|
365
|
+
throw new HttpError(
|
|
366
|
+
`${serviceContext.method.name}: ${response.status} ${response.statusText}`,
|
|
367
|
+
response.status,
|
|
368
|
+
response.statusText
|
|
369
|
+
);
|
|
370
|
+
}
|
|
371
|
+
return response.body;
|
|
372
|
+
}
|
|
340
373
|
/**
|
|
341
374
|
* Delete the account of the caller (self-service `DELETE api/users/me`).
|
|
342
375
|
* The route reads the caller from the token, so it needs no `userId`.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
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 RemoveStaleOrganizationRequest extends RequestBaseParams {\n params: {\n userId: string\n orgId: string\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 interface ChangeUserEmailRequest extends RequestBaseParams {\n params: { userId: string; email: string }\n}\n\nexport interface ChangeUserNameRequest extends RequestBaseParams {\n params: { userId: string; firstname: string; lastname: string }\n}\n\nexport interface UserIdRequest extends RequestBaseParams {\n params: { userId: string }\n}\n\nexport interface DeleteMeRequest extends RequestBaseParams {\n params: { reason: string; explanation: string }\n}\n\nexport interface SetDefaultOrgRequest extends RequestBaseParams {\n params: { userId: string; orgId: string }\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: {\n userId: string\n basic?: boolean\n roles?: boolean\n } & RequestBaseParams,\n ): Promise<User | undefined> {\n // `roles=true` asks the backend to enrich the user with its Auth0\n // platform (account-level) roles, which are omitted by default.\n const cacheKey = `${params.basic === true ? 'basic-' : ''}${\n params.roles === true ? 'roles-' : ''\n }${params.userId}`\n if (!params.cacheControl?.ignoreCache) {\n const inCache = userCache.get(cacheKey)\n if (inCache) {\n return inCache\n }\n }\n\n const searchParams = new URLSearchParams()\n if (params.basic === true) {\n searchParams.append('basic', 'true')\n }\n if (params.roles === true) {\n searchParams.append('roles', 'true')\n }\n const queryParams = searchParams.toString()\n ? `?${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 changeEmail(\n params: ChangeUserEmailRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'UsersService.changeEmail',\n url: `api/users/${encodeURIComponent(params.params.userId)}/email`,\n normalizedUrl: 'api/users/:userId/email',\n type: 'put',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\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: { email: params.params.email },\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 }\n\n public static async changeName(params: ChangeUserNameRequest): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'UsersService.changeName',\n url: `api/users/${encodeURIComponent(params.params.userId)}/name`,\n normalizedUrl: 'api/users/:userId/name',\n type: 'put',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\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 firstname: params.params.firstname,\n lastname: params.params.lastname,\n },\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 }\n\n /** Admin-activate a user without an email token (POST api/admin/activate). */\n public static async activateWithoutToken(\n params: UserIdRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'UsersService.activateWithoutToken',\n url: 'api/admin/activate',\n normalizedUrl: 'api/admin/activate',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\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: { userId: params.params.userId },\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 }\n\n /** Refresh the verification token and resend the welcome mail. */\n public static async resendWelcomeMail(params: UserIdRequest): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'UsersService.resendWelcomeMail',\n url: 'api/admin/resend-welcome-mail',\n normalizedUrl: 'api/admin/resend-welcome-mail',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\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: { userId: params.params.userId },\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 }\n\n public static async deleteUser(params: UserIdRequest): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'UsersService.deleteUser',\n url: `api/users/${encodeURIComponent(params.params.userId)}`,\n normalizedUrl: 'api/users/:userId',\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\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 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 }\n\n /**\n * Delete the account of the caller (self-service `DELETE api/users/me`).\n * The route reads the caller from the token, so it needs no `userId`.\n *\n * The backend reads the body field `explaination`, not `explanation`. This\n * method keeps the misspelling only in the request body, not in its own\n * parameter name.\n */\n public static async deleteMe(params: DeleteMeRequest): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'UsersService.deleteMe',\n url: 'api/users/me',\n normalizedUrl: 'api/users/me',\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\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 reason: params.params.reason,\n explaination: params.params.explanation,\n },\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 }\n\n /**\n * Auth0 brute-force blocks for a user (`GET api/users/:userId/blocks`). The\n * entries are Auth0's block records (identifier/IP), returned opaque for the\n * caller to render.\n */\n public static async getBlocks(params: UserIdRequest): Promise<unknown[]> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'UsersService.getBlocks',\n url: `api/users/${encodeURIComponent(params.params.userId)}/blocks`,\n normalizedUrl: 'api/users/:userId/blocks',\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\n }\n const response = await request<unknown[]>({\n ...params,\n base: { id: 'accounts' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n responseType: 'json',\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body ?? []\n }\n\n /** Clear a user's Auth0 blocks (`DELETE api/users/:userId/blocks`). */\n public static async clearBlocks(params: UserIdRequest): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'UsersService.clearBlocks',\n url: `api/users/${encodeURIComponent(params.params.userId)}/blocks`,\n normalizedUrl: 'api/users/:userId/blocks',\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\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 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 }\n\n /** Replace a user's Auth0 `app_metadata` (god-gated raw JSON edit). */\n public static async updateAppMetadata(\n params: {\n params: { userId: string }\n body: { appMetadata: object }\n } & RequestBaseParams,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'UsersService.updateAppMetadata',\n url: `api/users/${encodeURIComponent(params.params.userId)}/appmetadata`,\n normalizedUrl: 'api/users/:userId/appmetadata',\n type: 'put',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\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: params.body,\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 }\n\n /** Replace a user's Auth0 `user_metadata` (god-gated raw JSON edit). */\n public static async updateUserMetadata(\n params: {\n params: { userId: string }\n body: { userMetadata: object }\n } & RequestBaseParams,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'UsersService.updateUserMetadata',\n url: `api/users/${encodeURIComponent(params.params.userId)}/usermetadata`,\n normalizedUrl: 'api/users/:userId/usermetadata',\n type: 'put',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\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: params.body,\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 }\n\n public static async setDefaultOrg(\n params: SetDefaultOrgRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'UsersService.setDefaultOrg',\n url: `api/users/${encodeURIComponent(params.params.userId)}/organizations/${encodeURIComponent(params.params.orgId)}/default`,\n normalizedUrl: 'api/users/:userId/organizations/:orgId/default',\n type: 'patch',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\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 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 }\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 * Remove a stale organization assignment from a user at Auth0. Use it when\n * the organization has no row in the accounts database any more and only\n * the Auth0 membership is left. The endpoint refuses an organization that\n * still exists, thus `removeUserFromOrganization` stays the normal way.\n */\n public static async removeStaleOrganization(\n params: RemoveStaleOrganizationRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `UsersService.removeStaleOrganization`,\n url: `api/users/${encodeURIComponent(params.params.userId)}/organization/${encodeURIComponent(params.params.orgId)}/stale`,\n normalizedUrl: `api/users/:userId/organization/:orgId/stale`,\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 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": "AAMA;AAAA,EACE;AAAA,OAGK;AAKP,SAAS,eAAe;AACxB,SAAS,aAAa;AACtB,SAAS,iBAAiB;AAG1B,MAAM,YAAY,IAAI,MAAoB,IAAI,MAAM;AACpD,MAAM;AAAA;AAAA,EAEJ;AAAA;AAwFK,MAAM,aAAa;AAAA,EACxB,aAAoB,OAAO,QAAuC;AAChE,UAAM,cAAc,IAAI,gBAAgB;AACxC,UAAM,WAAqB,CAAC;AAC5B,QAAI,OAAO,OAAO,EAAE,QAAQ;AAG1B,YAAM,IAAI;AAAA,QACR,QAAQ,OAAO,OAAO,EAAE;AAAA,QACxB,MAAM,OAAO,OAAO,EAAE,QAAQ;AAAA,QAC9B,OAAO,OAAO,OAAO,EAAE,SAAS;AAAA,MAClC;AACA,kBAAY,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC;AACzC,eAAS,KAAK,GAAG,CAAC,OAAO,SAAS,IAAI,YAAY,SAAS,CAAC,EAAE,CAAC;AAAA,IACjE,OAAO;AACL,UAAI,OAAO,OAAO,YAAY;AAC5B,oBAAY;AAAA,UACV;AAAA,UACA,UAAU,KAAK,UAAU,OAAO,OAAO,UAAU,CAAC;AAAA,QACpD;AAAA,MACF;AACA,kBAAY,OAAO,KAAK,UAAU,KAAK,UAAU,OAAO,OAAO,CAAC,CAAC,CAAC;AAClE,eAAS,KAAK,GAAG,CAAC,OAAO,SAAS,UAAU,IAAI,YAAY,SAAS,CAAC,EAAE,CAAC;AAAA,IAC3E;AACA,UAAM,iBAA4C;AAAA,MAChD,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,KAAK,SAAS,KAAK,GAAG;AAAA,QACtB,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;AAGA,QAAI,OAAO,OAAO,EAAE,QAAQ;AAC1B,mBAAa,eAAe,gBAAgB,OAAO,OAAO,EAAE,MAAM;AAAA,IACpE;AAEA,UAAM,WAAW,MAAM,QAAgB;AAAA,MACrC,QAAQ,OAAO;AAAA,MACf,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,aAClB,QAC4B;AAC5B,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;AAEA,YAAQ,OAAO,OAAO,MAAM;AAAA,MAC1B,KAAK;AACH,qBAAa,cAAc,gBAAgB,OAAO,OAAO,KAAK;AAC9D;AAAA,MACF,KAAK;AACH,qBAAa,eAAe,gBAAgB,OAAO,OAAO,KAAK;AAC/D;AAAA,MACF,KAAK;AACH,qBAAa,oBAAoB,gBAAgB,OAAO,OAAO,KAAK;AACpE;AAAA,IACJ;AAEA,UAAM,WAAW,MAAM,QAA2B;AAAA,MAChD,QAAQ,OAAO;AAAA,MACf,MAAM;AAAA,QACJ,IAAI;AAAA,MACN;AAAA,MACA,KAAK,eAAe,OAAO;AAAA,MAC3B,QAAQ,eAAe,OAAO;AAAA,MAC9B,MAAM;AAAA,QACJ,OAAO,OAAO,OAAO;AAAA,QACrB,MAAM,OAAO,OAAO;AAAA,MACtB;AAAA,MACA,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,YAClB,QAK2B;AAG3B,UAAM,WAAW,GAAG,OAAO,UAAU,OAAO,WAAW,EAAE,GACvD,OAAO,UAAU,OAAO,WAAW,EACrC,GAAG,OAAO,MAAM;AAChB,QAAI,CAAC,OAAO,cAAc,aAAa;AACrC,YAAM,UAAU,UAAU,IAAI,QAAQ;AACtC,UAAI,SAAS;AACX,eAAO;AAAA,MACT;AAAA,IACF;AAEA,UAAM,eAAe,IAAI,gBAAgB;AACzC,QAAI,OAAO,UAAU,MAAM;AACzB,mBAAa,OAAO,SAAS,MAAM;AAAA,IACrC;AACA,QAAI,OAAO,UAAU,MAAM;AACzB,mBAAa,OAAO,SAAS,MAAM;AAAA,IACrC;AACA,UAAM,cAAc,aAAa,SAAS,IACtC,IAAI,aAAa,SAAS,CAAC,KAC3B;AAEJ,UAAM,iBAA4C;AAAA,MAChD,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,KAAK,aAAa,OAAO,MAAM,GAAG,WAAW;AAAA,QAC7C,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;AAGA,iBAAa,eAAe,gBAAgB,OAAO,MAAM;AAEzD,UAAM,WAAW,MAAM,QAAc;AAAA,MACnC,GAAG;AAAA,MACH,MAAM,EAAE,IAAI,WAAW;AAAA,MACvB,KAAK,eAAe,OAAO;AAAA,MAC3B,QAAQ,eAAe,OAAO;AAAA,MAC9B,gBAAgB;AAAA,IAClB,CAAC;AAED,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,cAAU,IAAI,UAAU,SAAS,IAAK;AACtC,WAAO,SAAS;AAAA,EAClB;AAAA,EAEA,aAAoB,sBAClB,QACA;AACA,UAAM,iBAA4C;AAAA,MAChD,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,KAAK,aAAa,OAAO,OAAO,MAAM,iBAAiB,OAAO,OAAO,KAAK;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;AAEA,UAAM,WAAW,MAAM,QAAQ;AAAA,MAC7B,QAAQ,OAAO;AAAA,MACf,MAAM,EAAE,IAAI,WAAW;AAAA,MACvB,KAAK,eAAe,OAAO;AAAA,MAC3B,QAAQ,eAAe,OAAO;AAAA,MAC9B,gBAAgB;AAAA,MAChB,MAAM;AAAA,QACJ,UAAU,OAAO,OAAO;AAAA,QACxB,SAAS,OAAO,OAAO;AAAA,MACzB;AAAA,MACA,cAAc;AAAA,IAChB,CAAC;AAED,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;AAAA,EACF;AAAA,EAEA,aAAoB,YAClB,QACe;AACf,UAAM,iBAA4C;AAAA,MAChD,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,KAAK,aAAa,mBAAmB,OAAO,OAAO,MAAM,CAAC;AAAA,QAC1D,eAAe;AAAA,QACf,MAAM;AAAA,MACR;AAAA,MACA,QAAQ,OAAO,OAAO,SAAS,UAAU;AAAA,MACzC,QAAQ,EAAE,MAAM,YAAY,MAAM,WAAW;AAAA,IAC/C;AACA,UAAM,WAAW,MAAM,QAAQ;AAAA,MAC7B,QAAQ,OAAO;AAAA,MACf,MAAM,EAAE,IAAI,WAAW;AAAA,MACvB,KAAK,eAAe,OAAO;AAAA,MAC3B,QAAQ,eAAe,OAAO;AAAA,MAC9B,gBAAgB;AAAA,MAChB,MAAM,EAAE,OAAO,OAAO,OAAO,MAAM;AAAA,MACnC,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;AAAA,EACF;AAAA,EAEA,aAAoB,WAAW,QAA8C;AAC3E,UAAM,iBAA4C;AAAA,MAChD,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,KAAK,aAAa,mBAAmB,OAAO,OAAO,MAAM,CAAC;AAAA,QAC1D,eAAe;AAAA,QACf,MAAM;AAAA,MACR;AAAA,MACA,QAAQ,OAAO,OAAO,SAAS,UAAU;AAAA,MACzC,QAAQ,EAAE,MAAM,YAAY,MAAM,WAAW;AAAA,IAC/C;AACA,UAAM,WAAW,MAAM,QAAQ;AAAA,MAC7B,QAAQ,OAAO;AAAA,MACf,MAAM,EAAE,IAAI,WAAW;AAAA,MACvB,KAAK,eAAe,OAAO;AAAA,MAC3B,QAAQ,eAAe,OAAO;AAAA,MAC9B,gBAAgB;AAAA,MAChB,MAAM;AAAA,QACJ,WAAW,OAAO,OAAO;AAAA,QACzB,UAAU,OAAO,OAAO;AAAA,MAC1B;AAAA,MACA,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;AAAA,EACF;AAAA;AAAA,EAGA,aAAoB,qBAClB,QACe;AACf,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,EAAE,MAAM,YAAY,MAAM,WAAW;AAAA,IAC/C;AACA,UAAM,WAAW,MAAM,QAAQ;AAAA,MAC7B,QAAQ,OAAO;AAAA,MACf,MAAM,EAAE,IAAI,WAAW;AAAA,MACvB,KAAK,eAAe,OAAO;AAAA,MAC3B,QAAQ,eAAe,OAAO;AAAA,MAC9B,gBAAgB;AAAA,MAChB,MAAM,EAAE,QAAQ,OAAO,OAAO,OAAO;AAAA,MACrC,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;AAAA,EACF;AAAA;AAAA,EAGA,aAAoB,kBAAkB,QAAsC;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,EAAE,MAAM,YAAY,MAAM,WAAW;AAAA,IAC/C;AACA,UAAM,WAAW,MAAM,QAAQ;AAAA,MAC7B,QAAQ,OAAO;AAAA,MACf,MAAM,EAAE,IAAI,WAAW;AAAA,MACvB,KAAK,eAAe,OAAO;AAAA,MAC3B,QAAQ,eAAe,OAAO;AAAA,MAC9B,gBAAgB;AAAA,MAChB,MAAM,EAAE,QAAQ,OAAO,OAAO,OAAO;AAAA,MACrC,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;AAAA,EACF;AAAA,EAEA,aAAoB,WAAW,QAAsC;AACnE,UAAM,iBAA4C;AAAA,MAChD,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,KAAK,aAAa,mBAAmB,OAAO,OAAO,MAAM,CAAC;AAAA,QAC1D,eAAe;AAAA,QACf,MAAM;AAAA,MACR;AAAA,MACA,QAAQ,OAAO,OAAO,SAAS,UAAU;AAAA,MACzC,QAAQ,EAAE,MAAM,YAAY,MAAM,WAAW;AAAA,IAC/C;AACA,UAAM,WAAW,MAAM,QAAQ;AAAA,MAC7B,QAAQ,OAAO;AAAA,MACf,MAAM,EAAE,IAAI,WAAW;AAAA,MACvB,KAAK,eAAe,OAAO;AAAA,MAC3B,QAAQ,eAAe,OAAO;AAAA,MAC9B,gBAAgB;AAAA,MAChB,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;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,aAAoB,SAAS,QAAwC;AACnE,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,EAAE,MAAM,YAAY,MAAM,WAAW;AAAA,IAC/C;AACA,UAAM,WAAW,MAAM,QAAQ;AAAA,MAC7B,QAAQ,OAAO;AAAA,MACf,MAAM,EAAE,IAAI,WAAW;AAAA,MACvB,KAAK,eAAe,OAAO;AAAA,MAC3B,QAAQ,eAAe,OAAO;AAAA,MAC9B,gBAAgB;AAAA,MAChB,MAAM;AAAA,QACJ,QAAQ,OAAO,OAAO;AAAA,QACtB,cAAc,OAAO,OAAO;AAAA,MAC9B;AAAA,MACA,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;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,aAAoB,UAAU,QAA2C;AACvE,UAAM,iBAA4C;AAAA,MAChD,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,KAAK,aAAa,mBAAmB,OAAO,OAAO,MAAM,CAAC;AAAA,QAC1D,eAAe;AAAA,QACf,MAAM;AAAA,MACR;AAAA,MACA,QAAQ,OAAO,OAAO,SAAS,UAAU;AAAA,MACzC,QAAQ,EAAE,MAAM,YAAY,MAAM,WAAW;AAAA,IAC/C;AACA,UAAM,WAAW,MAAM,QAAmB;AAAA,MACxC,GAAG;AAAA,MACH,MAAM,EAAE,IAAI,WAAW;AAAA,MACvB,KAAK,eAAe,OAAO;AAAA,MAC3B,QAAQ,eAAe,OAAO;AAAA,MAC9B,gBAAgB;AAAA,MAChB,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,QAAQ,CAAC;AAAA,EAC3B;AAAA;AAAA,EAGA,aAAoB,YAAY,QAAsC;AACpE,UAAM,iBAA4C;AAAA,MAChD,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,KAAK,aAAa,mBAAmB,OAAO,OAAO,MAAM,CAAC;AAAA,QAC1D,eAAe;AAAA,QACf,MAAM;AAAA,MACR;AAAA,MACA,QAAQ,OAAO,OAAO,SAAS,UAAU;AAAA,MACzC,QAAQ,EAAE,MAAM,YAAY,MAAM,WAAW;AAAA,IAC/C;AACA,UAAM,WAAW,MAAM,QAAQ;AAAA,MAC7B,QAAQ,OAAO;AAAA,MACf,MAAM,EAAE,IAAI,WAAW;AAAA,MACvB,KAAK,eAAe,OAAO;AAAA,MAC3B,QAAQ,eAAe,OAAO;AAAA,MAC9B,gBAAgB;AAAA,MAChB,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;AAAA,EACF;AAAA;AAAA,EAGA,aAAoB,kBAClB,QAIe;AACf,UAAM,iBAA4C;AAAA,MAChD,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,KAAK,aAAa,mBAAmB,OAAO,OAAO,MAAM,CAAC;AAAA,QAC1D,eAAe;AAAA,QACf,MAAM;AAAA,MACR;AAAA,MACA,QAAQ,OAAO,OAAO,SAAS,UAAU;AAAA,MACzC,QAAQ,EAAE,MAAM,YAAY,MAAM,WAAW;AAAA,IAC/C;AACA,UAAM,WAAW,MAAM,QAAQ;AAAA,MAC7B,QAAQ,OAAO;AAAA,MACf,MAAM,EAAE,IAAI,WAAW;AAAA,MACvB,KAAK,eAAe,OAAO;AAAA,MAC3B,QAAQ,eAAe,OAAO;AAAA,MAC9B,gBAAgB;AAAA,MAChB,MAAM,OAAO;AAAA,MACb,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;AAAA,EACF;AAAA;AAAA,EAGA,aAAoB,mBAClB,QAIe;AACf,UAAM,iBAA4C;AAAA,MAChD,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,KAAK,aAAa,mBAAmB,OAAO,OAAO,MAAM,CAAC;AAAA,QAC1D,eAAe;AAAA,QACf,MAAM;AAAA,MACR;AAAA,MACA,QAAQ,OAAO,OAAO,SAAS,UAAU;AAAA,MACzC,QAAQ,EAAE,MAAM,YAAY,MAAM,WAAW;AAAA,IAC/C;AACA,UAAM,WAAW,MAAM,QAAQ;AAAA,MAC7B,QAAQ,OAAO;AAAA,MACf,MAAM,EAAE,IAAI,WAAW;AAAA,MACvB,KAAK,eAAe,OAAO;AAAA,MAC3B,QAAQ,eAAe,OAAO;AAAA,MAC9B,gBAAgB;AAAA,MAChB,MAAM,OAAO;AAAA,MACb,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;AAAA,EACF;AAAA,EAEA,aAAoB,cAClB,QACe;AACf,UAAM,iBAA4C;AAAA,MAChD,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,KAAK,aAAa,mBAAmB,OAAO,OAAO,MAAM,CAAC,kBAAkB,mBAAmB,OAAO,OAAO,KAAK,CAAC;AAAA,QACnH,eAAe;AAAA,QACf,MAAM;AAAA,MACR;AAAA,MACA,QAAQ,OAAO,OAAO,SAAS,UAAU;AAAA,MACzC,QAAQ,EAAE,MAAM,YAAY,MAAM,WAAW;AAAA,IAC/C;AACA,UAAM,WAAW,MAAM,QAAQ;AAAA,MAC7B,QAAQ,OAAO;AAAA,MACf,MAAM,EAAE,IAAI,WAAW;AAAA,MACvB,KAAK,eAAe,OAAO;AAAA,MAC3B,QAAQ,eAAe,OAAO;AAAA,MAC9B,gBAAgB;AAAA,MAChB,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;AAAA,EACF;AAAA,EAEA,aAAoB,2BAClB,QACA;AACA,UAAM,iBAA4C;AAAA,MAChD,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,KAAK,aAAa,OAAO,OAAO,MAAM,iBAAiB,OAAO,OAAO,KAAK;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;AAEA,UAAM,WAAW,MAAM,QAAQ;AAAA,MAC7B,QAAQ,OAAO;AAAA,MACf,MAAM,EAAE,IAAI,WAAW;AAAA,MACvB,KAAK,eAAe,OAAO;AAAA,MAC3B,QAAQ,eAAe,OAAO;AAAA,MAC9B,gBAAgB;AAAA,MAChB,MAAM;AAAA,QACJ,SAAS,OAAO,OAAO;AAAA,MACzB;AAAA,MACA,cAAc;AAAA,IAChB,CAAC;AAED,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;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,aAAoB,wBAClB,QACe;AACf,UAAM,iBAA4C;AAAA,MAChD,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,KAAK,aAAa,mBAAmB,OAAO,OAAO,MAAM,CAAC,iBAAiB,mBAAmB,OAAO,OAAO,KAAK,CAAC;AAAA,QAClH,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;AAEA,UAAM,WAAW,MAAM,QAAQ;AAAA,MAC7B,QAAQ,OAAO;AAAA,MACf,MAAM,EAAE,IAAI,WAAW;AAAA,MACvB,KAAK,eAAe,OAAO;AAAA,MAC3B,QAAQ,eAAe,OAAO;AAAA,MAC9B,gBAAgB;AAAA,MAChB,cAAc;AAAA,IAChB,CAAC;AAED,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;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,aAAoB,eAClB,QACe;AACf,UAAM,iBAA4C;AAAA,MAChD,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,KAAK,aAAa,mBAAmB,OAAO,OAAO,MAAM,CAAC;AAAA,QAC1D,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;AAGA,iBAAa,eAAe,gBAAgB,OAAO,OAAO,MAAM;AAEhE,QAAI,CAAC,OAAO,OAAO,aAAa,CAAC,OAAO,OAAO,cAAc;AAC3D,YAAM,IAAI;AAAA,QACR,GAAG,eAAe,OAAO,IAAI;AAAA,QAC7B;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAEA,UAAM,OAAsD,CAAC;AAC7D,QAAI,OAAO,OAAO,WAAW;AAC3B,WAAK,YAAY,OAAO,OAAO;AAAA,IACjC;AACA,QAAI,OAAO,OAAO,cAAc;AAC9B,WAAK,eAAe,OAAO,OAAO;AAAA,IACpC;AAEA,UAAM,WAAW,MAAM,QAAQ;AAAA,MAC7B,QAAQ,OAAO;AAAA,MACf,MAAM,EAAE,IAAI,WAAW;AAAA,MACvB,KAAK,eAAe,OAAO;AAAA,MAC3B,QAAQ,eAAe,OAAO;AAAA,MAC9B,gBAAgB;AAAA,MAChB;AAAA,MACA,SAAS,OAAO;AAAA,MAChB,cAAc;AAAA,IAChB,CAAC;AAED,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;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,aAAoB,iBAClB,QAC8B;AAC9B,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;AAEA,UAAM,WAAW,MAAM,QAA6B;AAAA,MAClD,GAAG;AAAA,MACH,MAAM,EAAE,IAAI,WAAW;AAAA,MACvB,KAAK,eAAe,OAAO;AAAA,MAC3B,QAAQ,eAAe,OAAO;AAAA,MAC9B,gBAAgB;AAAA,IAClB,CAAC;AAED,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;AAEA,WAAO,SAAS;AAAA,EAClB;AAAA;AAAA;AAAA;AAAA,EAKA,aAAoB,oBAClB,QAC8B;AAC9B,UAAM,iBAA4C;AAAA,MAChD,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,KAAK,aAAa,mBAAmB,OAAO,MAAM,CAAC;AAAA,QACnD,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;AAEA,UAAM,WAAW,MAAM,QAA6B;AAAA,MAClD,GAAG;AAAA,MACH,MAAM,EAAE,IAAI,WAAW;AAAA,MACvB,KAAK,eAAe,OAAO;AAAA,MAC3B,QAAQ,eAAe,OAAO;AAAA,MAC9B,gBAAgB;AAAA,IAClB,CAAC;AAED,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;AAEA,WAAO,SAAS;AAAA,EAClB;AAAA,EAEA,OAAe,eACb,gBACA,QACA;AACA,QAAI,CAAC,UAAU,CAAC,OAAO,SAAS,GAAG,GAAG;AACpC,YAAM,IAAI;AAAA,QACR,GAAG,eAAe,OAAO,IAAI;AAAA,QAC7B;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EAEA,OAAe,cACb,gBACA,OACA;AACA,QAAI,CAAC,SAAS,CAAC,YAAY,KAAK,KAAK,GAAG;AACtC,YAAM,IAAI;AAAA,QACR,GAAG,eAAe,OAAO,IAAI;AAAA,QAC7B;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,OAAe,oBACb,gBACA,OACA;AACA,QAAI,CAAC,SAAS,MAAM,KAAK,EAAE,WAAW,GAAG;AACvC,YAAM,IAAI;AAAA,QACR,GAAG,eAAe,OAAO,IAAI;AAAA,QAC7B;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAIA,UAAM,eAAe,MAAM,KAAK;AAGhC,QAAI,aAAa;AACjB,eAAW,QAAQ,cAAc;AAC/B,UAAI,SAAS,IAAK;AAClB,UAAI,SAAS,IAAK;AAClB,UAAI,aAAa,GAAG;AAClB,cAAM,IAAI;AAAA,UACR,GAAG,eAAe,OAAO,IAAI;AAAA,UAC7B;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,QAAI,eAAe,GAAG;AACpB,YAAM,IAAI;AAAA,QACR,GAAG,eAAe,OAAO,IAAI;AAAA,QAC7B;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAGA,QAAI,eAAe;AACnB,eAAW,QAAQ,cAAc;AAC/B,UAAI,SAAS,IAAK;AAClB,UAAI,SAAS,IAAK;AAClB,UAAI,eAAe,GAAG;AACpB,cAAM,IAAI;AAAA,UACR,GAAG,eAAe,OAAO,IAAI;AAAA,UAC7B;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,QAAI,iBAAiB,GAAG;AACtB,YAAM,IAAI;AAAA,QACR,GAAG,eAAe,OAAO,IAAI;AAAA,QAC7B;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAGA,UAAM,cAAc,aAAa,MAAM,KAAK,KAAK,CAAC,GAAG;AACrD,QAAI,aAAa,MAAM,GAAG;AACxB,YAAM,IAAI;AAAA,QACR,GAAG,eAAe,OAAO,IAAI;AAAA,QAC7B;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAKA,UAAM,gBAAgB,UAAU,KAAK,YAAY;AACjD,QAAI,CAAC,eAAe;AAClB,YAAM,IAAI;AAAA,QACR,GAAG,eAAe,OAAO,IAAI;AAAA,QAC7B;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;",
|
|
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 RemoveStaleOrganizationRequest extends RequestBaseParams {\n params: {\n userId: string\n orgId: string\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 interface ChangeUserEmailRequest extends RequestBaseParams {\n params: { userId: string; email: string }\n}\n\nexport interface ChangeUserNameRequest extends RequestBaseParams {\n params: { userId: string; firstname: string; lastname: string }\n}\n\nexport interface UserIdRequest extends RequestBaseParams {\n params: { userId: string }\n}\n\n/** What accounts answers for one user of a purge. */\nexport interface PurgeUserResult {\n userId: string\n /** `false` when Auth0 had no such user, so nothing was deleted. */\n deleted: boolean\n}\n\nexport interface DeleteMeRequest extends RequestBaseParams {\n params: { reason: string; explanation: string }\n}\n\nexport interface SetDefaultOrgRequest extends RequestBaseParams {\n params: { userId: string; orgId: string }\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: {\n userId: string\n basic?: boolean\n roles?: boolean\n } & RequestBaseParams,\n ): Promise<User | undefined> {\n // `roles=true` asks the backend to enrich the user with its Auth0\n // platform (account-level) roles, which are omitted by default.\n const cacheKey = `${params.basic === true ? 'basic-' : ''}${\n params.roles === true ? 'roles-' : ''\n }${params.userId}`\n if (!params.cacheControl?.ignoreCache) {\n const inCache = userCache.get(cacheKey)\n if (inCache) {\n return inCache\n }\n }\n\n const searchParams = new URLSearchParams()\n if (params.basic === true) {\n searchParams.append('basic', 'true')\n }\n if (params.roles === true) {\n searchParams.append('roles', 'true')\n }\n const queryParams = searchParams.toString()\n ? `?${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 changeEmail(\n params: ChangeUserEmailRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'UsersService.changeEmail',\n url: `api/users/${encodeURIComponent(params.params.userId)}/email`,\n normalizedUrl: 'api/users/:userId/email',\n type: 'put',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\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: { email: params.params.email },\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 }\n\n public static async changeName(params: ChangeUserNameRequest): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'UsersService.changeName',\n url: `api/users/${encodeURIComponent(params.params.userId)}/name`,\n normalizedUrl: 'api/users/:userId/name',\n type: 'put',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\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 firstname: params.params.firstname,\n lastname: params.params.lastname,\n },\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 }\n\n /** Admin-activate a user without an email token (POST api/admin/activate). */\n public static async activateWithoutToken(\n params: UserIdRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'UsersService.activateWithoutToken',\n url: 'api/admin/activate',\n normalizedUrl: 'api/admin/activate',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\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: { userId: params.params.userId },\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 }\n\n /** Refresh the verification token and resend the welcome mail. */\n public static async resendWelcomeMail(params: UserIdRequest): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'UsersService.resendWelcomeMail',\n url: 'api/admin/resend-welcome-mail',\n normalizedUrl: 'api/admin/resend-welcome-mail',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\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: { userId: params.params.userId },\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 }\n\n public static async deleteUser(params: UserIdRequest): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'UsersService.deleteUser',\n url: `api/users/${encodeURIComponent(params.params.userId)}`,\n normalizedUrl: 'api/users/:userId',\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\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 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 }\n\n /**\n * Deletes one user of a God Mode purge (`DELETE api/users/:userId/purge`).\n * The route needs `admin.god.purgeUsers` and `admin.deleteUser`. A purge\n * screen calls this for each user, and never `deleteUser`.\n */\n public static async purgeUser(\n params: UserIdRequest,\n ): Promise<PurgeUserResult> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'UsersService.purgeUser',\n url: `api/users/${encodeURIComponent(params.params.userId)}/purge`,\n normalizedUrl: 'api/users/:userId/purge',\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\n }\n const response = await request<PurgeUserResult>({\n config: params.config,\n base: { id: 'accounts' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n responseType: 'json',\n })\n if (!response.ok || response.body === undefined) {\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 /**\n * Delete the account of the caller (self-service `DELETE api/users/me`).\n * The route reads the caller from the token, so it needs no `userId`.\n *\n * The backend reads the body field `explaination`, not `explanation`. This\n * method keeps the misspelling only in the request body, not in its own\n * parameter name.\n */\n public static async deleteMe(params: DeleteMeRequest): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'UsersService.deleteMe',\n url: 'api/users/me',\n normalizedUrl: 'api/users/me',\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\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 reason: params.params.reason,\n explaination: params.params.explanation,\n },\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 }\n\n /**\n * Auth0 brute-force blocks for a user (`GET api/users/:userId/blocks`). The\n * entries are Auth0's block records (identifier/IP), returned opaque for the\n * caller to render.\n */\n public static async getBlocks(params: UserIdRequest): Promise<unknown[]> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'UsersService.getBlocks',\n url: `api/users/${encodeURIComponent(params.params.userId)}/blocks`,\n normalizedUrl: 'api/users/:userId/blocks',\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\n }\n const response = await request<unknown[]>({\n ...params,\n base: { id: 'accounts' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n responseType: 'json',\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body ?? []\n }\n\n /** Clear a user's Auth0 blocks (`DELETE api/users/:userId/blocks`). */\n public static async clearBlocks(params: UserIdRequest): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'UsersService.clearBlocks',\n url: `api/users/${encodeURIComponent(params.params.userId)}/blocks`,\n normalizedUrl: 'api/users/:userId/blocks',\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\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 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 }\n\n /** Replace a user's Auth0 `app_metadata` (god-gated raw JSON edit). */\n public static async updateAppMetadata(\n params: {\n params: { userId: string }\n body: { appMetadata: object }\n } & RequestBaseParams,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'UsersService.updateAppMetadata',\n url: `api/users/${encodeURIComponent(params.params.userId)}/appmetadata`,\n normalizedUrl: 'api/users/:userId/appmetadata',\n type: 'put',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\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: params.body,\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 }\n\n /** Replace a user's Auth0 `user_metadata` (god-gated raw JSON edit). */\n public static async updateUserMetadata(\n params: {\n params: { userId: string }\n body: { userMetadata: object }\n } & RequestBaseParams,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'UsersService.updateUserMetadata',\n url: `api/users/${encodeURIComponent(params.params.userId)}/usermetadata`,\n normalizedUrl: 'api/users/:userId/usermetadata',\n type: 'put',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\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: params.body,\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 }\n\n public static async setDefaultOrg(\n params: SetDefaultOrgRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'UsersService.setDefaultOrg',\n url: `api/users/${encodeURIComponent(params.params.userId)}/organizations/${encodeURIComponent(params.params.orgId)}/default`,\n normalizedUrl: 'api/users/:userId/organizations/:orgId/default',\n type: 'patch',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'accounts', type: 'internal' },\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 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 }\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 * Remove a stale organization assignment from a user at Auth0. Use it when\n * the organization has no row in the accounts database any more and only\n * the Auth0 membership is left. The endpoint refuses an organization that\n * still exists, thus `removeUserFromOrganization` stays the normal way.\n */\n public static async removeStaleOrganization(\n params: RemoveStaleOrganizationRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `UsersService.removeStaleOrganization`,\n url: `api/users/${encodeURIComponent(params.params.userId)}/organization/${encodeURIComponent(params.params.orgId)}/stale`,\n normalizedUrl: `api/users/:userId/organization/:orgId/stale`,\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 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
6
|
"names": []
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camunda/ccma-api",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.15.0",
|
|
4
4
|
"description": "Centralized API service layer for Camunda Cloud Management Apps",
|
|
5
5
|
"bugs": {
|
|
6
6
|
"url": "https://github.com/camunda/camunda-cloud-management-apps/issues"
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
}
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@camunda/ccma-shared-types": "10.
|
|
44
|
+
"@camunda/ccma-shared-types": "10.2.0"
|
|
45
45
|
},
|
|
46
46
|
"scripts": {
|
|
47
47
|
"build": "node esbuild.mjs && tsc --emitDeclarationOnly --outDir dist",
|