@aws-amplify/api-graphql 4.0.3 → 4.0.4-unstable.4d80239.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.
- package/dist/cjs/internals/InternalGraphQLAPI.js +5 -5
- package/dist/cjs/internals/InternalGraphQLAPI.js.map +1 -1
- package/dist/cjs/internals/v6.js +3 -0
- package/dist/cjs/internals/v6.js.map +1 -1
- package/dist/esm/internals/InternalGraphQLAPI.mjs +5 -5
- package/dist/esm/internals/InternalGraphQLAPI.mjs.map +1 -1
- package/dist/esm/internals/v6.mjs +4 -1
- package/dist/esm/internals/v6.mjs.map +1 -1
- package/package.json +6 -6
- package/src/internals/InternalGraphQLAPI.ts +5 -4
- package/src/internals/server/generateClient.ts +1 -1
- package/src/internals/server/generateModelsProperty.ts +1 -1
- package/src/internals/v6.ts +7 -1
- package/src/types/index.ts +28 -25
|
@@ -37,10 +37,9 @@ class InternalGraphQLAPIClass {
|
|
|
37
37
|
return 'InternalGraphQLAPI';
|
|
38
38
|
}
|
|
39
39
|
async _headerBasedAuth(amplify, authMode, additionalHeaders = {}) {
|
|
40
|
-
const { region: region, endpoint: appSyncGraphqlEndpoint, apiKey,
|
|
41
|
-
const authenticationType = authMode || defaultAuthMode || 'iam';
|
|
40
|
+
const { region: region, endpoint: appSyncGraphqlEndpoint, apiKey, } = (0, utils_2.resolveConfig)(amplify);
|
|
42
41
|
let headers = {};
|
|
43
|
-
switch (
|
|
42
|
+
switch (authMode) {
|
|
44
43
|
case 'apiKey':
|
|
45
44
|
if (!apiKey) {
|
|
46
45
|
throw new Error(types_1.GraphQLAuthError.NO_API_KEY);
|
|
@@ -127,8 +126,9 @@ class InternalGraphQLAPIClass {
|
|
|
127
126
|
throw new Error(`invalid operation type: ${operationType}`);
|
|
128
127
|
}
|
|
129
128
|
}
|
|
130
|
-
async _graphql(amplify, { query, variables, authMode }, additionalHeaders = {}, abortController, customUserAgentDetails, authToken) {
|
|
131
|
-
const { region: region, endpoint: appSyncGraphqlEndpoint, customEndpoint, customEndpointRegion, } = (0, utils_2.resolveConfig)(amplify);
|
|
129
|
+
async _graphql(amplify, { query, variables, authMode: explicitAuthMode }, additionalHeaders = {}, abortController, customUserAgentDetails, authToken) {
|
|
130
|
+
const { region: region, endpoint: appSyncGraphqlEndpoint, customEndpoint, customEndpointRegion, defaultAuthMode } = (0, utils_2.resolveConfig)(amplify);
|
|
131
|
+
const authMode = explicitAuthMode || defaultAuthMode || 'iam';
|
|
132
132
|
/**
|
|
133
133
|
* Retrieve library options from Amplify configuration.
|
|
134
134
|
* `customHeaders` here are from the Amplify configuration options,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InternalGraphQLAPI.js","sources":["../../../src/internals/InternalGraphQLAPI.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.InternalGraphQLAPI = exports.InternalGraphQLAPIClass = void 0;\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst graphql_1 = require(\"graphql\");\nconst core_1 = require(\"@aws-amplify/core\");\nconst utils_1 = require(\"@aws-amplify/core/internals/utils\");\nconst types_1 = require(\"../types\");\nconst api_rest_1 = require(\"@aws-amplify/api-rest\");\nconst internals_1 = require(\"@aws-amplify/api-rest/internals\");\nconst AWSAppSyncRealTimeProvider_1 = require(\"../Providers/AWSAppSyncRealTimeProvider\");\nconst utils_2 = require(\"../utils\");\nconst USER_AGENT_HEADER = 'x-amz-user-agent';\nconst logger = new core_1.ConsoleLogger('GraphQLAPI');\nconst isAmplifyInstance = (amplify) => {\n return typeof amplify !== 'function';\n};\n/**\n * Export Cloud Logic APIs\n */\nclass InternalGraphQLAPIClass {\n constructor() {\n /**\n * @private\n */\n this.appSyncRealTime = new AWSAppSyncRealTimeProvider_1.AWSAppSyncRealTimeProvider();\n this._api = {\n post: internals_1.post,\n cancelREST: internals_1.cancel,\n isCancelErrorREST: api_rest_1.isCancelError,\n updateRequestToBeCancellable: internals_1.updateRequestToBeCancellable,\n };\n }\n getModuleName() {\n return 'InternalGraphQLAPI';\n }\n async _headerBasedAuth(amplify, authMode, additionalHeaders = {}) {\n const { region: region, endpoint: appSyncGraphqlEndpoint, apiKey, defaultAuthMode, } = (0, utils_2.resolveConfig)(amplify);\n const authenticationType = authMode || defaultAuthMode || 'iam';\n let headers = {};\n switch (authenticationType) {\n case 'apiKey':\n if (!apiKey) {\n throw new Error(types_1.GraphQLAuthError.NO_API_KEY);\n }\n headers = {\n 'X-Api-Key': apiKey,\n };\n break;\n case 'iam':\n const session = await amplify.Auth.fetchAuthSession();\n if (session.credentials === undefined) {\n throw new Error(types_1.GraphQLAuthError.NO_CREDENTIALS);\n }\n break;\n case 'oidc':\n case 'userPool':\n try {\n let token;\n token = (await amplify.Auth.fetchAuthSession()).tokens?.accessToken.toString();\n if (!token) {\n throw new Error(types_1.GraphQLAuthError.NO_FEDERATED_JWT);\n }\n headers = {\n Authorization: token,\n };\n }\n catch (e) {\n throw new Error(types_1.GraphQLAuthError.NO_CURRENT_USER);\n }\n break;\n case 'lambda':\n if (typeof additionalHeaders === 'object' &&\n !additionalHeaders.Authorization) {\n throw new Error(types_1.GraphQLAuthError.NO_AUTH_TOKEN);\n }\n headers = {\n Authorization: additionalHeaders.Authorization,\n };\n break;\n case 'none':\n break;\n default:\n break;\n }\n return headers;\n }\n /**\n * to get the operation type\n * @param operation\n */\n getGraphqlOperationType(operation) {\n const doc = (0, graphql_1.parse)(operation);\n const definitions = doc.definitions;\n const [{ operation: operationType }] = definitions;\n return operationType;\n }\n /**\n * Executes a GraphQL operation\n *\n * @param options - GraphQL Options\n * @param [additionalHeaders] - headers to merge in after any `graphql_headers` set in the config\n * @returns An Observable if the query is a subscription query, else a promise of the graphql result.\n */\n graphql(amplify, { query: paramQuery, variables = {}, authMode, authToken }, additionalHeaders, customUserAgentDetails) {\n const query = typeof paramQuery === 'string'\n ? (0, graphql_1.parse)(paramQuery)\n : (0, graphql_1.parse)((0, graphql_1.print)(paramQuery));\n const [operationDef = {}] = query.definitions.filter(def => def.kind === 'OperationDefinition');\n const { operation: operationType } = operationDef;\n const headers = additionalHeaders || {};\n switch (operationType) {\n case 'query':\n case 'mutation':\n const abortController = new AbortController();\n let responsePromise;\n if (isAmplifyInstance(amplify)) {\n responsePromise = this._graphql(amplify, { query, variables, authMode }, headers, abortController, customUserAgentDetails, authToken);\n }\n else {\n const wrapper = (amplifyInstance) => this._graphql(amplifyInstance, { query, variables, authMode }, headers, abortController, customUserAgentDetails, authToken);\n responsePromise = amplify(wrapper);\n }\n this._api.updateRequestToBeCancellable(responsePromise, abortController);\n return responsePromise;\n case 'subscription':\n return this._graphqlSubscribe(amplify, { query, variables, authMode }, headers, customUserAgentDetails, authToken);\n default:\n throw new Error(`invalid operation type: ${operationType}`);\n }\n }\n async _graphql(amplify, { query, variables, authMode }, additionalHeaders = {}, abortController, customUserAgentDetails, authToken) {\n const { region: region, endpoint: appSyncGraphqlEndpoint, customEndpoint, customEndpointRegion, } = (0, utils_2.resolveConfig)(amplify);\n /**\n * Retrieve library options from Amplify configuration.\n * `customHeaders` here are from the Amplify configuration options,\n * and are for non-AppSync endpoints only. These are *not* the same as\n * `additionalHeaders`, which are custom headers that are either 1)\n * included when configuring the API client or 2) passed along with\n * individual requests.\n */\n const { headers: customHeaders, withCredentials } = (0, utils_2.resolveLibraryOptions)(amplify);\n /**\n * Client or request-specific custom headers that may or may not be\n * returned by a function:\n */\n let additionalCustomHeaders;\n if (typeof additionalHeaders === 'function') {\n additionalCustomHeaders = await additionalHeaders();\n }\n else {\n additionalCustomHeaders = additionalHeaders;\n }\n // if an authorization header is set, have the explicit authToken take precedence\n if (authToken) {\n additionalCustomHeaders = {\n ...additionalCustomHeaders,\n Authorization: authToken,\n };\n }\n // TODO: Figure what we need to do to remove `!`'s.\n const headers = {\n ...(!customEndpoint &&\n (await this._headerBasedAuth(amplify, authMode, additionalCustomHeaders))),\n /**\n * Custom endpoint headers.\n * If there is both a custom endpoint and custom region present, we get the headers.\n * If there is a custom endpoint but no region, we return an empty object.\n * If neither are present, we return an empty object.\n */\n ...((customEndpoint &&\n (customEndpointRegion\n ? await this._headerBasedAuth(amplify, authMode, additionalCustomHeaders)\n : {})) ||\n {}),\n // Custom headers included in Amplify configuration options:\n ...(customHeaders &&\n (await customHeaders({\n query: (0, graphql_1.print)(query),\n variables,\n }))),\n // Custom headers from individual requests or API client configuration:\n ...additionalCustomHeaders,\n // User agent headers:\n ...(!customEndpoint && {\n [USER_AGENT_HEADER]: (0, utils_1.getAmplifyUserAgent)(customUserAgentDetails),\n }),\n };\n const body = {\n query: (0, graphql_1.print)(query),\n variables: variables || null,\n };\n let signingServiceInfo;\n /**\n * We do not send the signing service info to the REST API under the\n * following conditions (i.e. it will not sign the request):\n * - there is a custom endpoint but no region\n * - the auth mode is `none`, or `apiKey`\n * - the auth mode is a type other than the types listed below\n */\n if ((customEndpoint && !customEndpointRegion) ||\n (authMode !== 'oidc' &&\n authMode !== 'userPool' &&\n authMode !== 'iam' &&\n authMode !== 'lambda')) {\n signingServiceInfo = undefined;\n }\n else {\n signingServiceInfo = {\n service: !customEndpointRegion ? 'appsync' : 'execute-api',\n region: !customEndpointRegion ? region : customEndpointRegion,\n };\n }\n const endpoint = customEndpoint || appSyncGraphqlEndpoint;\n if (!endpoint) {\n const error = new graphql_1.GraphQLError('No graphql endpoint provided.');\n throw {\n data: {},\n errors: [error],\n };\n }\n let response;\n try {\n const { body: responseBody } = await this._api.post({\n url: new utils_1.AmplifyUrl(endpoint),\n options: {\n headers,\n body,\n signingServiceInfo,\n withCredentials,\n },\n abortController,\n });\n const result = await responseBody.json();\n response = result;\n }\n catch (err) {\n // If the exception is because user intentionally\n // cancelled the request, do not modify the exception\n // so that clients can identify the exception correctly.\n if (this.isCancelError(err)) {\n throw err;\n }\n response = {\n data: {},\n errors: [\n new graphql_1.GraphQLError(err.message, null, null, null, null, err),\n ],\n };\n }\n const { errors } = response;\n if (errors && errors.length) {\n throw response;\n }\n return response;\n }\n /**\n * Checks to see if an error thrown is from an api request cancellation\n * @param {any} error - Any error\n * @return {boolean} - A boolean indicating if the error was from an api request cancellation\n */\n isCancelError(error) {\n return this._api.isCancelErrorREST(error);\n }\n /**\n * Cancels an inflight request. Only applicable for graphql queries and mutations\n * @param {any} request - request to cancel\n * @returns - A boolean indicating if the request was cancelled\n */\n cancel(request, message) {\n return this._api.cancelREST(request, message);\n }\n _graphqlSubscribe(amplify, { query, variables, authMode }, additionalHeaders = {}, customUserAgentDetails, authToken) {\n const config = (0, utils_2.resolveConfig)(amplify);\n return this.appSyncRealTime.subscribe({\n query: (0, graphql_1.print)(query),\n variables,\n appSyncGraphqlEndpoint: config?.endpoint,\n region: config?.region,\n authenticationType: authMode || config?.defaultAuthMode,\n apiKey: config?.apiKey,\n additionalHeaders,\n authToken,\n }, customUserAgentDetails);\n }\n}\nexports.InternalGraphQLAPIClass = InternalGraphQLAPIClass;\nexports.InternalGraphQLAPI = new InternalGraphQLAPIClass();\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InternalGraphQLAPI.js","sources":["../../../src/internals/InternalGraphQLAPI.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.InternalGraphQLAPI = exports.InternalGraphQLAPIClass = void 0;\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst graphql_1 = require(\"graphql\");\nconst core_1 = require(\"@aws-amplify/core\");\nconst utils_1 = require(\"@aws-amplify/core/internals/utils\");\nconst types_1 = require(\"../types\");\nconst api_rest_1 = require(\"@aws-amplify/api-rest\");\nconst internals_1 = require(\"@aws-amplify/api-rest/internals\");\nconst AWSAppSyncRealTimeProvider_1 = require(\"../Providers/AWSAppSyncRealTimeProvider\");\nconst utils_2 = require(\"../utils\");\nconst USER_AGENT_HEADER = 'x-amz-user-agent';\nconst logger = new core_1.ConsoleLogger('GraphQLAPI');\nconst isAmplifyInstance = (amplify) => {\n return typeof amplify !== 'function';\n};\n/**\n * Export Cloud Logic APIs\n */\nclass InternalGraphQLAPIClass {\n constructor() {\n /**\n * @private\n */\n this.appSyncRealTime = new AWSAppSyncRealTimeProvider_1.AWSAppSyncRealTimeProvider();\n this._api = {\n post: internals_1.post,\n cancelREST: internals_1.cancel,\n isCancelErrorREST: api_rest_1.isCancelError,\n updateRequestToBeCancellable: internals_1.updateRequestToBeCancellable,\n };\n }\n getModuleName() {\n return 'InternalGraphQLAPI';\n }\n async _headerBasedAuth(amplify, authMode, additionalHeaders = {}) {\n const { region: region, endpoint: appSyncGraphqlEndpoint, apiKey, } = (0, utils_2.resolveConfig)(amplify);\n let headers = {};\n switch (authMode) {\n case 'apiKey':\n if (!apiKey) {\n throw new Error(types_1.GraphQLAuthError.NO_API_KEY);\n }\n headers = {\n 'X-Api-Key': apiKey,\n };\n break;\n case 'iam':\n const session = await amplify.Auth.fetchAuthSession();\n if (session.credentials === undefined) {\n throw new Error(types_1.GraphQLAuthError.NO_CREDENTIALS);\n }\n break;\n case 'oidc':\n case 'userPool':\n try {\n let token;\n token = (await amplify.Auth.fetchAuthSession()).tokens?.accessToken.toString();\n if (!token) {\n throw new Error(types_1.GraphQLAuthError.NO_FEDERATED_JWT);\n }\n headers = {\n Authorization: token,\n };\n }\n catch (e) {\n throw new Error(types_1.GraphQLAuthError.NO_CURRENT_USER);\n }\n break;\n case 'lambda':\n if (typeof additionalHeaders === 'object' &&\n !additionalHeaders.Authorization) {\n throw new Error(types_1.GraphQLAuthError.NO_AUTH_TOKEN);\n }\n headers = {\n Authorization: additionalHeaders.Authorization,\n };\n break;\n case 'none':\n break;\n default:\n break;\n }\n return headers;\n }\n /**\n * to get the operation type\n * @param operation\n */\n getGraphqlOperationType(operation) {\n const doc = (0, graphql_1.parse)(operation);\n const definitions = doc.definitions;\n const [{ operation: operationType }] = definitions;\n return operationType;\n }\n /**\n * Executes a GraphQL operation\n *\n * @param options - GraphQL Options\n * @param [additionalHeaders] - headers to merge in after any `graphql_headers` set in the config\n * @returns An Observable if the query is a subscription query, else a promise of the graphql result.\n */\n graphql(amplify, { query: paramQuery, variables = {}, authMode, authToken }, additionalHeaders, customUserAgentDetails) {\n const query = typeof paramQuery === 'string'\n ? (0, graphql_1.parse)(paramQuery)\n : (0, graphql_1.parse)((0, graphql_1.print)(paramQuery));\n const [operationDef = {}] = query.definitions.filter(def => def.kind === 'OperationDefinition');\n const { operation: operationType } = operationDef;\n const headers = additionalHeaders || {};\n switch (operationType) {\n case 'query':\n case 'mutation':\n const abortController = new AbortController();\n let responsePromise;\n if (isAmplifyInstance(amplify)) {\n responsePromise = this._graphql(amplify, { query, variables, authMode }, headers, abortController, customUserAgentDetails, authToken);\n }\n else {\n const wrapper = (amplifyInstance) => this._graphql(amplifyInstance, { query, variables, authMode }, headers, abortController, customUserAgentDetails, authToken);\n responsePromise = amplify(wrapper);\n }\n this._api.updateRequestToBeCancellable(responsePromise, abortController);\n return responsePromise;\n case 'subscription':\n return this._graphqlSubscribe(amplify, { query, variables, authMode }, headers, customUserAgentDetails, authToken);\n default:\n throw new Error(`invalid operation type: ${operationType}`);\n }\n }\n async _graphql(amplify, { query, variables, authMode: explicitAuthMode }, additionalHeaders = {}, abortController, customUserAgentDetails, authToken) {\n const { region: region, endpoint: appSyncGraphqlEndpoint, customEndpoint, customEndpointRegion, defaultAuthMode } = (0, utils_2.resolveConfig)(amplify);\n const authMode = explicitAuthMode || defaultAuthMode || 'iam';\n /**\n * Retrieve library options from Amplify configuration.\n * `customHeaders` here are from the Amplify configuration options,\n * and are for non-AppSync endpoints only. These are *not* the same as\n * `additionalHeaders`, which are custom headers that are either 1)\n * included when configuring the API client or 2) passed along with\n * individual requests.\n */\n const { headers: customHeaders, withCredentials } = (0, utils_2.resolveLibraryOptions)(amplify);\n /**\n * Client or request-specific custom headers that may or may not be\n * returned by a function:\n */\n let additionalCustomHeaders;\n if (typeof additionalHeaders === 'function') {\n additionalCustomHeaders = await additionalHeaders();\n }\n else {\n additionalCustomHeaders = additionalHeaders;\n }\n // if an authorization header is set, have the explicit authToken take precedence\n if (authToken) {\n additionalCustomHeaders = {\n ...additionalCustomHeaders,\n Authorization: authToken,\n };\n }\n // TODO: Figure what we need to do to remove `!`'s.\n const headers = {\n ...(!customEndpoint &&\n (await this._headerBasedAuth(amplify, authMode, additionalCustomHeaders))),\n /**\n * Custom endpoint headers.\n * If there is both a custom endpoint and custom region present, we get the headers.\n * If there is a custom endpoint but no region, we return an empty object.\n * If neither are present, we return an empty object.\n */\n ...((customEndpoint &&\n (customEndpointRegion\n ? await this._headerBasedAuth(amplify, authMode, additionalCustomHeaders)\n : {})) ||\n {}),\n // Custom headers included in Amplify configuration options:\n ...(customHeaders &&\n (await customHeaders({\n query: (0, graphql_1.print)(query),\n variables,\n }))),\n // Custom headers from individual requests or API client configuration:\n ...additionalCustomHeaders,\n // User agent headers:\n ...(!customEndpoint && {\n [USER_AGENT_HEADER]: (0, utils_1.getAmplifyUserAgent)(customUserAgentDetails),\n }),\n };\n const body = {\n query: (0, graphql_1.print)(query),\n variables: variables || null,\n };\n let signingServiceInfo;\n /**\n * We do not send the signing service info to the REST API under the\n * following conditions (i.e. it will not sign the request):\n * - there is a custom endpoint but no region\n * - the auth mode is `none`, or `apiKey`\n * - the auth mode is a type other than the types listed below\n */\n if ((customEndpoint && !customEndpointRegion) ||\n (authMode !== 'oidc' &&\n authMode !== 'userPool' &&\n authMode !== 'iam' &&\n authMode !== 'lambda')) {\n signingServiceInfo = undefined;\n }\n else {\n signingServiceInfo = {\n service: !customEndpointRegion ? 'appsync' : 'execute-api',\n region: !customEndpointRegion ? region : customEndpointRegion,\n };\n }\n const endpoint = customEndpoint || appSyncGraphqlEndpoint;\n if (!endpoint) {\n const error = new graphql_1.GraphQLError('No graphql endpoint provided.');\n throw {\n data: {},\n errors: [error],\n };\n }\n let response;\n try {\n const { body: responseBody } = await this._api.post({\n url: new utils_1.AmplifyUrl(endpoint),\n options: {\n headers,\n body,\n signingServiceInfo,\n withCredentials,\n },\n abortController,\n });\n const result = await responseBody.json();\n response = result;\n }\n catch (err) {\n // If the exception is because user intentionally\n // cancelled the request, do not modify the exception\n // so that clients can identify the exception correctly.\n if (this.isCancelError(err)) {\n throw err;\n }\n response = {\n data: {},\n errors: [\n new graphql_1.GraphQLError(err.message, null, null, null, null, err),\n ],\n };\n }\n const { errors } = response;\n if (errors && errors.length) {\n throw response;\n }\n return response;\n }\n /**\n * Checks to see if an error thrown is from an api request cancellation\n * @param {any} error - Any error\n * @return {boolean} - A boolean indicating if the error was from an api request cancellation\n */\n isCancelError(error) {\n return this._api.isCancelErrorREST(error);\n }\n /**\n * Cancels an inflight request. Only applicable for graphql queries and mutations\n * @param {any} request - request to cancel\n * @returns - A boolean indicating if the request was cancelled\n */\n cancel(request, message) {\n return this._api.cancelREST(request, message);\n }\n _graphqlSubscribe(amplify, { query, variables, authMode }, additionalHeaders = {}, customUserAgentDetails, authToken) {\n const config = (0, utils_2.resolveConfig)(amplify);\n return this.appSyncRealTime.subscribe({\n query: (0, graphql_1.print)(query),\n variables,\n appSyncGraphqlEndpoint: config?.endpoint,\n region: config?.region,\n authenticationType: authMode || config?.defaultAuthMode,\n apiKey: config?.apiKey,\n additionalHeaders,\n authToken,\n }, customUserAgentDetails);\n }\n}\nexports.InternalGraphQLAPIClass = InternalGraphQLAPIClass;\nexports.InternalGraphQLAPI = new InternalGraphQLAPIClass();\n"],"names":[],"mappings":"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"}
|
package/dist/cjs/internals/v6.js
CHANGED
|
@@ -91,6 +91,9 @@ const types_1 = require("../types");
|
|
|
91
91
|
* @param additionalHeaders
|
|
92
92
|
*/
|
|
93
93
|
function graphql(options, additionalHeaders) {
|
|
94
|
+
// inject client-level auth
|
|
95
|
+
options.authMode = options.authMode || this[types_1.__authMode];
|
|
96
|
+
options.authToken = options.authToken || this[types_1.__authToken];
|
|
94
97
|
/**
|
|
95
98
|
* The correctness of these typings depends on correct string branding or overrides.
|
|
96
99
|
* Neither of these can actually be validated at runtime. Hence, we don't perform
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v6.js","sources":["../../../src/internals/v6.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isCancelError = exports.cancel = exports.graphql = void 0;\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst GraphQLAPI_1 = require(\"../GraphQLAPI\");\nconst types_1 = require(\"../types\");\n/**\n * Invokes graphql operations against a graphql service, providing correct input and\n * output types if Amplify-generated graphql from a recent version of the CLI/codegen\n * are used *or* correct typing is provided via the type argument.\n *\n * Amplify-generated \"branded\" graphql queries will look similar to this:\n *\n * ```ts\n * //\n * // |-- branding\n * // v\n * export const getModel = `...` as GeneratedQuery<\n * \tGetModelQueryVariables,\n * \tGetModelQuery\n * >;\n * ```\n *\n * If this branding is not in your generated graphql, update to a newer version of\n * CLI/codegen and regenerate your graphql using `amplify codegen`.\n *\n * ## Using Amplify-generated graphql\n *\n * ```ts\n * import * as queries from './graphql/queries';\n *\n * //\n * // |-- correctly typed graphql response containing a Widget\n * // v\n * const queryResult = await graphql({\n * \tquery: queries.getWidget,\n * \tvariables: {\n * \t\tid: \"abc\", // <-- type hinted/enforced\n * \t},\n * });\n *\n * //\n * // |-- a correctly typed Widget\n * // v\n * const fetchedWidget = queryResult.data?.getWidget!;\n * ```\n *\n * ## Custom input + result types\n *\n * To provide input types (`variables`) and result types:\n *\n * ```ts\n * type GetById_NameOnly = {\n * \tvariables: {\n * \t\tid: string\n * \t},\n * \tresult: Promise<{\n * \t\tdata: { getWidget: { name: string } }\n * \t}>\n * }\n *\n * //\n * // |-- type is GetById_NameOnly[\"result\"]\n * // v\n * const result = graphql<GetById_NameOnly>({\n * \tquery: \"...\",\n * \tvariables: { id: \"abc\" } // <-- type of GetById_NameOnly[\"variables\"]\n * });\n * ```\n *\n * ## Custom result type only\n *\n * To specify result types only, use a type that is *not* in the `{variables, result}` shape:\n *\n * ```ts\n * type MyResultType = Promise<{\n * \tdata: {\n * \t\tgetWidget: { name: string }\n * \t}\n * }>\n *\n * //\n * // |-- type is MyResultType\n * // v\n * const result = graphql<MyResultType>({query: \"...\"});\n * ```\n *\n * @param options\n * @param additionalHeaders\n */\nfunction graphql(options, additionalHeaders) {\n /**\n * The correctness of these typings depends on correct string branding or overrides.\n * Neither of these can actually be validated at runtime. Hence, we don't perform\n * any validation or type-guarding here.\n */\n const result = GraphQLAPI_1.GraphQLAPI.graphql(this[types_1.__amplify], options, additionalHeaders);\n return result;\n}\nexports.graphql = graphql;\n/**\n * Cancels an inflight request. Only applicable for graphql queries and mutations\n * @param {any} request - request to cancel\n * @returns - A boolean indicating if the request was cancelled\n */\nfunction cancel(promise, message) {\n return GraphQLAPI_1.GraphQLAPI.cancel(promise, message);\n}\nexports.cancel = cancel;\n/**\n * Checks to see if an error thrown is from an api request cancellation\n * @param {any} error - Any error\n * @returns - A boolean indicating if the error was from an api request cancellation\n */\nfunction isCancelError(error) {\n return GraphQLAPI_1.GraphQLAPI.isCancelError(error);\n}\nexports.isCancelError = isCancelError;\n"],"names":[],"mappings":";;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;AAClE;AACA;AACA,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AAC9C,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,OAAO,CAAC,OAAO,EAAE,iBAAiB,EAAE;AAC7C;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC;AACxG,IAAI,OAAO,MAAM,CAAC;AAClB,CAAC;AACD,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;AAC1B;AACA;AACA;AACA;AACA;AACA,SAAS,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE;AAClC,IAAI,OAAO,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC5D,CAAC;AACD,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;AACxB;AACA;AACA;AACA;AACA;AACA,SAAS,aAAa,CAAC,KAAK,EAAE;AAC9B,IAAI,OAAO,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AACxD,CAAC;AACD,OAAO,CAAC,aAAa,GAAG,aAAa;;"}
|
|
1
|
+
{"version":3,"file":"v6.js","sources":["../../../src/internals/v6.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isCancelError = exports.cancel = exports.graphql = void 0;\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst GraphQLAPI_1 = require(\"../GraphQLAPI\");\nconst types_1 = require(\"../types\");\n/**\n * Invokes graphql operations against a graphql service, providing correct input and\n * output types if Amplify-generated graphql from a recent version of the CLI/codegen\n * are used *or* correct typing is provided via the type argument.\n *\n * Amplify-generated \"branded\" graphql queries will look similar to this:\n *\n * ```ts\n * //\n * // |-- branding\n * // v\n * export const getModel = `...` as GeneratedQuery<\n * \tGetModelQueryVariables,\n * \tGetModelQuery\n * >;\n * ```\n *\n * If this branding is not in your generated graphql, update to a newer version of\n * CLI/codegen and regenerate your graphql using `amplify codegen`.\n *\n * ## Using Amplify-generated graphql\n *\n * ```ts\n * import * as queries from './graphql/queries';\n *\n * //\n * // |-- correctly typed graphql response containing a Widget\n * // v\n * const queryResult = await graphql({\n * \tquery: queries.getWidget,\n * \tvariables: {\n * \t\tid: \"abc\", // <-- type hinted/enforced\n * \t},\n * });\n *\n * //\n * // |-- a correctly typed Widget\n * // v\n * const fetchedWidget = queryResult.data?.getWidget!;\n * ```\n *\n * ## Custom input + result types\n *\n * To provide input types (`variables`) and result types:\n *\n * ```ts\n * type GetById_NameOnly = {\n * \tvariables: {\n * \t\tid: string\n * \t},\n * \tresult: Promise<{\n * \t\tdata: { getWidget: { name: string } }\n * \t}>\n * }\n *\n * //\n * // |-- type is GetById_NameOnly[\"result\"]\n * // v\n * const result = graphql<GetById_NameOnly>({\n * \tquery: \"...\",\n * \tvariables: { id: \"abc\" } // <-- type of GetById_NameOnly[\"variables\"]\n * });\n * ```\n *\n * ## Custom result type only\n *\n * To specify result types only, use a type that is *not* in the `{variables, result}` shape:\n *\n * ```ts\n * type MyResultType = Promise<{\n * \tdata: {\n * \t\tgetWidget: { name: string }\n * \t}\n * }>\n *\n * //\n * // |-- type is MyResultType\n * // v\n * const result = graphql<MyResultType>({query: \"...\"});\n * ```\n *\n * @param options\n * @param additionalHeaders\n */\nfunction graphql(options, additionalHeaders) {\n // inject client-level auth \n options.authMode = options.authMode || this[types_1.__authMode];\n options.authToken = options.authToken || this[types_1.__authToken];\n /**\n * The correctness of these typings depends on correct string branding or overrides.\n * Neither of these can actually be validated at runtime. Hence, we don't perform\n * any validation or type-guarding here.\n */\n const result = GraphQLAPI_1.GraphQLAPI.graphql(this[types_1.__amplify], options, additionalHeaders);\n return result;\n}\nexports.graphql = graphql;\n/**\n * Cancels an inflight request. Only applicable for graphql queries and mutations\n * @param {any} request - request to cancel\n * @returns - A boolean indicating if the request was cancelled\n */\nfunction cancel(promise, message) {\n return GraphQLAPI_1.GraphQLAPI.cancel(promise, message);\n}\nexports.cancel = cancel;\n/**\n * Checks to see if an error thrown is from an api request cancellation\n * @param {any} error - Any error\n * @returns - A boolean indicating if the error was from an api request cancellation\n */\nfunction isCancelError(error) {\n return GraphQLAPI_1.GraphQLAPI.isCancelError(error);\n}\nexports.isCancelError = isCancelError;\n"],"names":[],"mappings":";;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;AAClE;AACA;AACA,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AAC9C,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,OAAO,CAAC,OAAO,EAAE,iBAAiB,EAAE;AAC7C;AACA,IAAI,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AACpE,IAAI,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AACvE;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC;AACxG,IAAI,OAAO,MAAM,CAAC;AAClB,CAAC;AACD,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;AAC1B;AACA;AACA;AACA;AACA;AACA,SAAS,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE;AAClC,IAAI,OAAO,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC5D,CAAC;AACD,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;AACxB;AACA;AACA;AACA;AACA;AACA,SAAS,aAAa,CAAC,KAAK,EAAE;AAC9B,IAAI,OAAO,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AACxD,CAAC;AACD,OAAO,CAAC,aAAa,GAAG,aAAa;;"}
|
|
@@ -35,10 +35,9 @@ class InternalGraphQLAPIClass {
|
|
|
35
35
|
return 'InternalGraphQLAPI';
|
|
36
36
|
}
|
|
37
37
|
async _headerBasedAuth(amplify, authMode, additionalHeaders = {}) {
|
|
38
|
-
const { region: region, endpoint: appSyncGraphqlEndpoint, apiKey,
|
|
39
|
-
const authenticationType = authMode || defaultAuthMode || 'iam';
|
|
38
|
+
const { region: region, endpoint: appSyncGraphqlEndpoint, apiKey, } = resolveConfig(amplify);
|
|
40
39
|
let headers = {};
|
|
41
|
-
switch (
|
|
40
|
+
switch (authMode) {
|
|
42
41
|
case 'apiKey':
|
|
43
42
|
if (!apiKey) {
|
|
44
43
|
throw new Error(GraphQLAuthError.NO_API_KEY);
|
|
@@ -125,8 +124,9 @@ class InternalGraphQLAPIClass {
|
|
|
125
124
|
throw new Error(`invalid operation type: ${operationType}`);
|
|
126
125
|
}
|
|
127
126
|
}
|
|
128
|
-
async _graphql(amplify, { query, variables, authMode }, additionalHeaders = {}, abortController, customUserAgentDetails, authToken) {
|
|
129
|
-
const { region: region, endpoint: appSyncGraphqlEndpoint, customEndpoint, customEndpointRegion, } = resolveConfig(amplify);
|
|
127
|
+
async _graphql(amplify, { query, variables, authMode: explicitAuthMode }, additionalHeaders = {}, abortController, customUserAgentDetails, authToken) {
|
|
128
|
+
const { region: region, endpoint: appSyncGraphqlEndpoint, customEndpoint, customEndpointRegion, defaultAuthMode } = resolveConfig(amplify);
|
|
129
|
+
const authMode = explicitAuthMode || defaultAuthMode || 'iam';
|
|
130
130
|
/**
|
|
131
131
|
* Retrieve library options from Amplify configuration.
|
|
132
132
|
* `customHeaders` here are from the Amplify configuration options,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InternalGraphQLAPI.mjs","sources":["../../../src/internals/InternalGraphQLAPI.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { print, parse, GraphQLError, } from 'graphql';\nimport { ConsoleLogger } from '@aws-amplify/core';\nimport { getAmplifyUserAgent, AmplifyUrl, } from '@aws-amplify/core/internals/utils';\nimport { GraphQLAuthError, } from '../types';\nimport { isCancelError as isCancelErrorREST } from '@aws-amplify/api-rest';\nimport { post, cancel as cancelREST, updateRequestToBeCancellable, } from '@aws-amplify/api-rest/internals';\nimport { AWSAppSyncRealTimeProvider } from '../Providers/AWSAppSyncRealTimeProvider';\nimport { resolveConfig, resolveLibraryOptions } from '../utils';\nconst USER_AGENT_HEADER = 'x-amz-user-agent';\nconst logger = new ConsoleLogger('GraphQLAPI');\nconst isAmplifyInstance = (amplify) => {\n return typeof amplify !== 'function';\n};\n/**\n * Export Cloud Logic APIs\n */\nexport class InternalGraphQLAPIClass {\n constructor() {\n /**\n * @private\n */\n this.appSyncRealTime = new AWSAppSyncRealTimeProvider();\n this._api = {\n post,\n cancelREST,\n isCancelErrorREST,\n updateRequestToBeCancellable,\n };\n }\n getModuleName() {\n return 'InternalGraphQLAPI';\n }\n async _headerBasedAuth(amplify, authMode, additionalHeaders = {}) {\n const { region: region, endpoint: appSyncGraphqlEndpoint, apiKey, defaultAuthMode, } = resolveConfig(amplify);\n const authenticationType = authMode || defaultAuthMode || 'iam';\n let headers = {};\n switch (authenticationType) {\n case 'apiKey':\n if (!apiKey) {\n throw new Error(GraphQLAuthError.NO_API_KEY);\n }\n headers = {\n 'X-Api-Key': apiKey,\n };\n break;\n case 'iam':\n const session = await amplify.Auth.fetchAuthSession();\n if (session.credentials === undefined) {\n throw new Error(GraphQLAuthError.NO_CREDENTIALS);\n }\n break;\n case 'oidc':\n case 'userPool':\n try {\n let token;\n token = (await amplify.Auth.fetchAuthSession()).tokens?.accessToken.toString();\n if (!token) {\n throw new Error(GraphQLAuthError.NO_FEDERATED_JWT);\n }\n headers = {\n Authorization: token,\n };\n }\n catch (e) {\n throw new Error(GraphQLAuthError.NO_CURRENT_USER);\n }\n break;\n case 'lambda':\n if (typeof additionalHeaders === 'object' &&\n !additionalHeaders.Authorization) {\n throw new Error(GraphQLAuthError.NO_AUTH_TOKEN);\n }\n headers = {\n Authorization: additionalHeaders.Authorization,\n };\n break;\n case 'none':\n break;\n default:\n break;\n }\n return headers;\n }\n /**\n * to get the operation type\n * @param operation\n */\n getGraphqlOperationType(operation) {\n const doc = parse(operation);\n const definitions = doc.definitions;\n const [{ operation: operationType }] = definitions;\n return operationType;\n }\n /**\n * Executes a GraphQL operation\n *\n * @param options - GraphQL Options\n * @param [additionalHeaders] - headers to merge in after any `graphql_headers` set in the config\n * @returns An Observable if the query is a subscription query, else a promise of the graphql result.\n */\n graphql(amplify, { query: paramQuery, variables = {}, authMode, authToken }, additionalHeaders, customUserAgentDetails) {\n const query = typeof paramQuery === 'string'\n ? parse(paramQuery)\n : parse(print(paramQuery));\n const [operationDef = {}] = query.definitions.filter(def => def.kind === 'OperationDefinition');\n const { operation: operationType } = operationDef;\n const headers = additionalHeaders || {};\n switch (operationType) {\n case 'query':\n case 'mutation':\n const abortController = new AbortController();\n let responsePromise;\n if (isAmplifyInstance(amplify)) {\n responsePromise = this._graphql(amplify, { query, variables, authMode }, headers, abortController, customUserAgentDetails, authToken);\n }\n else {\n const wrapper = (amplifyInstance) => this._graphql(amplifyInstance, { query, variables, authMode }, headers, abortController, customUserAgentDetails, authToken);\n responsePromise = amplify(wrapper);\n }\n this._api.updateRequestToBeCancellable(responsePromise, abortController);\n return responsePromise;\n case 'subscription':\n return this._graphqlSubscribe(amplify, { query, variables, authMode }, headers, customUserAgentDetails, authToken);\n default:\n throw new Error(`invalid operation type: ${operationType}`);\n }\n }\n async _graphql(amplify, { query, variables, authMode }, additionalHeaders = {}, abortController, customUserAgentDetails, authToken) {\n const { region: region, endpoint: appSyncGraphqlEndpoint, customEndpoint, customEndpointRegion, } = resolveConfig(amplify);\n /**\n * Retrieve library options from Amplify configuration.\n * `customHeaders` here are from the Amplify configuration options,\n * and are for non-AppSync endpoints only. These are *not* the same as\n * `additionalHeaders`, which are custom headers that are either 1)\n * included when configuring the API client or 2) passed along with\n * individual requests.\n */\n const { headers: customHeaders, withCredentials } = resolveLibraryOptions(amplify);\n /**\n * Client or request-specific custom headers that may or may not be\n * returned by a function:\n */\n let additionalCustomHeaders;\n if (typeof additionalHeaders === 'function') {\n additionalCustomHeaders = await additionalHeaders();\n }\n else {\n additionalCustomHeaders = additionalHeaders;\n }\n // if an authorization header is set, have the explicit authToken take precedence\n if (authToken) {\n additionalCustomHeaders = {\n ...additionalCustomHeaders,\n Authorization: authToken,\n };\n }\n // TODO: Figure what we need to do to remove `!`'s.\n const headers = {\n ...(!customEndpoint &&\n (await this._headerBasedAuth(amplify, authMode, additionalCustomHeaders))),\n /**\n * Custom endpoint headers.\n * If there is both a custom endpoint and custom region present, we get the headers.\n * If there is a custom endpoint but no region, we return an empty object.\n * If neither are present, we return an empty object.\n */\n ...((customEndpoint &&\n (customEndpointRegion\n ? await this._headerBasedAuth(amplify, authMode, additionalCustomHeaders)\n : {})) ||\n {}),\n // Custom headers included in Amplify configuration options:\n ...(customHeaders &&\n (await customHeaders({\n query: print(query),\n variables,\n }))),\n // Custom headers from individual requests or API client configuration:\n ...additionalCustomHeaders,\n // User agent headers:\n ...(!customEndpoint && {\n [USER_AGENT_HEADER]: getAmplifyUserAgent(customUserAgentDetails),\n }),\n };\n const body = {\n query: print(query),\n variables: variables || null,\n };\n let signingServiceInfo;\n /**\n * We do not send the signing service info to the REST API under the\n * following conditions (i.e. it will not sign the request):\n * - there is a custom endpoint but no region\n * - the auth mode is `none`, or `apiKey`\n * - the auth mode is a type other than the types listed below\n */\n if ((customEndpoint && !customEndpointRegion) ||\n (authMode !== 'oidc' &&\n authMode !== 'userPool' &&\n authMode !== 'iam' &&\n authMode !== 'lambda')) {\n signingServiceInfo = undefined;\n }\n else {\n signingServiceInfo = {\n service: !customEndpointRegion ? 'appsync' : 'execute-api',\n region: !customEndpointRegion ? region : customEndpointRegion,\n };\n }\n const endpoint = customEndpoint || appSyncGraphqlEndpoint;\n if (!endpoint) {\n const error = new GraphQLError('No graphql endpoint provided.');\n throw {\n data: {},\n errors: [error],\n };\n }\n let response;\n try {\n const { body: responseBody } = await this._api.post({\n url: new AmplifyUrl(endpoint),\n options: {\n headers,\n body,\n signingServiceInfo,\n withCredentials,\n },\n abortController,\n });\n const result = await responseBody.json();\n response = result;\n }\n catch (err) {\n // If the exception is because user intentionally\n // cancelled the request, do not modify the exception\n // so that clients can identify the exception correctly.\n if (this.isCancelError(err)) {\n throw err;\n }\n response = {\n data: {},\n errors: [\n new GraphQLError(err.message, null, null, null, null, err),\n ],\n };\n }\n const { errors } = response;\n if (errors && errors.length) {\n throw response;\n }\n return response;\n }\n /**\n * Checks to see if an error thrown is from an api request cancellation\n * @param {any} error - Any error\n * @return {boolean} - A boolean indicating if the error was from an api request cancellation\n */\n isCancelError(error) {\n return this._api.isCancelErrorREST(error);\n }\n /**\n * Cancels an inflight request. Only applicable for graphql queries and mutations\n * @param {any} request - request to cancel\n * @returns - A boolean indicating if the request was cancelled\n */\n cancel(request, message) {\n return this._api.cancelREST(request, message);\n }\n _graphqlSubscribe(amplify, { query, variables, authMode }, additionalHeaders = {}, customUserAgentDetails, authToken) {\n const config = resolveConfig(amplify);\n return this.appSyncRealTime.subscribe({\n query: print(query),\n variables,\n appSyncGraphqlEndpoint: config?.endpoint,\n region: config?.region,\n authenticationType: authMode || config?.defaultAuthMode,\n apiKey: config?.apiKey,\n additionalHeaders,\n authToken,\n }, customUserAgentDetails);\n }\n}\nexport const InternalGraphQLAPI = new InternalGraphQLAPIClass();\n"],"names":["cancelREST","isCancelErrorREST"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InternalGraphQLAPI.mjs","sources":["../../../src/internals/InternalGraphQLAPI.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { print, parse, GraphQLError, } from 'graphql';\nimport { ConsoleLogger } from '@aws-amplify/core';\nimport { getAmplifyUserAgent, AmplifyUrl, } from '@aws-amplify/core/internals/utils';\nimport { GraphQLAuthError, } from '../types';\nimport { isCancelError as isCancelErrorREST } from '@aws-amplify/api-rest';\nimport { post, cancel as cancelREST, updateRequestToBeCancellable, } from '@aws-amplify/api-rest/internals';\nimport { AWSAppSyncRealTimeProvider } from '../Providers/AWSAppSyncRealTimeProvider';\nimport { resolveConfig, resolveLibraryOptions } from '../utils';\nconst USER_AGENT_HEADER = 'x-amz-user-agent';\nconst logger = new ConsoleLogger('GraphQLAPI');\nconst isAmplifyInstance = (amplify) => {\n return typeof amplify !== 'function';\n};\n/**\n * Export Cloud Logic APIs\n */\nexport class InternalGraphQLAPIClass {\n constructor() {\n /**\n * @private\n */\n this.appSyncRealTime = new AWSAppSyncRealTimeProvider();\n this._api = {\n post,\n cancelREST,\n isCancelErrorREST,\n updateRequestToBeCancellable,\n };\n }\n getModuleName() {\n return 'InternalGraphQLAPI';\n }\n async _headerBasedAuth(amplify, authMode, additionalHeaders = {}) {\n const { region: region, endpoint: appSyncGraphqlEndpoint, apiKey, } = resolveConfig(amplify);\n let headers = {};\n switch (authMode) {\n case 'apiKey':\n if (!apiKey) {\n throw new Error(GraphQLAuthError.NO_API_KEY);\n }\n headers = {\n 'X-Api-Key': apiKey,\n };\n break;\n case 'iam':\n const session = await amplify.Auth.fetchAuthSession();\n if (session.credentials === undefined) {\n throw new Error(GraphQLAuthError.NO_CREDENTIALS);\n }\n break;\n case 'oidc':\n case 'userPool':\n try {\n let token;\n token = (await amplify.Auth.fetchAuthSession()).tokens?.accessToken.toString();\n if (!token) {\n throw new Error(GraphQLAuthError.NO_FEDERATED_JWT);\n }\n headers = {\n Authorization: token,\n };\n }\n catch (e) {\n throw new Error(GraphQLAuthError.NO_CURRENT_USER);\n }\n break;\n case 'lambda':\n if (typeof additionalHeaders === 'object' &&\n !additionalHeaders.Authorization) {\n throw new Error(GraphQLAuthError.NO_AUTH_TOKEN);\n }\n headers = {\n Authorization: additionalHeaders.Authorization,\n };\n break;\n case 'none':\n break;\n default:\n break;\n }\n return headers;\n }\n /**\n * to get the operation type\n * @param operation\n */\n getGraphqlOperationType(operation) {\n const doc = parse(operation);\n const definitions = doc.definitions;\n const [{ operation: operationType }] = definitions;\n return operationType;\n }\n /**\n * Executes a GraphQL operation\n *\n * @param options - GraphQL Options\n * @param [additionalHeaders] - headers to merge in after any `graphql_headers` set in the config\n * @returns An Observable if the query is a subscription query, else a promise of the graphql result.\n */\n graphql(amplify, { query: paramQuery, variables = {}, authMode, authToken }, additionalHeaders, customUserAgentDetails) {\n const query = typeof paramQuery === 'string'\n ? parse(paramQuery)\n : parse(print(paramQuery));\n const [operationDef = {}] = query.definitions.filter(def => def.kind === 'OperationDefinition');\n const { operation: operationType } = operationDef;\n const headers = additionalHeaders || {};\n switch (operationType) {\n case 'query':\n case 'mutation':\n const abortController = new AbortController();\n let responsePromise;\n if (isAmplifyInstance(amplify)) {\n responsePromise = this._graphql(amplify, { query, variables, authMode }, headers, abortController, customUserAgentDetails, authToken);\n }\n else {\n const wrapper = (amplifyInstance) => this._graphql(amplifyInstance, { query, variables, authMode }, headers, abortController, customUserAgentDetails, authToken);\n responsePromise = amplify(wrapper);\n }\n this._api.updateRequestToBeCancellable(responsePromise, abortController);\n return responsePromise;\n case 'subscription':\n return this._graphqlSubscribe(amplify, { query, variables, authMode }, headers, customUserAgentDetails, authToken);\n default:\n throw new Error(`invalid operation type: ${operationType}`);\n }\n }\n async _graphql(amplify, { query, variables, authMode: explicitAuthMode }, additionalHeaders = {}, abortController, customUserAgentDetails, authToken) {\n const { region: region, endpoint: appSyncGraphqlEndpoint, customEndpoint, customEndpointRegion, defaultAuthMode } = resolveConfig(amplify);\n const authMode = explicitAuthMode || defaultAuthMode || 'iam';\n /**\n * Retrieve library options from Amplify configuration.\n * `customHeaders` here are from the Amplify configuration options,\n * and are for non-AppSync endpoints only. These are *not* the same as\n * `additionalHeaders`, which are custom headers that are either 1)\n * included when configuring the API client or 2) passed along with\n * individual requests.\n */\n const { headers: customHeaders, withCredentials } = resolveLibraryOptions(amplify);\n /**\n * Client or request-specific custom headers that may or may not be\n * returned by a function:\n */\n let additionalCustomHeaders;\n if (typeof additionalHeaders === 'function') {\n additionalCustomHeaders = await additionalHeaders();\n }\n else {\n additionalCustomHeaders = additionalHeaders;\n }\n // if an authorization header is set, have the explicit authToken take precedence\n if (authToken) {\n additionalCustomHeaders = {\n ...additionalCustomHeaders,\n Authorization: authToken,\n };\n }\n // TODO: Figure what we need to do to remove `!`'s.\n const headers = {\n ...(!customEndpoint &&\n (await this._headerBasedAuth(amplify, authMode, additionalCustomHeaders))),\n /**\n * Custom endpoint headers.\n * If there is both a custom endpoint and custom region present, we get the headers.\n * If there is a custom endpoint but no region, we return an empty object.\n * If neither are present, we return an empty object.\n */\n ...((customEndpoint &&\n (customEndpointRegion\n ? await this._headerBasedAuth(amplify, authMode, additionalCustomHeaders)\n : {})) ||\n {}),\n // Custom headers included in Amplify configuration options:\n ...(customHeaders &&\n (await customHeaders({\n query: print(query),\n variables,\n }))),\n // Custom headers from individual requests or API client configuration:\n ...additionalCustomHeaders,\n // User agent headers:\n ...(!customEndpoint && {\n [USER_AGENT_HEADER]: getAmplifyUserAgent(customUserAgentDetails),\n }),\n };\n const body = {\n query: print(query),\n variables: variables || null,\n };\n let signingServiceInfo;\n /**\n * We do not send the signing service info to the REST API under the\n * following conditions (i.e. it will not sign the request):\n * - there is a custom endpoint but no region\n * - the auth mode is `none`, or `apiKey`\n * - the auth mode is a type other than the types listed below\n */\n if ((customEndpoint && !customEndpointRegion) ||\n (authMode !== 'oidc' &&\n authMode !== 'userPool' &&\n authMode !== 'iam' &&\n authMode !== 'lambda')) {\n signingServiceInfo = undefined;\n }\n else {\n signingServiceInfo = {\n service: !customEndpointRegion ? 'appsync' : 'execute-api',\n region: !customEndpointRegion ? region : customEndpointRegion,\n };\n }\n const endpoint = customEndpoint || appSyncGraphqlEndpoint;\n if (!endpoint) {\n const error = new GraphQLError('No graphql endpoint provided.');\n throw {\n data: {},\n errors: [error],\n };\n }\n let response;\n try {\n const { body: responseBody } = await this._api.post({\n url: new AmplifyUrl(endpoint),\n options: {\n headers,\n body,\n signingServiceInfo,\n withCredentials,\n },\n abortController,\n });\n const result = await responseBody.json();\n response = result;\n }\n catch (err) {\n // If the exception is because user intentionally\n // cancelled the request, do not modify the exception\n // so that clients can identify the exception correctly.\n if (this.isCancelError(err)) {\n throw err;\n }\n response = {\n data: {},\n errors: [\n new GraphQLError(err.message, null, null, null, null, err),\n ],\n };\n }\n const { errors } = response;\n if (errors && errors.length) {\n throw response;\n }\n return response;\n }\n /**\n * Checks to see if an error thrown is from an api request cancellation\n * @param {any} error - Any error\n * @return {boolean} - A boolean indicating if the error was from an api request cancellation\n */\n isCancelError(error) {\n return this._api.isCancelErrorREST(error);\n }\n /**\n * Cancels an inflight request. Only applicable for graphql queries and mutations\n * @param {any} request - request to cancel\n * @returns - A boolean indicating if the request was cancelled\n */\n cancel(request, message) {\n return this._api.cancelREST(request, message);\n }\n _graphqlSubscribe(amplify, { query, variables, authMode }, additionalHeaders = {}, customUserAgentDetails, authToken) {\n const config = resolveConfig(amplify);\n return this.appSyncRealTime.subscribe({\n query: print(query),\n variables,\n appSyncGraphqlEndpoint: config?.endpoint,\n region: config?.region,\n authenticationType: authMode || config?.defaultAuthMode,\n apiKey: config?.apiKey,\n additionalHeaders,\n authToken,\n }, customUserAgentDetails);\n }\n}\nexport const InternalGraphQLAPI = new InternalGraphQLAPIClass();\n"],"names":["cancelREST","isCancelErrorREST"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { GraphQLAPI } from '../GraphQLAPI.mjs';
|
|
2
|
-
import { __amplify } from '../types/index.mjs';
|
|
2
|
+
import { __authMode, __authToken, __amplify } from '../types/index.mjs';
|
|
3
3
|
|
|
4
4
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
5
5
|
// SPDX-License-Identifier: Apache-2.0
|
|
@@ -88,6 +88,9 @@ import { __amplify } from '../types/index.mjs';
|
|
|
88
88
|
* @param additionalHeaders
|
|
89
89
|
*/
|
|
90
90
|
function graphql(options, additionalHeaders) {
|
|
91
|
+
// inject client-level auth
|
|
92
|
+
options.authMode = options.authMode || this[__authMode];
|
|
93
|
+
options.authToken = options.authToken || this[__authToken];
|
|
91
94
|
/**
|
|
92
95
|
* The correctness of these typings depends on correct string branding or overrides.
|
|
93
96
|
* Neither of these can actually be validated at runtime. Hence, we don't perform
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v6.mjs","sources":["../../../src/internals/v6.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { GraphQLAPI } from '../GraphQLAPI';\nimport { __amplify, } from '../types';\n/**\n * Invokes graphql operations against a graphql service, providing correct input and\n * output types if Amplify-generated graphql from a recent version of the CLI/codegen\n * are used *or* correct typing is provided via the type argument.\n *\n * Amplify-generated \"branded\" graphql queries will look similar to this:\n *\n * ```ts\n * //\n * // |-- branding\n * // v\n * export const getModel = `...` as GeneratedQuery<\n * \tGetModelQueryVariables,\n * \tGetModelQuery\n * >;\n * ```\n *\n * If this branding is not in your generated graphql, update to a newer version of\n * CLI/codegen and regenerate your graphql using `amplify codegen`.\n *\n * ## Using Amplify-generated graphql\n *\n * ```ts\n * import * as queries from './graphql/queries';\n *\n * //\n * // |-- correctly typed graphql response containing a Widget\n * // v\n * const queryResult = await graphql({\n * \tquery: queries.getWidget,\n * \tvariables: {\n * \t\tid: \"abc\", // <-- type hinted/enforced\n * \t},\n * });\n *\n * //\n * // |-- a correctly typed Widget\n * // v\n * const fetchedWidget = queryResult.data?.getWidget!;\n * ```\n *\n * ## Custom input + result types\n *\n * To provide input types (`variables`) and result types:\n *\n * ```ts\n * type GetById_NameOnly = {\n * \tvariables: {\n * \t\tid: string\n * \t},\n * \tresult: Promise<{\n * \t\tdata: { getWidget: { name: string } }\n * \t}>\n * }\n *\n * //\n * // |-- type is GetById_NameOnly[\"result\"]\n * // v\n * const result = graphql<GetById_NameOnly>({\n * \tquery: \"...\",\n * \tvariables: { id: \"abc\" } // <-- type of GetById_NameOnly[\"variables\"]\n * });\n * ```\n *\n * ## Custom result type only\n *\n * To specify result types only, use a type that is *not* in the `{variables, result}` shape:\n *\n * ```ts\n * type MyResultType = Promise<{\n * \tdata: {\n * \t\tgetWidget: { name: string }\n * \t}\n * }>\n *\n * //\n * // |-- type is MyResultType\n * // v\n * const result = graphql<MyResultType>({query: \"...\"});\n * ```\n *\n * @param options\n * @param additionalHeaders\n */\nexport function graphql(options, additionalHeaders) {\n /**\n * The correctness of these typings depends on correct string branding or overrides.\n * Neither of these can actually be validated at runtime. Hence, we don't perform\n * any validation or type-guarding here.\n */\n const result = GraphQLAPI.graphql(this[__amplify], options, additionalHeaders);\n return result;\n}\n/**\n * Cancels an inflight request. Only applicable for graphql queries and mutations\n * @param {any} request - request to cancel\n * @returns - A boolean indicating if the request was cancelled\n */\nexport function cancel(promise, message) {\n return GraphQLAPI.cancel(promise, message);\n}\n/**\n * Checks to see if an error thrown is from an api request cancellation\n * @param {any} error - Any error\n * @returns - A boolean indicating if the error was from an api request cancellation\n */\nexport function isCancelError(error) {\n return GraphQLAPI.isCancelError(error);\n}\n"],"names":[],"mappings":";;;AAAA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,OAAO,CAAC,OAAO,EAAE,iBAAiB,EAAE;AACpD;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC;AACnF,IAAI,OAAO,MAAM,CAAC;AAClB,CAAC;AACD;AACA;AACA;AACA;AACA;AACO,SAAS,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE;AACzC,IAAI,OAAO,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC/C,CAAC;AACD;AACA;AACA;AACA;AACA;AACO,SAAS,aAAa,CAAC,KAAK,EAAE;AACrC,IAAI,OAAO,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAC3C;;;;"}
|
|
1
|
+
{"version":3,"file":"v6.mjs","sources":["../../../src/internals/v6.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { GraphQLAPI } from '../GraphQLAPI';\nimport { __amplify, __authMode, __authToken, } from '../types';\n/**\n * Invokes graphql operations against a graphql service, providing correct input and\n * output types if Amplify-generated graphql from a recent version of the CLI/codegen\n * are used *or* correct typing is provided via the type argument.\n *\n * Amplify-generated \"branded\" graphql queries will look similar to this:\n *\n * ```ts\n * //\n * // |-- branding\n * // v\n * export const getModel = `...` as GeneratedQuery<\n * \tGetModelQueryVariables,\n * \tGetModelQuery\n * >;\n * ```\n *\n * If this branding is not in your generated graphql, update to a newer version of\n * CLI/codegen and regenerate your graphql using `amplify codegen`.\n *\n * ## Using Amplify-generated graphql\n *\n * ```ts\n * import * as queries from './graphql/queries';\n *\n * //\n * // |-- correctly typed graphql response containing a Widget\n * // v\n * const queryResult = await graphql({\n * \tquery: queries.getWidget,\n * \tvariables: {\n * \t\tid: \"abc\", // <-- type hinted/enforced\n * \t},\n * });\n *\n * //\n * // |-- a correctly typed Widget\n * // v\n * const fetchedWidget = queryResult.data?.getWidget!;\n * ```\n *\n * ## Custom input + result types\n *\n * To provide input types (`variables`) and result types:\n *\n * ```ts\n * type GetById_NameOnly = {\n * \tvariables: {\n * \t\tid: string\n * \t},\n * \tresult: Promise<{\n * \t\tdata: { getWidget: { name: string } }\n * \t}>\n * }\n *\n * //\n * // |-- type is GetById_NameOnly[\"result\"]\n * // v\n * const result = graphql<GetById_NameOnly>({\n * \tquery: \"...\",\n * \tvariables: { id: \"abc\" } // <-- type of GetById_NameOnly[\"variables\"]\n * });\n * ```\n *\n * ## Custom result type only\n *\n * To specify result types only, use a type that is *not* in the `{variables, result}` shape:\n *\n * ```ts\n * type MyResultType = Promise<{\n * \tdata: {\n * \t\tgetWidget: { name: string }\n * \t}\n * }>\n *\n * //\n * // |-- type is MyResultType\n * // v\n * const result = graphql<MyResultType>({query: \"...\"});\n * ```\n *\n * @param options\n * @param additionalHeaders\n */\nexport function graphql(options, additionalHeaders) {\n // inject client-level auth \n options.authMode = options.authMode || this[__authMode];\n options.authToken = options.authToken || this[__authToken];\n /**\n * The correctness of these typings depends on correct string branding or overrides.\n * Neither of these can actually be validated at runtime. Hence, we don't perform\n * any validation or type-guarding here.\n */\n const result = GraphQLAPI.graphql(this[__amplify], options, additionalHeaders);\n return result;\n}\n/**\n * Cancels an inflight request. Only applicable for graphql queries and mutations\n * @param {any} request - request to cancel\n * @returns - A boolean indicating if the request was cancelled\n */\nexport function cancel(promise, message) {\n return GraphQLAPI.cancel(promise, message);\n}\n/**\n * Checks to see if an error thrown is from an api request cancellation\n * @param {any} error - Any error\n * @returns - A boolean indicating if the error was from an api request cancellation\n */\nexport function isCancelError(error) {\n return GraphQLAPI.isCancelError(error);\n}\n"],"names":[],"mappings":";;;AAAA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,OAAO,CAAC,OAAO,EAAE,iBAAiB,EAAE;AACpD;AACA,IAAI,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;AAC5D,IAAI,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC;AAC/D;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC;AACnF,IAAI,OAAO,MAAM,CAAC;AAClB,CAAC;AACD;AACA;AACA;AACA;AACA;AACO,SAAS,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE;AACzC,IAAI,OAAO,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC/C,CAAC;AACD;AACA;AACA;AACA;AACA;AACO,SAAS,aAAa,CAAC,KAAK,EAAE;AACrC,IAAI,OAAO,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAC3C;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-amplify/api-graphql",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.4-unstable.4d80239.0+4d80239",
|
|
4
4
|
"description": "Api-graphql category of aws-amplify",
|
|
5
5
|
"main": "./dist/cjs/index.js",
|
|
6
6
|
"module": "./dist/esm/index.mjs",
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
},
|
|
68
68
|
"homepage": "https://aws-amplify.github.io/",
|
|
69
69
|
"devDependencies": {
|
|
70
|
-
"@aws-amplify/data-schema": "^0.12.
|
|
70
|
+
"@aws-amplify/data-schema": "^0.12.9",
|
|
71
71
|
"@rollup/plugin-typescript": "11.1.5",
|
|
72
72
|
"rollup": "3.29.4",
|
|
73
73
|
"typescript": "5.0.2"
|
|
@@ -79,9 +79,9 @@
|
|
|
79
79
|
"internals"
|
|
80
80
|
],
|
|
81
81
|
"dependencies": {
|
|
82
|
-
"@aws-amplify/api-rest": "4.0.
|
|
83
|
-
"@aws-amplify/core": "6.0.
|
|
84
|
-
"@aws-amplify/data-schema-types": "^0.6.
|
|
82
|
+
"@aws-amplify/api-rest": "4.0.4-unstable.4d80239.0+4d80239",
|
|
83
|
+
"@aws-amplify/core": "6.0.4-unstable.4d80239.0+4d80239",
|
|
84
|
+
"@aws-amplify/data-schema-types": "^0.6.6",
|
|
85
85
|
"@aws-sdk/types": "3.387.0",
|
|
86
86
|
"graphql": "15.8.0",
|
|
87
87
|
"rxjs": "^7.8.1",
|
|
@@ -146,5 +146,5 @@
|
|
|
146
146
|
"<rootDir>/__tests__"
|
|
147
147
|
]
|
|
148
148
|
},
|
|
149
|
-
"gitHead": "
|
|
149
|
+
"gitHead": "4d802390635cd931e23091007d42559ec13031e9"
|
|
150
150
|
}
|
|
@@ -73,13 +73,11 @@ export class InternalGraphQLAPIClass {
|
|
|
73
73
|
region: region,
|
|
74
74
|
endpoint: appSyncGraphqlEndpoint,
|
|
75
75
|
apiKey,
|
|
76
|
-
defaultAuthMode,
|
|
77
76
|
} = resolveConfig(amplify);
|
|
78
77
|
|
|
79
|
-
const authenticationType = authMode || defaultAuthMode || 'iam';
|
|
80
78
|
let headers = {};
|
|
81
79
|
|
|
82
|
-
switch (
|
|
80
|
+
switch (authMode) {
|
|
83
81
|
case 'apiKey':
|
|
84
82
|
if (!apiKey) {
|
|
85
83
|
throw new Error(GraphQLAuthError.NO_API_KEY);
|
|
@@ -227,7 +225,7 @@ export class InternalGraphQLAPIClass {
|
|
|
227
225
|
|
|
228
226
|
private async _graphql<T = any>(
|
|
229
227
|
amplify: AmplifyClassV6,
|
|
230
|
-
{ query, variables, authMode }: GraphQLOptions,
|
|
228
|
+
{ query, variables, authMode: explicitAuthMode }: GraphQLOptions,
|
|
231
229
|
additionalHeaders: CustomHeaders = {},
|
|
232
230
|
abortController: AbortController,
|
|
233
231
|
customUserAgentDetails?: CustomUserAgentDetails,
|
|
@@ -238,8 +236,11 @@ export class InternalGraphQLAPIClass {
|
|
|
238
236
|
endpoint: appSyncGraphqlEndpoint,
|
|
239
237
|
customEndpoint,
|
|
240
238
|
customEndpointRegion,
|
|
239
|
+
defaultAuthMode
|
|
241
240
|
} = resolveConfig(amplify);
|
|
242
241
|
|
|
242
|
+
const authMode = explicitAuthMode || defaultAuthMode || 'iam';
|
|
243
|
+
|
|
243
244
|
/**
|
|
244
245
|
* Retrieve library options from Amplify configuration.
|
|
245
246
|
* `customHeaders` here are from the Amplify configuration options,
|
|
@@ -26,7 +26,7 @@ export function generateClient<
|
|
|
26
26
|
T extends Record<any, any> = never,
|
|
27
27
|
ClientType extends
|
|
28
28
|
| V6ClientSSRRequest<T>
|
|
29
|
-
| V6ClientSSRCookies<T> = V6ClientSSRCookies<T
|
|
29
|
+
| V6ClientSSRCookies<T> = V6ClientSSRCookies<T>,
|
|
30
30
|
>(
|
|
31
31
|
params: ServerClientGenerationParams & CommonPublicClientOptions
|
|
32
32
|
): ClientType {
|
|
@@ -15,7 +15,7 @@ export function generateModelsProperty<
|
|
|
15
15
|
| V6ClientSSRRequest<Record<string, any>>
|
|
16
16
|
| V6ClientSSRCookies<Record<string, any>> = V6ClientSSRCookies<
|
|
17
17
|
Record<string, any>
|
|
18
|
-
|
|
18
|
+
>,
|
|
19
19
|
>(client: ClientType, params: ServerClientGenerationParams): ClientType {
|
|
20
20
|
const models = {} as any;
|
|
21
21
|
const config = params.config;
|
package/src/internals/v6.ts
CHANGED
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
import { GraphQLAPI } from '../GraphQLAPI';
|
|
4
4
|
import {
|
|
5
5
|
__amplify,
|
|
6
|
+
__authMode,
|
|
7
|
+
__authToken,
|
|
6
8
|
V6Client,
|
|
7
9
|
GraphQLOptionsV6,
|
|
8
10
|
GraphQLResponseV6,
|
|
@@ -95,12 +97,16 @@ import { CustomHeaders } from '@aws-amplify/data-schema-types';
|
|
|
95
97
|
*/
|
|
96
98
|
export function graphql<
|
|
97
99
|
FALLBACK_TYPES = unknown,
|
|
98
|
-
TYPED_GQL_STRING extends string = string
|
|
100
|
+
TYPED_GQL_STRING extends string = string,
|
|
99
101
|
>(
|
|
100
102
|
this: V6Client,
|
|
101
103
|
options: GraphQLOptionsV6<FALLBACK_TYPES, TYPED_GQL_STRING>,
|
|
102
104
|
additionalHeaders?: CustomHeaders
|
|
103
105
|
): GraphQLResponseV6<FALLBACK_TYPES, TYPED_GQL_STRING> {
|
|
106
|
+
// inject client-level auth
|
|
107
|
+
options.authMode = options.authMode || this[__authMode];
|
|
108
|
+
options.authToken = options.authToken || this[__authToken];
|
|
109
|
+
|
|
104
110
|
/**
|
|
105
111
|
* The correctness of these typings depends on correct string branding or overrides.
|
|
106
112
|
* Neither of these can actually be validated at runtime. Hence, we don't perform
|
package/src/types/index.ts
CHANGED
|
@@ -96,10 +96,10 @@ type PagedList<T, TYPENAME> = {
|
|
|
96
96
|
type WithListsFixed<T> = T extends PagedList<infer IT, infer NAME>
|
|
97
97
|
? PagedList<Exclude<IT, null | undefined>, NAME>
|
|
98
98
|
: T extends {}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
99
|
+
? {
|
|
100
|
+
[K in keyof T]: WithListsFixed<T[K]>;
|
|
101
|
+
}
|
|
102
|
+
: T;
|
|
103
103
|
|
|
104
104
|
/**
|
|
105
105
|
* Returns an updated response type to always return a value.
|
|
@@ -205,7 +205,7 @@ export type GraphQLOperation = Source | string;
|
|
|
205
205
|
*/
|
|
206
206
|
export interface GraphQLOptionsV6<
|
|
207
207
|
FALLBACK_TYPES = unknown,
|
|
208
|
-
TYPED_GQL_STRING extends string = string
|
|
208
|
+
TYPED_GQL_STRING extends string = string,
|
|
209
209
|
> {
|
|
210
210
|
query: TYPED_GQL_STRING | DocumentNode;
|
|
211
211
|
variables?: GraphQLVariablesV6<FALLBACK_TYPES, TYPED_GQL_STRING>;
|
|
@@ -234,16 +234,16 @@ export type UnknownGraphQLResponse =
|
|
|
234
234
|
*/
|
|
235
235
|
export type GraphQLVariablesV6<
|
|
236
236
|
FALLBACK_TYPES = unknown,
|
|
237
|
-
TYPED_GQL_STRING extends string = string
|
|
237
|
+
TYPED_GQL_STRING extends string = string,
|
|
238
238
|
> = TYPED_GQL_STRING extends GeneratedQuery<infer IN, any>
|
|
239
239
|
? IN
|
|
240
240
|
: TYPED_GQL_STRING extends GeneratedMutation<infer IN, any>
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
241
|
+
? IN
|
|
242
|
+
: TYPED_GQL_STRING extends GeneratedSubscription<infer IN, any>
|
|
243
|
+
? IN
|
|
244
|
+
: FALLBACK_TYPES extends GraphQLOperationType<infer IN, any>
|
|
245
|
+
? IN
|
|
246
|
+
: any;
|
|
247
247
|
|
|
248
248
|
/**
|
|
249
249
|
* The expected return type with respect to the given `FALLBACK_TYPE`
|
|
@@ -251,20 +251,23 @@ export type GraphQLVariablesV6<
|
|
|
251
251
|
*/
|
|
252
252
|
export type GraphQLResponseV6<
|
|
253
253
|
FALLBACK_TYPE = unknown,
|
|
254
|
-
TYPED_GQL_STRING extends string = string
|
|
254
|
+
TYPED_GQL_STRING extends string = string,
|
|
255
255
|
> = TYPED_GQL_STRING extends GeneratedQuery<infer IN, infer QUERY_OUT>
|
|
256
256
|
? Promise<GraphQLResult<FixedQueryResult<QUERY_OUT>>>
|
|
257
257
|
: TYPED_GQL_STRING extends GeneratedMutation<infer IN, infer MUTATION_OUT>
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
258
|
+
? Promise<GraphQLResult<NeverEmpty<MUTATION_OUT>>>
|
|
259
|
+
: TYPED_GQL_STRING extends GeneratedSubscription<infer IN, infer SUB_OUT>
|
|
260
|
+
? GraphqlSubscriptionResult<NeverEmpty<SUB_OUT>>
|
|
261
|
+
: FALLBACK_TYPE extends GraphQLQuery<infer T>
|
|
262
|
+
? Promise<GraphQLResult<FALLBACK_TYPE>>
|
|
263
|
+
: FALLBACK_TYPE extends GraphQLSubscription<infer T>
|
|
264
|
+
? GraphqlSubscriptionResult<FALLBACK_TYPE>
|
|
265
|
+
: FALLBACK_TYPE extends GraphQLOperationType<
|
|
266
|
+
infer IN,
|
|
267
|
+
infer CUSTOM_OUT
|
|
268
|
+
>
|
|
269
|
+
? CUSTOM_OUT
|
|
270
|
+
: UnknownGraphQLResponse;
|
|
268
271
|
|
|
269
272
|
/**
|
|
270
273
|
* The shape customers can use to provide `T` to `graphql<T>()` to specify both
|
|
@@ -407,7 +410,7 @@ export type V6ClientSSRCookies<T extends Record<any, any> = never> =
|
|
|
407
410
|
|
|
408
411
|
export type GraphQLMethod = <
|
|
409
412
|
FALLBACK_TYPES = unknown,
|
|
410
|
-
TYPED_GQL_STRING extends string = string
|
|
413
|
+
TYPED_GQL_STRING extends string = string,
|
|
411
414
|
>(
|
|
412
415
|
options: GraphQLOptionsV6<FALLBACK_TYPES, TYPED_GQL_STRING>,
|
|
413
416
|
additionalHeaders?: CustomHeaders | undefined
|
|
@@ -415,7 +418,7 @@ export type GraphQLMethod = <
|
|
|
415
418
|
|
|
416
419
|
export type GraphQLMethodSSR = <
|
|
417
420
|
FALLBACK_TYPES = unknown,
|
|
418
|
-
TYPED_GQL_STRING extends string = string
|
|
421
|
+
TYPED_GQL_STRING extends string = string,
|
|
419
422
|
>(
|
|
420
423
|
contextSpec: AmplifyServer.ContextSpec,
|
|
421
424
|
options: GraphQLOptionsV6<FALLBACK_TYPES, TYPED_GQL_STRING>,
|