UNPKG

@aws-amplify/storage

Version:

Storage category of aws-amplify

1 lines 3.91 kB
{"version":3,"file":"getDataAccess.mjs","sources":["../../../../src/internals/apis/getDataAccess.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { AmplifyErrorCode, StorageAction, } from '@aws-amplify/core/internals/utils';\nimport { getStorageUserAgentValue } from '../../providers/s3/utils/userAgent';\nimport { getDataAccess as getDataAccessClient } from '../../providers/s3/utils/client/s3control';\nimport { StorageError } from '../../errors/StorageError';\nimport { logger } from '../../utils';\nimport { DEFAULT_CRED_TTL } from '../utils/constants';\n/**\n * @internal\n */\nexport const getDataAccess = async (input) => {\n const targetType = input.scope.endsWith('*') ? undefined : 'Object';\n const clientCredentialsProvider = async (options) => {\n const { credentials } = await input.credentialsProvider(options);\n return credentials;\n };\n const result = await getDataAccessClient({\n credentials: clientCredentialsProvider,\n customEndpoint: input.customEndpoint,\n region: input.region,\n userAgentValue: getStorageUserAgentValue(StorageAction.GetDataAccess),\n }, {\n AccountId: input.accountId,\n Target: input.scope,\n Permission: input.permission,\n TargetType: targetType,\n DurationSeconds: DEFAULT_CRED_TTL,\n });\n const grantCredentials = result.Credentials;\n // Ensure that S3 returned credentials (this shouldn't happen)\n if (!grantCredentials ||\n !grantCredentials.AccessKeyId ||\n !grantCredentials.SecretAccessKey ||\n !grantCredentials.SessionToken ||\n !grantCredentials.Expiration) {\n throw new StorageError({\n name: AmplifyErrorCode.Unknown,\n message: 'Service did not return valid temporary credentials.',\n metadata: result.$metadata,\n });\n }\n else {\n logger.debug(`Retrieved credentials for: ${result.MatchedGrantTarget}`);\n }\n const { AccessKeyId: accessKeyId, SecretAccessKey: secretAccessKey, SessionToken: sessionToken, Expiration: expiration, } = grantCredentials;\n return {\n credentials: {\n accessKeyId,\n secretAccessKey,\n sessionToken,\n expiration,\n },\n scope: result.MatchedGrantTarget,\n };\n};\n"],"names":["getDataAccessClient"],"mappings":";;;;;;;;;AAAA;AACA;AAOA;AACA;AACA;AACY,MAAC,aAAa,GAAG,OAAO,KAAK,KAAK;AAC9C,IAAI,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,QAAQ;AACvE,IAAI,MAAM,yBAAyB,GAAG,OAAO,OAAO,KAAK;AACzD,QAAQ,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,KAAK,CAAC,mBAAmB,CAAC,OAAO,CAAC;AACxE,QAAQ,OAAO,WAAW;AAC1B,KAAK;AACL,IAAI,MAAM,MAAM,GAAG,MAAMA,eAAmB,CAAC;AAC7C,QAAQ,WAAW,EAAE,yBAAyB;AAC9C,QAAQ,cAAc,EAAE,KAAK,CAAC,cAAc;AAC5C,QAAQ,MAAM,EAAE,KAAK,CAAC,MAAM;AAC5B,QAAQ,cAAc,EAAE,wBAAwB,CAAC,aAAa,CAAC,aAAa,CAAC;AAC7E,KAAK,EAAE;AACP,QAAQ,SAAS,EAAE,KAAK,CAAC,SAAS;AAClC,QAAQ,MAAM,EAAE,KAAK,CAAC,KAAK;AAC3B,QAAQ,UAAU,EAAE,KAAK,CAAC,UAAU;AACpC,QAAQ,UAAU,EAAE,UAAU;AAC9B,QAAQ,eAAe,EAAE,gBAAgB;AACzC,KAAK,CAAC;AACN,IAAI,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW;AAC/C;AACA,IAAI,IAAI,CAAC,gBAAgB;AACzB,QAAQ,CAAC,gBAAgB,CAAC,WAAW;AACrC,QAAQ,CAAC,gBAAgB,CAAC,eAAe;AACzC,QAAQ,CAAC,gBAAgB,CAAC,YAAY;AACtC,QAAQ,CAAC,gBAAgB,CAAC,UAAU,EAAE;AACtC,QAAQ,MAAM,IAAI,YAAY,CAAC;AAC/B,YAAY,IAAI,EAAE,gBAAgB,CAAC,OAAO;AAC1C,YAAY,OAAO,EAAE,qDAAqD;AAC1E,YAAY,QAAQ,EAAE,MAAM,CAAC,SAAS;AACtC,SAAS,CAAC;AACV;AACA,SAAS;AACT,QAAQ,MAAM,CAAC,KAAK,CAAC,CAAC,2BAA2B,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAC/E;AACA,IAAI,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,GAAG,GAAG,gBAAgB;AAChJ,IAAI,OAAO;AACX,QAAQ,WAAW,EAAE;AACrB,YAAY,WAAW;AACvB,YAAY,eAAe;AAC3B,YAAY,YAAY;AACxB,YAAY,UAAU;AACtB,SAAS;AACT,QAAQ,KAAK,EAAE,MAAM,CAAC,kBAAkB;AACxC,KAAK;AACL;;;;"}