@aws-amplify/graphql-index-transformer
Advanced tools
Comparing version 2.4.0-gen2-release.0 to 2.4.0-gen2-release-0416.0
@@ -6,3 +6,3 @@ # Change Log | ||
# [2.4.0-gen2-release.0](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-index-transformer@2.3.8-gen2-release.0...@aws-amplify/graphql-index-transformer@2.4.0-gen2-release.0) (2024-03-28) | ||
# [2.4.0-gen2-release-0416.0](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-index-transformer@2.3.9...@aws-amplify/graphql-index-transformer@2.4.0-gen2-release-0416.0) (2024-04-16) | ||
@@ -13,6 +13,10 @@ ### Features | ||
## [2.3.8-gen2-release.0](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-gen2-release.0) (2024-03-27) | ||
## [2.3.9](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) (2024-04-11) | ||
**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) | ||
**Note:** Version bump only for package @aws-amplify/graphql-index-transformer | ||
## [2.3.7](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-index-transformer@2.3.6...@aws-amplify/graphql-index-transformer@2.3.7) (2024-03-13) | ||
@@ -19,0 +23,0 @@ |
@@ -5,2 +5,3 @@ "use strict"; | ||
const graphql_transformer_core_1 = require("@aws-amplify/graphql-transformer-core"); | ||
const graphql_directives_1 = require("@aws-amplify/graphql-directives"); | ||
const graphql_1 = require("graphql"); | ||
@@ -11,9 +12,5 @@ const graphql_transformer_common_1 = require("graphql-transformer-common"); | ||
const utils_1 = require("./utils"); | ||
const directiveName = 'index'; | ||
const directiveDefinition = ` | ||
directive @${directiveName}(name: String, sortKeyFields: [String], queryField: String) repeatable on FIELD_DEFINITION | ||
`; | ||
class IndexTransformer extends graphql_transformer_core_1.TransformerPluginBase { | ||
constructor() { | ||
super('amplify-index-transformer', directiveDefinition); | ||
super('amplify-index-transformer', graphql_directives_1.IndexDirective.definition); | ||
this.directiveList = []; | ||
@@ -98,3 +95,3 @@ this.resolverMap = new Map(); | ||
if (!modelDirective) { | ||
throw new graphql_transformer_core_1.InvalidDirectiveError(`The @${directiveName} directive may only be added to object definitions annotated with @model.`); | ||
throw new graphql_transformer_core_1.InvalidDirectiveError(`The @${graphql_directives_1.IndexDirective.name} directive may only be added to object definitions annotated with @model.`); | ||
} | ||
@@ -118,5 +115,5 @@ config.modelDirective = modelDirective; | ||
} | ||
if (peerDirective.name.value === directiveName && | ||
if (peerDirective.name.value === graphql_directives_1.IndexDirective.name && | ||
peerDirective.arguments.some((arg) => arg.name.value === 'name' && arg.value.value === name)) { | ||
throw new graphql_transformer_core_1.InvalidDirectiveError(`You may only supply one @${directiveName} with the name '${name}' on type '${object.name.value}'.`); | ||
throw new graphql_transformer_core_1.InvalidDirectiveError(`You may only supply one @${graphql_directives_1.IndexDirective.name} with the name '${name}' on type '${object.name.value}'.`); | ||
} | ||
@@ -123,0 +120,0 @@ } |
@@ -5,2 +5,3 @@ "use strict"; | ||
const graphql_transformer_core_1 = require("@aws-amplify/graphql-transformer-core"); | ||
const graphql_directives_1 = require("@aws-amplify/graphql-directives"); | ||
const graphql_1 = require("graphql"); | ||
@@ -11,9 +12,5 @@ const graphql_transformer_common_1 = require("graphql-transformer-common"); | ||
const utils_1 = require("./utils"); | ||
const directiveName = 'primaryKey'; | ||
const directiveDefinition = ` | ||
directive @${directiveName}(sortKeyFields: [String]) on FIELD_DEFINITION | ||
`; | ||
class PrimaryKeyTransformer extends graphql_transformer_core_1.TransformerPluginBase { | ||
constructor() { | ||
super('amplify-primary-key-transformer', directiveDefinition); | ||
super('amplify-primary-key-transformer', graphql_directives_1.PrimaryKeyDirective.definition); | ||
this.directiveList = []; | ||
@@ -75,3 +72,3 @@ this.resolverMap = new Map(); | ||
if (!modelDirective) { | ||
throw new graphql_transformer_core_1.InvalidDirectiveError(`The @${directiveName} directive may only be added to object definitions annotated with @model.`); | ||
throw new graphql_transformer_core_1.InvalidDirectiveError(`The @${graphql_directives_1.PrimaryKeyDirective.name} directive may only be added to object definitions annotated with @model.`); | ||
} | ||
@@ -86,3 +83,3 @@ config.modelDirective = modelDirective; | ||
for (const directive of objectField.directives) { | ||
if (directive.name.value === directiveName) { | ||
if (directive.name.value === graphql_directives_1.PrimaryKeyDirective.name) { | ||
throw new graphql_transformer_core_1.InvalidDirectiveError(`You may only supply one primary key on type '${object.name.value}'.`); | ||
@@ -89,0 +86,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: (isSandboxModeEnabled: boolean, genericIamAccessEnabled: boolean | undefined) => 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"); | ||
@@ -378,3 +378,3 @@ const graphql_transformer_core_1 = require("@aws-amplify/graphql-transformer-core"); | ||
])), `${queryTypeName}.${queryField}.res.vtl`)); | ||
resolver.addToSlot('postAuth', graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString((0, exports.generateAuthExpressionForSandboxMode)(ctx.transformParameters.sandboxModeEnabled, ctx.synthParameters.enableIamAccess), `${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,3 +569,3 @@ ctx.resolvers.addResolver(queryTypeName, queryField, resolver); | ||
}; | ||
const generateAuthExpressionForSandboxMode = (isSandboxModeEnabled, genericIamAccessEnabled) => { | ||
const generatePostAuthExpression = (isSandboxModeEnabled, genericIamAccessEnabled) => { | ||
const expressions = []; | ||
@@ -584,5 +584,5 @@ if (isSandboxModeEnabled) { | ||
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'}`)((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)({}))])); | ||
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) => { | ||
@@ -589,0 +589,0 @@ switch (dbType) { |
{ | ||
"name": "@aws-amplify/graphql-index-transformer", | ||
"version": "2.4.0-gen2-release.0", | ||
"version": "2.4.0-gen2-release-0416.0", | ||
"description": "Amplify GraphQL index and key transformers", | ||
@@ -31,11 +31,12 @@ "repository": { | ||
"dependencies": { | ||
"@aws-amplify/graphql-model-transformer": "2.7.0-gen2-release.1", | ||
"@aws-amplify/graphql-transformer-core": "2.5.1-gen2-release.1", | ||
"@aws-amplify/graphql-transformer-interfaces": "3.5.0-gen2-release.1", | ||
"@aws-amplify/graphql-directives": "1.1.0-gen2-release-0416.0", | ||
"@aws-amplify/graphql-model-transformer": "2.9.0-gen2-release-0416.0", | ||
"@aws-amplify/graphql-transformer-core": "2.6.1-gen2-release-0416.0", | ||
"@aws-amplify/graphql-transformer-interfaces": "3.7.0-gen2-release-0416.0", | ||
"graphql": "^15.5.0", | ||
"graphql-mapping-template": "4.20.15", | ||
"graphql-transformer-common": "4.29.0-gen2-release.0" | ||
"graphql-transformer-common": "4.30.1-gen2-release-0416.0" | ||
}, | ||
"devDependencies": { | ||
"@aws-amplify/graphql-transformer-test-utils": "0.4.7-gen2-release.1" | ||
"@aws-amplify/graphql-transformer-test-utils": "0.5.1-gen2-release-0416.0" | ||
}, | ||
@@ -80,3 +81,3 @@ "peerDependencies": { | ||
}, | ||
"gitHead": "8ca8bbf65e77c30c0089ca4c91b8b28f27f22973" | ||
"gitHead": "e15389f8057ebb0485f76961ff8a0d47ca322a7b" | ||
} |
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
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
245148
9
1628
+ Added@aws-amplify/graphql-directives@1.1.0-gen2-release-0416.0
+ Added@aws-amplify/graphql-directives@1.1.0-gen2-release-0416.0(transitive)
+ Added@aws-amplify/graphql-model-transformer@2.9.0-gen2-release-0416.0(transitive)
+ Added@aws-amplify/graphql-transformer-core@2.6.1-gen2-release-0416.0(transitive)
+ Added@aws-amplify/graphql-transformer-interfaces@3.7.0-gen2-release-0416.0(transitive)
+ Addedgraphql-transformer-common@4.30.1-gen2-release-0416.0(transitive)
- Removed@aws-amplify/graphql-model-transformer@2.7.0-gen2-release.1(transitive)
- Removed@aws-amplify/graphql-transformer-core@2.5.1-gen2-release.1(transitive)
- Removed@aws-amplify/graphql-transformer-interfaces@3.5.0-gen2-release.1(transitive)
- Removedgraphql-transformer-common@4.29.0-gen2-release.0(transitive)
Updated@aws-amplify/graphql-model-transformer@2.9.0-gen2-release-0416.0
Updated@aws-amplify/graphql-transformer-core@2.6.1-gen2-release-0416.0
Updated@aws-amplify/graphql-transformer-interfaces@3.7.0-gen2-release-0416.0
Updatedgraphql-transformer-common@4.30.1-gen2-release-0416.0