@aws-amplify/graphql-index-transformer
Advanced tools
Comparing version 2.3.8 to 2.3.9-gen2-release.0
@@ -6,2 +6,6 @@ # 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) | ||
**Note:** Version bump only for package @aws-amplify/graphql-index-transformer | ||
## [2.3.8](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-index-transformer@2.3.7...@aws-amplify/graphql-index-transformer@2.3.8) (2024-03-28) | ||
@@ -8,0 +12,0 @@ |
@@ -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 generateAuthExpressionForSandboxMode: (enabled: boolean) => string; | ||
export declare const generatePostAuthExpression: (isSandboxModeEnabled: boolean, genericIamAccessEnabled: boolean | undefined) => 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.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; | ||
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; | ||
const graphql_model_transformer_1 = require("@aws-amplify/graphql-model-transformer"); | ||
@@ -38,2 +38,3 @@ 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) => { | ||
@@ -378,3 +379,3 @@ var _a, _b, _c; | ||
])), `${queryTypeName}.${queryField}.res.vtl`)); | ||
resolver.addToSlot('postAuth', graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString((0, exports.generateAuthExpressionForSandboxMode)(ctx.transformParameters.sandboxModeEnabled), `${queryTypeName}.${queryField}.{slotName}.{slotIndex}.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.setScope(ctx.stackManager.getScopeFor(resolverResourceId, stackId)); | ||
@@ -569,11 +570,19 @@ ctx.resolvers.addResolver(queryTypeName, queryField, resolver); | ||
}; | ||
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)({}))])); | ||
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)({}))])); | ||
}; | ||
exports.generateAuthExpressionForSandboxMode = generateAuthExpressionForSandboxMode; | ||
exports.generatePostAuthExpression = generatePostAuthExpression; | ||
const getVTLGenerator = (dbType) => { | ||
@@ -580,0 +589,0 @@ switch (dbType) { |
@@ -9,2 +9,4 @@ "use strict"; | ||
const utils_1 = require("./utils"); | ||
const API_KEY_DIRECTIVE = 'aws_api_key'; | ||
const AWS_IAM_DIRECTIVE = 'aws_iam'; | ||
function addKeyConditionInputs(config, ctx) { | ||
@@ -244,4 +246,13 @@ const { object, sortKey } = config; | ||
args.push((0, graphql_transformer_common_1.makeInputValueDefinition)('sortDirection', (0, graphql_transformer_common_1.makeNamedType)('ModelSortDirection'))); | ||
if (!hasAuth && ctx.transformParameters.sandboxModeEnabled && ctx.authConfig.defaultAuthentication.authenticationType !== 'API_KEY') { | ||
directives.push((0, graphql_transformer_common_1.makeDirective)('aws_api_key', [])); | ||
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, [])); | ||
} | ||
} | ||
@@ -248,0 +259,0 @@ const queryFieldObj = (0, graphql_transformer_common_1.makeConnectionField)(queryField, object.name.value, args, directives); |
{ | ||
"name": "@aws-amplify/graphql-index-transformer", | ||
"version": "2.3.8", | ||
"version": "2.3.9-gen2-release.0", | ||
"description": "Amplify GraphQL index and key transformers", | ||
@@ -31,12 +31,12 @@ "repository": { | ||
"dependencies": { | ||
"@aws-amplify/graphql-directives": "1.0.1", | ||
"@aws-amplify/graphql-model-transformer": "2.7.0", | ||
"@aws-amplify/graphql-transformer-core": "2.5.1", | ||
"@aws-amplify/graphql-transformer-interfaces": "3.5.0", | ||
"@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", | ||
"graphql": "^15.5.0", | ||
"graphql-mapping-template": "4.20.15", | ||
"graphql-transformer-common": "4.29.0" | ||
"graphql-transformer-common": "4.29.1-gen2-release.0" | ||
}, | ||
"devDependencies": { | ||
"@aws-amplify/graphql-transformer-test-utils": "0.4.7" | ||
"@aws-amplify/graphql-transformer-test-utils": "0.4.8-gen2-release.0" | ||
}, | ||
@@ -81,3 +81,3 @@ "peerDependencies": { | ||
}, | ||
"gitHead": "ac8990dd06d7b6a29c079e84a7c1e23ec5708fc1" | ||
"gitHead": "a550843921e81b923214a9038b0725ac5e6b2b67" | ||
} |
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
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
244676
1628
2
+ Added@aws-amplify/graphql-directives@1.1.0-gen2-release.0(transitive)
+ Added@aws-amplify/graphql-model-transformer@2.7.1-gen2-release.0(transitive)
+ Added@aws-amplify/graphql-transformer-core@2.5.2-gen2-release.0(transitive)
+ Added@aws-amplify/graphql-transformer-interfaces@3.5.1-gen2-release.0(transitive)
+ Addedgraphql-transformer-common@4.29.1-gen2-release.0(transitive)
- Removed@aws-amplify/graphql-directives@1.0.1(transitive)
- Removed@aws-amplify/graphql-model-transformer@2.7.0(transitive)
- Removed@aws-amplify/graphql-transformer-core@2.5.1(transitive)
- Removed@aws-amplify/graphql-transformer-interfaces@3.5.0(transitive)
- Removedgraphql-transformer-common@4.29.0(transitive)
Updated@aws-amplify/graphql-model-transformer@2.7.1-gen2-release.0
Updated@aws-amplify/graphql-transformer-core@2.5.2-gen2-release.0
Updated@aws-amplify/graphql-transformer-interfaces@3.5.1-gen2-release.0