UNPKG

@aws-amplify/auth

Version:
1 lines 5.28 kB
{"version":3,"file":"updateUserAttributes.mjs","sources":["../../../../../src/providers/cognito/apis/updateUserAttributes.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Amplify, fetchAuthSession } from '@aws-amplify/core';\nimport { AuthAction, assertTokenProviderConfig, } from '@aws-amplify/core/internals/utils';\nimport { assertAuthTokens } from '../utils/types';\nimport { getRegionFromUserPoolId } from '../../../foundation/parsers';\nimport { toAttributeType } from '../utils/apiHelpers';\nimport { getAuthUserAgentValue } from '../../../utils';\nimport { createUpdateUserAttributesClient } from '../../../foundation/factories/serviceClients/cognitoIdentityProvider';\nimport { createCognitoUserPoolEndpointResolver } from '../factories';\n/**\n * Updates user's attributes while authenticated.\n *\n * @param input - The UpdateUserAttributesInput object\n * @returns UpdateUserAttributesOutput\n * @throws - {@link UpdateUserAttributesException}\n * @throws AuthTokenConfigException - Thrown when the token provider config is invalid.\n */\nexport const updateUserAttributes = async (input) => {\n const { userAttributes, options } = input;\n const authConfig = Amplify.getConfig().Auth?.Cognito;\n const clientMetadata = options?.clientMetadata;\n assertTokenProviderConfig(authConfig);\n const { userPoolEndpoint, userPoolId } = authConfig;\n const { tokens } = await fetchAuthSession({ forceRefresh: false });\n assertAuthTokens(tokens);\n const updateUserAttributesClient = createUpdateUserAttributesClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: userPoolEndpoint,\n }),\n });\n const { CodeDeliveryDetailsList } = await updateUserAttributesClient({\n region: getRegionFromUserPoolId(userPoolId),\n userAgentValue: getAuthUserAgentValue(AuthAction.UpdateUserAttributes),\n }, {\n AccessToken: tokens.accessToken.toString(),\n ClientMetadata: clientMetadata,\n UserAttributes: toAttributeType(userAttributes),\n });\n return {\n ...getConfirmedAttributes(userAttributes),\n ...getUnConfirmedAttributes(CodeDeliveryDetailsList),\n };\n};\nfunction getConfirmedAttributes(attributes) {\n const confirmedAttributes = {};\n Object.keys(attributes)?.forEach(key => {\n confirmedAttributes[key] = {\n isUpdated: true,\n nextStep: {\n updateAttributeStep: 'DONE',\n },\n };\n });\n return confirmedAttributes;\n}\nfunction getUnConfirmedAttributes(codeDeliveryDetailsList) {\n const unConfirmedAttributes = {};\n codeDeliveryDetailsList?.forEach(codeDeliveryDetails => {\n const { AttributeName, DeliveryMedium, Destination } = codeDeliveryDetails;\n if (AttributeName)\n unConfirmedAttributes[AttributeName] = {\n isUpdated: false,\n nextStep: {\n updateAttributeStep: 'CONFIRM_ATTRIBUTE_WITH_CODE',\n codeDeliveryDetails: {\n attributeName: AttributeName,\n deliveryMedium: DeliveryMedium,\n destination: Destination,\n },\n },\n };\n });\n return unConfirmedAttributes;\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;AACA;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,oBAAoB,GAAG,OAAO,KAAK,KAAK;AACrD,IAAI,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,KAAK;AAC7C,IAAI,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,OAAO;AACxD,IAAI,MAAM,cAAc,GAAG,OAAO,EAAE,cAAc;AAClD,IAAI,yBAAyB,CAAC,UAAU,CAAC;AACzC,IAAI,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,GAAG,UAAU;AACvD,IAAI,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;AACtE,IAAI,gBAAgB,CAAC,MAAM,CAAC;AAC5B,IAAI,MAAM,0BAA0B,GAAG,gCAAgC,CAAC;AACxE,QAAQ,gBAAgB,EAAE,qCAAqC,CAAC;AAChE,YAAY,gBAAgB,EAAE,gBAAgB;AAC9C,SAAS,CAAC;AACV,KAAK,CAAC;AACN,IAAI,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,0BAA0B,CAAC;AACzE,QAAQ,MAAM,EAAE,uBAAuB,CAAC,UAAU,CAAC;AACnD,QAAQ,cAAc,EAAE,qBAAqB,CAAC,UAAU,CAAC,oBAAoB,CAAC;AAC9E,KAAK,EAAE;AACP,QAAQ,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE;AAClD,QAAQ,cAAc,EAAE,cAAc;AACtC,QAAQ,cAAc,EAAE,eAAe,CAAC,cAAc,CAAC;AACvD,KAAK,CAAC;AACN,IAAI,OAAO;AACX,QAAQ,GAAG,sBAAsB,CAAC,cAAc,CAAC;AACjD,QAAQ,GAAG,wBAAwB,CAAC,uBAAuB,CAAC;AAC5D,KAAK;AACL;AACA,SAAS,sBAAsB,CAAC,UAAU,EAAE;AAC5C,IAAI,MAAM,mBAAmB,GAAG,EAAE;AAClC,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,GAAG,IAAI;AAC5C,QAAQ,mBAAmB,CAAC,GAAG,CAAC,GAAG;AACnC,YAAY,SAAS,EAAE,IAAI;AAC3B,YAAY,QAAQ,EAAE;AACtB,gBAAgB,mBAAmB,EAAE,MAAM;AAC3C,aAAa;AACb,SAAS;AACT,KAAK,CAAC;AACN,IAAI,OAAO,mBAAmB;AAC9B;AACA,SAAS,wBAAwB,CAAC,uBAAuB,EAAE;AAC3D,IAAI,MAAM,qBAAqB,GAAG,EAAE;AACpC,IAAI,uBAAuB,EAAE,OAAO,CAAC,mBAAmB,IAAI;AAC5D,QAAQ,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,mBAAmB;AAClF,QAAQ,IAAI,aAAa;AACzB,YAAY,qBAAqB,CAAC,aAAa,CAAC,GAAG;AACnD,gBAAgB,SAAS,EAAE,KAAK;AAChC,gBAAgB,QAAQ,EAAE;AAC1B,oBAAoB,mBAAmB,EAAE,6BAA6B;AACtE,oBAAoB,mBAAmB,EAAE;AACzC,wBAAwB,aAAa,EAAE,aAAa;AACpD,wBAAwB,cAAc,EAAE,cAAc;AACtD,wBAAwB,WAAW,EAAE,WAAW;AAChD,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb,KAAK,CAAC;AACN,IAAI,OAAO,qBAAqB;AAChC;;;;"}