@thunderid/javascript 1.19.1 → 1.20.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.
Files changed (31) hide show
  1. package/dist/api/management/user-types/getUserType.d.ts +8 -0
  2. package/dist/api/management/user-types/getUserType.d.ts.map +1 -1
  3. package/dist/api/management/users/sendUserAttributeVerification.d.ts +59 -0
  4. package/dist/api/management/users/sendUserAttributeVerification.d.ts.map +1 -0
  5. package/dist/cjs/index.cjs +212 -31
  6. package/dist/constants/AdministrationConstants.d.ts +3 -1
  7. package/dist/constants/AdministrationConstants.d.ts.map +1 -1
  8. package/dist/constants/AttributeVerificationConstants.d.ts +5 -2
  9. package/dist/constants/AttributeVerificationConstants.d.ts.map +1 -1
  10. package/dist/edge/index.js +209 -32
  11. package/dist/i18n/models/i18n.d.ts +7 -0
  12. package/dist/i18n/models/i18n.d.ts.map +1 -1
  13. package/dist/i18n/translations/en-US.d.ts.map +1 -1
  14. package/dist/i18n/translations/fr-FR.d.ts.map +1 -1
  15. package/dist/i18n/translations/hi-IN.d.ts.map +1 -1
  16. package/dist/i18n/translations/ja-JP.d.ts.map +1 -1
  17. package/dist/i18n/translations/pt-BR.d.ts.map +1 -1
  18. package/dist/i18n/translations/pt-PT.d.ts.map +1 -1
  19. package/dist/i18n/translations/si-LK.d.ts.map +1 -1
  20. package/dist/i18n/translations/ta-IN.d.ts.map +1 -1
  21. package/dist/i18n/translations/te-IN.d.ts.map +1 -1
  22. package/dist/index.d.ts +4 -1
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +209 -32
  25. package/dist/models/embedded-flow.d.ts +1 -0
  26. package/dist/models/embedded-flow.d.ts.map +1 -1
  27. package/dist/models/managed-user.d.ts +6 -0
  28. package/dist/models/managed-user.d.ts.map +1 -1
  29. package/dist/utils/isAdminVerifiableAttribute.d.ts +22 -0
  30. package/dist/utils/isAdminVerifiableAttribute.d.ts.map +1 -0
  31. package/package.json +1 -1
@@ -10,5 +10,13 @@ export interface GetUserTypeConfig extends ManagementRequestConfig {
10
10
  * Fetches a user type with its attribute schema.
11
11
  */
12
12
  declare const getUserType: ({ userTypeId, ...config }: GetUserTypeConfig) => Promise<ManagedUserTypeDetails>;
13
+ /**
14
+ * Looks up the schema for the type handle reported by the users API.
15
+ *
16
+ * @internal Shared by the SDK packages. It is not part of the public API and can change in any release.
17
+ */
18
+ export declare const getUserTypeByHandle: (config: ManagementRequestConfig & {
19
+ handle: string;
20
+ }) => Promise<ManagedUserTypeDetails | undefined>;
13
21
  export default getUserType;
14
22
  //# sourceMappingURL=getUserType.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getUserType.d.ts","sourceRoot":"","sources":["../../../../src/api/management/user-types/getUserType.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,uBAAuB,EAAC,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAC,sBAAsB,EAAC,MAAM,6BAA6B,CAAC;AAGnE,MAAM,WAAW,iBAAkB,SAAQ,uBAAuB;IAChE;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,QAAA,MAAM,WAAW,GAAU,2BAAyB,iBAAiB,KAAG,OAAO,CAAC,sBAAsB,CAQlG,CAAC;AAEL,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"getUserType.d.ts","sourceRoot":"","sources":["../../../../src/api/management/user-types/getUserType.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,uBAAuB,EAAC,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAC,sBAAsB,EAAC,MAAM,6BAA6B,CAAC;AAKnE,MAAM,WAAW,iBAAkB,SAAQ,uBAAuB;IAChE;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,QAAA,MAAM,WAAW,GAAU,2BAAyB,iBAAiB,KAAG,OAAO,CAAC,sBAAsB,CAQlG,CAAC;AAEL;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,uBAAuB,GAAG;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,KACjD,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAa5C,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -0,0 +1,59 @@
1
+ import { ManagementRequestConfig } from '../../../models/api';
2
+ /**
3
+ * Configuration for the sendUserAttributeVerification request.
4
+ */
5
+ export interface SendUserAttributeVerificationConfig extends ManagementRequestConfig {
6
+ /**
7
+ * The attribute to verify, such as `email`.
8
+ */
9
+ attribute: string;
10
+ /**
11
+ * Handle of the administrator-initiated verification flow to run. When omitted, the handle the server
12
+ * names under `adminAttributeVerificationFlow` in its `flow` configuration is used.
13
+ */
14
+ handle?: string;
15
+ /**
16
+ * Identifier of the user.
17
+ */
18
+ userId: string;
19
+ }
20
+ /**
21
+ * What the flow reports once it has sent the verification link. It never returns the link or the address.
22
+ */
23
+ export interface SendUserAttributeVerificationResult {
24
+ /**
25
+ * The channel the link went out on, such as `email`.
26
+ */
27
+ channel: string;
28
+ /**
29
+ * Whether the flow's email step sent the link. `false` means the flow ran but no email went out, so check it
30
+ * before telling the administrator the link was sent. Absent when the flow does not report it.
31
+ */
32
+ emailSent?: boolean;
33
+ /**
34
+ * The masked address the link was sent to, such as `j***@example.com`.
35
+ */
36
+ maskedDestination?: string;
37
+ }
38
+ /**
39
+ * Sends a user a link to verify one of their attributes, through the server's administrator-initiated
40
+ * verification flow. The flow pauses once the link is sent; the user finishes it from the link, without
41
+ * the administrator. A refused step raises {@link AdministrationFlowError} with the step's code, such as
42
+ * `FET-1114` for a suspended user. Without a `handle`, the flow is the one the server's
43
+ * `adminAttributeVerificationFlow` setting names; when that is unset the call fails with
44
+ * `sendUserAttributeVerification-NotConfiguredError-001`. A flow whose email step sends nothing still
45
+ * resolves, with `emailSent: false`, as the account lifecycle actions do, so callers must check `emailSent`.
46
+ *
47
+ * @param config - Request configuration. Requires `baseUrl` and a token with the root `system` permission.
48
+ * @returns The channel, masked destination and delivery flag reported by the flow.
49
+ * @throws {ThunderIDAPIError} If required input is missing or the request fails.
50
+ * @throws {AdministrationFlowError} If no flow is configured, the flow refuses the start or it does not return the delivery step.
51
+ *
52
+ * @example
53
+ * ```typescript
54
+ * const {emailSent, maskedDestination} = await sendUserAttributeVerification({baseUrl, attribute: 'email', userId});
55
+ * ```
56
+ */
57
+ declare const sendUserAttributeVerification: ({ attribute, handle, userId, ...config }: SendUserAttributeVerificationConfig) => Promise<SendUserAttributeVerificationResult>;
58
+ export default sendUserAttributeVerification;
59
+ //# sourceMappingURL=sendUserAttributeVerification.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sendUserAttributeVerification.d.ts","sourceRoot":"","sources":["../../../../src/api/management/users/sendUserAttributeVerification.ts"],"names":[],"mappings":"AAQA,OAAO,EAAC,uBAAuB,EAAC,MAAM,qBAAqB,CAAC;AAM5D;;GAEG;AACH,MAAM,WAAW,mCAAoC,SAAQ,uBAAuB;IAClF;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,mCAAmC;IAClD;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAID;;;;;;;;;;;;;;;;;;GAkBG;AACH,QAAA,MAAM,6BAA6B,GAAU,0CAK1C,mCAAmC,KAAG,OAAO,CAAC,mCAAmC,CAyEnF,CAAC;AAEF,eAAe,6BAA6B,CAAC"}
@@ -886,6 +886,7 @@ var executeEmbeddedSignInFlow_default = executeEmbeddedSignInFlow;
886
886
  //#endregion
887
887
  //#region src/models/embedded-flow.ts
888
888
  let EmbeddedFlowType = /* @__PURE__ */ function(EmbeddedFlowType$1) {
889
+ EmbeddedFlowType$1["AdminInitiated"] = "ADMIN_INITIATED";
889
890
  EmbeddedFlowType$1["Authentication"] = "AUTHENTICATION";
890
891
  EmbeddedFlowType$1["DeviceGrant"] = "DEVICE_GRANT";
891
892
  EmbeddedFlowType$1["Recovery"] = "RECOVERY";
@@ -2234,10 +2235,12 @@ const AdministrationModes = {
2234
2235
  };
2235
2236
  /**
2236
2237
  * Keys of the `flow` server-config section that name the administration flow for each operation. An
2237
- * unset key is the opt-out: the operation calls the management API directly.
2238
+ * unset key is the opt-out: the operation calls the management API directly. `adminAttributeVerificationFlow`
2239
+ * names an administrator-initiated flow, started by its handle, and has no such fallback.
2238
2240
  */
2239
2241
  const AdministrationFlowConfigKey = {
2240
2242
  ACTION_DELETION: "actionDeletionFlow",
2243
+ ADMIN_ATTRIBUTE_VERIFICATION: "adminAttributeVerificationFlow",
2241
2244
  AGENT_SUSPEND: "agentSuspendFlow",
2242
2245
  AGENT_UNLOCK: "agentUnlockFlow",
2243
2246
  AGENT_UNSUSPEND: "agentUnsuspendFlow",
@@ -3540,6 +3543,21 @@ const updateUserCredentials = async ({ payload, userId,...config }) => {
3540
3543
  };
3541
3544
  var updateUserCredentials_default = updateUserCredentials;
3542
3545
 
3546
+ //#endregion
3547
+ //#region src/utils/computeNextPageOffset.ts
3548
+ /**
3549
+ * Offset of the next page: the request offset plus the number of items the backend returned, or
3550
+ * `null` once the list is exhausted.
3551
+ *
3552
+ * @internal Shared by the SDK packages. It is not part of the public API and can change in any release.
3553
+ */
3554
+ const computeNextPageOffset = (offset, count, totalResults) => {
3555
+ if (!Number.isInteger(offset) || offset < 0 || !Number.isInteger(count) || count <= 0) return null;
3556
+ const next = offset + count;
3557
+ return totalResults !== void 0 && next >= totalResults ? null : next;
3558
+ };
3559
+ var computeNextPageOffset_default = computeNextPageOffset;
3560
+
3543
3561
  //#endregion
3544
3562
  //#region src/api/management/user-types/getUserType.ts
3545
3563
  /**
@@ -3553,6 +3571,28 @@ const getUserType = async ({ userTypeId,...config }) => requestManagementResourc
3553
3571
  operation: "getUserType",
3554
3572
  query: { include: "display" }
3555
3573
  });
3574
+ /**
3575
+ * Looks up the schema for the type handle reported by the users API.
3576
+ *
3577
+ * @internal Shared by the SDK packages. It is not part of the public API and can change in any release.
3578
+ */
3579
+ const getUserTypeByHandle = async (config) => {
3580
+ const { handle,...endpoint } = config;
3581
+ let offset = 0;
3582
+ while (offset !== null) {
3583
+ const page = await getUserTypes_default({
3584
+ ...endpoint,
3585
+ limit: 100,
3586
+ offset
3587
+ });
3588
+ const type = page.types.find((candidate) => candidate.handle === handle);
3589
+ if (type) return getUserType({
3590
+ ...endpoint,
3591
+ userTypeId: type.id
3592
+ });
3593
+ offset = computeNextPageOffset_default(offset, page.count, page.totalResults);
3594
+ }
3595
+ };
3556
3596
  var getUserType_default = getUserType;
3557
3597
 
3558
3598
  //#endregion
@@ -8216,6 +8256,85 @@ const unlockUser = async ({ userId, operatorNote,...config }) => runAccountLifec
8216
8256
  });
8217
8257
  var unlockUser_default = unlockUser;
8218
8258
 
8259
+ //#endregion
8260
+ //#region src/constants/AttributeVerificationConstants.ts
8261
+ /**
8262
+ * Wire names and eligibility rules for user attribute verification, by the user or by an administrator.
8263
+ */
8264
+ const AttributeVerificationConstants = {
8265
+ ADMIN_VERIFIABLE_ATTRIBUTES: ["email"],
8266
+ ATTRIBUTE_INPUT: "attribute",
8267
+ CHANNEL_KEY: "channel",
8268
+ DEFAULT_FLOW_HANDLE: "default-self-attribute-verification-flow",
8269
+ EMAIL_SENT_KEY: "emailSent",
8270
+ MASKED_DESTINATION_KEY: "maskedDestination",
8271
+ SUBJECT_INPUT: "subject",
8272
+ VERIFIABLE_ATTRIBUTE_TYPES: ["email", "mobile"],
8273
+ VERIFIED_ATTRIBUTES_KEY: "verifiedAttributes"
8274
+ };
8275
+ var AttributeVerificationConstants_default = AttributeVerificationConstants;
8276
+
8277
+ //#endregion
8278
+ //#region src/api/management/users/sendUserAttributeVerification.ts
8279
+ const OPERATION = "sendUserAttributeVerification";
8280
+ /**
8281
+ * Sends a user a link to verify one of their attributes, through the server's administrator-initiated
8282
+ * verification flow. The flow pauses once the link is sent; the user finishes it from the link, without
8283
+ * the administrator. A refused step raises {@link AdministrationFlowError} with the step's code, such as
8284
+ * `FET-1114` for a suspended user. Without a `handle`, the flow is the one the server's
8285
+ * `adminAttributeVerificationFlow` setting names; when that is unset the call fails with
8286
+ * `sendUserAttributeVerification-NotConfiguredError-001`. A flow whose email step sends nothing still
8287
+ * resolves, with `emailSent: false`, as the account lifecycle actions do, so callers must check `emailSent`.
8288
+ *
8289
+ * @param config - Request configuration. Requires `baseUrl` and a token with the root `system` permission.
8290
+ * @returns The channel, masked destination and delivery flag reported by the flow.
8291
+ * @throws {ThunderIDAPIError} If required input is missing or the request fails.
8292
+ * @throws {AdministrationFlowError} If no flow is configured, the flow refuses the start or it does not return the delivery step.
8293
+ *
8294
+ * @example
8295
+ * ```typescript
8296
+ * const {emailSent, maskedDestination} = await sendUserAttributeVerification({baseUrl, attribute: 'email', userId});
8297
+ * ```
8298
+ */
8299
+ const sendUserAttributeVerification = async ({ attribute, handle, userId,...config }) => {
8300
+ if (typeof userId !== "string" || userId.trim() === "" || typeof attribute !== "string" || !attribute.trim()) throw new ThunderIDAPIError("A user identifier and an attribute are required.", `${OPERATION}-ValidationError-002`, "javascript", 400, "The provided user identifier or attribute is empty.");
8301
+ const flowHandle = handle ?? (await resolveAdministrationFlowHandles_default(config, [AdministrationFlowConfigKey.ADMIN_ATTRIBUTE_VERIFICATION]))[AdministrationFlowConfigKey.ADMIN_ATTRIBUTE_VERIFICATION];
8302
+ if (!flowHandle) throw new AdministrationFlowError(`No administrator verification flow is configured, so no link was sent. Configure a flow for "${AdministrationFlowConfigKey.ADMIN_ATTRIBUTE_VERIFICATION}" in the server's flow configuration.`, `${OPERATION}-NotConfiguredError-001`);
8303
+ const result = await requestManagementResource_default(toServerConfig_default(config, OPERATION), {
8304
+ body: {
8305
+ flowType: EmbeddedFlowType.AdminInitiated,
8306
+ handle: flowHandle,
8307
+ inputs: {
8308
+ [AttributeVerificationConstants_default.ATTRIBUTE_INPUT]: attribute,
8309
+ [AttributeVerificationConstants_default.SUBJECT_INPUT]: userId
8310
+ },
8311
+ verbose: true
8312
+ },
8313
+ collection: "flow",
8314
+ failureMessage: "Failed to send the verification link",
8315
+ id: "execute",
8316
+ method: "POST",
8317
+ operation: OPERATION
8318
+ });
8319
+ const data = result?.data?.additionalData ?? {};
8320
+ const channel = data[AttributeVerificationConstants_default.CHANNEL_KEY];
8321
+ if (result?.flowStatus === "INCOMPLETE" && channel) {
8322
+ const emailSent = data[AttributeVerificationConstants_default.EMAIL_SENT_KEY];
8323
+ const maskedDestination = data[AttributeVerificationConstants_default.MASKED_DESTINATION_KEY];
8324
+ return {
8325
+ channel,
8326
+ ...emailSent !== void 0 ? { emailSent: emailSent === "true" } : {},
8327
+ ...maskedDestination ? { maskedDestination } : {}
8328
+ };
8329
+ }
8330
+ if (result?.flowStatus === "ERROR") {
8331
+ const flowError = result.error ?? {};
8332
+ throw new AdministrationFlowError(flowError.message?.defaultValue ?? flowError.description?.defaultValue ?? "The verification link was not sent.", flowError.code ?? `${OPERATION}-FlowError-001`, flowError);
8333
+ }
8334
+ throw new AdministrationFlowError("The verification flow did not report a sent link.", `${OPERATION}-UnexpectedStateError-001`);
8335
+ };
8336
+ var sendUserAttributeVerification_default = sendUserAttributeVerification;
8337
+
8219
8338
  //#endregion
8220
8339
  //#region src/api/management/agents/suspendAgent.ts
8221
8340
  /**
@@ -8828,21 +8947,6 @@ const SelectConstants = {
8828
8947
  };
8829
8948
  var SelectConstants_default = SelectConstants;
8830
8949
 
8831
- //#endregion
8832
- //#region src/constants/AttributeVerificationConstants.ts
8833
- /**
8834
- * Wire names and eligibility rules for self user attribute verification.
8835
- */
8836
- const AttributeVerificationConstants = {
8837
- ATTRIBUTE_INPUT: "attribute",
8838
- DEFAULT_FLOW_HANDLE: "default-self-attribute-verification-flow",
8839
- MASKED_DESTINATION_KEY: "maskedDestination",
8840
- VERIFIABLE_ATTRIBUTE_TYPES: ["email", "mobile"],
8841
- VERIFIED_ATTRIBUTES_KEY: "verifiedAttributes",
8842
- VERIFY_AFTER_SAVE_ATTRIBUTE_TYPES: ["email"]
8843
- };
8844
- var AttributeVerificationConstants_default = AttributeVerificationConstants;
8845
-
8846
8950
  //#endregion
8847
8951
  //#region src/errors/ThunderIDRuntimeError.ts
8848
8952
  /**
@@ -12713,6 +12817,38 @@ const getVerifiedAttributes = (user) => {
12713
12817
  };
12714
12818
  var getVerifiedAttributes_default = getVerifiedAttributes;
12715
12819
 
12820
+ //#endregion
12821
+ //#region src/utils/isAdminVerifiableAttribute.ts
12822
+ const hasReportedStatus = (user, attribute) => {
12823
+ const value = user?.attributes?.[attribute];
12824
+ const verified = user?.verifiedAttributes;
12825
+ return typeof value === "string" && value.trim() !== "" && !!verified && typeof verified === "object" && !Array.isArray(verified);
12826
+ };
12827
+ const getContactType = (schema, attribute) => {
12828
+ if (!Object.prototype.hasOwnProperty.call(schema, attribute)) return;
12829
+ const field = schema[attribute];
12830
+ return (field?.type === "email" || field?.type === "mobile") && !field.credential ? field.type : void 0;
12831
+ };
12832
+ /**
12833
+ * Whether the administrator view knows the verification status of a stored contact.
12834
+ * A recorded verification remains visible when the schema cannot be read.
12835
+ *
12836
+ * @internal Shared by the SDK packages. It is not part of the public API and can change in any release.
12837
+ */
12838
+ const hasAdminVerificationStatus = (user, attribute, schema) => hasReportedStatus(user, attribute) && (Object.prototype.hasOwnProperty.call(user?.verifiedAttributes, attribute) || (schema ? getContactType(schema, attribute) !== void 0 : AttributeVerificationConstants_default.ADMIN_VERIFIABLE_ATTRIBUTES.includes(attribute)));
12839
+ /**
12840
+ * Whether the stored attribute can be verified through the shipped administrator email flow.
12841
+ * With a schema, the property must be a top-level email. Without one, the base view recognizes
12842
+ * the default email field for applications that supply their own send callback.
12843
+ *
12844
+ * @param user - The user, as read from `GET /users/{id}`.
12845
+ * @param attribute - The concrete attribute name, such as `workEmail`.
12846
+ * @param schema - The user's type schema.
12847
+ * @returns Whether the administrator email flow supports the attribute.
12848
+ */
12849
+ const isAdminVerifiableAttribute = (user, attribute, schema) => hasReportedStatus(user, attribute) && (schema ? getContactType(schema, attribute) === "email" : AttributeVerificationConstants_default.ADMIN_VERIFIABLE_ATTRIBUTES.includes(attribute));
12850
+ var isAdminVerifiableAttribute_default = isAdminVerifiableAttribute;
12851
+
12716
12852
  //#endregion
12717
12853
  //#region src/utils/isVerifiableAttribute.ts
12718
12854
  /**
@@ -13207,21 +13343,6 @@ const resolveRequestBaseUrl = (config) => {
13207
13343
  };
13208
13344
  var resolveRequestBaseUrl_default = resolveRequestBaseUrl;
13209
13345
 
13210
- //#endregion
13211
- //#region src/utils/computeNextPageOffset.ts
13212
- /**
13213
- * Offset of the next page: the request offset plus the number of items the backend returned, or
13214
- * `null` once the list is exhausted.
13215
- *
13216
- * @internal Shared by the SDK packages. It is not part of the public API and can change in any release.
13217
- */
13218
- const computeNextPageOffset = (offset, count, totalResults) => {
13219
- if (!Number.isInteger(offset) || offset < 0 || !Number.isInteger(count) || count <= 0) return null;
13220
- const next = offset + count;
13221
- return totalResults !== void 0 && next >= totalResults ? null : next;
13222
- };
13223
- var computeNextPageOffset_default = computeNextPageOffset;
13224
-
13225
13346
  //#endregion
13226
13347
  //#region src/utils/isAdvancingPageOffset.ts
13227
13348
  /**
@@ -13863,6 +13984,13 @@ const en_US = {
13863
13984
  "admin.users.details.edit.action": "Edit",
13864
13985
  "admin.users.details.edit.save": "Save changes",
13865
13986
  "admin.users.details.edit.error": "Could not save the user. Please try again.",
13987
+ "admin.users.details.verification.status.verified": "Verified",
13988
+ "admin.users.details.verification.status.unverified": "Unverified",
13989
+ "admin.users.details.verification.verify": "Verify",
13990
+ "admin.users.details.verification.sent": "Verification link sent to {destination}.",
13991
+ "admin.users.details.verification.sent_generic": "Verification link sent.",
13992
+ "admin.users.details.verification.error": "Could not send the verification link. Please try again.",
13993
+ "admin.users.details.verification.load_error": "The verification settings could not be loaded.",
13866
13994
  "admin.groups.list.title": "Groups",
13867
13995
  "admin.groups.list.columns.name": "Name",
13868
13996
  "admin.groups.list.columns.description": "Description",
@@ -14415,6 +14543,13 @@ const fr_FR = {
14415
14543
  "admin.users.details.edit.action": "Modifier",
14416
14544
  "admin.users.details.edit.save": "Enregistrer les modifications",
14417
14545
  "admin.users.details.edit.error": "Impossible d'enregistrer l'utilisateur. Veuillez réessayer.",
14546
+ "admin.users.details.verification.status.verified": "Vérifié",
14547
+ "admin.users.details.verification.status.unverified": "Non vérifié",
14548
+ "admin.users.details.verification.verify": "Vérifier",
14549
+ "admin.users.details.verification.sent": "Lien de vérification envoyé à {destination}.",
14550
+ "admin.users.details.verification.sent_generic": "Lien de vérification envoyé.",
14551
+ "admin.users.details.verification.error": "Impossible d'envoyer le lien de vérification. Veuillez réessayer.",
14552
+ "admin.users.details.verification.load_error": "Les paramètres de vérification n'ont pas pu être chargés.",
14418
14553
  "admin.groups.list.title": "Groupes",
14419
14554
  "admin.groups.list.columns.name": "Nom",
14420
14555
  "admin.groups.list.columns.description": "Description",
@@ -14967,6 +15102,13 @@ const te_IN = {
14967
15102
  "admin.users.details.edit.action": "సవరించు",
14968
15103
  "admin.users.details.edit.save": "మార్పులను సేవ్ చేయి",
14969
15104
  "admin.users.details.edit.error": "వినియోగదారుని సేవ్ చేయలేకపోయాము. దయచేసి మళ్లీ ప్రయత్నించండి.",
15105
+ "admin.users.details.verification.status.verified": "ధృవీకరించబడింది",
15106
+ "admin.users.details.verification.status.unverified": "ధృవీకరించబడలేదు",
15107
+ "admin.users.details.verification.verify": "ధృవీకరించండి",
15108
+ "admin.users.details.verification.sent": "ధృవీకరణ లింక్ {destination}కి పంపబడింది.",
15109
+ "admin.users.details.verification.sent_generic": "ధృవీకరణ లింక్ పంపబడింది.",
15110
+ "admin.users.details.verification.error": "ధృవీకరణ లింక్‌ను పంపలేకపోయాము. దయచేసి మళ్లీ ప్రయత్నించండి.",
15111
+ "admin.users.details.verification.load_error": "ధృవీకరణ సెట్టింగ్‌లను లోడ్ చేయలేకపోయాము.",
14970
15112
  "admin.groups.list.title": "సమూహాలు",
14971
15113
  "admin.groups.list.columns.name": "పేరు",
14972
15114
  "admin.groups.list.columns.description": "వివరణ",
@@ -15519,6 +15661,13 @@ const hi_IN = {
15519
15661
  "admin.users.details.edit.action": "संपादित करें",
15520
15662
  "admin.users.details.edit.save": "परिवर्तन सहेजें",
15521
15663
  "admin.users.details.edit.error": "उपयोगकर्ता को सहेजा नहीं जा सका। कृपया फिर से प्रयास करें।",
15664
+ "admin.users.details.verification.status.verified": "सत्यापित",
15665
+ "admin.users.details.verification.status.unverified": "सत्यापित नहीं",
15666
+ "admin.users.details.verification.verify": "सत्यापित करें",
15667
+ "admin.users.details.verification.sent": "सत्यापन लिंक {destination} पर भेजा गया।",
15668
+ "admin.users.details.verification.sent_generic": "सत्यापन लिंक भेजा गया।",
15669
+ "admin.users.details.verification.error": "सत्यापन लिंक नहीं भेजा जा सका। कृपया फिर से प्रयास करें।",
15670
+ "admin.users.details.verification.load_error": "सत्यापन सेटिंग्स लोड नहीं हो सकीं।",
15522
15671
  "admin.groups.list.title": "समूह",
15523
15672
  "admin.groups.list.columns.name": "नाम",
15524
15673
  "admin.groups.list.columns.description": "विवरण",
@@ -16071,6 +16220,13 @@ const pt_BR = {
16071
16220
  "admin.users.details.edit.action": "Editar",
16072
16221
  "admin.users.details.edit.save": "Salvar alterações",
16073
16222
  "admin.users.details.edit.error": "Não foi possível salvar o usuário. Tente novamente.",
16223
+ "admin.users.details.verification.status.verified": "Verificado",
16224
+ "admin.users.details.verification.status.unverified": "Não verificado",
16225
+ "admin.users.details.verification.verify": "Verificar",
16226
+ "admin.users.details.verification.sent": "Link de verificação enviado para {destination}.",
16227
+ "admin.users.details.verification.sent_generic": "Link de verificação enviado.",
16228
+ "admin.users.details.verification.error": "Não foi possível enviar o link de verificação. Tente novamente.",
16229
+ "admin.users.details.verification.load_error": "Não foi possível carregar as configurações de verificação.",
16074
16230
  "admin.groups.list.title": "Grupos",
16075
16231
  "admin.groups.list.columns.name": "Nome",
16076
16232
  "admin.groups.list.columns.description": "Descrição",
@@ -16623,6 +16779,13 @@ const pt_PT = {
16623
16779
  "admin.users.details.edit.action": "Editar",
16624
16780
  "admin.users.details.edit.save": "Guardar alterações",
16625
16781
  "admin.users.details.edit.error": "Não foi possível guardar o utilizador. Tente novamente.",
16782
+ "admin.users.details.verification.status.verified": "Verificado",
16783
+ "admin.users.details.verification.status.unverified": "Não verificado",
16784
+ "admin.users.details.verification.verify": "Verificar",
16785
+ "admin.users.details.verification.sent": "Ligação de verificação enviada para {destination}.",
16786
+ "admin.users.details.verification.sent_generic": "Ligação de verificação enviada.",
16787
+ "admin.users.details.verification.error": "Não foi possível enviar a ligação de verificação. Tente novamente.",
16788
+ "admin.users.details.verification.load_error": "Não foi possível carregar as definições de verificação.",
16626
16789
  "admin.groups.list.title": "Grupos",
16627
16790
  "admin.groups.list.columns.name": "Nome",
16628
16791
  "admin.groups.list.columns.description": "Descrição",
@@ -17175,6 +17338,13 @@ const ta_IN = {
17175
17338
  "admin.users.details.edit.action": "திருத்து",
17176
17339
  "admin.users.details.edit.save": "மாற்றங்களைச் சேமி",
17177
17340
  "admin.users.details.edit.error": "பயனரைச் சேமிக்க முடியவில்லை. மீண்டும் முயற்சிக்கவும்.",
17341
+ "admin.users.details.verification.status.verified": "சரிபார்க்கப்பட்டது",
17342
+ "admin.users.details.verification.status.unverified": "சரிபார்க்கப்படவில்லை",
17343
+ "admin.users.details.verification.verify": "சரிபார்",
17344
+ "admin.users.details.verification.sent": "சரிபார்ப்பு இணைப்பு {destination} க்கு அனுப்பப்பட்டது.",
17345
+ "admin.users.details.verification.sent_generic": "சரிபார்ப்பு இணைப்பு அனுப்பப்பட்டது.",
17346
+ "admin.users.details.verification.error": "சரிபார்ப்பு இணைப்பை அனுப்ப முடியவில்லை. மீண்டும் முயற்சிக்கவும்.",
17347
+ "admin.users.details.verification.load_error": "சரிபார்ப்பு அமைப்புகளை ஏற்ற முடியவில்லை.",
17178
17348
  "admin.groups.list.title": "குழுக்கள்",
17179
17349
  "admin.groups.list.columns.name": "பெயர்",
17180
17350
  "admin.groups.list.columns.description": "விளக்கம்",
@@ -17727,6 +17897,13 @@ const si_LK = {
17727
17897
  "admin.users.details.edit.action": "සංස්කරණය",
17728
17898
  "admin.users.details.edit.save": "වෙනස්කම් සුරකින්න",
17729
17899
  "admin.users.details.edit.error": "පරිශීලකයා සුරැකිය නොහැකි විය. නැවත උත්සාහ කරන්න.",
17900
+ "admin.users.details.verification.status.verified": "සත්‍යාපනය කර ඇත",
17901
+ "admin.users.details.verification.status.unverified": "සත්‍යාපනය කර නැත",
17902
+ "admin.users.details.verification.verify": "සත්‍යාපනය කරන්න",
17903
+ "admin.users.details.verification.sent": "සත්‍යාපන සබැඳිය {destination} වෙත යවන ලදී.",
17904
+ "admin.users.details.verification.sent_generic": "සත්‍යාපන සබැඳිය යවන ලදී.",
17905
+ "admin.users.details.verification.error": "සත්‍යාපන සබැඳිය යැවිය නොහැකි විය. නැවත උත්සාහ කරන්න.",
17906
+ "admin.users.details.verification.load_error": "සත්‍යාපන සැකසුම් පූරණය කළ නොහැකි විය.",
17730
17907
  "admin.groups.list.title": "කණ්ඩායම්",
17731
17908
  "admin.groups.list.columns.name": "නම",
17732
17909
  "admin.groups.list.columns.description": "විස්තරය",
@@ -19383,6 +19560,7 @@ exports.getUserOverlayRules = getUserOverlayRules_default;
19383
19560
  exports.getUserSharingPolicies = getUserSharingPolicies_default;
19384
19561
  exports.getUserSharingPolicy = getUserSharingPolicy_default;
19385
19562
  exports.getUserType = getUserType_default;
19563
+ exports.getUserTypeByHandle = getUserTypeByHandle;
19386
19564
  exports.getUserTypes = getUserTypes_default;
19387
19565
  exports.getUserUsages = getUserUsages_default;
19388
19566
  exports.getUsers = getUsers_default;
@@ -19393,10 +19571,12 @@ exports.getVariable = getVariable_default;
19393
19571
  exports.getVariables = getVariables_default;
19394
19572
  exports.getVendorPrefix = getVendorPrefix_default;
19395
19573
  exports.getVerifiedAttributes = getVerifiedAttributes_default;
19574
+ exports.hasAdminVerificationStatus = hasAdminVerificationStatus;
19396
19575
  exports.hasPermission = hasPermission_default;
19397
19576
  exports.hasUnresolvedTranslationParams = hasUnresolvedTranslationParams;
19398
19577
  exports.importConfiguration = importConfiguration_default;
19399
19578
  exports.info = info;
19579
+ exports.isAdminVerifiableAttribute = isAdminVerifiableAttribute_default;
19400
19580
  exports.isAdvancingPageOffset = isAdvancingPageOffset_default;
19401
19581
  exports.isApplicationSubmissionValid = isApplicationSubmissionValid_default;
19402
19582
  exports.isEmojiUri = isEmojiUri_default;
@@ -19454,6 +19634,7 @@ exports.restoreFlowVersion = restoreFlowVersion_default;
19454
19634
  exports.revertGatewayConfiguration = revertGatewayConfiguration_default;
19455
19635
  exports.runAccountLifecycleAction = runAccountLifecycleAction_default;
19456
19636
  exports.runAdministrationFlow = runAdministrationFlow_default;
19637
+ exports.sendUserAttributeVerification = sendUserAttributeVerification_default;
19457
19638
  exports.set = set_default;
19458
19639
  exports.setTranslation = setTranslation_default;
19459
19640
  exports.setTranslations = setTranslations_default;
@@ -12,10 +12,12 @@ declare const AdministrationModes: {
12
12
  };
13
13
  /**
14
14
  * Keys of the `flow` server-config section that name the administration flow for each operation. An
15
- * unset key is the opt-out: the operation calls the management API directly.
15
+ * unset key is the opt-out: the operation calls the management API directly. `adminAttributeVerificationFlow`
16
+ * names an administrator-initiated flow, started by its handle, and has no such fallback.
16
17
  */
17
18
  export declare const AdministrationFlowConfigKey: {
18
19
  ACTION_DELETION: 'actionDeletionFlow';
20
+ ADMIN_ATTRIBUTE_VERIFICATION: 'adminAttributeVerificationFlow';
19
21
  AGENT_SUSPEND: 'agentSuspendFlow';
20
22
  AGENT_UNLOCK: 'agentUnlockFlow';
21
23
  AGENT_UNSUSPEND: 'agentUnsuspendFlow';
@@ -1 +1 @@
1
- {"version":3,"file":"AdministrationConstants.d.ts","sourceRoot":"","sources":["../../src/constants/AdministrationConstants.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,QAAA,MAAM,mBAAmB,EAAE;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,QAAQ,CAAC;CAIlB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,2BAA2B,EAAE;IACxC,eAAe,EAAE,oBAAoB,CAAC;IACtC,aAAa,EAAE,kBAAkB,CAAC;IAClC,YAAY,EAAE,iBAAiB,CAAC;IAChC,eAAe,EAAE,oBAAoB,CAAC;IACtC,oBAAoB,EAAE,yBAAyB,CAAC;IAChD,mBAAmB,EAAE,wBAAwB,CAAC;IAC9C,qBAAqB,EAAE,0BAA0B,CAAC;IAClD,cAAc,EAAE,mBAAmB,CAAC;IACpC,wBAAwB,EAAE,4BAA4B,CAAC;IACvD,uBAAuB,EAAE,2BAA2B,CAAC;IACrD,aAAa,EAAE,kBAAkB,CAAC;IAClC,uBAAuB,EAAE,2BAA2B,CAAC;IACrD,mBAAmB,EAAE,wBAAwB,CAAC;IAC9C,aAAa,EAAE,kBAAkB,CAAC;IAClC,YAAY,EAAE,iBAAiB,CAAC;IAChC,WAAW,EAAE,gBAAgB,CAAC;IAC9B,cAAc,EAAE,mBAAmB,CAAC;CAmBrC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,6BAA6B,EAAE;IAC1C,KAAK,EAAE;QAAC,OAAO,EAAE,kBAAkB,CAAC;QAAC,MAAM,EAAE,iBAAiB,CAAC;QAAC,SAAS,EAAE,oBAAoB,CAAA;KAAC,CAAC;IACjG,WAAW,EAAE;QAAC,OAAO,EAAE,wBAAwB,CAAC;QAAC,SAAS,EAAE,0BAA0B,CAAA;KAAC,CAAC;IACxF,IAAI,EAAE;QAAC,OAAO,EAAE,iBAAiB,CAAC;QAAC,MAAM,EAAE,gBAAgB,CAAC;QAAC,SAAS,EAAE,mBAAmB,CAAA;KAAC,CAAC;CAgB9F,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE;IACpC,MAAM,EAAE,gBAAgB,CAAC;IACzB,WAAW,EAAE,qBAAqB,CAAC;IACnC,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,KAAK,EAAE,eAAe,CAAC;IACvB,MAAM,EAAE,gBAAgB,CAAC;IACzB,aAAa,EAAE,cAAc,CAAC;IAC9B,WAAW,EAAE,mBAAmB,CAAC;IACjC,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,eAAe,EAAE,wBAAwB,CAAC;IAC1C,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,SAAS,CAAC;CAapB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE;IACnC,aAAa,EAAE,cAAc,CAAC;IAC9B,UAAU,EAAE,WAAW,CAAC;CAIzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,mBAAmB,CAAC;AAEzD,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"AdministrationConstants.d.ts","sourceRoot":"","sources":["../../src/constants/AdministrationConstants.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,QAAA,MAAM,mBAAmB,EAAE;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,QAAQ,CAAC;CAIlB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,EAAE;IACxC,eAAe,EAAE,oBAAoB,CAAC;IACtC,4BAA4B,EAAE,gCAAgC,CAAC;IAC/D,aAAa,EAAE,kBAAkB,CAAC;IAClC,YAAY,EAAE,iBAAiB,CAAC;IAChC,eAAe,EAAE,oBAAoB,CAAC;IACtC,oBAAoB,EAAE,yBAAyB,CAAC;IAChD,mBAAmB,EAAE,wBAAwB,CAAC;IAC9C,qBAAqB,EAAE,0BAA0B,CAAC;IAClD,cAAc,EAAE,mBAAmB,CAAC;IACpC,wBAAwB,EAAE,4BAA4B,CAAC;IACvD,uBAAuB,EAAE,2BAA2B,CAAC;IACrD,aAAa,EAAE,kBAAkB,CAAC;IAClC,uBAAuB,EAAE,2BAA2B,CAAC;IACrD,mBAAmB,EAAE,wBAAwB,CAAC;IAC9C,aAAa,EAAE,kBAAkB,CAAC;IAClC,YAAY,EAAE,iBAAiB,CAAC;IAChC,WAAW,EAAE,gBAAgB,CAAC;IAC9B,cAAc,EAAE,mBAAmB,CAAC;CAoBrC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,6BAA6B,EAAE;IAC1C,KAAK,EAAE;QAAC,OAAO,EAAE,kBAAkB,CAAC;QAAC,MAAM,EAAE,iBAAiB,CAAC;QAAC,SAAS,EAAE,oBAAoB,CAAA;KAAC,CAAC;IACjG,WAAW,EAAE;QAAC,OAAO,EAAE,wBAAwB,CAAC;QAAC,SAAS,EAAE,0BAA0B,CAAA;KAAC,CAAC;IACxF,IAAI,EAAE;QAAC,OAAO,EAAE,iBAAiB,CAAC;QAAC,MAAM,EAAE,gBAAgB,CAAC;QAAC,SAAS,EAAE,mBAAmB,CAAA;KAAC,CAAC;CAgB9F,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE;IACpC,MAAM,EAAE,gBAAgB,CAAC;IACzB,WAAW,EAAE,qBAAqB,CAAC;IACnC,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,KAAK,EAAE,eAAe,CAAC;IACvB,MAAM,EAAE,gBAAgB,CAAC;IACzB,aAAa,EAAE,cAAc,CAAC;IAC9B,WAAW,EAAE,mBAAmB,CAAC;IACjC,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,eAAe,EAAE,wBAAwB,CAAC;IAC1C,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,SAAS,CAAC;CAapB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE;IACnC,aAAa,EAAE,cAAc,CAAC;IAC9B,UAAU,EAAE,WAAW,CAAC;CAIzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,mBAAmB,CAAC;AAEzD,eAAe,mBAAmB,CAAC"}
@@ -1,13 +1,16 @@
1
1
  /**
2
- * Wire names and eligibility rules for self user attribute verification.
2
+ * Wire names and eligibility rules for user attribute verification, by the user or by an administrator.
3
3
  */
4
4
  declare const AttributeVerificationConstants: {
5
+ ADMIN_VERIFIABLE_ATTRIBUTES: readonly string[];
5
6
  ATTRIBUTE_INPUT: string;
7
+ CHANNEL_KEY: string;
6
8
  DEFAULT_FLOW_HANDLE: string;
9
+ EMAIL_SENT_KEY: string;
7
10
  MASKED_DESTINATION_KEY: string;
11
+ SUBJECT_INPUT: string;
8
12
  VERIFIABLE_ATTRIBUTE_TYPES: readonly string[];
9
13
  VERIFIED_ATTRIBUTES_KEY: string;
10
- VERIFY_AFTER_SAVE_ATTRIBUTE_TYPES: readonly string[];
11
14
  };
12
15
  export default AttributeVerificationConstants;
13
16
  //# sourceMappingURL=AttributeVerificationConstants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AttributeVerificationConstants.d.ts","sourceRoot":"","sources":["../../src/constants/AttributeVerificationConstants.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,QAAA,MAAM,8BAA8B,EAAE;IACpC,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,0BAA0B,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9C,uBAAuB,EAAE,MAAM,CAAC;IAChC,iCAAiC,EAAE,SAAS,MAAM,EAAE,CAAC;CA2BtD,CAAC;AAEF,eAAe,8BAA8B,CAAC"}
1
+ {"version":3,"file":"AttributeVerificationConstants.d.ts","sourceRoot":"","sources":["../../src/constants/AttributeVerificationConstants.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,QAAA,MAAM,8BAA8B,EAAE;IACpC,2BAA2B,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,0BAA0B,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9C,uBAAuB,EAAE,MAAM,CAAC;CAsCjC,CAAC;AAEF,eAAe,8BAA8B,CAAC"}