@aws-amplify/graphql-api-construct 1.4.0-construct-publish-test.0 → 1.4.0-nov-14-cut.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/.jsii +642 -192
- package/API.md +51 -13
- package/CHANGELOG.md +7 -1
- package/README.md +414 -88
- package/lib/amplify-dynamodb-table-wrapper.js +1 -1
- package/lib/amplify-graphql-api.d.ts +7 -0
- package/lib/amplify-graphql-api.js +69 -6
- package/lib/amplify-graphql-definition.d.ts +21 -10
- package/lib/amplify-graphql-definition.js +33 -21
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/internal/data-source-config.d.ts +6 -2
- package/lib/internal/data-source-config.js +19 -7
- package/lib/internal/default-parameters.js +2 -1
- package/lib/internal/model-type-name.d.ts +2 -2
- package/lib/internal/model-type-name.js +25 -15
- package/lib/sql-model-datasource-strategy.d.ts +25 -0
- package/lib/sql-model-datasource-strategy.js +57 -0
- package/lib/types.d.ts +160 -40
- package/lib/types.js +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/API.md +5 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/CHANGELOG.md +14 -2
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.d.ts +3 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.js +64 -50
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/index.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/index.js +3 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/index.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/schema.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/schema.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/validations.d.ts +3 -2
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/validations.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/validations.js +4 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/validations.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/ddb-vtl-generator.d.ts +20 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/ddb-vtl-generator.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/ddb-vtl-generator.js +24 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/ddb-vtl-generator.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/field.d.ts +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/field.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/field.js +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/field.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/helpers.d.ts +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/helpers.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/helpers.js +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/helpers.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/index.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/index.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/mutation.create.d.ts +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.create.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/mutation.create.js +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.create.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/mutation.delete.d.ts +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.delete.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/mutation.delete.js +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.delete.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/mutation.update.d.ts +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.update.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/mutation.update.js +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.update.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/query.d.ts +6 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/query.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/query.js +28 -3
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/query.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/search.d.ts +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/search.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/search.js +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/search.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/subscriptions.d.ts +3 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/subscriptions.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/subscriptions.js +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/subscriptions.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/rds-vtl-generator.d.ts +20 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/rds-vtl-generator.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/rds-vtl-generator.js +24 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/rds-vtl-generator.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/common.d.ts +13 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/common.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/common.js +157 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/common.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/index.d.ts +5 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/index.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/index.js +21 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/index.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/mutation.d.ts +8 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/mutation.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/mutation.js +56 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/mutation.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/query.d.ts +8 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/query.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/query.js +41 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/query.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers/subscriptions.d.ts → vtl-generator/rds/resolvers/subscription.d.ts} +2 -2
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/subscription.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/subscription.js +18 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/subscription.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/vtl-generator.d.ts +19 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/vtl-generator.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/vtl-generator.js +3 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/vtl-generator.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/package.json +10 -10
- package/node_modules/@aws-amplify/graphql-default-value-transformer/CHANGELOG.md +4 -2
- package/node_modules/@aws-amplify/graphql-default-value-transformer/lib/graphql-default-value-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-default-value-transformer/lib/graphql-default-value-transformer.js +13 -1
- package/node_modules/@aws-amplify/graphql-default-value-transformer/lib/graphql-default-value-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-default-value-transformer/package.json +7 -7
- package/node_modules/@aws-amplify/graphql-function-transformer/CHANGELOG.md +1 -1
- package/node_modules/@aws-amplify/graphql-function-transformer/package.json +6 -6
- package/node_modules/@aws-amplify/graphql-http-transformer/CHANGELOG.md +1 -1
- package/node_modules/@aws-amplify/graphql-http-transformer/package.json +6 -6
- package/node_modules/@aws-amplify/graphql-index-transformer/API.md +2 -2
- package/node_modules/@aws-amplify/graphql-index-transformer/CHANGELOG.md +4 -1
- package/node_modules/@aws-amplify/graphql-index-transformer/lib/graphql-primary-key-transformer.d.ts +1 -1
- package/node_modules/@aws-amplify/graphql-index-transformer/lib/graphql-primary-key-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-index-transformer/lib/graphql-primary-key-transformer.js +7 -7
- package/node_modules/@aws-amplify/graphql-index-transformer/lib/graphql-primary-key-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/generators/rds-vtl-generator.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/generators/rds-vtl-generator.js +4 -1
- package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/generators/rds-vtl-generator.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/resolvers.d.ts +17 -16
- package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/resolvers.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/resolvers.js +132 -117
- package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/resolvers.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-index-transformer/package.json +7 -7
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/API.md +15 -0
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/CHANGELOG.md +10 -2
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/assets/mapping-lambda.zip +0 -0
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/field-mapping-resolvers.d.ts +1 -0
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/field-mapping-resolvers.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/field-mapping-resolvers.js +13 -1
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/field-mapping-resolvers.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-maps-to-transformer.d.ts +2 -1
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-maps-to-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-maps-to-transformer.js +16 -33
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-maps-to-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-name-mapping.d.ts +10 -0
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-name-mapping.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-name-mapping.js +102 -0
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-name-mapping.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-refers-to-transformer.d.ts +13 -0
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-refers-to-transformer.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-refers-to-transformer.js +81 -0
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-refers-to-transformer.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/index.d.ts +1 -0
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/index.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/index.js +3 -1
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/index.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/package.json +12 -12
- package/node_modules/@aws-amplify/graphql-model-transformer/API.md +15 -15
- package/node_modules/@aws-amplify/graphql-model-transformer/CHANGELOG.md +16 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-model-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-model-transformer.js +28 -13
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-model-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-types/mutation.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-types/mutation.js +9 -2
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-types/mutation.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-lambda.zip +0 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-notification-lambda.zip +0 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-patching-lambda.zip +0 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/dynamodb-vtl-generator.d.ts +6 -5
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/dynamodb-vtl-generator.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/dynamodb-vtl-generator.js +5 -5
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/dynamodb-vtl-generator.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/rds-vtl-generator.d.ts +6 -5
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/rds-vtl-generator.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/rds-vtl-generator.js +11 -11
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/rds-vtl-generator.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/vtl-generator.d.ts +6 -5
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/vtl-generator.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/mutation.d.ts +4 -3
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/mutation.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/mutation.js +74 -55
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/mutation.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/query.d.ts +2 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/query.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/query.js +8 -2
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/query.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.d.ts +11 -4
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.js +141 -45
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.d.ts +0 -2
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.js +7 -5
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamodb-table-construct/index.d.ts +1 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamodb-table-construct/index.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamodb-table-construct/index.js +2 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamodb-table-construct/index.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/amplify-table-manager-handler.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/amplify-table-manager-handler.js +53 -30
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/amplify-table-manager-handler.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/model-resource-generator.js +5 -5
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/model-resource-generator.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/rds-model-resource-generator.d.ts +1 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/rds-model-resource-generator.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/rds-model-resource-generator.js +29 -2
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/rds-model-resource-generator.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/package.json +9 -9
- package/node_modules/@aws-amplify/graphql-predictions-transformer/CHANGELOG.md +1 -1
- package/node_modules/@aws-amplify/graphql-predictions-transformer/lib/predictionsLambdaFunction.zip +0 -0
- package/node_modules/@aws-amplify/graphql-predictions-transformer/package.json +6 -6
- package/node_modules/@aws-amplify/graphql-relational-transformer/CHANGELOG.md +5 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-belongs-to-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-belongs-to-transformer.js +41 -9
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-belongs-to-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-many-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-many-transformer.js +35 -8
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-many-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-one-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-one-transformer.js +30 -8
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-one-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-many-to-many-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-many-to-many-transformer.js +3 -2
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-many-to-many-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/ddb-generator.d.ts +13 -0
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/ddb-generator.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/ddb-generator.js +171 -0
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/ddb-generator.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator-factory.d.ts +4 -0
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator-factory.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator-factory.js +18 -0
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator-factory.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator.d.ts +8 -0
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator.js +7 -0
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/rds-generator.d.ts +14 -0
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/rds-generator.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/rds-generator.js +115 -0
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/rds-generator.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolvers.d.ts +5 -5
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolvers.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolvers.js +23 -169
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolvers.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/schema.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/schema.js +14 -8
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/schema.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/types.d.ts +4 -0
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/types.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.d.ts +5 -0
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.js +85 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/package.json +9 -9
- package/node_modules/@aws-amplify/graphql-searchable-transformer/CHANGELOG.md +4 -2
- package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/graphql-searchable-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/graphql-searchable-transformer.js +3 -0
- package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/graphql-searchable-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/streaming-lambda.zip +0 -0
- package/node_modules/@aws-amplify/graphql-searchable-transformer/package.json +7 -7
- package/node_modules/@aws-amplify/graphql-sql-transformer/API.md +26 -0
- package/node_modules/@aws-amplify/graphql-sql-transformer/CHANGELOG.md +10 -0
- package/node_modules/@aws-amplify/graphql-sql-transformer/LICENSE +201 -0
- package/node_modules/@aws-amplify/graphql-sql-transformer/README.md +13 -0
- package/node_modules/@aws-amplify/graphql-sql-transformer/lib/graphql-sql-transformer.d.ts +12 -0
- package/node_modules/@aws-amplify/graphql-sql-transformer/lib/graphql-sql-transformer.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-sql-transformer/lib/graphql-sql-transformer.js +132 -0
- package/node_modules/@aws-amplify/graphql-sql-transformer/lib/graphql-sql-transformer.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-sql-transformer/lib/index.d.ts +2 -0
- package/node_modules/@aws-amplify/graphql-sql-transformer/lib/index.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-sql-transformer/lib/index.js +6 -0
- package/node_modules/@aws-amplify/graphql-sql-transformer/lib/index.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-sql-transformer/package.json +71 -0
- package/node_modules/@aws-amplify/graphql-transformer/API.md +4 -0
- package/node_modules/@aws-amplify/graphql-transformer/CHANGELOG.md +10 -1
- package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.d.ts +4 -1
- package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.js +7 -2
- package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer/package.json +15 -14
- package/node_modules/@aws-amplify/graphql-transformer/src/graphql-transformer.ts +12 -2
- package/node_modules/@aws-amplify/graphql-transformer-core/API.md +32 -4
- package/node_modules/@aws-amplify/graphql-transformer-core/CHANGELOG.md +14 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.d.ts +2 -2
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.js +9 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transform-host.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transform-host.js +2 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transform-host.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/sync-utils.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/sync-utils.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.d.ts +4 -3
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.js +3 -3
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/types.d.ts +1 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/types.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/datasource.d.ts +4 -5
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/datasource.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/datasource.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.d.ts +5 -3
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.js +3 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/transform-parameters.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/transform-parameters.js +1 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/transform-parameters.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/import-appsync-api-types.d.ts +5 -4
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/import-appsync-api-types.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/import-appsync-api-types.js +3 -2
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/import-appsync-api-types.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/index.d.ts +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/index.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/index.js +2 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/index.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/api-category.d.ts +2 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/api-category.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/api-category.js +5 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/api-category.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/index.d.ts +3 -2
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/index.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/index.js +14 -3
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/index.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-util.d.ts +3 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-util.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-util.js +19 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-util.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-util.d.ts +12 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-util.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-util.js +82 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-util.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/schema-utils.d.ts +3 -2
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/schema-utils.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/schema-utils.js +7 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/schema-utils.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/wrappers/object-definition-wrapper.d.ts +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/wrappers/object-definition-wrapper.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/package.json +4 -4
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/API.md +46 -14
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/CHANGELOG.md +6 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/graphql-api-provider.d.ts +15 -8
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/graphql-api-provider.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/graphql-api-provider.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/index.d.ts +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/index.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/index.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/index.d.ts +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/index.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/index.js +2 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/index.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transform-parameters.d.ts +1 -0
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transform-parameters.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-context-provider.d.ts +3 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-context-provider.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-datasource-provider.d.ts +9 -5
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-datasource-provider.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-datasource-provider.js +5 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-datasource-provider.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/package.json +2 -2
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/graphql-api-provider.ts +38 -11
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/index.ts +3 -0
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/transformer-context/index.ts +2 -0
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/transformer-context/transform-parameters.ts +1 -0
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/transformer-context/transformer-context-provider.ts +9 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/transformer-context/transformer-datasource-provider.ts +28 -7
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/tsconfig.tsbuildinfo +1 -1
- package/node_modules/graphql-transformer-common/API.md +22 -0
- package/node_modules/graphql-transformer-common/CHANGELOG.md +8 -1
- package/node_modules/graphql-transformer-common/lib/ResourceConstants.d.ts +1 -0
- package/node_modules/graphql-transformer-common/lib/ResourceConstants.d.ts.map +1 -1
- package/node_modules/graphql-transformer-common/lib/ResourceConstants.js +1 -0
- package/node_modules/graphql-transformer-common/lib/ResourceConstants.js.map +1 -1
- package/node_modules/graphql-transformer-common/lib/definition.d.ts +9 -2
- package/node_modules/graphql-transformer-common/lib/definition.d.ts.map +1 -1
- package/node_modules/graphql-transformer-common/lib/definition.js +52 -1
- package/node_modules/graphql-transformer-common/lib/definition.js.map +1 -1
- package/node_modules/graphql-transformer-common/lib/util.d.ts.map +1 -1
- package/node_modules/graphql-transformer-common/lib/util.js +3 -1
- package/node_modules/graphql-transformer-common/lib/util.js.map +1 -1
- package/node_modules/graphql-transformer-common/package.json +5 -5
- package/package.json +31 -29
- package/src/amplify-graphql-api.ts +82 -5
- package/src/amplify-graphql-definition.ts +34 -21
- package/src/index.ts +14 -5
- package/src/internal/data-source-config.ts +27 -9
- package/src/internal/default-parameters.ts +1 -0
- package/src/internal/model-type-name.ts +28 -19
- package/src/sql-model-datasource-strategy.ts +62 -0
- package/src/types.ts +190 -45
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/field.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/field.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/helpers.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/helpers.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/index.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/index.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.create.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.create.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.delete.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.delete.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.update.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.update.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/query.d.ts +0 -6
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/query.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/query.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/search.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/search.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/subscriptions.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/subscriptions.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-secret-utils.d.ts +0 -2
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-secret-utils.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-secret-utils.js +0 -25
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-secret-utils.js.map +0 -1
- /package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/index.d.ts +0 -0
- /package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/index.js +0 -0
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.parseDataSourceConfig = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
// TODO: Do away with this after we normalize database types throughout the internals
|
|
5
|
+
const convertSQLDBType = (definitionDBType) => (definitionDBType === 'MYSQL' ? 'MySQL' : 'Postgres');
|
|
6
|
+
const convertToDataSourceType = (dataSourceStrategy) => {
|
|
7
|
+
if (dataSourceStrategy.dbType === 'DYNAMODB') {
|
|
8
|
+
switch (dataSourceStrategy.provisionStrategy) {
|
|
8
9
|
case 'DEFAULT':
|
|
9
10
|
return {
|
|
10
11
|
dbType: 'DDB',
|
|
@@ -18,11 +19,22 @@ const convertToDataSourceType = (modelDataSourceDefinition) => {
|
|
|
18
19
|
provisionStrategy: "AMPLIFY_TABLE" /* DynamoDBProvisionStrategy.AMPLIFY_TABLE */,
|
|
19
20
|
};
|
|
20
21
|
default:
|
|
21
|
-
throw new Error(`Encountered unexpected provision strategy: ${
|
|
22
|
+
throw new Error(`Encountered unexpected provision strategy: ${dataSourceStrategy.provisionStrategy}`);
|
|
22
23
|
}
|
|
23
24
|
}
|
|
24
|
-
|
|
25
|
+
else if (dataSourceStrategy.dbType === 'MYSQL' || dataSourceStrategy.dbType === 'POSTGRES') {
|
|
26
|
+
return {
|
|
27
|
+
dbType: convertSQLDBType(dataSourceStrategy.dbType),
|
|
28
|
+
provisionDB: false,
|
|
29
|
+
provisionStrategy: "DEFAULT" /* SQLLambdaModelProvisionStrategy.DEFAULT */,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
throw new Error(`Encountered unexpected database type ${dataSourceStrategy.dbType}`);
|
|
25
33
|
};
|
|
34
|
+
/**
|
|
35
|
+
* An internal helper to convert from a map of model-to-ModelDataSourceStrategies to the map of model-to-DataSourceTypes that internal
|
|
36
|
+
* transform processing requires. TODO: We can remove this once we refactor the internals to use ModelDataSourceStrategies natively.
|
|
37
|
+
*/
|
|
26
38
|
const parseDataSourceConfig = (dataSourceDefinitionMap) => {
|
|
27
39
|
const modelToDatasourceMap = new Map();
|
|
28
40
|
for (const [key, value] of Object.entries(dataSourceDefinitionMap)) {
|
|
@@ -34,4 +46,4 @@ const parseDataSourceConfig = (dataSourceDefinitionMap) => {
|
|
|
34
46
|
};
|
|
35
47
|
};
|
|
36
48
|
exports.parseDataSourceConfig = parseDataSourceConfig;
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVybmFsL2RhdGEtc291cmNlLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFZQSxxRkFBcUY7QUFDckYsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLGdCQUFzQyxFQUFhLEVBQUUsQ0FBQyxDQUFDLGdCQUFnQixLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUV0SSxNQUFNLHVCQUF1QixHQUFHLENBQUMsa0JBQTJDLEVBQWtCLEVBQUU7SUFDOUYsSUFBSSxrQkFBa0IsQ0FBQyxNQUFNLEtBQUssVUFBVSxFQUFFO1FBQzVDLFFBQVEsa0JBQWtCLENBQUMsaUJBQWlCLEVBQUU7WUFDNUMsS0FBSyxTQUFTO2dCQUNaLE9BQU87b0JBQ0wsTUFBTSxFQUFFLEtBQUs7b0JBQ2IsV0FBVyxFQUFFLElBQUk7b0JBQ2pCLGlCQUFpQixtREFBbUM7aUJBQ3JELENBQUM7WUFDSixLQUFLLGVBQWU7Z0JBQ2xCLE9BQU87b0JBQ0wsTUFBTSxFQUFFLEtBQUs7b0JBQ2IsV0FBVyxFQUFFLElBQUk7b0JBQ2pCLGlCQUFpQiwrREFBeUM7aUJBQzNELENBQUM7WUFDSjtnQkFDRSxNQUFNLElBQUksS0FBSyxDQUFDLDhDQUErQyxrQkFBMEIsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUM7U0FDbEg7S0FDRjtTQUFNLElBQUksa0JBQWtCLENBQUMsTUFBTSxLQUFLLE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxNQUFNLEtBQUssVUFBVSxFQUFFO1FBQzVGLE9BQU87WUFDTCxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDO1lBQ25ELFdBQVcsRUFBRSxLQUFLO1lBQ2xCLGlCQUFpQix5REFBeUM7U0FDM0QsQ0FBQztLQUNIO0lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyx3Q0FBd0Msa0JBQWtCLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztBQUN2RixDQUFDLENBQUM7QUFFRjs7O0dBR0c7QUFDSSxNQUFNLHFCQUFxQixHQUFHLENBQUMsdUJBQWdFLEVBQW9CLEVBQUU7SUFDMUgsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLEdBQUcsRUFBMEIsQ0FBQztJQUMvRCxLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFO1FBQ2xFLE1BQU0sY0FBYyxHQUFHLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RELG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLENBQUM7S0FDL0M7SUFDRCxPQUFPO1FBQ0wsb0JBQW9CO0tBQ3JCLENBQUM7QUFDSixDQUFDLENBQUM7QUFUVyxRQUFBLHFCQUFxQix5QkFTaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEYXRhU291cmNlVHlwZSxcbiAgRHluYW1vREJQcm92aXNpb25TdHJhdGVneSxcbiAgU1FMREJUeXBlLFxuICBTUUxMYW1iZGFNb2RlbFByb3Zpc2lvblN0cmF0ZWd5LFxufSBmcm9tICdAYXdzLWFtcGxpZnkvZ3JhcGhxbC10cmFuc2Zvcm1lci1pbnRlcmZhY2VzJztcbmltcG9ydCB7IE1vZGVsRGF0YVNvdXJjZVN0cmF0ZWd5IH0gZnJvbSAnLi4vdHlwZXMnO1xuXG50eXBlIERhdGFTb3VyY2VDb25maWcgPSB7XG4gIG1vZGVsVG9EYXRhc291cmNlTWFwOiBNYXA8c3RyaW5nLCBEYXRhU291cmNlVHlwZT47XG59O1xuXG4vLyBUT0RPOiBEbyBhd2F5IHdpdGggdGhpcyBhZnRlciB3ZSBub3JtYWxpemUgZGF0YWJhc2UgdHlwZXMgdGhyb3VnaG91dCB0aGUgaW50ZXJuYWxzXG5jb25zdCBjb252ZXJ0U1FMREJUeXBlID0gKGRlZmluaXRpb25EQlR5cGU6ICdNWVNRTCcgfCAnUE9TVEdSRVMnKTogU1FMREJUeXBlID0+IChkZWZpbml0aW9uREJUeXBlID09PSAnTVlTUUwnID8gJ015U1FMJyA6ICdQb3N0Z3JlcycpO1xuXG5jb25zdCBjb252ZXJ0VG9EYXRhU291cmNlVHlwZSA9IChkYXRhU291cmNlU3RyYXRlZ3k6IE1vZGVsRGF0YVNvdXJjZVN0cmF0ZWd5KTogRGF0YVNvdXJjZVR5cGUgPT4ge1xuICBpZiAoZGF0YVNvdXJjZVN0cmF0ZWd5LmRiVHlwZSA9PT0gJ0RZTkFNT0RCJykge1xuICAgIHN3aXRjaCAoZGF0YVNvdXJjZVN0cmF0ZWd5LnByb3Zpc2lvblN0cmF0ZWd5KSB7XG4gICAgICBjYXNlICdERUZBVUxUJzpcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBkYlR5cGU6ICdEREInLFxuICAgICAgICAgIHByb3Zpc2lvbkRCOiB0cnVlLFxuICAgICAgICAgIHByb3Zpc2lvblN0cmF0ZWd5OiBEeW5hbW9EQlByb3Zpc2lvblN0cmF0ZWd5LkRFRkFVTFQsXG4gICAgICAgIH07XG4gICAgICBjYXNlICdBTVBMSUZZX1RBQkxFJzpcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBkYlR5cGU6ICdEREInLFxuICAgICAgICAgIHByb3Zpc2lvbkRCOiB0cnVlLFxuICAgICAgICAgIHByb3Zpc2lvblN0cmF0ZWd5OiBEeW5hbW9EQlByb3Zpc2lvblN0cmF0ZWd5LkFNUExJRllfVEFCTEUsXG4gICAgICAgIH07XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEVuY291bnRlcmVkIHVuZXhwZWN0ZWQgcHJvdmlzaW9uIHN0cmF0ZWd5OiAkeyhkYXRhU291cmNlU3RyYXRlZ3kgYXMgYW55KS5wcm92aXNpb25TdHJhdGVneX1gKTtcbiAgICB9XG4gIH0gZWxzZSBpZiAoZGF0YVNvdXJjZVN0cmF0ZWd5LmRiVHlwZSA9PT0gJ01ZU1FMJyB8fCBkYXRhU291cmNlU3RyYXRlZ3kuZGJUeXBlID09PSAnUE9TVEdSRVMnKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGRiVHlwZTogY29udmVydFNRTERCVHlwZShkYXRhU291cmNlU3RyYXRlZ3kuZGJUeXBlKSxcbiAgICAgIHByb3Zpc2lvbkRCOiBmYWxzZSxcbiAgICAgIHByb3Zpc2lvblN0cmF0ZWd5OiBTUUxMYW1iZGFNb2RlbFByb3Zpc2lvblN0cmF0ZWd5LkRFRkFVTFQsXG4gICAgfTtcbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoYEVuY291bnRlcmVkIHVuZXhwZWN0ZWQgZGF0YWJhc2UgdHlwZSAke2RhdGFTb3VyY2VTdHJhdGVneS5kYlR5cGV9YCk7XG59O1xuXG4vKipcbiAqIEFuIGludGVybmFsIGhlbHBlciB0byBjb252ZXJ0IGZyb20gYSBtYXAgb2YgbW9kZWwtdG8tTW9kZWxEYXRhU291cmNlU3RyYXRlZ2llcyB0byB0aGUgbWFwIG9mIG1vZGVsLXRvLURhdGFTb3VyY2VUeXBlcyB0aGF0IGludGVybmFsXG4gKiB0cmFuc2Zvcm0gcHJvY2Vzc2luZyByZXF1aXJlcy4gVE9ETzogV2UgY2FuIHJlbW92ZSB0aGlzIG9uY2Ugd2UgcmVmYWN0b3IgdGhlIGludGVybmFscyB0byB1c2UgTW9kZWxEYXRhU291cmNlU3RyYXRlZ2llcyBuYXRpdmVseS5cbiAqL1xuZXhwb3J0IGNvbnN0IHBhcnNlRGF0YVNvdXJjZUNvbmZpZyA9IChkYXRhU291cmNlRGVmaW5pdGlvbk1hcDogUmVjb3JkPHN0cmluZywgTW9kZWxEYXRhU291cmNlU3RyYXRlZ3k+KTogRGF0YVNvdXJjZUNvbmZpZyA9PiB7XG4gIGNvbnN0IG1vZGVsVG9EYXRhc291cmNlTWFwID0gbmV3IE1hcDxzdHJpbmcsIERhdGFTb3VyY2VUeXBlPigpO1xuICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhkYXRhU291cmNlRGVmaW5pdGlvbk1hcCkpIHtcbiAgICBjb25zdCBkYXRhU291cmNlVHlwZSA9IGNvbnZlcnRUb0RhdGFTb3VyY2VUeXBlKHZhbHVlKTtcbiAgICBtb2RlbFRvRGF0YXNvdXJjZU1hcC5zZXQoa2V5LCBkYXRhU291cmNlVHlwZSk7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICBtb2RlbFRvRGF0YXNvdXJjZU1hcCxcbiAgfTtcbn07XG4iXX0=
|
|
@@ -18,5 +18,6 @@ exports.defaultTranslationBehavior = {
|
|
|
18
18
|
respectPrimaryKeyAttributesOnConnectionField: true,
|
|
19
19
|
enableSearchNodeToNodeEncryption: false,
|
|
20
20
|
enableTransformerCfnOutputs: false,
|
|
21
|
+
allowDestructiveGraphqlSchemaUpdates: false,
|
|
21
22
|
};
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1wYXJhbWV0ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVybmFsL2RlZmF1bHQtcGFyYW1ldGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQTs7OztHQUlHO0FBQ1UsUUFBQSwwQkFBMEIsR0FBd0I7SUFDN0Qsc0NBQXNDLEVBQUUsSUFBSTtJQUM1Qyx1QkFBdUIsRUFBRSxJQUFJO0lBQzdCLGtCQUFrQixFQUFFLEtBQUs7SUFDekIscUNBQXFDLEVBQUUsSUFBSTtJQUMzQyxvQ0FBb0MsRUFBRSxJQUFJO0lBQzFDLHdCQUF3QixFQUFFLEtBQUs7SUFDL0IsaUJBQWlCLEVBQUUsSUFBSTtJQUN2Qix5QkFBeUIsRUFBRSxJQUFJO0lBQy9CLDRDQUE0QyxFQUFFLElBQUk7SUFDbEQsZ0NBQWdDLEVBQUUsS0FBSztJQUN2QywyQkFBMkIsRUFBRSxLQUFLO0lBQ2xDLG9DQUFvQyxFQUFFLEtBQUs7Q0FDNUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zbGF0aW9uQmVoYXZpb3IgfSBmcm9tICcuLi90eXBlcyc7XG5cbi8qKlxuICogRGVmYXVsdHMgd2hpY2ggd2lsbCBiZSB1c2VkIGJ5IHRoZSBjb25zdHJ1Y3QgaWYgb3ZlcnJpZGVzIGFyZSBub3QgcHJvdmlkZWQuXG4gKiBUaGVzZSBzaG91bGQgbm90IHJlYWxseSBiZSB1cGRhdGVkIHBvc3QtbGF1bmNoLCBzaW5jZSB0aGV5J3JlIGxpa2VseSBicmVha2luZyBjaGFuZ2VzIGZvciBjdXN0b21lcnMuXG4gKiBCZSBzdXJlIHRvIGRvY3VtZW50IGRlZmF1bHQgdmFsdWVzIHdoZW4gYWRkaW5nIG5ldyBrZXlzIGluIHRoZSB0b3AgbGV2ZWwgYHR5cGVzYCBmaWxlLlxuICovXG5leHBvcnQgY29uc3QgZGVmYXVsdFRyYW5zbGF0aW9uQmVoYXZpb3I6IFRyYW5zbGF0aW9uQmVoYXZpb3IgPSB7XG4gIHNob3VsZERlZXBNZXJnZURpcmVjdGl2ZUNvbmZpZ0RlZmF1bHRzOiB0cnVlLFxuICBkaXNhYmxlUmVzb2x2ZXJEZWR1cGluZzogdHJ1ZSxcbiAgc2FuZGJveE1vZGVFbmFibGVkOiBmYWxzZSxcbiAgdXNlU3ViVXNlcm5hbWVGb3JEZWZhdWx0SWRlbnRpdHlDbGFpbTogdHJ1ZSxcbiAgcG9wdWxhdGVPd25lckZpZWxkRm9yU3RhdGljR3JvdXBBdXRoOiB0cnVlLFxuICBzdXBwcmVzc0FwaUtleUdlbmVyYXRpb246IGZhbHNlLFxuICBzZWNvbmRhcnlLZXlBc0dTSTogdHJ1ZSxcbiAgZW5hYmxlQXV0b0luZGV4UXVlcnlOYW1lczogdHJ1ZSxcbiAgcmVzcGVjdFByaW1hcnlLZXlBdHRyaWJ1dGVzT25Db25uZWN0aW9uRmllbGQ6IHRydWUsXG4gIGVuYWJsZVNlYXJjaE5vZGVUb05vZGVFbmNyeXB0aW9uOiBmYWxzZSxcbiAgZW5hYmxlVHJhbnNmb3JtZXJDZm5PdXRwdXRzOiBmYWxzZSxcbiAgYWxsb3dEZXN0cnVjdGl2ZUdyYXBocWxTY2hlbWFVcGRhdGVzOiBmYWxzZSxcbn07XG4iXX0=
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ModelDataSourceStrategy } from '../types';
|
|
2
2
|
/**
|
|
3
3
|
* Get the type names with model directives in the GraphQL schema in SDL
|
|
4
4
|
* @param schema graphql schema in SDL
|
|
5
5
|
* @returns type names which model diretives are attached
|
|
6
6
|
*/
|
|
7
7
|
export declare function getModelTypeNames(schema: string): string[];
|
|
8
|
-
export declare
|
|
8
|
+
export declare const constructDataSourceStrategyMap: (schema: string, dataSourceStrategy: ModelDataSourceStrategy) => Record<string, ModelDataSourceStrategy>;
|
|
@@ -1,27 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.constructDataSourceStrategyMap = exports.getModelTypeNames = void 0;
|
|
4
4
|
const graphql_1 = require("graphql");
|
|
5
5
|
const MODEL_DIRECTIVE_NAME = 'model';
|
|
6
|
+
const MANY_TO_MANY_DIRECTIVE_NAME = 'manyToMany';
|
|
6
7
|
/**
|
|
7
8
|
* Get the type names with model directives in the GraphQL schema in SDL
|
|
8
9
|
* @param schema graphql schema in SDL
|
|
9
10
|
* @returns type names which model diretives are attached
|
|
10
11
|
*/
|
|
11
12
|
function getModelTypeNames(schema) {
|
|
12
|
-
const parsedDocument = (0, graphql_1.parse)(schema);
|
|
13
|
-
const nodesWithModelDirective = parsedDocument.definitions.filter((def) => def.kind === graphql_1.Kind.OBJECT_TYPE_DEFINITION &&
|
|
14
|
-
def.directives &&
|
|
15
|
-
def.directives.find((dir) => dir.name.value === MODEL_DIRECTIVE_NAME) != undefined);
|
|
16
|
-
return nodesWithModelDirective.map((node) => node.name.value);
|
|
17
|
-
}
|
|
18
|
-
exports.getModelTypeNames = getModelTypeNames;
|
|
19
|
-
function constructDataSourceDefinitionMap(schema, dataSourceDefinition) {
|
|
20
13
|
const parsedSchema = (0, graphql_1.parse)(schema);
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
14
|
+
const nodesWithModelDirective = parsedSchema.definitions.filter((obj) => obj.kind === graphql_1.Kind.OBJECT_TYPE_DEFINITION && obj.directives?.some((dir) => dir.name.value === MODEL_DIRECTIVE_NAME));
|
|
15
|
+
const modelKeys = nodesWithModelDirective.map((type) => type.name.value);
|
|
16
|
+
nodesWithModelDirective.forEach((obj) => {
|
|
17
|
+
const { fields } = obj;
|
|
18
|
+
fields?.forEach((field) => {
|
|
19
|
+
field.directives?.forEach((dir) => {
|
|
20
|
+
if (dir.name.value === MANY_TO_MANY_DIRECTIVE_NAME) {
|
|
21
|
+
const relationArg = dir.arguments?.find((arg) => arg.name.value === 'relationName');
|
|
22
|
+
if (relationArg) {
|
|
23
|
+
modelKeys.push(relationArg.value.value);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
return modelKeys.filter((key, idx) => modelKeys.indexOf(key) === idx);
|
|
25
30
|
}
|
|
26
|
-
exports.
|
|
27
|
-
|
|
31
|
+
exports.getModelTypeNames = getModelTypeNames;
|
|
32
|
+
const constructDataSourceStrategyMap = (schema, dataSourceStrategy) => {
|
|
33
|
+
const modelKeys = getModelTypeNames(schema);
|
|
34
|
+
return modelKeys.reduce((acc, cur) => ({ ...acc, [cur]: dataSourceStrategy }), {});
|
|
35
|
+
};
|
|
36
|
+
exports.constructDataSourceStrategyMap = constructDataSourceStrategyMap;
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtdHlwZS1uYW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVybmFsL21vZGVsLXR5cGUtbmFtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxxQ0FBaUY7QUFFakYsTUFBTSxvQkFBb0IsR0FBRyxPQUFPLENBQUM7QUFDckMsTUFBTSwyQkFBMkIsR0FBRyxZQUFZLENBQUM7QUFDakQ7Ozs7R0FJRztBQUNILFNBQWdCLGlCQUFpQixDQUFDLE1BQWM7SUFDOUMsTUFBTSxZQUFZLEdBQUcsSUFBQSxlQUFLLEVBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkMsTUFBTSx1QkFBdUIsR0FBRyxZQUFZLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FDN0QsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssY0FBSSxDQUFDLHNCQUFzQixJQUFJLEdBQUcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxvQkFBb0IsQ0FBQyxDQUM1SCxDQUFDO0lBQ0YsTUFBTSxTQUFTLEdBQUcsdUJBQXVCLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBRSxJQUFpQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2Ryx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUN0QyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsR0FBK0IsQ0FBQztRQUNuRCxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDeEIsS0FBSyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDaEMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSywyQkFBMkIsRUFBRTtvQkFDbEQsTUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLGNBQWMsQ0FBQyxDQUFDO29CQUNwRixJQUFJLFdBQVcsRUFBRTt3QkFDZixTQUFTLENBQUMsSUFBSSxDQUFFLFdBQVcsQ0FBQyxLQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO3FCQUM5RDtpQkFDRjtZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7QUFDeEUsQ0FBQztBQXBCRCw4Q0FvQkM7QUFFTSxNQUFNLDhCQUE4QixHQUFHLENBQzVDLE1BQWMsRUFDZCxrQkFBMkMsRUFDRixFQUFFO0lBQzNDLE1BQU0sU0FBUyxHQUFHLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVDLE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLGtCQUFrQixFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNyRixDQUFDLENBQUM7QUFOVyxRQUFBLDhCQUE4QixrQ0FNekMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2RlbERhdGFTb3VyY2VTdHJhdGVneSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IEtpbmQsIE9iamVjdFR5cGVEZWZpbml0aW9uTm9kZSwgU3RyaW5nVmFsdWVOb2RlLCBwYXJzZSB9IGZyb20gJ2dyYXBocWwnO1xuXG5jb25zdCBNT0RFTF9ESVJFQ1RJVkVfTkFNRSA9ICdtb2RlbCc7XG5jb25zdCBNQU5ZX1RPX01BTllfRElSRUNUSVZFX05BTUUgPSAnbWFueVRvTWFueSc7XG4vKipcbiAqIEdldCB0aGUgdHlwZSBuYW1lcyB3aXRoIG1vZGVsIGRpcmVjdGl2ZXMgaW4gdGhlIEdyYXBoUUwgc2NoZW1hIGluIFNETFxuICogQHBhcmFtIHNjaGVtYSBncmFwaHFsIHNjaGVtYSBpbiBTRExcbiAqIEByZXR1cm5zIHR5cGUgbmFtZXMgd2hpY2ggbW9kZWwgZGlyZXRpdmVzIGFyZSBhdHRhY2hlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TW9kZWxUeXBlTmFtZXMoc2NoZW1hOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gIGNvbnN0IHBhcnNlZFNjaGVtYSA9IHBhcnNlKHNjaGVtYSk7XG4gIGNvbnN0IG5vZGVzV2l0aE1vZGVsRGlyZWN0aXZlID0gcGFyc2VkU2NoZW1hLmRlZmluaXRpb25zLmZpbHRlcihcbiAgICAob2JqKSA9PiBvYmoua2luZCA9PT0gS2luZC5PQkpFQ1RfVFlQRV9ERUZJTklUSU9OICYmIG9iai5kaXJlY3RpdmVzPy5zb21lKChkaXIpID0+IGRpci5uYW1lLnZhbHVlID09PSBNT0RFTF9ESVJFQ1RJVkVfTkFNRSksXG4gICk7XG4gIGNvbnN0IG1vZGVsS2V5cyA9IG5vZGVzV2l0aE1vZGVsRGlyZWN0aXZlLm1hcCgodHlwZSkgPT4gKHR5cGUgYXMgT2JqZWN0VHlwZURlZmluaXRpb25Ob2RlKS5uYW1lLnZhbHVlKTtcbiAgbm9kZXNXaXRoTW9kZWxEaXJlY3RpdmUuZm9yRWFjaCgob2JqKSA9PiB7XG4gICAgY29uc3QgeyBmaWVsZHMgfSA9IG9iaiBhcyBPYmplY3RUeXBlRGVmaW5pdGlvbk5vZGU7XG4gICAgZmllbGRzPy5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgICAgZmllbGQuZGlyZWN0aXZlcz8uZm9yRWFjaCgoZGlyKSA9PiB7XG4gICAgICAgIGlmIChkaXIubmFtZS52YWx1ZSA9PT0gTUFOWV9UT19NQU5ZX0RJUkVDVElWRV9OQU1FKSB7XG4gICAgICAgICAgY29uc3QgcmVsYXRpb25BcmcgPSBkaXIuYXJndW1lbnRzPy5maW5kKChhcmcpID0+IGFyZy5uYW1lLnZhbHVlID09PSAncmVsYXRpb25OYW1lJyk7XG4gICAgICAgICAgaWYgKHJlbGF0aW9uQXJnKSB7XG4gICAgICAgICAgICBtb2RlbEtleXMucHVzaCgocmVsYXRpb25BcmcudmFsdWUgYXMgU3RyaW5nVmFsdWVOb2RlKS52YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG4gIHJldHVybiBtb2RlbEtleXMuZmlsdGVyKChrZXksIGlkeCkgPT4gbW9kZWxLZXlzLmluZGV4T2Yoa2V5KSA9PT0gaWR4KTtcbn1cblxuZXhwb3J0IGNvbnN0IGNvbnN0cnVjdERhdGFTb3VyY2VTdHJhdGVneU1hcCA9IChcbiAgc2NoZW1hOiBzdHJpbmcsXG4gIGRhdGFTb3VyY2VTdHJhdGVneTogTW9kZWxEYXRhU291cmNlU3RyYXRlZ3ksXG4pOiBSZWNvcmQ8c3RyaW5nLCBNb2RlbERhdGFTb3VyY2VTdHJhdGVneT4gPT4ge1xuICBjb25zdCBtb2RlbEtleXMgPSBnZXRNb2RlbFR5cGVOYW1lcyhzY2hlbWEpO1xuICByZXR1cm4gbW9kZWxLZXlzLnJlZHVjZSgoYWNjLCBjdXIpID0+ICh7IC4uLmFjYywgW2N1cl06IGRhdGFTb3VyY2VTdHJhdGVneSB9KSwge30pO1xufTtcbiJdfQ==
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { SQLLambdaModelDataSourceStrategy, SqlModelDataSourceDbConnectionConfig } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Type predicate that returns true if the object is a SQLLambdaModelDataSourceStrategy.
|
|
4
|
+
* @param obj the object to inspect
|
|
5
|
+
* @returns true if the object is shaped like a SQLLambdaModelDataSourceStrategy
|
|
6
|
+
*/
|
|
7
|
+
export declare const isSQLLambdaModelDataSourceStrategy: (obj: any) => obj is SQLLambdaModelDataSourceStrategy;
|
|
8
|
+
/**
|
|
9
|
+
* Type predicate that returns true if the object is a SqlModelDataSourceDbConnectionConfig.
|
|
10
|
+
* @param obj the object to inspect
|
|
11
|
+
* @returns true if the object is shaped like a SqlModelDataSourceDbConnectionConfig
|
|
12
|
+
*/
|
|
13
|
+
export declare const isSqlModelDataSourceDbConnectionConfig: (obj: any) => obj is SqlModelDataSourceDbConnectionConfig;
|
|
14
|
+
/**
|
|
15
|
+
* Class exposing utilities to produce SQLLambdaModelDataSourceStrategy objects given various inputs.
|
|
16
|
+
*/
|
|
17
|
+
export declare class SQLLambdaModelDataSourceStrategyFactory {
|
|
18
|
+
/**
|
|
19
|
+
* Creates a SQLLambdaModelDataSourceStrategy where the binding's `customSqlStatements` are populated from `sqlFiles`. The key
|
|
20
|
+
* of the `customSqlStatements` record is the file's base name (that is, the name of the file minus the directory and extension).
|
|
21
|
+
* @param sqlFiles the list of files to load SQL statements from.
|
|
22
|
+
* @param options the remaining SQLLambdaModelDataSourceStrategy options.
|
|
23
|
+
*/
|
|
24
|
+
static fromCustomSqlFiles(sqlFiles: string[], options: Exclude<SQLLambdaModelDataSourceStrategy, 'customSqlStatements'>): SQLLambdaModelDataSourceStrategy;
|
|
25
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SQLLambdaModelDataSourceStrategyFactory = exports.isSqlModelDataSourceDbConnectionConfig = exports.isSQLLambdaModelDataSourceStrategy = void 0;
|
|
4
|
+
const fs = require("fs");
|
|
5
|
+
const path = require("path");
|
|
6
|
+
/**
|
|
7
|
+
* Type predicate that returns true if the object is a SQLLambdaModelDataSourceStrategy.
|
|
8
|
+
* @param obj the object to inspect
|
|
9
|
+
* @returns true if the object is shaped like a SQLLambdaModelDataSourceStrategy
|
|
10
|
+
*/
|
|
11
|
+
const isSQLLambdaModelDataSourceStrategy = (obj) => {
|
|
12
|
+
return ((typeof obj === 'object' || typeof obj === 'function') &&
|
|
13
|
+
typeof obj.name === 'string' &&
|
|
14
|
+
typeof obj.dbType === 'string' &&
|
|
15
|
+
// TODO: Use canonical SQL DB type strings
|
|
16
|
+
['MYSQL', 'POSTGRES'].includes(obj.dbType) &&
|
|
17
|
+
(0, exports.isSqlModelDataSourceDbConnectionConfig)(obj.dbConnectionConfig));
|
|
18
|
+
};
|
|
19
|
+
exports.isSQLLambdaModelDataSourceStrategy = isSQLLambdaModelDataSourceStrategy;
|
|
20
|
+
/**
|
|
21
|
+
* Type predicate that returns true if the object is a SqlModelDataSourceDbConnectionConfig.
|
|
22
|
+
* @param obj the object to inspect
|
|
23
|
+
* @returns true if the object is shaped like a SqlModelDataSourceDbConnectionConfig
|
|
24
|
+
*/
|
|
25
|
+
const isSqlModelDataSourceDbConnectionConfig = (obj) => {
|
|
26
|
+
return ((typeof obj === 'object' || typeof obj === 'function') &&
|
|
27
|
+
typeof obj.hostnameSsmPath === 'string' &&
|
|
28
|
+
typeof obj.portSsmPath === 'string' &&
|
|
29
|
+
typeof obj.usernameSsmPath === 'string' &&
|
|
30
|
+
typeof obj.passwordSsmPath === 'string' &&
|
|
31
|
+
typeof obj.databaseNameSsmPath === 'string');
|
|
32
|
+
};
|
|
33
|
+
exports.isSqlModelDataSourceDbConnectionConfig = isSqlModelDataSourceDbConnectionConfig;
|
|
34
|
+
/**
|
|
35
|
+
* Class exposing utilities to produce SQLLambdaModelDataSourceStrategy objects given various inputs.
|
|
36
|
+
*/
|
|
37
|
+
class SQLLambdaModelDataSourceStrategyFactory {
|
|
38
|
+
/**
|
|
39
|
+
* Creates a SQLLambdaModelDataSourceStrategy where the binding's `customSqlStatements` are populated from `sqlFiles`. The key
|
|
40
|
+
* of the `customSqlStatements` record is the file's base name (that is, the name of the file minus the directory and extension).
|
|
41
|
+
* @param sqlFiles the list of files to load SQL statements from.
|
|
42
|
+
* @param options the remaining SQLLambdaModelDataSourceStrategy options.
|
|
43
|
+
*/
|
|
44
|
+
static fromCustomSqlFiles(sqlFiles, options) {
|
|
45
|
+
const customSqlStatements = sqlFiles.reduce((acc, filePath) => {
|
|
46
|
+
const basename = path.parse(filePath).name;
|
|
47
|
+
acc[basename] = fs.readFileSync(filePath, 'utf8');
|
|
48
|
+
return acc;
|
|
49
|
+
}, {});
|
|
50
|
+
return {
|
|
51
|
+
customSqlStatements,
|
|
52
|
+
...options,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
exports.SQLLambdaModelDataSourceStrategyFactory = SQLLambdaModelDataSourceStrategyFactory;
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3FsLW1vZGVsLWRhdGFzb3VyY2Utc3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc3FsLW1vZGVsLWRhdGFzb3VyY2Utc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUJBQXlCO0FBQ3pCLDZCQUE2QjtBQUc3Qjs7OztHQUlHO0FBQ0ksTUFBTSxrQ0FBa0MsR0FBRyxDQUFDLEdBQVEsRUFBMkMsRUFBRTtJQUN0RyxPQUFPLENBQ0wsQ0FBQyxPQUFPLEdBQUcsS0FBSyxRQUFRLElBQUksT0FBTyxHQUFHLEtBQUssVUFBVSxDQUFDO1FBQ3RELE9BQU8sR0FBRyxDQUFDLElBQUksS0FBSyxRQUFRO1FBQzVCLE9BQU8sR0FBRyxDQUFDLE1BQU0sS0FBSyxRQUFRO1FBQzlCLDBDQUEwQztRQUMxQyxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQztRQUMxQyxJQUFBLDhDQUFzQyxFQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUMvRCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBVFcsUUFBQSxrQ0FBa0Msc0NBUzdDO0FBRUY7Ozs7R0FJRztBQUNJLE1BQU0sc0NBQXNDLEdBQUcsQ0FBQyxHQUFRLEVBQStDLEVBQUU7SUFDOUcsT0FBTyxDQUNMLENBQUMsT0FBTyxHQUFHLEtBQUssUUFBUSxJQUFJLE9BQU8sR0FBRyxLQUFLLFVBQVUsQ0FBQztRQUN0RCxPQUFPLEdBQUcsQ0FBQyxlQUFlLEtBQUssUUFBUTtRQUN2QyxPQUFPLEdBQUcsQ0FBQyxXQUFXLEtBQUssUUFBUTtRQUNuQyxPQUFPLEdBQUcsQ0FBQyxlQUFlLEtBQUssUUFBUTtRQUN2QyxPQUFPLEdBQUcsQ0FBQyxlQUFlLEtBQUssUUFBUTtRQUN2QyxPQUFPLEdBQUcsQ0FBQyxtQkFBbUIsS0FBSyxRQUFRLENBQzVDLENBQUM7QUFDSixDQUFDLENBQUM7QUFUVyxRQUFBLHNDQUFzQywwQ0FTakQ7QUFFRjs7R0FFRztBQUNILE1BQWEsdUNBQXVDO0lBQ2xEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLGtCQUFrQixDQUN2QixRQUFrQixFQUNsQixPQUF5RTtRQUV6RSxNQUFNLG1CQUFtQixHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUEwQixFQUFFO1lBQ3BGLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQzNDLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUNsRCxPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsRUFBRSxFQUE0QixDQUFDLENBQUM7UUFFakMsT0FBTztZQUNMLG1CQUFtQjtZQUNuQixHQUFHLE9BQU87U0FDWCxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBdEJELDBGQXNCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBTUUxMYW1iZGFNb2RlbERhdGFTb3VyY2VTdHJhdGVneSwgU3FsTW9kZWxEYXRhU291cmNlRGJDb25uZWN0aW9uQ29uZmlnIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogVHlwZSBwcmVkaWNhdGUgdGhhdCByZXR1cm5zIHRydWUgaWYgdGhlIG9iamVjdCBpcyBhIFNRTExhbWJkYU1vZGVsRGF0YVNvdXJjZVN0cmF0ZWd5LlxuICogQHBhcmFtIG9iaiB0aGUgb2JqZWN0IHRvIGluc3BlY3RcbiAqIEByZXR1cm5zIHRydWUgaWYgdGhlIG9iamVjdCBpcyBzaGFwZWQgbGlrZSBhIFNRTExhbWJkYU1vZGVsRGF0YVNvdXJjZVN0cmF0ZWd5XG4gKi9cbmV4cG9ydCBjb25zdCBpc1NRTExhbWJkYU1vZGVsRGF0YVNvdXJjZVN0cmF0ZWd5ID0gKG9iajogYW55KTogb2JqIGlzIFNRTExhbWJkYU1vZGVsRGF0YVNvdXJjZVN0cmF0ZWd5ID0+IHtcbiAgcmV0dXJuIChcbiAgICAodHlwZW9mIG9iaiA9PT0gJ29iamVjdCcgfHwgdHlwZW9mIG9iaiA9PT0gJ2Z1bmN0aW9uJykgJiZcbiAgICB0eXBlb2Ygb2JqLm5hbWUgPT09ICdzdHJpbmcnICYmXG4gICAgdHlwZW9mIG9iai5kYlR5cGUgPT09ICdzdHJpbmcnICYmXG4gICAgLy8gVE9ETzogVXNlIGNhbm9uaWNhbCBTUUwgREIgdHlwZSBzdHJpbmdzXG4gICAgWydNWVNRTCcsICdQT1NUR1JFUyddLmluY2x1ZGVzKG9iai5kYlR5cGUpICYmXG4gICAgaXNTcWxNb2RlbERhdGFTb3VyY2VEYkNvbm5lY3Rpb25Db25maWcob2JqLmRiQ29ubmVjdGlvbkNvbmZpZylcbiAgKTtcbn07XG5cbi8qKlxuICogVHlwZSBwcmVkaWNhdGUgdGhhdCByZXR1cm5zIHRydWUgaWYgdGhlIG9iamVjdCBpcyBhIFNxbE1vZGVsRGF0YVNvdXJjZURiQ29ubmVjdGlvbkNvbmZpZy5cbiAqIEBwYXJhbSBvYmogdGhlIG9iamVjdCB0byBpbnNwZWN0XG4gKiBAcmV0dXJucyB0cnVlIGlmIHRoZSBvYmplY3QgaXMgc2hhcGVkIGxpa2UgYSBTcWxNb2RlbERhdGFTb3VyY2VEYkNvbm5lY3Rpb25Db25maWdcbiAqL1xuZXhwb3J0IGNvbnN0IGlzU3FsTW9kZWxEYXRhU291cmNlRGJDb25uZWN0aW9uQ29uZmlnID0gKG9iajogYW55KTogb2JqIGlzIFNxbE1vZGVsRGF0YVNvdXJjZURiQ29ubmVjdGlvbkNvbmZpZyA9PiB7XG4gIHJldHVybiAoXG4gICAgKHR5cGVvZiBvYmogPT09ICdvYmplY3QnIHx8IHR5cGVvZiBvYmogPT09ICdmdW5jdGlvbicpICYmXG4gICAgdHlwZW9mIG9iai5ob3N0bmFtZVNzbVBhdGggPT09ICdzdHJpbmcnICYmXG4gICAgdHlwZW9mIG9iai5wb3J0U3NtUGF0aCA9PT0gJ3N0cmluZycgJiZcbiAgICB0eXBlb2Ygb2JqLnVzZXJuYW1lU3NtUGF0aCA9PT0gJ3N0cmluZycgJiZcbiAgICB0eXBlb2Ygb2JqLnBhc3N3b3JkU3NtUGF0aCA9PT0gJ3N0cmluZycgJiZcbiAgICB0eXBlb2Ygb2JqLmRhdGFiYXNlTmFtZVNzbVBhdGggPT09ICdzdHJpbmcnXG4gICk7XG59O1xuXG4vKipcbiAqIENsYXNzIGV4cG9zaW5nIHV0aWxpdGllcyB0byBwcm9kdWNlIFNRTExhbWJkYU1vZGVsRGF0YVNvdXJjZVN0cmF0ZWd5IG9iamVjdHMgZ2l2ZW4gdmFyaW91cyBpbnB1dHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTUUxMYW1iZGFNb2RlbERhdGFTb3VyY2VTdHJhdGVneUZhY3Rvcnkge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIFNRTExhbWJkYU1vZGVsRGF0YVNvdXJjZVN0cmF0ZWd5IHdoZXJlIHRoZSBiaW5kaW5nJ3MgYGN1c3RvbVNxbFN0YXRlbWVudHNgIGFyZSBwb3B1bGF0ZWQgZnJvbSBgc3FsRmlsZXNgLiBUaGUga2V5XG4gICAqIG9mIHRoZSBgY3VzdG9tU3FsU3RhdGVtZW50c2AgcmVjb3JkIGlzIHRoZSBmaWxlJ3MgYmFzZSBuYW1lICh0aGF0IGlzLCB0aGUgbmFtZSBvZiB0aGUgZmlsZSBtaW51cyB0aGUgZGlyZWN0b3J5IGFuZCBleHRlbnNpb24pLlxuICAgKiBAcGFyYW0gc3FsRmlsZXMgdGhlIGxpc3Qgb2YgZmlsZXMgdG8gbG9hZCBTUUwgc3RhdGVtZW50cyBmcm9tLlxuICAgKiBAcGFyYW0gb3B0aW9ucyB0aGUgcmVtYWluaW5nIFNRTExhbWJkYU1vZGVsRGF0YVNvdXJjZVN0cmF0ZWd5IG9wdGlvbnMuXG4gICAqL1xuICBzdGF0aWMgZnJvbUN1c3RvbVNxbEZpbGVzKFxuICAgIHNxbEZpbGVzOiBzdHJpbmdbXSxcbiAgICBvcHRpb25zOiBFeGNsdWRlPFNRTExhbWJkYU1vZGVsRGF0YVNvdXJjZVN0cmF0ZWd5LCAnY3VzdG9tU3FsU3RhdGVtZW50cyc+LFxuICApOiBTUUxMYW1iZGFNb2RlbERhdGFTb3VyY2VTdHJhdGVneSB7XG4gICAgY29uc3QgY3VzdG9tU3FsU3RhdGVtZW50cyA9IHNxbEZpbGVzLnJlZHVjZSgoYWNjLCBmaWxlUGF0aCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPT4ge1xuICAgICAgY29uc3QgYmFzZW5hbWUgPSBwYXRoLnBhcnNlKGZpbGVQYXRoKS5uYW1lO1xuICAgICAgYWNjW2Jhc2VuYW1lXSA9IGZzLnJlYWRGaWxlU3luYyhmaWxlUGF0aCwgJ3V0ZjgnKTtcbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwge30gYXMgUmVjb3JkPHN0cmluZywgc3RyaW5nPik7XG5cbiAgICByZXR1cm4ge1xuICAgICAgY3VzdG9tU3FsU3RhdGVtZW50cyxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfTtcbiAgfVxufVxuIl19
|
package/lib/types.d.ts
CHANGED
|
@@ -340,6 +340,19 @@ export interface TranslationBehavior {
|
|
|
340
340
|
* @default false
|
|
341
341
|
*/
|
|
342
342
|
readonly enableTransformerCfnOutputs: boolean;
|
|
343
|
+
/**
|
|
344
|
+
* The following schema updates require replacement of the underlying DynamoDB table:
|
|
345
|
+
*
|
|
346
|
+
* - Removing or renaming a model
|
|
347
|
+
* - Modifying the primary key of a model
|
|
348
|
+
* - Modifying a Local Secondary Index of a model (only applies to projects with secondaryKeyAsGSI turned off)
|
|
349
|
+
*
|
|
350
|
+
* ALL DATA WILL BE LOST when the table replacement happens. When enabled, destructive updates are allowed.
|
|
351
|
+
* This will only affect DynamoDB tables with provision strategy "AMPLIFY_TABLE".
|
|
352
|
+
* @default false
|
|
353
|
+
* @experimental
|
|
354
|
+
*/
|
|
355
|
+
readonly allowDestructiveGraphqlSchemaUpdates: boolean;
|
|
343
356
|
}
|
|
344
357
|
/**
|
|
345
358
|
* A utility interface equivalent to Partial<TranslationBehavior>.
|
|
@@ -407,6 +420,19 @@ export interface PartialTranslationBehavior {
|
|
|
407
420
|
* @default false
|
|
408
421
|
*/
|
|
409
422
|
readonly enableTransformerCfnOutputs?: boolean;
|
|
423
|
+
/**
|
|
424
|
+
* The following schema updates require replacement of the underlying DynamoDB table:
|
|
425
|
+
*
|
|
426
|
+
* - Removing or renaming a model
|
|
427
|
+
* - Modifying the primary key of a model
|
|
428
|
+
* - Modifying a Local Secondary Index of a model (only applies to projects with secondaryKeyAsGSI turned off)
|
|
429
|
+
*
|
|
430
|
+
* ALL DATA WILL BE LOST when the table replacement happens. When enabled, destructive updates are allowed.
|
|
431
|
+
* This will only affect DynamoDB tables with provision strategy "AMPLIFY_TABLE".
|
|
432
|
+
* @default false
|
|
433
|
+
* @experimental
|
|
434
|
+
*/
|
|
435
|
+
readonly allowDestructiveGraphqlSchemaUpdates?: boolean;
|
|
410
436
|
}
|
|
411
437
|
/**
|
|
412
438
|
* Graphql Api definition, which can be implemented in multiple ways.
|
|
@@ -423,10 +449,21 @@ export interface IAmplifyGraphqlDefinition {
|
|
|
423
449
|
*/
|
|
424
450
|
readonly functionSlots: FunctionSlot[];
|
|
425
451
|
/**
|
|
426
|
-
* Retrieve the
|
|
427
|
-
*
|
|
452
|
+
* Retrieve the references to any lambda functions used in the definition.
|
|
453
|
+
* Useful for wiring through aws_lambda.Function constructs into the definition directly,
|
|
454
|
+
* and generated references to invoke them.
|
|
455
|
+
* @returns any lambda functions, keyed by their referenced 'name' in the generated schema.
|
|
428
456
|
*/
|
|
429
|
-
readonly
|
|
457
|
+
readonly referencedLambdaFunctions?: Record<string, IFunction>;
|
|
458
|
+
/**
|
|
459
|
+
* Retrieve the datasource strategy mapping. The default strategy is to use DynamoDB from CloudFormation.
|
|
460
|
+
*
|
|
461
|
+
* **NOTE** Explicitly specifying the 'dataSourceStrategies' configuration option is in preview and is not recommended to use with
|
|
462
|
+
* production systems. For production, use the static factory methods `fromString` or `fromFiles`.
|
|
463
|
+
* @experimental
|
|
464
|
+
* @returns datasource strategy mapping
|
|
465
|
+
*/
|
|
466
|
+
readonly dataSourceStrategies: Record<string, ModelDataSourceStrategy>;
|
|
430
467
|
}
|
|
431
468
|
/**
|
|
432
469
|
* Entry representing the required output from the backend for codegen generate commands to work.
|
|
@@ -452,43 +489,6 @@ export interface IBackendOutputStorageStrategy {
|
|
|
452
489
|
*/
|
|
453
490
|
addBackendOutputEntry(keyName: string, backendOutputEntry: IBackendOutputEntry): void;
|
|
454
491
|
}
|
|
455
|
-
/**
|
|
456
|
-
* Defines a datasource for resolving GraphQL operations against `@model` types in a GraphQL schema.
|
|
457
|
-
* @experimental
|
|
458
|
-
*/
|
|
459
|
-
export interface ModelDataSourceDefinition {
|
|
460
|
-
/**
|
|
461
|
-
* The name of the ModelDataSource. This will be used to name the AppSynce DataSource itself, plus any associated resources like resolver
|
|
462
|
-
* Lambdas, custom CDK resources. This name must be unique across all schema definitions in a GraphQL API.
|
|
463
|
-
*/
|
|
464
|
-
readonly name: string;
|
|
465
|
-
/**
|
|
466
|
-
* The ModelDataSourceDefinitionStrategy.
|
|
467
|
-
*/
|
|
468
|
-
readonly strategy: ModelDataSourceDefinitionStrategy;
|
|
469
|
-
}
|
|
470
|
-
/**
|
|
471
|
-
* All known ModelDataSourceDefinitionStrategies. Concrete strategies vary widely in their requirements and implementations.
|
|
472
|
-
* @experimental
|
|
473
|
-
*/
|
|
474
|
-
export type ModelDataSourceDefinitionStrategy = DefaultDynamoDbModelDataSourceDefinitionStrategy | AmplifyDynamoDbModelDataSourceDefinitionStrategy;
|
|
475
|
-
export type ModelDataSourceDefinitionDbType = 'DYNAMODB';
|
|
476
|
-
/**
|
|
477
|
-
* Use default CloudFormation type 'AWS::DynamoDB::Table' to provision table.
|
|
478
|
-
* @experimental
|
|
479
|
-
*/
|
|
480
|
-
export interface DefaultDynamoDbModelDataSourceDefinitionStrategy {
|
|
481
|
-
readonly dbType: 'DYNAMODB';
|
|
482
|
-
readonly provisionStrategy: 'DEFAULT';
|
|
483
|
-
}
|
|
484
|
-
/**
|
|
485
|
-
* Use custom resource type 'Custom::AmplifyDynamoDBTable' to provision table.
|
|
486
|
-
* @experimental
|
|
487
|
-
*/
|
|
488
|
-
export interface AmplifyDynamoDbModelDataSourceDefinitionStrategy {
|
|
489
|
-
readonly dbType: 'DYNAMODB';
|
|
490
|
-
readonly provisionStrategy: 'AMPLIFY_TABLE';
|
|
491
|
-
}
|
|
492
492
|
/**
|
|
493
493
|
* Input props for the AmplifyGraphqlApi construct. Specifies what the input to transform into an Api, and configurations for
|
|
494
494
|
* the transformation process.
|
|
@@ -678,3 +678,123 @@ export interface AddFunctionProps {
|
|
|
678
678
|
*/
|
|
679
679
|
readonly code?: Code;
|
|
680
680
|
}
|
|
681
|
+
/**
|
|
682
|
+
* All known ModelDataSourceStrategies. Concrete strategies vary widely in their requirements and implementations.
|
|
683
|
+
* @experimental
|
|
684
|
+
*/
|
|
685
|
+
export type ModelDataSourceStrategy = DefaultDynamoDbModelDataSourceStrategy | AmplifyDynamoDbModelDataSourceStrategy | SQLLambdaModelDataSourceStrategy;
|
|
686
|
+
export type ModelDataSourceStrategyDbType = 'DYNAMODB';
|
|
687
|
+
/**
|
|
688
|
+
* Use default CloudFormation type 'AWS::DynamoDB::Table' to provision table.
|
|
689
|
+
* @experimental
|
|
690
|
+
*/
|
|
691
|
+
export interface DefaultDynamoDbModelDataSourceStrategy {
|
|
692
|
+
readonly dbType: 'DYNAMODB';
|
|
693
|
+
readonly provisionStrategy: 'DEFAULT';
|
|
694
|
+
}
|
|
695
|
+
/**
|
|
696
|
+
* Use custom resource type 'Custom::AmplifyDynamoDBTable' to provision table.
|
|
697
|
+
* @experimental
|
|
698
|
+
*/
|
|
699
|
+
export interface AmplifyDynamoDbModelDataSourceStrategy {
|
|
700
|
+
readonly dbType: 'DYNAMODB';
|
|
701
|
+
readonly provisionStrategy: 'AMPLIFY_TABLE';
|
|
702
|
+
}
|
|
703
|
+
/**
|
|
704
|
+
* A strategy that creates a Lambda to connect to a pre-existing SQL table to resolve model data.
|
|
705
|
+
*
|
|
706
|
+
* @experimental
|
|
707
|
+
*/
|
|
708
|
+
export interface SQLLambdaModelDataSourceStrategy {
|
|
709
|
+
/**
|
|
710
|
+
* The name of the strategy. This will be used to name the AppSync DataSource itself, plus any associated resources like resolver Lambdas.
|
|
711
|
+
* This name must be unique across all schema definitions in a GraphQL API.
|
|
712
|
+
*/
|
|
713
|
+
readonly name: string;
|
|
714
|
+
/**
|
|
715
|
+
* The type of the SQL database used to process model operations for this definition.
|
|
716
|
+
*/
|
|
717
|
+
readonly dbType: 'MYSQL' | 'POSTGRES';
|
|
718
|
+
/**
|
|
719
|
+
* The parameters the Lambda data source will use to connect to the database.
|
|
720
|
+
*/
|
|
721
|
+
readonly dbConnectionConfig: SqlModelDataSourceDbConnectionConfig;
|
|
722
|
+
/**
|
|
723
|
+
* The configuration of the VPC into which to install the Lambda.
|
|
724
|
+
*/
|
|
725
|
+
readonly vpcConfiguration?: VpcConfig;
|
|
726
|
+
/**
|
|
727
|
+
* Custom SQL statements. The key is the value of the `references` attribute of the `@sql` directive in the `schema`; the value is the SQL
|
|
728
|
+
* to be executed.
|
|
729
|
+
*/
|
|
730
|
+
readonly customSqlStatements?: Record<string, string>;
|
|
731
|
+
/**
|
|
732
|
+
* An optional override for the default SQL Lambda Layer
|
|
733
|
+
*/
|
|
734
|
+
readonly sqlLambdaLayerMapping?: SQLLambdaLayerMapping;
|
|
735
|
+
/**
|
|
736
|
+
* The configuration for the provisioned concurrency of the Lambda.
|
|
737
|
+
*/
|
|
738
|
+
readonly sqlLambdaProvisionedConcurrencyConfig?: ProvisionedConcurrencyConfig;
|
|
739
|
+
}
|
|
740
|
+
/**
|
|
741
|
+
* Configuration of the VPC in which to install a Lambda to resolve queries against a SQL-based data source. The SQL Lambda will be deployed
|
|
742
|
+
* into the specified VPC, subnets, and security groups. The specified subnets and security groups must be in the same VPC. The VPC must
|
|
743
|
+
* have at least one subnet. The construct will also create VPC service endpoints in the specified subnets, as well as inbound security
|
|
744
|
+
* rules, to allow traffic on port 443 within each security group. This allows the Lambda to read database connection information from
|
|
745
|
+
* Secure Systems Manager.
|
|
746
|
+
* @experimental
|
|
747
|
+
*/
|
|
748
|
+
export interface VpcConfig {
|
|
749
|
+
/** The VPC to install the Lambda data source in. */
|
|
750
|
+
readonly vpcId: string;
|
|
751
|
+
/** The security groups to install the Lambda data source in. */
|
|
752
|
+
readonly securityGroupIds: string[];
|
|
753
|
+
/** The subnets to install the Lambda data source in, one per availability zone. */
|
|
754
|
+
readonly subnetAvailabilityZoneConfig: SubnetAvailabilityZone[];
|
|
755
|
+
}
|
|
756
|
+
/**
|
|
757
|
+
* The configuration for the provisioned concurrency of the Lambda.
|
|
758
|
+
* @experimental
|
|
759
|
+
*/
|
|
760
|
+
export interface ProvisionedConcurrencyConfig {
|
|
761
|
+
/** The amount of provisioned concurrency to allocate. **/
|
|
762
|
+
readonly provisionedConcurrentExecutions: number;
|
|
763
|
+
}
|
|
764
|
+
/**
|
|
765
|
+
* Subnet configuration for VPC endpoints used by a Lambda resolver for a SQL-based data source. Although it is possible to create multiple
|
|
766
|
+
* subnets in a single availability zone, VPC service endpoints may only be deployed to a single subnet in a given availability zone. This
|
|
767
|
+
* structure ensures that the Lambda function and VPC service endpoints are mutually consistent.
|
|
768
|
+
* @experimental
|
|
769
|
+
*/
|
|
770
|
+
export interface SubnetAvailabilityZone {
|
|
771
|
+
/** The subnet ID to install the Lambda data source in. */
|
|
772
|
+
readonly subnetId: string;
|
|
773
|
+
/** The availability zone of the subnet. */
|
|
774
|
+
readonly availabilityZone: string;
|
|
775
|
+
}
|
|
776
|
+
/**
|
|
777
|
+
* Maps a given AWS region to the SQL Lambda layer version ARN for that region. `key` is the region; the `value` is the Lambda Layer version
|
|
778
|
+
* ARN
|
|
779
|
+
*/
|
|
780
|
+
export type SQLLambdaLayerMapping = Record<string, string>;
|
|
781
|
+
/**
|
|
782
|
+
* The Secure Systems Manager parameter paths the Lambda data source will use to connect to the database.
|
|
783
|
+
*
|
|
784
|
+
* These parameters are retrieved from Secure Systems Manager in the same region as the Lambda.
|
|
785
|
+
* @experimental
|
|
786
|
+
*/
|
|
787
|
+
export interface SqlModelDataSourceDbConnectionConfig {
|
|
788
|
+
/** The Secure Systems Manager parameter containing the hostname of the database. For RDS-based SQL data sources, this can be the hostname
|
|
789
|
+
* of a database proxy, cluster, or instance.
|
|
790
|
+
*/
|
|
791
|
+
readonly hostnameSsmPath: string;
|
|
792
|
+
/** The Secure Systems Manager parameter containing the port number of the database proxy, cluster, or instance. */
|
|
793
|
+
readonly portSsmPath: string;
|
|
794
|
+
/** The Secure Systems Manager parameter containing the username to use when connecting to the database. */
|
|
795
|
+
readonly usernameSsmPath: string;
|
|
796
|
+
/** The Secure Systems Manager parameter containing the password to use when connecting to the database. */
|
|
797
|
+
readonly passwordSsmPath: string;
|
|
798
|
+
/** The Secure Systems Manager parameter containing the database name. */
|
|
799
|
+
readonly databaseNameSsmPath: string;
|
|
800
|
+
}
|