@thunderid/javascript 1.7.0 → 1.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/dist/ThunderIDJavaScriptClient.d.ts.map +1 -1
  2. package/dist/api/management/administration/runAccountLifecycleAction.d.ts +31 -0
  3. package/dist/api/management/administration/runAccountLifecycleAction.d.ts.map +1 -0
  4. package/dist/api/management/agents/createAgent.d.ts +1 -1
  5. package/dist/api/management/agents/updateAgent.d.ts +1 -1
  6. package/dist/cjs/index.cjs +496 -7
  7. package/dist/constants/AdministrationConstants.d.ts +20 -0
  8. package/dist/constants/AdministrationConstants.d.ts.map +1 -1
  9. package/dist/edge/index.js +487 -8
  10. package/dist/i18n/models/i18n.d.ts +26 -0
  11. package/dist/i18n/models/i18n.d.ts.map +1 -1
  12. package/dist/i18n/translations/en-US.d.ts.map +1 -1
  13. package/dist/i18n/translations/fr-FR.d.ts.map +1 -1
  14. package/dist/i18n/translations/hi-IN.d.ts.map +1 -1
  15. package/dist/i18n/translations/ja-JP.d.ts.map +1 -1
  16. package/dist/i18n/translations/pt-BR.d.ts.map +1 -1
  17. package/dist/i18n/translations/pt-PT.d.ts.map +1 -1
  18. package/dist/i18n/translations/si-LK.d.ts.map +1 -1
  19. package/dist/i18n/translations/ta-IN.d.ts.map +1 -1
  20. package/dist/i18n/translations/te-IN.d.ts.map +1 -1
  21. package/dist/index.d.ts +13 -4
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +487 -8
  24. package/dist/models/access-status.d.ts +52 -0
  25. package/dist/models/access-status.d.ts.map +1 -0
  26. package/dist/models/administration.d.ts +8 -0
  27. package/dist/models/administration.d.ts.map +1 -1
  28. package/dist/models/agent-resource.d.ts +28 -4
  29. package/dist/models/agent-resource.d.ts.map +1 -1
  30. package/dist/models/ciba.d.ts +6 -0
  31. package/dist/models/ciba.d.ts.map +1 -1
  32. package/dist/models/config.d.ts +17 -0
  33. package/dist/models/config.d.ts.map +1 -1
  34. package/dist/models/embedded-flow.d.ts +62 -3
  35. package/dist/models/embedded-flow.d.ts.map +1 -1
  36. package/dist/models/managed-user.d.ts +5 -0
  37. package/dist/models/managed-user.d.ts.map +1 -1
  38. package/dist/models/oauth-request.d.ts +52 -1
  39. package/dist/models/oauth-request.d.ts.map +1 -1
  40. package/dist/models/session.d.ts +3 -0
  41. package/dist/models/session.d.ts.map +1 -1
  42. package/dist/models/token.d.ts +11 -0
  43. package/dist/models/token.d.ts.map +1 -1
  44. package/dist/utils/AuthenticationHelper.d.ts.map +1 -1
  45. package/dist/utils/getAccountLifecycleActions.d.ts +22 -0
  46. package/dist/utils/getAccountLifecycleActions.d.ts.map +1 -0
  47. package/dist/utils/getAgentName.d.ts +19 -0
  48. package/dist/utils/getAgentName.d.ts.map +1 -0
  49. package/dist/utils/getAuthorizeRequestUrlParams.d.ts +4 -3
  50. package/dist/utils/getAuthorizeRequestUrlParams.d.ts.map +1 -1
  51. package/dist/utils/getConsentElementDecision.d.ts +20 -0
  52. package/dist/utils/getConsentElementDecision.d.ts.map +1 -0
  53. package/dist/utils/getConsentInvalidKey.d.ts +21 -0
  54. package/dist/utils/getConsentInvalidKey.d.ts.map +1 -0
  55. package/dist/utils/getConsentModifiedKey.d.ts +21 -0
  56. package/dist/utils/getConsentModifiedKey.d.ts.map +1 -0
  57. package/dist/utils/getConsentModifiedValues.d.ts +20 -0
  58. package/dist/utils/getConsentModifiedValues.d.ts.map +1 -0
  59. package/package.json +1 -1
@@ -1949,6 +1949,26 @@ const AdministrationFlowConfigKey = {
1949
1949
  USER_UNSUSPEND: "userUnsuspendFlow"
1950
1950
  };
1951
1951
  /**
1952
+ * The `flow` server-config key naming the flow of each account lifecycle action, by the kind of identity it
1953
+ * acts on. Applications are never locked, so they have no unlock.
1954
+ */
1955
+ const AccountLifecycleFlowConfigKey = {
1956
+ agent: {
1957
+ suspend: AdministrationFlowConfigKey.AGENT_SUSPEND,
1958
+ unlock: AdministrationFlowConfigKey.AGENT_UNLOCK,
1959
+ unsuspend: AdministrationFlowConfigKey.AGENT_UNSUSPEND
1960
+ },
1961
+ application: {
1962
+ suspend: AdministrationFlowConfigKey.APPLICATION_SUSPEND,
1963
+ unsuspend: AdministrationFlowConfigKey.APPLICATION_UNSUSPEND
1964
+ },
1965
+ user: {
1966
+ suspend: AdministrationFlowConfigKey.USER_SUSPEND,
1967
+ unlock: AdministrationFlowConfigKey.USER_UNLOCK,
1968
+ unsuspend: AdministrationFlowConfigKey.USER_UNSUSPEND
1969
+ }
1970
+ };
1971
+ /**
1952
1972
  * Names of the inputs an administration flow reads. They avoid the execution request's top-level names
1953
1973
  * so a value cannot land in the wrong place.
1954
1974
  */
@@ -2419,7 +2439,7 @@ var getAgent_default = getAgent;
2419
2439
  * ```typescript
2420
2440
  * const agent = await createAgent({
2421
2441
  * baseUrl: 'https://localhost:8090',
2422
- * payload: {ouId, type: 'default', name: 'Nightly Sync Worker'},
2442
+ * payload: {attributes: {name: 'Nightly Sync Worker'}, ouId, type: 'default'},
2423
2443
  * });
2424
2444
  * ```
2425
2445
  */
@@ -2445,7 +2465,7 @@ var createAgent_default = createAgent;
2445
2465
  * const agent = await updateAgent({
2446
2466
  * baseUrl: 'https://localhost:8090',
2447
2467
  * agentId: '6f1e2d3c-4b5a-4978-8a6b-5c4d3e2f1a0b',
2448
- * payload: {name: 'Renamed Agent'},
2468
+ * payload: {attributes: {name: 'Renamed Agent'}},
2449
2469
  * });
2450
2470
  * ```
2451
2471
  */
@@ -6596,6 +6616,73 @@ const unsuspendApplication = async ({ applicationId, operatorNote,...config }) =
6596
6616
  });
6597
6617
  var unsuspendApplication_default = unsuspendApplication;
6598
6618
 
6619
+ //#endregion
6620
+ //#region src/api/management/administration/runAccountLifecycleAction.ts
6621
+ /**
6622
+ * The operation behind each action, by the kind of identity. Applications are never locked.
6623
+ */
6624
+ const OPERATIONS = {
6625
+ agent: {
6626
+ suspend: (config, agentId) => suspendAgent_default({
6627
+ ...config,
6628
+ agentId
6629
+ }),
6630
+ unlock: (config, agentId) => unlockAgent_default({
6631
+ ...config,
6632
+ agentId
6633
+ }),
6634
+ unsuspend: (config, agentId) => unsuspendAgent_default({
6635
+ ...config,
6636
+ agentId
6637
+ })
6638
+ },
6639
+ application: {
6640
+ suspend: (config, applicationId) => suspendApplication_default({
6641
+ ...config,
6642
+ applicationId
6643
+ }),
6644
+ unsuspend: (config, applicationId) => unsuspendApplication_default({
6645
+ ...config,
6646
+ applicationId
6647
+ })
6648
+ },
6649
+ user: {
6650
+ suspend: (config, userId) => suspendUser_default({
6651
+ ...config,
6652
+ userId
6653
+ }),
6654
+ unlock: (config, userId) => unlockUser_default({
6655
+ ...config,
6656
+ userId
6657
+ }),
6658
+ unsuspend: (config, userId) => unsuspendUser_default({
6659
+ ...config,
6660
+ userId
6661
+ })
6662
+ }
6663
+ };
6664
+ /**
6665
+ * Runs an account lifecycle action against a user, agent or application, through the operation for that
6666
+ * kind and action (for example `suspendUser`). Each raises its own errors, so a missing flow fails with
6667
+ * that operation's `NotConfiguredError`. An action that does not apply to the kind, such as unlocking an
6668
+ * application, is refused with `runAccountLifecycleAction-ValidationError-001`.
6669
+ *
6670
+ * @param config - Request configuration object. Running a flow needs `baseUrl`, and a token that may read
6671
+ * the server configuration and run administration flows.
6672
+ * @returns Whether the flow's email step sent its notification, absent when the flow has no email step.
6673
+ *
6674
+ * @example
6675
+ * ```typescript
6676
+ * await runAccountLifecycleAction({action: 'suspend', baseUrl, kind: 'user', operatorNote: 'Ticket 4521', subject: userId});
6677
+ * ```
6678
+ */
6679
+ const runAccountLifecycleAction = async ({ action, kind, subject,...config }) => {
6680
+ const operation = OPERATIONS[kind]?.[action];
6681
+ if (!operation) throw new ThunderIDAPIError(`The ${action} action does not apply to ${kind} accounts.`, "runAccountLifecycleAction-ValidationError-001", "javascript", 400, `The ${action} action does not apply to the ${kind} kind.`);
6682
+ return operation(config, subject);
6683
+ };
6684
+ var runAccountLifecycleAction_default = runAccountLifecycleAction;
6685
+
6599
6686
  //#endregion
6600
6687
  //#region src/api/management/resource-servers/deleteAction.ts
6601
6688
  /**
@@ -8034,6 +8121,7 @@ var AuthenticationHelper = class {
8034
8121
  await this.storageManager.setSessionData(parsedResponse, userId);
8035
8122
  return {
8036
8123
  accessToken: parsedResponse.access_token,
8124
+ authorizationDetails: parsedResponse.authorization_details,
8037
8125
  createdAt: parsedResponse.created_at,
8038
8126
  expiresIn: parsedResponse.expires_in,
8039
8127
  idToken: parsedResponse.id_token,
@@ -8045,6 +8133,7 @@ var AuthenticationHelper = class {
8045
8133
  await this.storageManager.setSessionData(parsedResponse, userId);
8046
8134
  return {
8047
8135
  accessToken: parsedResponse.access_token,
8136
+ authorizationDetails: parsedResponse.authorization_details,
8048
8137
  createdAt: parsedResponse.created_at,
8049
8138
  expiresIn: parsedResponse.expires_in,
8050
8139
  idToken: parsedResponse.id_token,
@@ -8210,9 +8299,10 @@ var generateStateParamForRequestCorrelation_default = generateStateParamForReque
8210
8299
  * This utility ensures the `openid` scope is always included, handles both string and array forms of the `scope` parameter,
8211
8300
  * and supports PKCE and custom parameters. Throws if a code challenge is provided without a code challenge method.
8212
8301
  *
8213
- * @param options - The main options for the authorization request, including redirectUri, clientId, scope, responseMode, codeChallenge, codeChallengeMethod, prompt, and randomState (a value generated from random bytes that makes the `state` unique to this request).
8302
+ * @param options - The main options for the authorization request, including redirectUri, clientId, scope, responseMode, codeChallenge, codeChallengeMethod, prompt, authorizationDetails, and randomState (a value generated from random bytes that makes the `state` unique to this request).
8214
8303
  * @param pkceOptions - PKCE options, including the PKCE key for state correlation.
8215
8304
  * @param customParams - Optional custom parameters to include in the request (excluding the `state` param, which is handled separately).
8305
+ * An object or array value, such as RFC 9396 `authorization_details`, is sent JSON-encoded.
8216
8306
  * @returns A Map of key-value pairs representing the authorization request URL parameters.
8217
8307
  *
8218
8308
  * @throws {ThunderIDRuntimeError} If a code challenge is provided without a code challenge method.
@@ -8234,7 +8324,7 @@ var generateStateParamForRequestCorrelation_default = generateStateParamForReque
8234
8324
  * // Returns a Map with all required OIDC params, PKCE, and custom params.
8235
8325
  */
8236
8326
  const getAuthorizeRequestUrlParams = (options, pkceOptions, customParams) => {
8237
- const { redirectUri, clientId, scopes, responseMode, codeChallenge, codeChallengeMethod, prompt } = options;
8327
+ const { authorizationDetails, redirectUri, clientId, scopes, responseMode, codeChallenge, codeChallengeMethod, prompt } = options;
8238
8328
  const authorizeRequestParams = /* @__PURE__ */ new Map();
8239
8329
  authorizeRequestParams.set("response_type", "code");
8240
8330
  authorizeRequestParams.set("client_id", clientId);
@@ -8248,11 +8338,12 @@ const getAuthorizeRequestUrlParams = (options, pkceOptions, customParams) => {
8248
8338
  else throw new ThunderIDRuntimeError("Code challenge method is required when code challenge is provided.", "getAuthorizeRequestUrlParams-ValidationError-001", "javascript", "When PKCE is enabled, the code challenge method must be provided along with the code challenge.");
8249
8339
  }
8250
8340
  if (prompt) authorizeRequestParams.set("prompt", prompt);
8341
+ if (authorizationDetails?.length) authorizeRequestParams.set("authorization_details", JSON.stringify(authorizationDetails));
8251
8342
  if (customParams) Object.entries(customParams).forEach(([key, value]) => {
8252
- if (key !== "" && value !== "" && key !== OIDCRequestConstants_default.Params.STATE) authorizeRequestParams.set(key, value.toString());
8343
+ if (key !== "" && value !== "" && key !== OIDCRequestConstants_default.Params.STATE) authorizeRequestParams.set(key, typeof value === "object" ? JSON.stringify(value) : value.toString());
8253
8344
  });
8254
8345
  const AUTH_INSTANCE_PREFIX = "instance_";
8255
- const customState = customParams?.[OIDCRequestConstants_default.Params.STATE]?.toString() ?? "";
8346
+ const customState = (customParams?.[OIDCRequestConstants_default.Params.STATE])?.toString() ?? "";
8256
8347
  let customStateValue = customState;
8257
8348
  if (options.instanceId) customStateValue = AUTH_INSTANCE_PREFIX + options.instanceId + (customState ? `_${customState}` : "");
8258
8349
  if (options.randomState) customStateValue = customStateValue ? `${customStateValue}_${options.randomState}` : options.randomState;
@@ -8556,6 +8647,7 @@ var ThunderIDJavaScriptClient = class {
8556
8647
  async getSignInUrl(requestConfig, userId) {
8557
8648
  const authRequestConfig = { ...requestConfig };
8558
8649
  delete authRequestConfig?.forceInit;
8650
+ delete authRequestConfig?.authorizationDetails;
8559
8651
  const buildSignInUrl = async () => {
8560
8652
  const authorizeEndpoint = await this.storageManager.getOIDCProviderMetaDataParameter(OIDCDiscoveryConstants_default.Storage.StorageKeys.Endpoints.AUTHORIZATION);
8561
8653
  if (!authorizeEndpoint || authorizeEndpoint.trim().length === 0) throw new ThunderIDAuthException("JS-AUTH_CORE-GAU-NF01", "No authorization endpoint found.", "No authorization endpoint was found in the OIDC provider meta data from the well-known endpoint or the authorization endpoint passed to the SDK is empty.");
@@ -8571,6 +8663,7 @@ var ThunderIDJavaScriptClient = class {
8571
8663
  }
8572
8664
  if (authRequestConfig["client_secret"]) authRequestConfig["client_secret"] = configData.clientSecret ?? "";
8573
8665
  const authorizeRequestParams = getAuthorizeRequestUrlParams_default(Object.fromEntries(Object.entries({
8666
+ authorizationDetails: requestConfig?.authorizationDetails ?? configData.authorizationDetails,
8574
8667
  clientId: configData.clientId ?? "",
8575
8668
  codeChallenge,
8576
8669
  codeChallengeMethod: PKCEConstants_default.DEFAULT_CODE_CHALLENGE_METHOD,
@@ -8688,7 +8781,11 @@ var ThunderIDJavaScriptClient = class {
8688
8781
  return (await this.storageManager.getSessionData(userId))?.id_token;
8689
8782
  }
8690
8783
  async getUserSession(userId) {
8691
- return { scopes: (await this.storageManager.getSessionData(userId))?.scope?.split(" ") };
8784
+ const sessionData = await this.storageManager.getSessionData(userId);
8785
+ return {
8786
+ authorizationDetails: sessionData?.authorization_details,
8787
+ scopes: sessionData?.scope?.split(" ")
8788
+ };
8692
8789
  }
8693
8790
  async refreshAccessToken(userId) {
8694
8791
  const tokenEndpoint = (await this.oidcProviderMetaDataProvider()).token_endpoint;
@@ -8737,6 +8834,7 @@ var ThunderIDJavaScriptClient = class {
8737
8834
  if (hasSecret && tokenEndpointAuthMethod === "client_secret_post") body.set("client_secret", configData.clientSecret);
8738
8835
  const scope = Array.isArray(configData.scopes) ? configData.scopes.join(" ") : configData.scopes;
8739
8836
  if (scope) body.set("scope", scope);
8837
+ if (configData.authorizationDetails?.length) body.set("authorization_details", JSON.stringify(configData.authorizationDetails));
8740
8838
  if (configData.tokenRequest?.params) Object.entries(configData.tokenRequest.params).forEach(([key, value]) => {
8741
8839
  body.set(key, value);
8742
8840
  });
@@ -8761,6 +8859,7 @@ var ThunderIDJavaScriptClient = class {
8761
8859
  await this.storageManager.setSessionData(parsedResponse, sessionId);
8762
8860
  return {
8763
8861
  accessToken: parsedResponse.access_token,
8862
+ authorizationDetails: parsedResponse.authorization_details,
8764
8863
  createdAt: parsedResponse.created_at,
8765
8864
  expiresIn: parsedResponse.expires_in,
8766
8865
  idToken: parsedResponse.id_token ?? "",
@@ -8832,6 +8931,8 @@ var ThunderIDJavaScriptClient = class {
8832
8931
  if (options.bindingMessage) body.set("binding_message", options.bindingMessage);
8833
8932
  if (options.acrValues) body.set("acr_values", options.acrValues);
8834
8933
  if (options.requestedExpiry !== void 0) body.set("requested_expiry", String(options.requestedExpiry));
8934
+ const authorizationDetails = options.authorizationDetails ?? configData.authorizationDetails;
8935
+ if (authorizationDetails?.length) body.set("authorization_details", JSON.stringify(authorizationDetails));
8835
8936
  const headers = {
8836
8937
  Accept: "application/json",
8837
8938
  "Content-Type": "application/x-www-form-urlencoded"
@@ -9730,6 +9831,64 @@ const resolveManagedIdentityName = (identity) => {
9730
9831
  };
9731
9832
  var resolveManagedIdentityName_default = resolveManagedIdentityName;
9732
9833
 
9834
+ //#endregion
9835
+ //#region src/utils/getAgentName.ts
9836
+ /**
9837
+ * Picks the label to show for an agent. An agent's name lives in its attributes as `attributes.name`,
9838
+ * so this returns the server's `display` value, then the `name` attribute, then the agent's identifier.
9839
+ *
9840
+ * @param agent - An agent, or the summary of one from a list response.
9841
+ * @returns The label to show.
9842
+ *
9843
+ * @example
9844
+ * ```typescript
9845
+ * getAgentName({attributes: {name: 'Nightly Sync Worker'}, id: 'a1'}); // 'Nightly Sync Worker'
9846
+ * ```
9847
+ */
9848
+ const getAgentName = (agent) => {
9849
+ if (agent.display) return agent.display;
9850
+ const name = agent.attributes?.["name"];
9851
+ return typeof name === "string" && name.length > 0 ? name : agent.id;
9852
+ };
9853
+ var getAgentName_default = getAgentName;
9854
+
9855
+ //#endregion
9856
+ //#region src/utils/getAccountLifecycleActions.ts
9857
+ /**
9858
+ * The actions each status offers, most expected first. A suspended identity offers no unlock, since a
9859
+ * read does not show a lock beneath the suspension: once unsuspended, a remaining lock shows as `LOCKED`.
9860
+ */
9861
+ const ACTIONS_BY_STATUS = {
9862
+ ACTIVE: ["suspend"],
9863
+ LOCKED: ["unlock", "suspend"],
9864
+ SUSPENDED: ["unsuspend"]
9865
+ };
9866
+ /**
9867
+ * The account lifecycle actions to offer for an identity: those its status allows, that apply to its
9868
+ * kind, and whose administration flow is configured. These actions run only through their flows, so one
9869
+ * with no flow is never offered.
9870
+ *
9871
+ * @param kind - The kind of identity.
9872
+ * @param status - Its effective access status. An identity with none reads as `ACTIVE`.
9873
+ * @param configuredFlows - The flows the server configures, keyed by `flow` server-config key, as
9874
+ * `resolveAdministrationFlows` returns them.
9875
+ * @returns The actions to offer, most expected first.
9876
+ *
9877
+ * @example
9878
+ * ```typescript
9879
+ * const flows = await resolveAdministrationFlows(config, Object.values(AccountLifecycleFlowConfigKey.user));
9880
+ * getAccountLifecycleActions('user', user.status?.value, flows); // ['unlock', 'suspend'] for a locked user
9881
+ * ```
9882
+ */
9883
+ const getAccountLifecycleActions = (kind, status, configuredFlows) => {
9884
+ const configKeys = AccountLifecycleFlowConfigKey[kind];
9885
+ return (ACTIONS_BY_STATUS[status ?? "ACTIVE"] ?? []).filter((action) => {
9886
+ const configKey = configKeys[action];
9887
+ return configKey !== void 0 && Boolean(configuredFlows[configKey]);
9888
+ });
9889
+ };
9890
+ var getAccountLifecycleActions_default = getAccountLifecycleActions;
9891
+
9733
9892
  //#endregion
9734
9893
  //#region src/utils/hasPermission.ts
9735
9894
  /**
@@ -9984,6 +10143,118 @@ const getRedirectBasedSignUpUrl = (config) => {
9984
10143
  };
9985
10144
  var getRedirectBasedSignUpUrl_default = getRedirectBasedSignUpUrl;
9986
10145
 
10146
+ //#endregion
10147
+ //#region src/utils/getConsentModifiedKey.ts
10148
+ /**
10149
+ * Prefix of the form keys that hold the values a user modified on an authorization detail.
10150
+ */
10151
+ const CONSENT_MODIFIED_KEY_PREFIX = "__consent_modified__";
10152
+ /**
10153
+ * Generates the form key that holds the value a user chose for one field of an authorization
10154
+ * detail. The stored value is the JSON text of the field's new value.
10155
+ *
10156
+ * @param purposeId - The identifier of the consent purpose the authorization detail belongs to.
10157
+ * @param detailId - The identifier of the authorization detail, its consent element name.
10158
+ * @param path - Dot-separated location of the field within the detail.
10159
+ * @returns A stable form key string.
10160
+ *
10161
+ * @example
10162
+ * ```typescript
10163
+ * getConsentModifiedKey('p1', 'd-1', 'instructedAmount.amount') // returns '__consent_modified__p1__d-1__instructedAmount.amount'
10164
+ * ```
10165
+ */
10166
+ const getConsentModifiedKey = (purposeId, detailId, path) => `${CONSENT_MODIFIED_KEY_PREFIX}${purposeId}__${detailId}__${path}`;
10167
+ var getConsentModifiedKey_default = getConsentModifiedKey;
10168
+
10169
+ //#endregion
10170
+ //#region src/utils/getConsentInvalidKey.ts
10171
+ /**
10172
+ * Prefix of the form keys that mark an authorization detail field whose entered text cannot be submitted.
10173
+ */
10174
+ const CONSENT_INVALID_KEY_PREFIX = "__consent_invalid__";
10175
+ /**
10176
+ * Generates the form key that marks one field of an authorization detail as holding text that cannot be
10177
+ * submitted. The stored value is `true` while the field shows such text, and empty otherwise.
10178
+ *
10179
+ * @param purposeId - The identifier of the consent purpose the authorization detail belongs to.
10180
+ * @param detailId - The identifier of the authorization detail, its consent element name.
10181
+ * @param path - Dot-separated location of the field within the detail.
10182
+ * @returns A stable form key string.
10183
+ *
10184
+ * @example
10185
+ * ```typescript
10186
+ * getConsentInvalidKey('p1', 'd-1', 'instructedAmount.amount') // returns '__consent_invalid__p1__d-1__instructedAmount.amount'
10187
+ * ```
10188
+ */
10189
+ const getConsentInvalidKey = (purposeId, detailId, path) => `${CONSENT_INVALID_KEY_PREFIX}${purposeId}__${detailId}__${path}`;
10190
+ var getConsentInvalidKey_default = getConsentInvalidKey;
10191
+
10192
+ //#endregion
10193
+ //#region src/utils/getConsentModifiedValues.ts
10194
+ /**
10195
+ * Collects the values a user modified on an authorization detail element, for the `modified` member
10196
+ * of its consent decision. Only fields the element lets the user modify are read, and a field left at
10197
+ * the value that was shown, or marked as holding text that cannot be submitted, is left out.
10198
+ *
10199
+ * @param purposeId - The identifier of the consent purpose the element belongs to.
10200
+ * @param element - The authorization detail element.
10201
+ * @param inputs - Form values, holding the JSON text of each changed field under its modified key and its
10202
+ * invalid marker under its invalid key.
10203
+ * @returns The changed values keyed by field path, or `undefined` when nothing was changed.
10204
+ *
10205
+ * @example
10206
+ * ```typescript
10207
+ * getConsentModifiedValues('p1', element, {'__consent_modified__p1__d-1__amount': '20'}) // returns {amount: 20}
10208
+ * ```
10209
+ */
10210
+ const getConsentModifiedValues = (purposeId, element, inputs) => {
10211
+ const modified = {};
10212
+ (element.rows ?? []).forEach((row) => {
10213
+ if (!row.modification) return;
10214
+ if (inputs[getConsentInvalidKey_default(purposeId, element.name, row.path)] === "true") return;
10215
+ const raw = inputs[getConsentModifiedKey_default(purposeId, element.name, row.path)];
10216
+ if (typeof raw !== "string" || raw === "") return;
10217
+ let value;
10218
+ try {
10219
+ value = JSON.parse(raw);
10220
+ } catch {
10221
+ return;
10222
+ }
10223
+ if (JSON.stringify(value) === JSON.stringify(row.value)) return;
10224
+ modified[row.path] = value;
10225
+ });
10226
+ return Object.keys(modified).length > 0 ? modified : void 0;
10227
+ };
10228
+ var getConsentModifiedValues_default = getConsentModifiedValues;
10229
+
10230
+ //#endregion
10231
+ //#region src/utils/getConsentElementDecision.ts
10232
+ /**
10233
+ * Builds the decision on one optional consent element. An approved authorization detail element carries
10234
+ * the values the user modified on it; any other element carries only its name and approval.
10235
+ *
10236
+ * @param purposeId - The identifier of the consent purpose the element belongs to.
10237
+ * @param element - The consent element.
10238
+ * @param approved - Whether the user approved the element.
10239
+ * @param inputs - Form values, holding the JSON text of each modified field under its modified key.
10240
+ * @returns The element decision.
10241
+ *
10242
+ * @example
10243
+ * ```typescript
10244
+ * getConsentElementDecision('p1', element, true, {'__consent_modified__p1__d-1__amount': '20'})
10245
+ * // returns {approved: true, name: 'd-1', modified: {amount: 20}}
10246
+ * ```
10247
+ */
10248
+ const getConsentElementDecision = (purposeId, element, approved, inputs) => {
10249
+ const modified = approved ? getConsentModifiedValues_default(purposeId, element, inputs) : void 0;
10250
+ return {
10251
+ approved,
10252
+ name: element.name,
10253
+ ...modified ? { modified } : {}
10254
+ };
10255
+ };
10256
+ var getConsentElementDecision_default = getConsentElementDecision;
10257
+
9987
10258
  //#endregion
9988
10259
  //#region src/utils/isEmpty.ts
9989
10260
  /**
@@ -10664,6 +10935,20 @@ const en_US = {
10664
10935
  "consent.essential_claims.info": "These attributes are required for the service to function properly.",
10665
10936
  "consent.optional_claims.info": "These attributes are optional and can be provided at your discretion.",
10666
10937
  "consent.authorize_scope.info": "These permissions allow the service to access additional features.",
10938
+ "consent.authorization_details.approve": "Approve",
10939
+ "consent.authorization_details.show_more": "Show more",
10940
+ "consent.authorization_details.show_less": "Show less",
10941
+ "consent.authorization_details.more_items": "+{count} more",
10942
+ "consent.authorization_details.invalid_number": "Enter a number.",
10943
+ "consent.authorization_details.number_max": "Enter {value} or less.",
10944
+ "consent.authorization_details.number_min": "Enter {value} or more.",
10945
+ "consent.authorization_details.invalid_date": "Enter a date.",
10946
+ "consent.authorization_details.date_max": "Choose {value} or earlier.",
10947
+ "consent.authorization_details.date_min": "Choose {value} or later.",
10948
+ "consent.authorization_details.remove_item": "{item}, remove",
10949
+ "consent.authorization_details.add_item": "{item}, add",
10950
+ "consent.authorization_details.add_back_item": "{item}, add back",
10951
+ "consent.authorization_details.new_item": "{label}, add",
10667
10952
  "errors.heading": "Error",
10668
10953
  "errors.signin.components.not.available": "Sign-in form is not available at the moment. Please try again later.",
10669
10954
  "errors.signin.initialization": "An error occurred while initializing. Please try again later.",
@@ -10683,8 +10968,20 @@ const en_US = {
10683
10968
  "admin.common.actions.cancel": "Cancel",
10684
10969
  "admin.common.actions.confirm": "Confirm",
10685
10970
  "admin.common.actions.remove": "Remove",
10971
+ "admin.common.status.active": "Active",
10972
+ "admin.common.status.locked": "Locked",
10973
+ "admin.common.status.suspended": "Suspended",
10974
+ "admin.common.lifecycle.suspend": "Suspend",
10975
+ "admin.common.lifecycle.unsuspend": "Unsuspend",
10976
+ "admin.common.lifecycle.unlock": "Unlock",
10977
+ "admin.common.lifecycle.suspend_confirm": "Suspend {name}? It can no longer sign in, and its sessions and tokens are revoked.",
10978
+ "admin.common.lifecycle.unsuspend_confirm": "Unsuspend {name}? Its access is restored, unless it is also locked.",
10979
+ "admin.common.lifecycle.operator_note": "Note (optional)",
10980
+ "admin.common.lifecycle.error": "The action could not be completed.",
10981
+ "admin.common.lifecycle.load_error": "The account actions could not be loaded.",
10686
10982
  "admin.common.columns.actions": "Actions",
10687
10983
  "admin.common.columns.organization_unit": "Organization unit",
10984
+ "admin.common.columns.status": "Status",
10688
10985
  "admin.common.errors.forbidden": "You do not have permission to do this.",
10689
10986
  "admin.common.errors.not_found": "This item could not be found.",
10690
10987
  "admin.common.errors.no_ou": "Choose an organization unit before creating this item.",
@@ -10978,6 +11275,20 @@ const fr_FR = {
10978
11275
  "consent.optional_claims.info": "Ces attributs sont facultatifs et peuvent être fournis à votre discrétion.",
10979
11276
  "consent.authorize_scope.info": "Ces autorisations permettent au service d'accéder à des fonctionnalités supplémentaires.",
10980
11277
  "errors.heading": "Erreur",
11278
+ "consent.authorization_details.approve": "Approuver",
11279
+ "consent.authorization_details.show_more": "Afficher plus",
11280
+ "consent.authorization_details.show_less": "Afficher moins",
11281
+ "consent.authorization_details.more_items": "+{count} de plus",
11282
+ "consent.authorization_details.invalid_number": "Saisissez un nombre.",
11283
+ "consent.authorization_details.number_max": "Saisissez {value} ou moins.",
11284
+ "consent.authorization_details.number_min": "Saisissez {value} ou plus.",
11285
+ "consent.authorization_details.invalid_date": "Saisissez une date.",
11286
+ "consent.authorization_details.date_max": "Choisissez le {value} ou une date antérieure.",
11287
+ "consent.authorization_details.date_min": "Choisissez le {value} ou une date ultérieure.",
11288
+ "consent.authorization_details.remove_item": "{item}, retirer",
11289
+ "consent.authorization_details.add_item": "{item}, ajouter",
11290
+ "consent.authorization_details.add_back_item": "{item}, rajouter",
11291
+ "consent.authorization_details.new_item": "{label}, ajouter",
10981
11292
  "errors.signin.initialization": "Une erreur est survenue lors de l'initialisation. Veuillez réessayer plus tard.",
10982
11293
  "errors.signin.flow.failure": "Une erreur est survenue lors du flux de connexion. Veuillez réessayer plus tard.",
10983
11294
  "errors.signin.flow.completion.failure": "Une erreur est survenue lors de la finalisation du flux de connexion. Veuillez réessayer plus tard.",
@@ -10996,8 +11307,20 @@ const fr_FR = {
10996
11307
  "admin.common.actions.cancel": "Annuler",
10997
11308
  "admin.common.actions.confirm": "Confirmer",
10998
11309
  "admin.common.actions.remove": "Retirer",
11310
+ "admin.common.status.active": "Actif",
11311
+ "admin.common.status.locked": "Verrouillé",
11312
+ "admin.common.status.suspended": "Suspendu",
11313
+ "admin.common.lifecycle.suspend": "Suspendre",
11314
+ "admin.common.lifecycle.unsuspend": "Lever la suspension",
11315
+ "admin.common.lifecycle.unlock": "Déverrouiller",
11316
+ "admin.common.lifecycle.suspend_confirm": "Suspendre {name} ? Il ne pourra plus se connecter, et ses sessions et jetons seront révoqués.",
11317
+ "admin.common.lifecycle.unsuspend_confirm": "Lever la suspension de {name} ? Son accès est rétabli, sauf s'il est aussi verrouillé.",
11318
+ "admin.common.lifecycle.operator_note": "Note (facultatif)",
11319
+ "admin.common.lifecycle.error": "L'action n'a pas pu être effectuée.",
11320
+ "admin.common.lifecycle.load_error": "Les actions du compte n'ont pas pu être chargées.",
10999
11321
  "admin.common.columns.actions": "Actions",
11000
11322
  "admin.common.columns.organization_unit": "Unité organisationnelle",
11323
+ "admin.common.columns.status": "Statut",
11001
11324
  "admin.common.errors.forbidden": "Vous n'avez pas l'autorisation d'effectuer cette action.",
11002
11325
  "admin.common.errors.not_found": "Cet élément est introuvable.",
11003
11326
  "admin.common.errors.no_ou": "Choisissez une unité organisationnelle avant de créer cet élément.",
@@ -11290,6 +11613,20 @@ const te_IN = {
11290
11613
  "consent.essential_claims.info": "సేవ సరిగ్గా పనిచేయడానికి ఈ లక్షణాలు అవసరం.",
11291
11614
  "consent.optional_claims.info": "ఈ లక్షణాలు ఐచ్ఛికం మరియు మీ విచక్షణ మేరకు అందించవచ్చు.",
11292
11615
  "consent.authorize_scope.info": "ఈ అనుమతులు సేవను అదనపు ఫీచర్‌లను యాక్సెస్ చేయడానికి అనుమతిస్తాయి.",
11616
+ "consent.authorization_details.approve": "ఆమోదించు",
11617
+ "consent.authorization_details.show_more": "మరిన్ని చూపించు",
11618
+ "consent.authorization_details.show_less": "తక్కువ చూపించు",
11619
+ "consent.authorization_details.more_items": "+{count} మరిన్ని",
11620
+ "consent.authorization_details.invalid_number": "ఒక సంఖ్యను నమోదు చేయండి.",
11621
+ "consent.authorization_details.number_max": "{value} లేదా అంతకంటే తక్కువ నమోదు చేయండి.",
11622
+ "consent.authorization_details.number_min": "{value} లేదా అంతకంటే ఎక్కువ నమోదు చేయండి.",
11623
+ "consent.authorization_details.invalid_date": "ఒక తేదీని నమోదు చేయండి.",
11624
+ "consent.authorization_details.date_max": "{value} లేదా అంతకు ముందు తేదీని ఎంచుకోండి.",
11625
+ "consent.authorization_details.date_min": "{value} లేదా ఆ తర్వాతి తేదీని ఎంచుకోండి.",
11626
+ "consent.authorization_details.remove_item": "{item}, తీసివేయి",
11627
+ "consent.authorization_details.add_item": "{item}, జోడించు",
11628
+ "consent.authorization_details.add_back_item": "{item}, మళ్లీ జోడించు",
11629
+ "consent.authorization_details.new_item": "{label}, జోడించు",
11293
11630
  "errors.heading": "లోపం",
11294
11631
  "errors.signin.initialization": "ప్రారంభించేటప్పుడు లోపం వచ్చింది. దయచేసి తరువాత మళ్లీ ప్రయత్నించండి.",
11295
11632
  "errors.signin.flow.failure": "సైన్ ఇన్ ప్రక్రియలో లోపం వచ్చింది. దయచేసి తరువాత మళ్లీ ప్రయత్నించండి.",
@@ -11309,8 +11646,20 @@ const te_IN = {
11309
11646
  "admin.common.actions.cancel": "రద్దు చేయి",
11310
11647
  "admin.common.actions.confirm": "నిర్ధారించు",
11311
11648
  "admin.common.actions.remove": "తొలగించు",
11649
+ "admin.common.status.active": "సక్రియం",
11650
+ "admin.common.status.locked": "లాక్ చేయబడింది",
11651
+ "admin.common.status.suspended": "నిలిపివేయబడింది",
11652
+ "admin.common.lifecycle.suspend": "నిలిపివేయి",
11653
+ "admin.common.lifecycle.unsuspend": "నిలిపివేతను తొలగించు",
11654
+ "admin.common.lifecycle.unlock": "అన్‌లాక్ చేయి",
11655
+ "admin.common.lifecycle.suspend_confirm": "{name} ను నిలిపివేయాలా? ఇకపై సైన్ ఇన్ చేయలేదు, దాని సెషన్‌లు మరియు టోకెన్‌లు రద్దు చేయబడతాయి.",
11656
+ "admin.common.lifecycle.unsuspend_confirm": "{name} నిలిపివేతను తొలగించాలా? లాక్ చేయబడకపోతే యాక్సెస్ పునరుద్ధరించబడుతుంది.",
11657
+ "admin.common.lifecycle.operator_note": "గమనిక (ఐచ్ఛికం)",
11658
+ "admin.common.lifecycle.error": "చర్యను పూర్తి చేయలేకపోయాము.",
11659
+ "admin.common.lifecycle.load_error": "ఖాతా చర్యలను లోడ్ చేయలేకపోయాము.",
11312
11660
  "admin.common.columns.actions": "చర్యలు",
11313
11661
  "admin.common.columns.organization_unit": "సంస్థ యూనిట్",
11662
+ "admin.common.columns.status": "స్థితి",
11314
11663
  "admin.common.errors.forbidden": "దీన్ని చేయడానికి మీకు అనుమతి లేదు.",
11315
11664
  "admin.common.errors.not_found": "ఈ అంశం కనుగొనబడలేదు.",
11316
11665
  "admin.common.errors.no_ou": "ఈ అంశాన్ని సృష్టించే ముందు ఒక సంస్థ యూనిట్‌ను ఎంచుకోండి.",
@@ -11603,6 +11952,20 @@ const hi_IN = {
11603
11952
  "consent.essential_claims.info": "सेवा के सही ढंग से कार्य करने के लिए ये विशेषताएँ आवश्यक हैं।",
11604
11953
  "consent.optional_claims.info": "ये विशेषताएँ वैकल्पिक हैं और आपके विवेकानुसार प्रदान की जा सकती हैं।",
11605
11954
  "consent.authorize_scope.info": "ये अनुमतियाँ सेवा को अतिरिक्त सुविधाओं तक पहुँचने की अनुमति देती हैं।",
11955
+ "consent.authorization_details.approve": "स्वीकृत करें",
11956
+ "consent.authorization_details.show_more": "और दिखाएँ",
11957
+ "consent.authorization_details.show_less": "कम दिखाएँ",
11958
+ "consent.authorization_details.more_items": "+{count} और",
11959
+ "consent.authorization_details.invalid_number": "एक संख्या दर्ज करें।",
11960
+ "consent.authorization_details.number_max": "{value} या उससे कम दर्ज करें।",
11961
+ "consent.authorization_details.number_min": "{value} या उससे अधिक दर्ज करें।",
11962
+ "consent.authorization_details.invalid_date": "एक तारीख दर्ज करें।",
11963
+ "consent.authorization_details.date_max": "{value} या उससे पहले की तारीख चुनें।",
11964
+ "consent.authorization_details.date_min": "{value} या उसके बाद की तारीख चुनें।",
11965
+ "consent.authorization_details.remove_item": "{item}, हटाएँ",
11966
+ "consent.authorization_details.add_item": "{item}, जोड़ें",
11967
+ "consent.authorization_details.add_back_item": "{item}, फिर से जोड़ें",
11968
+ "consent.authorization_details.new_item": "{label}, जोड़ें",
11606
11969
  "errors.heading": "त्रुटि",
11607
11970
  "errors.signin.initialization": "इनिशियलाइज़ेशन में त्रुटि हुई। कृपया बाद में पुनः प्रयास करें।",
11608
11971
  "errors.signin.flow.failure": "साइन-इन प्रक्रिया में त्रुटि। कृपया बाद में पुनः प्रयास करें।",
@@ -11622,8 +11985,20 @@ const hi_IN = {
11622
11985
  "admin.common.actions.cancel": "रद्द करें",
11623
11986
  "admin.common.actions.confirm": "पुष्टि करें",
11624
11987
  "admin.common.actions.remove": "हटाएं",
11988
+ "admin.common.status.active": "सक्रिय",
11989
+ "admin.common.status.locked": "लॉक किया गया",
11990
+ "admin.common.status.suspended": "निलंबित",
11991
+ "admin.common.lifecycle.suspend": "निलंबित करें",
11992
+ "admin.common.lifecycle.unsuspend": "निलंबन हटाएं",
11993
+ "admin.common.lifecycle.unlock": "अनलॉक करें",
11994
+ "admin.common.lifecycle.suspend_confirm": "{name} को निलंबित करें? यह अब साइन इन नहीं कर पाएगा, और इसके सत्र और टोकन रद्द कर दिए जाएंगे।",
11995
+ "admin.common.lifecycle.unsuspend_confirm": "{name} का निलंबन हटाएं? इसकी पहुंच बहाल हो जाएगी, जब तक कि यह लॉक भी न हो।",
11996
+ "admin.common.lifecycle.operator_note": "नोट (वैकल्पिक)",
11997
+ "admin.common.lifecycle.error": "कार्रवाई पूरी नहीं हो सकी।",
11998
+ "admin.common.lifecycle.load_error": "खाता कार्रवाइयां लोड नहीं हो सकीं।",
11625
11999
  "admin.common.columns.actions": "कार्रवाइयाँ",
11626
12000
  "admin.common.columns.organization_unit": "संगठन इकाई",
12001
+ "admin.common.columns.status": "स्थिति",
11627
12002
  "admin.common.errors.forbidden": "आपको यह करने की अनुमति नहीं है।",
11628
12003
  "admin.common.errors.not_found": "यह आइटम नहीं मिला।",
11629
12004
  "admin.common.errors.no_ou": "यह आइटम बनाने से पहले एक संगठन इकाई चुनें।",
@@ -11916,6 +12291,20 @@ const pt_BR = {
11916
12291
  "consent.essential_claims.info": "Esses atributos são necessários para o funcionamento adequado do serviço.",
11917
12292
  "consent.optional_claims.info": "Esses atributos são opcionais e podem ser fornecidos a seu critério.",
11918
12293
  "consent.authorize_scope.info": "Essas permissões permitem que o serviço acesse recursos adicionais.",
12294
+ "consent.authorization_details.approve": "Aprovar",
12295
+ "consent.authorization_details.show_more": "Mostrar mais",
12296
+ "consent.authorization_details.show_less": "Mostrar menos",
12297
+ "consent.authorization_details.more_items": "+{count} a mais",
12298
+ "consent.authorization_details.invalid_number": "Insira um número.",
12299
+ "consent.authorization_details.number_max": "Insira {value} ou menos.",
12300
+ "consent.authorization_details.number_min": "Insira {value} ou mais.",
12301
+ "consent.authorization_details.invalid_date": "Insira uma data.",
12302
+ "consent.authorization_details.date_max": "Escolha {value} ou uma data anterior.",
12303
+ "consent.authorization_details.date_min": "Escolha {value} ou uma data posterior.",
12304
+ "consent.authorization_details.remove_item": "{item}, remover",
12305
+ "consent.authorization_details.add_item": "{item}, adicionar",
12306
+ "consent.authorization_details.add_back_item": "{item}, adicionar novamente",
12307
+ "consent.authorization_details.new_item": "{label}, adicionar",
11919
12308
  "errors.heading": "Erro",
11920
12309
  "errors.signin.initialization": "Ocorreu um erro ao inicializar. Tente novamente mais tarde.",
11921
12310
  "errors.signin.flow.failure": "Ocorreu um erro durante o login. Tente novamente mais tarde.",
@@ -11935,8 +12324,20 @@ const pt_BR = {
11935
12324
  "admin.common.actions.cancel": "Cancelar",
11936
12325
  "admin.common.actions.confirm": "Confirmar",
11937
12326
  "admin.common.actions.remove": "Remover",
12327
+ "admin.common.status.active": "Ativo",
12328
+ "admin.common.status.locked": "Bloqueado",
12329
+ "admin.common.status.suspended": "Suspenso",
12330
+ "admin.common.lifecycle.suspend": "Suspender",
12331
+ "admin.common.lifecycle.unsuspend": "Remover suspensão",
12332
+ "admin.common.lifecycle.unlock": "Desbloquear",
12333
+ "admin.common.lifecycle.suspend_confirm": "Suspender {name}? Ele não poderá mais entrar, e suas sessões e tokens serão revogados.",
12334
+ "admin.common.lifecycle.unsuspend_confirm": "Remover a suspensão de {name}? O acesso é restaurado, a menos que também esteja bloqueado.",
12335
+ "admin.common.lifecycle.operator_note": "Observação (opcional)",
12336
+ "admin.common.lifecycle.error": "Não foi possível concluir a ação.",
12337
+ "admin.common.lifecycle.load_error": "Não foi possível carregar as ações da conta.",
11938
12338
  "admin.common.columns.actions": "Ações",
11939
12339
  "admin.common.columns.organization_unit": "Unidade organizacional",
12340
+ "admin.common.columns.status": "Status",
11940
12341
  "admin.common.errors.forbidden": "Você não tem permissão para fazer isso.",
11941
12342
  "admin.common.errors.not_found": "Este item não foi encontrado.",
11942
12343
  "admin.common.errors.no_ou": "Escolha uma unidade organizacional antes de criar este item.",
@@ -12229,6 +12630,20 @@ const pt_PT = {
12229
12630
  "consent.essential_claims.info": "Estes atributos são necessários para o correto funcionamento do serviço.",
12230
12631
  "consent.optional_claims.info": "Estes atributos são opcionais e podem ser fornecidos ao seu critério.",
12231
12632
  "consent.authorize_scope.info": "Estas permissões permitem que o serviço aceda a funcionalidades adicionais.",
12633
+ "consent.authorization_details.approve": "Aprovar",
12634
+ "consent.authorization_details.show_more": "Mostrar mais",
12635
+ "consent.authorization_details.show_less": "Mostrar menos",
12636
+ "consent.authorization_details.more_items": "+{count} a mais",
12637
+ "consent.authorization_details.invalid_number": "Introduza um número.",
12638
+ "consent.authorization_details.number_max": "Introduza {value} ou menos.",
12639
+ "consent.authorization_details.number_min": "Introduza {value} ou mais.",
12640
+ "consent.authorization_details.invalid_date": "Introduza uma data.",
12641
+ "consent.authorization_details.date_max": "Escolha {value} ou uma data anterior.",
12642
+ "consent.authorization_details.date_min": "Escolha {value} ou uma data posterior.",
12643
+ "consent.authorization_details.remove_item": "{item}, remover",
12644
+ "consent.authorization_details.add_item": "{item}, adicionar",
12645
+ "consent.authorization_details.add_back_item": "{item}, adicionar novamente",
12646
+ "consent.authorization_details.new_item": "{label}, adicionar",
12232
12647
  "errors.heading": "Erro",
12233
12648
  "errors.signin.initialization": "Ocorreu um erro ao inicializar. Tente novamente mais tarde.",
12234
12649
  "errors.signin.flow.failure": "Ocorreu um erro durante o início de sessão. Tente novamente mais tarde.",
@@ -12248,8 +12663,20 @@ const pt_PT = {
12248
12663
  "admin.common.actions.cancel": "Cancelar",
12249
12664
  "admin.common.actions.confirm": "Confirmar",
12250
12665
  "admin.common.actions.remove": "Remover",
12666
+ "admin.common.status.active": "Ativo",
12667
+ "admin.common.status.locked": "Bloqueado",
12668
+ "admin.common.status.suspended": "Suspenso",
12669
+ "admin.common.lifecycle.suspend": "Suspender",
12670
+ "admin.common.lifecycle.unsuspend": "Levantar suspensão",
12671
+ "admin.common.lifecycle.unlock": "Desbloquear",
12672
+ "admin.common.lifecycle.suspend_confirm": "Suspender {name}? Deixa de poder iniciar sessão, e as suas sessões e tokens são revogados.",
12673
+ "admin.common.lifecycle.unsuspend_confirm": "Levantar a suspensão de {name}? O acesso é reposto, a menos que também esteja bloqueado.",
12674
+ "admin.common.lifecycle.operator_note": "Nota (opcional)",
12675
+ "admin.common.lifecycle.error": "Não foi possível concluir a ação.",
12676
+ "admin.common.lifecycle.load_error": "Não foi possível carregar as ações da conta.",
12251
12677
  "admin.common.columns.actions": "Ações",
12252
12678
  "admin.common.columns.organization_unit": "Unidade organizacional",
12679
+ "admin.common.columns.status": "Estado",
12253
12680
  "admin.common.errors.forbidden": "Não tem permissão para fazer isto.",
12254
12681
  "admin.common.errors.not_found": "Não foi possível encontrar este item.",
12255
12682
  "admin.common.errors.no_ou": "Escolha uma unidade organizacional antes de criar este item.",
@@ -12542,6 +12969,20 @@ const ta_IN = {
12542
12969
  "consent.essential_claims.info": "சேவை சரியாக செயல்பட இந்த பண்புகள் தேவை.",
12543
12970
  "consent.optional_claims.info": "இந்த பண்புகள் விருப்பத்தேர்வு மற்றும் உங்கள் விருப்பப்படி வழங்கப்படலாம்.",
12544
12971
  "consent.authorize_scope.info": "இந்த அனுமதிகள் கூடுதல் அம்சங்களை அணுக சேவைக்கு உதவுகின்றன.",
12972
+ "consent.authorization_details.approve": "அனுமதி",
12973
+ "consent.authorization_details.show_more": "மேலும் காட்டு",
12974
+ "consent.authorization_details.show_less": "குறைவாகக் காட்டு",
12975
+ "consent.authorization_details.more_items": "+{count} மேலும்",
12976
+ "consent.authorization_details.invalid_number": "ஒரு எண்ணை உள்ளிடவும்.",
12977
+ "consent.authorization_details.number_max": "{value} அல்லது அதற்குக் குறைவாக உள்ளிடவும்.",
12978
+ "consent.authorization_details.number_min": "{value} அல்லது அதற்கு மேல் உள்ளிடவும்.",
12979
+ "consent.authorization_details.invalid_date": "ஒரு தேதியை உள்ளிடவும்.",
12980
+ "consent.authorization_details.date_max": "{value} அல்லது அதற்கு முந்தைய தேதியைத் தேர்ந்தெடுக்கவும்.",
12981
+ "consent.authorization_details.date_min": "{value} அல்லது அதற்குப் பிந்தைய தேதியைத் தேர்ந்தெடுக்கவும்.",
12982
+ "consent.authorization_details.remove_item": "{item}, அகற்று",
12983
+ "consent.authorization_details.add_item": "{item}, சேர்",
12984
+ "consent.authorization_details.add_back_item": "{item}, மீண்டும் சேர்",
12985
+ "consent.authorization_details.new_item": "{label}, சேர்",
12545
12986
  "errors.heading": "பிழை",
12546
12987
  "errors.signin.initialization": "தொடக்கத்தில் பிழை ஏற்பட்டது. பின்னர் மீண்டும் முயற்சிக்கவும்.",
12547
12988
  "errors.signin.flow.failure": "உள்நுழைவு செயல்பாட்டின் போது பிழை ஏற்பட்டது. பின்னர் மீண்டும் முயற்சிக்கவும்.",
@@ -12561,8 +13002,20 @@ const ta_IN = {
12561
13002
  "admin.common.actions.cancel": "ரத்துசெய்",
12562
13003
  "admin.common.actions.confirm": "உறுதிப்படுத்து",
12563
13004
  "admin.common.actions.remove": "அகற்று",
13005
+ "admin.common.status.active": "செயலில்",
13006
+ "admin.common.status.locked": "பூட்டப்பட்டது",
13007
+ "admin.common.status.suspended": "இடைநிறுத்தப்பட்டது",
13008
+ "admin.common.lifecycle.suspend": "இடைநிறுத்து",
13009
+ "admin.common.lifecycle.unsuspend": "இடைநிறுத்தத்தை நீக்கு",
13010
+ "admin.common.lifecycle.unlock": "பூட்டை நீக்கு",
13011
+ "admin.common.lifecycle.suspend_confirm": "{name} ஐ இடைநிறுத்தவா? இனி உள்நுழைய முடியாது, அதன் அமர்வுகளும் டோக்கன்களும் திரும்பப் பெறப்படும்.",
13012
+ "admin.common.lifecycle.unsuspend_confirm": "{name} இன் இடைநிறுத்தத்தை நீக்கவா? பூட்டப்படாவிட்டால் அணுகல் மீட்டமைக்கப்படும்.",
13013
+ "admin.common.lifecycle.operator_note": "குறிப்பு (விருப்பத்தேர்வு)",
13014
+ "admin.common.lifecycle.error": "செயலை முடிக்க முடியவில்லை.",
13015
+ "admin.common.lifecycle.load_error": "கணக்கு செயல்களை ஏற்ற முடியவில்லை.",
12564
13016
  "admin.common.columns.actions": "செயல்கள்",
12565
13017
  "admin.common.columns.organization_unit": "நிறுவன அலகு",
13018
+ "admin.common.columns.status": "நிலை",
12566
13019
  "admin.common.errors.forbidden": "இதைச் செய்ய உங்களுக்கு அனுமதி இல்லை.",
12567
13020
  "admin.common.errors.not_found": "இந்த உருப்படியைக் கண்டறிய முடியவில்லை.",
12568
13021
  "admin.common.errors.no_ou": "இந்த உருப்படியை உருவாக்கும் முன் ஒரு நிறுவன அலகைத் தேர்ந்தெடுக்கவும்.",
@@ -12855,6 +13308,20 @@ const si_LK = {
12855
13308
  "consent.essential_claims.info": "සේවාව නිසි ලෙස ක්‍රියාත්මක වීම සඳහා මෙම ගුණාංග අවශ්‍ය වේ.",
12856
13309
  "consent.optional_claims.info": "මෙම ගුණාංග විකල්ප වන අතර ඔබේ අභිමතය පරිදි සැපයිය හැක.",
12857
13310
  "consent.authorize_scope.info": "මෙම අවසරයන් මගින් සේවාවට අමතර විශේෂාංග වෙත ප්‍රවේශ වීමට ඉඩ සලසයි.",
13311
+ "consent.authorization_details.approve": "අනුමත කරන්න",
13312
+ "consent.authorization_details.show_more": "තවත් පෙන්වන්න",
13313
+ "consent.authorization_details.show_less": "අඩුවෙන් පෙන්වන්න",
13314
+ "consent.authorization_details.more_items": "තවත් {count}",
13315
+ "consent.authorization_details.invalid_number": "අංකයක් ඇතුළත් කරන්න.",
13316
+ "consent.authorization_details.number_max": "{value} හෝ ඊට අඩු අගයක් ඇතුළත් කරන්න.",
13317
+ "consent.authorization_details.number_min": "{value} හෝ ඊට වැඩි අගයක් ඇතුළත් කරන්න.",
13318
+ "consent.authorization_details.invalid_date": "දිනයක් ඇතුළත් කරන්න.",
13319
+ "consent.authorization_details.date_max": "{value} හෝ ඊට පෙර දිනයක් තෝරන්න.",
13320
+ "consent.authorization_details.date_min": "{value} හෝ ඊට පසු දිනයක් තෝරන්න.",
13321
+ "consent.authorization_details.remove_item": "{item}, ඉවත් කරන්න",
13322
+ "consent.authorization_details.add_item": "{item}, එක් කරන්න",
13323
+ "consent.authorization_details.add_back_item": "{item}, නැවත එක් කරන්න",
13324
+ "consent.authorization_details.new_item": "{label}, එක් කරන්න",
12858
13325
  "errors.heading": "දෝෂය",
12859
13326
  "errors.signin.initialization": "ආරම්භ කිරීමේදී දෝෂයක් සිදු විය. කරුණාකර පසුව නැවත උත්සාහ කරන්න.",
12860
13327
  "errors.signin.flow.failure": "ලොග් වීමේදී දෝෂයක් සිදු විය. කරුණාකර පසුව නැවත උත්සාහ කරන්න.",
@@ -12874,8 +13341,20 @@ const si_LK = {
12874
13341
  "admin.common.actions.cancel": "අවලංගු කරන්න",
12875
13342
  "admin.common.actions.confirm": "තහවුරු කරන්න",
12876
13343
  "admin.common.actions.remove": "ඉවත් කරන්න",
13344
+ "admin.common.status.active": "සක්‍රීය",
13345
+ "admin.common.status.locked": "අගුළු දමා ඇත",
13346
+ "admin.common.status.suspended": "අත්හිටුවා ඇත",
13347
+ "admin.common.lifecycle.suspend": "අත්හිටුවන්න",
13348
+ "admin.common.lifecycle.unsuspend": "අත්හිටුවීම ඉවත් කරන්න",
13349
+ "admin.common.lifecycle.unlock": "අගුළු හරින්න",
13350
+ "admin.common.lifecycle.suspend_confirm": "{name} අත්හිටුවන්නද? එයට තවදුරටත් පුරනය විය නොහැකි අතර, එහි සැසි සහ ටෝකන අවලංගු කෙරේ.",
13351
+ "admin.common.lifecycle.unsuspend_confirm": "{name} හි අත්හිටුවීම ඉවත් කරන්නද? එය අගුළු දමා නොමැති නම්, ප්‍රවේශය යළි ලැබේ.",
13352
+ "admin.common.lifecycle.operator_note": "සටහන (විකල්ප)",
13353
+ "admin.common.lifecycle.error": "ක්‍රියාව සම්පූර්ණ කළ නොහැකි විය.",
13354
+ "admin.common.lifecycle.load_error": "ගිණුම් ක්‍රියා පූරණය කළ නොහැකි විය.",
12877
13355
  "admin.common.columns.actions": "ක්‍රියා",
12878
13356
  "admin.common.columns.organization_unit": "සංවිධාන ඒකකය",
13357
+ "admin.common.columns.status": "තත්ත්වය",
12879
13358
  "admin.common.errors.forbidden": "මෙය කිරීමට ඔබට අවසර නැත.",
12880
13359
  "admin.common.errors.not_found": "මෙම අයිතමය සොයාගත නොහැකි විය.",
12881
13360
  "admin.common.errors.no_ou": "මෙම අයිතමය සෑදීමට පෙර සංවිධාන ඒකකයක් තෝරන්න.",
@@ -14119,6 +14598,7 @@ var normalizeTranslations_default = normalizeTranslations;
14119
14598
  //#endregion
14120
14599
  exports.ADMINISTRATION_FLOW_TYPE = ADMINISTRATION_FLOW_TYPE;
14121
14600
  exports.APPLICATION_GRANT_TYPES = APPLICATION_GRANT_TYPES;
14601
+ exports.AccountLifecycleFlowConfigKey = AccountLifecycleFlowConfigKey;
14122
14602
  exports.AdministrationFlowConfigKey = AdministrationFlowConfigKey;
14123
14603
  exports.AdministrationFlowData = AdministrationFlowData;
14124
14604
  exports.AdministrationFlowError = AdministrationFlowError;
@@ -14130,6 +14610,8 @@ exports.ApplicationQueryKeys = ApplicationQueryKeys_default;
14130
14610
  exports.AuthFlowSelectConstants = AuthFlowSelectConstants_default;
14131
14611
  exports.AuthenticationHelper = AuthenticationHelper_default;
14132
14612
  exports.BackchannelLogoutConstants = BackchannelLogoutConstants_default;
14613
+ exports.CONSENT_INVALID_KEY_PREFIX = CONSENT_INVALID_KEY_PREFIX;
14614
+ exports.CONSENT_MODIFIED_KEY_PREFIX = CONSENT_MODIFIED_KEY_PREFIX;
14133
14615
  exports.ConsentConstants = ConsentConstants_default;
14134
14616
  exports.CredentialConstants = CredentialConstants_default;
14135
14617
  exports.DEFAULT_APPLICATION_GRANT_TYPES = DEFAULT_APPLICATION_GRANT_TYPES;
@@ -14268,10 +14750,12 @@ exports.findAdministrationFlows = findAdministrationFlows_default;
14268
14750
  exports.formatDate = formatDate_default;
14269
14751
  exports.generateFlattenedUserProfile = generateFlattenedUserProfile_default;
14270
14752
  exports.get = get_default;
14753
+ exports.getAccountLifecycleActions = getAccountLifecycleActions_default;
14271
14754
  exports.getAction = getAction_default;
14272
14755
  exports.getActions = getActions_default;
14273
14756
  exports.getAgent = getAgent_default;
14274
14757
  exports.getAgentGroups = getAgentGroups_default;
14758
+ exports.getAgentName = getAgentName_default;
14275
14759
  exports.getAgentRoles = getAgentRoles_default;
14276
14760
  exports.getAgentType = getAgentType_default;
14277
14761
  exports.getAgentTypes = getAgentTypes_default;
@@ -14290,6 +14774,10 @@ exports.getConnection = getConnection_default;
14290
14774
  exports.getConnectionUsages = getConnectionUsages_default;
14291
14775
  exports.getConnections = getConnections_default;
14292
14776
  exports.getConnectionsMeta = getConnectionsMeta_default;
14777
+ exports.getConsentElementDecision = getConsentElementDecision_default;
14778
+ exports.getConsentInvalidKey = getConsentInvalidKey_default;
14779
+ exports.getConsentModifiedKey = getConsentModifiedKey_default;
14780
+ exports.getConsentModifiedValues = getConsentModifiedValues_default;
14293
14781
  exports.getDefaultI18nBundles = getDefaultI18nBundles_default;
14294
14782
  exports.getDesignTheme = getDesignTheme_default;
14295
14783
  exports.getDesignThemeUsages = getDesignThemeUsages_default;
@@ -14405,6 +14893,7 @@ exports.resolveTranslation = resolveTranslation_default;
14405
14893
  exports.resolveTranslations = resolveTranslations_default;
14406
14894
  exports.restoreFlowVersion = restoreFlowVersion_default;
14407
14895
  exports.revertGatewayConfiguration = revertGatewayConfiguration_default;
14896
+ exports.runAccountLifecycleAction = runAccountLifecycleAction_default;
14408
14897
  exports.runAdministrationFlow = runAdministrationFlow_default;
14409
14898
  exports.set = set_default;
14410
14899
  exports.setTranslation = setTranslation_default;