@aws-amplify/graphql-index-transformer
Advanced tools
Comparing version 2.3.9-gen2-release.0 to 2.3.9-sql-gen2.0
@@ -6,3 +6,3 @@ # Change Log | ||
## [2.3.9-gen2-release.0](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-index-transformer@2.4.0-gen2-release.0...@aws-amplify/graphql-index-transformer@2.3.9-gen2-release.0) (2024-03-29) | ||
## [2.3.9-sql-gen2.0](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-index-transformer@2.3.8...@aws-amplify/graphql-index-transformer@2.3.9-sql-gen2.0) (2024-04-02) | ||
@@ -9,0 +9,0 @@ **Note:** Version bump only for package @aws-amplify/graphql-index-transformer |
@@ -20,4 +20,4 @@ import { TransformerContextProvider, TransformerResolverProvider, ModelDataSourceStrategyDbType } from '@aws-amplify/graphql-transformer-interfaces'; | ||
export declare const constructSyncVTL: (syncVTLContent: string, resolver: TransformerResolverProvider) => void; | ||
export declare const generatePostAuthExpression: (isSandboxModeEnabled: boolean, genericIamAccessEnabled: boolean | undefined) => string; | ||
export declare const generateAuthExpressionForSandboxMode: (enabled: boolean) => string; | ||
export declare const getVTLGenerator: (dbType: ModelDataSourceStrategyDbType | undefined) => RDSIndexVTLGenerator | DynamoDBIndexVTLGenerator; | ||
//# sourceMappingURL=resolvers.d.ts.map |
@@ -26,3 +26,3 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.getVTLGenerator = exports.generatePostAuthExpression = exports.constructSyncVTL = exports.addIndexToResolverSlot = exports.mergeInputsAndDefaultsSnippet = exports.makeQueryResolver = exports.updateResolversForIndex = exports.overrideIndexAtCfnLevel = exports.appendSecondaryIndex = exports.validateSortDirectionInput = exports.setQuerySnippet = exports.ensureCompositeKeySnippet = exports.getResolverObject = exports.attributeTypeFromType = exports.updateResolvers = exports.replaceDdbPrimaryKey = void 0; | ||
exports.getVTLGenerator = exports.generateAuthExpressionForSandboxMode = exports.constructSyncVTL = exports.addIndexToResolverSlot = exports.mergeInputsAndDefaultsSnippet = exports.makeQueryResolver = exports.updateResolversForIndex = exports.overrideIndexAtCfnLevel = exports.appendSecondaryIndex = exports.validateSortDirectionInput = exports.setQuerySnippet = exports.ensureCompositeKeySnippet = exports.getResolverObject = exports.attributeTypeFromType = exports.updateResolvers = exports.replaceDdbPrimaryKey = void 0; | ||
const graphql_model_transformer_1 = require("@aws-amplify/graphql-model-transformer"); | ||
@@ -38,3 +38,2 @@ const graphql_transformer_core_1 = require("@aws-amplify/graphql-transformer-core"); | ||
const API_KEY = 'API Key Authorization'; | ||
const IAM_AUTH_TYPE = 'IAM Authorization'; | ||
const replaceDdbPrimaryKey = (config, ctx) => { | ||
@@ -379,3 +378,3 @@ var _a, _b, _c; | ||
])), `${queryTypeName}.${queryField}.res.vtl`)); | ||
resolver.addToSlot('postAuth', graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString((0, exports.generatePostAuthExpression)(ctx.transformParameters.sandboxModeEnabled, ctx.synthParameters.enableIamAccess), `${queryTypeName}.${queryField}.{slotName}.{slotIndex}.res.vtl`)); | ||
resolver.addToSlot('postAuth', graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString((0, exports.generateAuthExpressionForSandboxMode)(ctx.transformParameters.sandboxModeEnabled), `${queryTypeName}.${queryField}.{slotName}.{slotIndex}.res.vtl`)); | ||
resolver.setScope(ctx.stackManager.getScopeFor(resolverResourceId, stackId)); | ||
@@ -570,19 +569,11 @@ ctx.resolvers.addResolver(queryTypeName, queryField, resolver); | ||
}; | ||
const generatePostAuthExpression = (isSandboxModeEnabled, genericIamAccessEnabled) => { | ||
const expressions = []; | ||
if (isSandboxModeEnabled) { | ||
expressions.push((0, graphql_mapping_template_1.iff)((0, graphql_mapping_template_1.equals)((0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.authType')), (0, graphql_mapping_template_1.str)(API_KEY)), (0, graphql_mapping_template_1.ret)((0, graphql_mapping_template_1.toJson)((0, graphql_mapping_template_1.obj)({}))))); | ||
} | ||
if (genericIamAccessEnabled) { | ||
const isNonCognitoIAMPrincipal = (0, graphql_mapping_template_1.and)([ | ||
(0, graphql_mapping_template_1.equals)((0, graphql_mapping_template_1.ref)('util.authType()'), (0, graphql_mapping_template_1.str)(IAM_AUTH_TYPE)), | ||
(0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.isNull'), (0, graphql_mapping_template_1.ref)('ctx.identity.cognitoIdentityPoolId')), | ||
(0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.isNull'), (0, graphql_mapping_template_1.ref)('ctx.identity.cognitoIdentityId')), | ||
]); | ||
expressions.push((0, graphql_mapping_template_1.iff)(isNonCognitoIAMPrincipal, (0, graphql_mapping_template_1.ret)((0, graphql_mapping_template_1.toJson)((0, graphql_mapping_template_1.obj)({}))))); | ||
} | ||
expressions.push((0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.unauthorized'))); | ||
return (0, graphql_mapping_template_1.printBlock)(`Sandbox Mode ${isSandboxModeEnabled ? 'Enabled' : 'Disabled'}, IAM Access ${genericIamAccessEnabled ? 'Enabled' : 'Disabled'}`)((0, graphql_mapping_template_1.compoundExpression)([(0, graphql_mapping_template_1.iff)((0, graphql_mapping_template_1.not)((0, graphql_mapping_template_1.ref)('ctx.stash.get("hasAuth")')), (0, graphql_mapping_template_1.compoundExpression)(expressions)), (0, graphql_mapping_template_1.toJson)((0, graphql_mapping_template_1.obj)({}))])); | ||
const generateAuthExpressionForSandboxMode = (enabled) => { | ||
let exp; | ||
if (enabled) | ||
exp = (0, graphql_mapping_template_1.iff)((0, graphql_mapping_template_1.notEquals)((0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.authType')), (0, graphql_mapping_template_1.str)(API_KEY)), (0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.unauthorized'))); | ||
else | ||
exp = (0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.unauthorized')); | ||
return (0, graphql_mapping_template_1.printBlock)(`Sandbox Mode ${enabled ? 'Enabled' : 'Disabled'}`)((0, graphql_mapping_template_1.compoundExpression)([(0, graphql_mapping_template_1.iff)((0, graphql_mapping_template_1.not)((0, graphql_mapping_template_1.ref)('ctx.stash.get("hasAuth")')), exp), (0, graphql_mapping_template_1.toJson)((0, graphql_mapping_template_1.obj)({}))])); | ||
}; | ||
exports.generatePostAuthExpression = generatePostAuthExpression; | ||
exports.generateAuthExpressionForSandboxMode = generateAuthExpressionForSandboxMode; | ||
const getVTLGenerator = (dbType) => { | ||
@@ -589,0 +580,0 @@ switch (dbType) { |
@@ -9,4 +9,2 @@ "use strict"; | ||
const utils_1 = require("./utils"); | ||
const API_KEY_DIRECTIVE = 'aws_api_key'; | ||
const AWS_IAM_DIRECTIVE = 'aws_iam'; | ||
function addKeyConditionInputs(config, ctx) { | ||
@@ -246,13 +244,4 @@ const { object, sortKey } = config; | ||
args.push((0, graphql_transformer_common_1.makeInputValueDefinition)('sortDirection', (0, graphql_transformer_common_1.makeNamedType)('ModelSortDirection'))); | ||
if (!hasAuth) { | ||
if (ctx.transformParameters.sandboxModeEnabled && ctx.synthParameters.enableIamAccess) { | ||
directives.push((0, graphql_transformer_common_1.makeDirective)(API_KEY_DIRECTIVE, [])); | ||
directives.push((0, graphql_transformer_common_1.makeDirective)(AWS_IAM_DIRECTIVE, [])); | ||
} | ||
else if (ctx.transformParameters.sandboxModeEnabled && ctx.authConfig.defaultAuthentication.authenticationType !== 'API_KEY') { | ||
directives.push((0, graphql_transformer_common_1.makeDirective)(API_KEY_DIRECTIVE, [])); | ||
} | ||
else if (ctx.synthParameters.enableIamAccess && ctx.authConfig.defaultAuthentication.authenticationType !== 'AWS_IAM') { | ||
directives.push((0, graphql_transformer_common_1.makeDirective)(AWS_IAM_DIRECTIVE, [])); | ||
} | ||
if (!hasAuth && ctx.transformParameters.sandboxModeEnabled && ctx.authConfig.defaultAuthentication.authenticationType !== 'API_KEY') { | ||
directives.push((0, graphql_transformer_common_1.makeDirective)('aws_api_key', [])); | ||
} | ||
@@ -259,0 +248,0 @@ const queryFieldObj = (0, graphql_transformer_common_1.makeConnectionField)(queryField, object.name.value, args, directives); |
{ | ||
"name": "@aws-amplify/graphql-index-transformer", | ||
"version": "2.3.9-gen2-release.0", | ||
"version": "2.3.9-sql-gen2.0", | ||
"description": "Amplify GraphQL index and key transformers", | ||
@@ -31,12 +31,12 @@ "repository": { | ||
"dependencies": { | ||
"@aws-amplify/graphql-directives": "1.1.0-gen2-release.0", | ||
"@aws-amplify/graphql-model-transformer": "2.7.1-gen2-release.0", | ||
"@aws-amplify/graphql-transformer-core": "2.5.2-gen2-release.0", | ||
"@aws-amplify/graphql-transformer-interfaces": "3.5.1-gen2-release.0", | ||
"@aws-amplify/graphql-directives": "1.0.1", | ||
"@aws-amplify/graphql-model-transformer": "2.8.0-sql-gen2.0", | ||
"@aws-amplify/graphql-transformer-core": "2.5.2-sql-gen2.0", | ||
"@aws-amplify/graphql-transformer-interfaces": "3.6.0-sql-gen2.0", | ||
"graphql": "^15.5.0", | ||
"graphql-mapping-template": "4.20.15", | ||
"graphql-transformer-common": "4.29.1-gen2-release.0" | ||
"graphql-transformer-common": "4.29.0" | ||
}, | ||
"devDependencies": { | ||
"@aws-amplify/graphql-transformer-test-utils": "0.4.8-gen2-release.0" | ||
"@aws-amplify/graphql-transformer-test-utils": "0.4.8-sql-gen2.0" | ||
}, | ||
@@ -81,3 +81,3 @@ "peerDependencies": { | ||
}, | ||
"gitHead": "a550843921e81b923214a9038b0725ac5e6b2b67" | ||
"gitHead": "b28d05f89e8a528dbf1f03836044594b40566b3d" | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
241550
1608
+ Added@aws-amplify/graphql-directives@1.0.1(transitive)
+ Added@aws-amplify/graphql-model-transformer@2.8.0-sql-gen2.0(transitive)
+ Added@aws-amplify/graphql-transformer-core@2.5.2-sql-gen2.0(transitive)
+ Added@aws-amplify/graphql-transformer-interfaces@3.6.0-sql-gen2.0(transitive)
+ Addedgraphql-transformer-common@4.29.0(transitive)
- Removed@aws-amplify/graphql-directives@1.1.0-gen2-release.0(transitive)
- Removed@aws-amplify/graphql-model-transformer@2.7.1-gen2-release.0(transitive)
- Removed@aws-amplify/graphql-transformer-core@2.5.2-gen2-release.0(transitive)
- Removed@aws-amplify/graphql-transformer-interfaces@3.5.1-gen2-release.0(transitive)
- Removedgraphql-transformer-common@4.29.1-gen2-release.0(transitive)
Updated@aws-amplify/graphql-model-transformer@2.8.0-sql-gen2.0
Updated@aws-amplify/graphql-transformer-core@2.5.2-sql-gen2.0
Updated@aws-amplify/graphql-transformer-interfaces@3.6.0-sql-gen2.0