@aws-amplify/graphql-relational-transformer
Advanced tools
Comparing version 2.4.3-z-data-schema-generator.0 to 2.4.3
@@ -6,6 +6,8 @@ # Change Log | ||
## [2.4.3-z-data-schema-generator.0](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-relational-transformer@2.4.2...@aws-amplify/graphql-relational-transformer@2.4.3-z-data-schema-generator.0) (2024-04-05) | ||
## [2.4.3](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-relational-transformer@2.4.2...@aws-amplify/graphql-relational-transformer@2.4.3) (2024-04-11) | ||
**Note:** Version bump only for package @aws-amplify/graphql-relational-transformer | ||
### Bug Fixes | ||
- propagate mutation context to relational fields ([#2416](https://github.com/aws-amplify/amplify-category-api/issues/2416)) ([fd7f6fb](https://github.com/aws-amplify/amplify-category-api/commit/fd7f6fbc17c199331c4b04debaff69ea0424cd74)) | ||
## [2.4.2](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-relational-transformer@2.4.1...@aws-amplify/graphql-relational-transformer@2.4.2) (2024-03-28) | ||
@@ -12,0 +14,0 @@ |
@@ -9,2 +9,3 @@ "use strict"; | ||
const generator_1 = require("./generator"); | ||
const graphql_model_transformer_1 = require("@aws-amplify/graphql-model-transformer"); | ||
const SORT_KEY_VALUE = 'sortKeyValue'; | ||
@@ -102,3 +103,9 @@ const CONNECTION_STACK = 'ConnectionStack'; | ||
(0, graphql_mapping_template_1.ifElse)((0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.isNull'), (0, graphql_mapping_template_1.ref)(PARTITION_KEY_VALUE)), (0, graphql_mapping_template_1.compoundExpression)([(0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('result'), (0, graphql_mapping_template_1.obj)({ items: (0, graphql_mapping_template_1.list)([]) })), (0, graphql_mapping_template_1.raw)('#return($result)')]), (0, graphql_mapping_template_1.compoundExpression)([...setup, queryObj])), | ||
])), `${object.name.value}.${field.name.value}.req.vtl`), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString((0, graphql_mapping_template_1.print)(graphql_mapping_template_1.DynamoDBMappingTemplate.dynamoDBResponse(false, (0, graphql_mapping_template_1.compoundExpression)([(0, graphql_mapping_template_1.iff)((0, graphql_mapping_template_1.raw)('!$result'), (0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('result'), (0, graphql_mapping_template_1.ref)('ctx.result'))), (0, graphql_mapping_template_1.raw)('$util.toJson($result)')]))), `${object.name.value}.${field.name.value}.res.vtl`)); | ||
])), `${object.name.value}.${field.name.value}.req.vtl`), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString((0, graphql_mapping_template_1.print)(graphql_mapping_template_1.DynamoDBMappingTemplate.dynamoDBResponse(false, (0, graphql_mapping_template_1.compoundExpression)([ | ||
(0, graphql_mapping_template_1.iff)((0, graphql_mapping_template_1.raw)('!$result'), (0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('result'), (0, graphql_mapping_template_1.ref)('ctx.result'))), | ||
(0, graphql_mapping_template_1.compoundExpression)([ | ||
(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.defaultIfNull'), (0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('ctx.source.get'), (0, graphql_mapping_template_1.str)(graphql_model_transformer_1.OPERATION_KEY)), (0, graphql_mapping_template_1.nul)()), (0, graphql_mapping_template_1.str)('Mutation')), (0, graphql_mapping_template_1.forEach)((0, graphql_mapping_template_1.ref)('item'), (0, graphql_mapping_template_1.ref)('result.items'), [(0, graphql_mapping_template_1.qref)((0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('item.put'), (0, graphql_mapping_template_1.str)(graphql_model_transformer_1.OPERATION_KEY), (0, graphql_mapping_template_1.str)('Mutation')))])), | ||
(0, graphql_mapping_template_1.raw)('$util.toJson($result)'), | ||
]), | ||
]))), `${object.name.value}.${field.name.value}.res.vtl`)); | ||
resolver.setScope(ctx.stackManager.getScopeFor(resolverResourceId, CONNECTION_STACK)); | ||
@@ -156,3 +163,8 @@ ctx.resolvers.addResolver(object.name.value, field.name.value, resolver); | ||
])), | ||
])), `${object.name.value}.${field.name.value}.req.vtl`), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString((0, graphql_mapping_template_1.print)(graphql_mapping_template_1.DynamoDBMappingTemplate.dynamoDBResponse(false, (0, graphql_mapping_template_1.ifElse)((0, graphql_mapping_template_1.and)([(0, graphql_mapping_template_1.not)((0, graphql_mapping_template_1.ref)('ctx.result.items.isEmpty()')), (0, graphql_mapping_template_1.equals)((0, graphql_mapping_template_1.ref)('ctx.result.scannedCount'), (0, graphql_mapping_template_1.int)(1))]), (0, graphql_mapping_template_1.toJson)((0, graphql_mapping_template_1.ref)('ctx.result.items[0]')), (0, graphql_mapping_template_1.compoundExpression)([ | ||
])), `${object.name.value}.${field.name.value}.req.vtl`), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString((0, graphql_mapping_template_1.print)(graphql_mapping_template_1.DynamoDBMappingTemplate.dynamoDBResponse(false, (0, graphql_mapping_template_1.ifElse)((0, graphql_mapping_template_1.and)([(0, graphql_mapping_template_1.not)((0, graphql_mapping_template_1.ref)('ctx.result.items.isEmpty()')), (0, graphql_mapping_template_1.equals)((0, graphql_mapping_template_1.ref)('ctx.result.scannedCount'), (0, graphql_mapping_template_1.int)(1))]), (0, graphql_mapping_template_1.compoundExpression)([ | ||
(0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('resultValue'), (0, graphql_mapping_template_1.ref)('ctx.result.items[0]')), | ||
(0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('operation'), (0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.defaultIfNull'), (0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('ctx.source.get'), (0, graphql_mapping_template_1.str)(graphql_model_transformer_1.OPERATION_KEY)), (0, graphql_mapping_template_1.nul)())), | ||
(0, graphql_mapping_template_1.iff)((0, graphql_mapping_template_1.equals)((0, graphql_mapping_template_1.ref)('operation'), (0, graphql_mapping_template_1.str)('Mutation')), (0, graphql_mapping_template_1.qref)((0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('resultValue.put'), (0, graphql_mapping_template_1.str)(graphql_model_transformer_1.OPERATION_KEY), (0, graphql_mapping_template_1.str)('Mutation')))), | ||
(0, graphql_mapping_template_1.toJson)((0, graphql_mapping_template_1.ref)('resultValue')), | ||
]), (0, graphql_mapping_template_1.compoundExpression)([ | ||
(0, graphql_mapping_template_1.iff)((0, graphql_mapping_template_1.and)([(0, graphql_mapping_template_1.ref)('ctx.result.items.isEmpty()'), (0, graphql_mapping_template_1.equals)((0, graphql_mapping_template_1.ref)('ctx.result.scannedCount'), (0, graphql_mapping_template_1.int)(1))]), (0, graphql_mapping_template_1.ref)('util.unauthorized()')), | ||
@@ -159,0 +171,0 @@ (0, graphql_mapping_template_1.toJson)((0, graphql_mapping_template_1.nul)()), |
@@ -9,3 +9,4 @@ import { TransformerContextProvider } from '@aws-amplify/graphql-transformer-interfaces'; | ||
generateHasOneLambdaRequestTemplate: (tableName: string, operation: string, operationName: string, joinCondition: Expression[], relatedTypePrimaryKeys: string[]) => string; | ||
generateConnectionLambdaResponseMappingTemplate: () => string; | ||
generateSingleItemConnectionLambdaResponseMappingTemplate: () => string; | ||
generateListConnectionLambdaResponseMappingTemplate: () => string; | ||
makeHasOneGetItemConnectionWithKeyResolver: (config: HasOneDirectiveConfiguration | BelongsToDirectiveConfiguration, ctx: TransformerContextProvider) => void; | ||
@@ -12,0 +13,0 @@ makeBelongsToGetItemConnectionWithKeyResolver: (config: BelongsToDirectiveConfiguration, ctx: TransformerContextProvider) => void; |
@@ -8,2 +8,3 @@ "use strict"; | ||
const generator_1 = require("./generator"); | ||
const graphql_model_transformer_1 = require("@aws-amplify/graphql-model-transformer"); | ||
const CONNECTION_STACK = 'ConnectionStack'; | ||
@@ -28,3 +29,3 @@ class RDSRelationalResolverGenerator extends generator_1.RelationalResolverGenerator { | ||
const resolverResourceId = graphql_transformer_common_1.ResolverResourceIDs.ResolverResourceID(object.name.value, field.name.value); | ||
const resolver = ctx.resolvers.generateQueryResolver(object.name.value, field.name.value, resolverResourceId, dataSource, graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(this.generateHasManyLambdaRequestTemplate(mappedTableName, 'LIST', 'ConnectionQuery', connectionCondition), `${object.name.value}.${field.name.value}.req.vtl`), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(this.generateConnectionLambdaResponseMappingTemplate(), `${object.name.value}.${field.name.value}.res.vtl`)); | ||
const resolver = ctx.resolvers.generateQueryResolver(object.name.value, field.name.value, resolverResourceId, dataSource, graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(this.generateHasManyLambdaRequestTemplate(mappedTableName, 'LIST', 'ConnectionQuery', connectionCondition), `${object.name.value}.${field.name.value}.req.vtl`), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(this.generateListConnectionLambdaResponseMappingTemplate(), `${object.name.value}.${field.name.value}.res.vtl`)); | ||
resolver.setScope(ctx.stackManager.getScopeFor(resolverResourceId, CONNECTION_STACK)); | ||
@@ -76,7 +77,21 @@ ctx.resolvers.addResolver(object.name.value, field.name.value, resolver); | ||
}; | ||
this.generateConnectionLambdaResponseMappingTemplate = () => { | ||
this.generateSingleItemConnectionLambdaResponseMappingTemplate = () => { | ||
const statements = []; | ||
statements.push((0, graphql_mapping_template_1.ifElse)((0, graphql_mapping_template_1.ref)('ctx.error'), (0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.error'), (0, graphql_mapping_template_1.ref)('ctx.error.message'), (0, graphql_mapping_template_1.ref)('ctx.error.type')), (0, graphql_mapping_template_1.toJson)((0, graphql_mapping_template_1.ref)('ctx.result')))); | ||
statements.push((0, graphql_mapping_template_1.ifElse)((0, graphql_mapping_template_1.ref)('ctx.error'), (0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.error'), (0, graphql_mapping_template_1.ref)('ctx.error.message'), (0, graphql_mapping_template_1.ref)('ctx.error.type')), (0, graphql_mapping_template_1.compoundExpression)([ | ||
(0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('resultValue'), (0, graphql_mapping_template_1.ref)('ctx.result')), | ||
(0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('operation'), (0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.defaultIfNull'), (0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('ctx.source.get'), (0, graphql_mapping_template_1.str)(graphql_model_transformer_1.OPERATION_KEY)), (0, graphql_mapping_template_1.nul)())), | ||
(0, graphql_mapping_template_1.iff)((0, graphql_mapping_template_1.equals)((0, graphql_mapping_template_1.ref)('operation'), (0, graphql_mapping_template_1.str)('Mutation')), (0, graphql_mapping_template_1.qref)((0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('resultValue.put'), (0, graphql_mapping_template_1.str)(graphql_model_transformer_1.OPERATION_KEY), (0, graphql_mapping_template_1.str)('Mutation')))), | ||
(0, graphql_mapping_template_1.toJson)((0, graphql_mapping_template_1.ref)('resultValue')), | ||
]))); | ||
return (0, graphql_mapping_template_1.printBlock)('ResponseTemplate')((0, graphql_mapping_template_1.compoundExpression)(statements)); | ||
}; | ||
this.generateListConnectionLambdaResponseMappingTemplate = () => { | ||
const statements = []; | ||
statements.push((0, graphql_mapping_template_1.ifElse)((0, graphql_mapping_template_1.ref)('ctx.error'), (0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.error'), (0, graphql_mapping_template_1.ref)('ctx.error.message'), (0, graphql_mapping_template_1.ref)('ctx.error.type')), (0, graphql_mapping_template_1.compoundExpression)([ | ||
(0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('resultValue'), (0, graphql_mapping_template_1.ref)('ctx.result')), | ||
(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.defaultIfNull'), (0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('ctx.source.get'), (0, graphql_mapping_template_1.str)(graphql_model_transformer_1.OPERATION_KEY)), (0, graphql_mapping_template_1.nul)()), (0, graphql_mapping_template_1.str)('Mutation')), (0, graphql_mapping_template_1.forEach)((0, graphql_mapping_template_1.ref)('item'), (0, graphql_mapping_template_1.ref)('resultValue.items'), [(0, graphql_mapping_template_1.qref)((0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('item.put'), (0, graphql_mapping_template_1.str)(graphql_model_transformer_1.OPERATION_KEY), (0, graphql_mapping_template_1.str)('Mutation')))])), | ||
(0, graphql_mapping_template_1.raw)('$util.toJson($resultValue)'), | ||
]))); | ||
return (0, graphql_mapping_template_1.printBlock)('ResponseTemplate')((0, graphql_mapping_template_1.compoundExpression)(statements)); | ||
}; | ||
this.makeHasOneGetItemConnectionWithKeyResolver = (config, ctx) => { | ||
@@ -98,3 +113,3 @@ const { field, references, object, relatedType } = config; | ||
const resolverResourceId = graphql_transformer_common_1.ResolverResourceIDs.ResolverResourceID(object.name.value, field.name.value); | ||
const resolver = ctx.resolvers.generateQueryResolver(object.name.value, field.name.value, resolverResourceId, dataSource, graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(this.generateHasOneLambdaRequestTemplate(mappedTableName, 'GET_FIRST', 'GetItemConnectionQuery', connectionCondition, relatedTypePrimaryKeys), `${object.name.value}.${field.name.value}.req.vtl`), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(this.generateConnectionLambdaResponseMappingTemplate(), `${object.name.value}.${field.name.value}.res.vtl`)); | ||
const resolver = ctx.resolvers.generateQueryResolver(object.name.value, field.name.value, resolverResourceId, dataSource, graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(this.generateHasOneLambdaRequestTemplate(mappedTableName, 'GET_FIRST', 'GetItemConnectionQuery', connectionCondition, relatedTypePrimaryKeys), `${object.name.value}.${field.name.value}.req.vtl`), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(this.generateSingleItemConnectionLambdaResponseMappingTemplate(), `${object.name.value}.${field.name.value}.res.vtl`)); | ||
resolver.setScope(ctx.stackManager.getScopeFor(resolverResourceId, CONNECTION_STACK)); | ||
@@ -118,3 +133,3 @@ ctx.resolvers.addResolver(object.name.value, field.name.value, resolver); | ||
const resolverResourceId = graphql_transformer_common_1.ResolverResourceIDs.ResolverResourceID(object.name.value, field.name.value); | ||
const resolver = ctx.resolvers.generateQueryResolver(object.name.value, field.name.value, resolverResourceId, dataSource, graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(this.generateHasOneLambdaRequestTemplate(mappedTableName, 'GET', 'BelongsToConnectionQuery', connectionCondition, primaryKeys), `${object.name.value}.${field.name.value}.req.vtl`), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(this.generateConnectionLambdaResponseMappingTemplate(), `${object.name.value}.${field.name.value}.res.vtl`)); | ||
const resolver = ctx.resolvers.generateQueryResolver(object.name.value, field.name.value, resolverResourceId, dataSource, graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(this.generateHasOneLambdaRequestTemplate(mappedTableName, 'GET', 'BelongsToConnectionQuery', connectionCondition, primaryKeys), `${object.name.value}.${field.name.value}.req.vtl`), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(this.generateSingleItemConnectionLambdaResponseMappingTemplate(), `${object.name.value}.${field.name.value}.res.vtl`)); | ||
resolver.setScope(ctx.stackManager.getScopeFor(resolverResourceId, CONNECTION_STACK)); | ||
@@ -121,0 +136,0 @@ ctx.resolvers.addResolver(object.name.value, field.name.value, resolver); |
{ | ||
"name": "@aws-amplify/graphql-relational-transformer", | ||
"version": "2.4.3-z-data-schema-generator.0", | ||
"version": "2.4.3", | ||
"description": "Amplify GraphQL relational modeling transformers", | ||
@@ -32,13 +32,13 @@ "repository": { | ||
"@aws-amplify/graphql-directives": "1.0.1", | ||
"@aws-amplify/graphql-index-transformer": "2.3.9-z-data-schema-generator.0", | ||
"@aws-amplify/graphql-model-transformer": "2.8.0-z-data-schema-generator.0", | ||
"@aws-amplify/graphql-transformer-core": "2.6.0-z-data-schema-generator.0", | ||
"@aws-amplify/graphql-transformer-interfaces": "3.6.0-z-data-schema-generator.0", | ||
"@aws-amplify/graphql-index-transformer": "2.3.9", | ||
"@aws-amplify/graphql-model-transformer": "2.8.0", | ||
"@aws-amplify/graphql-transformer-core": "2.6.0", | ||
"@aws-amplify/graphql-transformer-interfaces": "3.6.0", | ||
"graphql": "^15.5.0", | ||
"graphql-mapping-template": "4.20.15", | ||
"graphql-transformer-common": "4.30.0-z-data-schema-generator.0", | ||
"graphql-transformer-common": "4.30.0", | ||
"immer": "^9.0.12" | ||
}, | ||
"devDependencies": { | ||
"@aws-amplify/graphql-transformer-test-utils": "0.5.0-z-data-schema-generator.0" | ||
"@aws-amplify/graphql-transformer-test-utils": "0.5.0" | ||
}, | ||
@@ -83,3 +83,3 @@ "peerDependencies": { | ||
}, | ||
"gitHead": "fedc7c8d8dad7969950662507dfe2f6b07a8aee0" | ||
"gitHead": "1f63fca870b3485093cbb62ef3b5e4923455b0c1" | ||
} |
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
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
377932
2491
1
+ Added@aws-amplify/graphql-index-transformer@2.3.9(transitive)
+ Added@aws-amplify/graphql-model-transformer@2.8.0(transitive)
+ Added@aws-amplify/graphql-transformer-core@2.6.0(transitive)
+ Added@aws-amplify/graphql-transformer-interfaces@3.6.0(transitive)
+ Addedgraphql-transformer-common@4.30.0(transitive)
- Removed@aws-amplify/graphql-index-transformer@2.3.9-z-data-schema-generator.0(transitive)
- Removed@aws-amplify/graphql-model-transformer@2.8.0-z-data-schema-generator.0(transitive)
- Removed@aws-amplify/graphql-transformer-core@2.6.0-z-data-schema-generator.0(transitive)
- Removed@aws-amplify/graphql-transformer-interfaces@3.6.0-z-data-schema-generator.0(transitive)
- Removedgraphql-transformer-common@4.30.0-z-data-schema-generator.0(transitive)