@aws-amplify/auth
Version:
Auth category of aws-amplify
1 lines • 4.87 kB
Source Map (JSON)
{"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 { updateUserAttributes as updateUserAttributesClient } from '../utils/clients/CognitoIdentityProvider';\nimport { assertAuthTokens } from '../utils/types';\nimport { getRegion } from '../utils/clients/CognitoIdentityProvider/utils';\nimport { toAttributeType } from '../utils/apiHelpers';\nimport { getAuthUserAgentValue } from '../../../utils';\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 { tokens } = await fetchAuthSession({ forceRefresh: false });\n assertAuthTokens(tokens);\n const { CodeDeliveryDetailsList } = await updateUserAttributesClient({\n region: getRegion(authConfig.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":["updateUserAttributesClient"],"mappings":";;;;;;;;AAAA;AACA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,oBAAoB,GAAG,OAAO,KAAK,KAAK;AACrD,IAAI,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;AAC9C,IAAI,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC;AACzD,IAAI,MAAM,cAAc,GAAG,OAAO,EAAE,cAAc,CAAC;AACnD,IAAI,yBAAyB,CAAC,UAAU,CAAC,CAAC;AAC1C,IAAI,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;AACvE,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAC7B,IAAI,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAMA,sBAA0B,CAAC;AACzE,QAAQ,MAAM,EAAE,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC;AAChD,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,CAAC;AACP,IAAI,OAAO;AACX,QAAQ,GAAG,sBAAsB,CAAC,cAAc,CAAC;AACjD,QAAQ,GAAG,wBAAwB,CAAC,uBAAuB,CAAC;AAC5D,KAAK,CAAC;AACN,EAAE;AACF,SAAS,sBAAsB,CAAC,UAAU,EAAE;AAC5C,IAAI,MAAM,mBAAmB,GAAG,EAAE,CAAC;AACnC,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,CAAC;AACV,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,mBAAmB,CAAC;AAC/B,CAAC;AACD,SAAS,wBAAwB,CAAC,uBAAuB,EAAE;AAC3D,IAAI,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACrC,IAAI,uBAAuB,EAAE,OAAO,CAAC,mBAAmB,IAAI;AAC5D,QAAQ,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,mBAAmB,CAAC;AACnF,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,CAAC;AACd,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,qBAAqB,CAAC;AACjC;;;;"}