{"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,IAAI,CAAC,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,IAAI,CAAC,CAAC;AACN,IAAI,OAAO,qBAAqB;AAChC;;;;"}