@aws-amplify/graphql-transformer-interfaces 3.3.1 → 3.3.3-alpha.1
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/API.md +32 -68
- package/CHANGELOG.md +4 -0
- package/lib/model-datasource/types.d.ts +11 -7
- package/lib/model-datasource/types.d.ts.map +1 -1
- package/lib/transformer-context/index.d.ts +1 -1
- package/lib/transformer-context/index.d.ts.map +1 -1
- package/lib/transformer-context/index.js +1 -3
- package/lib/transformer-context/index.js.map +1 -1
- package/lib/transformer-context/transformer-context-provider.d.ts +11 -18
- package/lib/transformer-context/transformer-context-provider.d.ts.map +1 -1
- package/lib/transformer-context/transformer-datasource-provider.d.ts +0 -15
- package/lib/transformer-context/transformer-datasource-provider.d.ts.map +1 -1
- package/lib/transformer-context/transformer-datasource-provider.js +1 -10
- package/lib/transformer-context/transformer-datasource-provider.js.map +1 -1
- package/package.json +7 -3
- package/src/model-datasource/types.ts +50 -18
- package/src/transformer-context/index.ts +0 -6
- package/src/transformer-context/transformer-context-provider.ts +14 -21
- package/src/transformer-context/transformer-datasource-provider.ts +0 -43
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DocumentNode } from 'graphql';
|
|
2
2
|
import { AppSyncAuthConfiguration, GraphQLAPIProvider } from '../graphql-api-provider';
|
|
3
|
-
import {
|
|
4
|
-
import { TransformerDataSourceManagerProvider
|
|
3
|
+
import { DataSourceStrategiesProvider, RDSLayerMappingProvider } from '../model-datasource';
|
|
4
|
+
import { TransformerDataSourceManagerProvider } from './transformer-datasource-provider';
|
|
5
5
|
import { TransformerProviderRegistry } from './transformer-provider-registry';
|
|
6
6
|
import { TransformerContextOutputProvider } from './transformer-context-output-provider';
|
|
7
7
|
import { StackManagerProvider } from './stack-manager-provider';
|
|
@@ -11,23 +11,20 @@ import { TransformerResolversManagerProvider } from './transformer-resolver-prov
|
|
|
11
11
|
import { SynthParameters } from './synth-parameters';
|
|
12
12
|
|
|
13
13
|
export interface TransformerContextMetadataProvider {
|
|
14
|
-
set<T>(key: string, value: T)
|
|
15
|
-
get<T>(key: string)
|
|
16
|
-
has(key: string)
|
|
14
|
+
set: <T>(key: string, value: T) => void;
|
|
15
|
+
get: <T>(key: string) => T | undefined;
|
|
16
|
+
has: (key: string) => boolean;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
export type TransformerSecrets = { [key: string]: any };
|
|
20
20
|
|
|
21
|
-
export interface TransformerContextProvider {
|
|
21
|
+
export interface TransformerContextProvider extends DataSourceStrategiesProvider, RDSLayerMappingProvider {
|
|
22
22
|
metadata: TransformerContextMetadataProvider;
|
|
23
23
|
resolvers: TransformerResolversManagerProvider;
|
|
24
24
|
dataSources: TransformerDataSourceManagerProvider;
|
|
25
25
|
providerRegistry: TransformerProviderRegistry;
|
|
26
26
|
|
|
27
27
|
inputDocument: DocumentNode;
|
|
28
|
-
modelToDatasourceMap: Map<string, DataSourceType>;
|
|
29
|
-
customSqlDataSourceStrategies?: CustomSqlDataSourceStrategy[];
|
|
30
|
-
datasourceSecretParameterLocations: Map<string, TransformerSecrets>;
|
|
31
28
|
output: TransformerContextOutputProvider;
|
|
32
29
|
stackManager: StackManagerProvider;
|
|
33
30
|
api: GraphQLAPIProvider;
|
|
@@ -35,20 +32,16 @@ export interface TransformerContextProvider {
|
|
|
35
32
|
authConfig: AppSyncAuthConfiguration;
|
|
36
33
|
transformParameters: TransformParameters;
|
|
37
34
|
synthParameters: SynthParameters;
|
|
38
|
-
customQueries: Map<string, string>;
|
|
39
35
|
|
|
40
|
-
isProjectUsingDataStore()
|
|
41
|
-
getResolverConfig<ResolverConfig>()
|
|
42
|
-
readonly sqlLambdaVpcConfig?: VpcConfig;
|
|
43
|
-
readonly rdsLayerMapping?: RDSLayerMapping;
|
|
44
|
-
readonly sqlLambdaProvisionedConcurrencyConfig?: ProvisionedConcurrencyConfig;
|
|
36
|
+
isProjectUsingDataStore: () => boolean;
|
|
37
|
+
getResolverConfig: <ResolverConfig>() => ResolverConfig | undefined;
|
|
45
38
|
}
|
|
46
39
|
|
|
47
40
|
export type TransformerBeforeStepContextProvider = Pick<
|
|
48
41
|
TransformerContextProvider,
|
|
49
42
|
| 'inputDocument'
|
|
50
|
-
| '
|
|
51
|
-
| '
|
|
43
|
+
| 'dataSourceStrategies'
|
|
44
|
+
| 'sqlDirectiveDataSourceStrategies'
|
|
52
45
|
| 'transformParameters'
|
|
53
46
|
| 'isProjectUsingDataStore'
|
|
54
47
|
| 'getResolverConfig'
|
|
@@ -60,8 +53,8 @@ export type TransformerBeforeStepContextProvider = Pick<
|
|
|
60
53
|
export type TransformerSchemaVisitStepContextProvider = Pick<
|
|
61
54
|
TransformerContextProvider,
|
|
62
55
|
| 'inputDocument'
|
|
63
|
-
| '
|
|
64
|
-
| '
|
|
56
|
+
| 'dataSourceStrategies'
|
|
57
|
+
| 'sqlDirectiveDataSourceStrategies'
|
|
65
58
|
| 'output'
|
|
66
59
|
| 'providerRegistry'
|
|
67
60
|
| 'transformParameters'
|
|
@@ -75,8 +68,8 @@ export type TransformerSchemaVisitStepContextProvider = Pick<
|
|
|
75
68
|
export type TransformerValidationStepContextProvider = Pick<
|
|
76
69
|
TransformerContextProvider,
|
|
77
70
|
| 'inputDocument'
|
|
78
|
-
| '
|
|
79
|
-
| '
|
|
71
|
+
| 'dataSourceStrategies'
|
|
72
|
+
| 'sqlDirectiveDataSourceStrategies'
|
|
80
73
|
| 'output'
|
|
81
74
|
| 'providerRegistry'
|
|
82
75
|
| 'dataSources'
|
|
@@ -26,46 +26,3 @@ export interface TransformerDataSourceManagerProvider {
|
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
export interface DataSourceProvider extends BackedDataSource {}
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Supported transformable database types. TODO: Remove this when we normalize database type handling throughout
|
|
32
|
-
*/
|
|
33
|
-
export type DBType = 'DDB' | SQLDBType;
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* Supported transformable SQL database types. TODO: Remove this when we normalize database type handling throughout
|
|
37
|
-
*/
|
|
38
|
-
export type SQLDBType = 'MySQL' | 'Postgres';
|
|
39
|
-
|
|
40
|
-
// TODO: add strategy for the RDS. TODO: Move this to amplify-graphql-api-construct
|
|
41
|
-
export type DataSourceProvisionStrategy = DynamoDBProvisionStrategy | SQLLambdaModelProvisionStrategy;
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Provisioning configuration for a DynamoDB datasource. TODO: Remove this type in favor of strategy definitions in
|
|
45
|
-
* amplify-graphql-api-construct
|
|
46
|
-
*/
|
|
47
|
-
export const enum DynamoDBProvisionStrategy {
|
|
48
|
-
/**
|
|
49
|
-
* Use default CloudFormation resource of `AWS::DynamoDB::Table`
|
|
50
|
-
*/
|
|
51
|
-
DEFAULT = 'DEFAULT',
|
|
52
|
-
/**
|
|
53
|
-
* Use custom resource type `Custom::AmplifyDynamoDBTable`
|
|
54
|
-
*/
|
|
55
|
-
AMPLIFY_TABLE = 'AMPLIFY_TABLE',
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
// TODO: Remove this type in favor of fully-specified SQLLambdaModelDataSourceStrategy from amplify-graphql-api-construct
|
|
59
|
-
export const enum SQLLambdaModelProvisionStrategy {
|
|
60
|
-
/**
|
|
61
|
-
* A strategy that creates a Lambda to connect to a pre-existing SQL table to resolve model data.
|
|
62
|
-
*/
|
|
63
|
-
DEFAULT = 'DEFAULT',
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
// TODO: Replace usages of this type with ModelDataSourceStrategy
|
|
67
|
-
export interface DataSourceType {
|
|
68
|
-
dbType: DBType;
|
|
69
|
-
provisionDB: boolean;
|
|
70
|
-
provisionStrategy: DataSourceProvisionStrategy;
|
|
71
|
-
}
|