@marlonjd/graphql-relational-transformer-stack-limits 3.1.13-stack-limits.3
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 +97 -0
- package/CHANGELOG.md +807 -0
- package/README.md +43 -0
- package/jest.config.js +12 -0
- package/lib/belongs-to/belongs-to-directive-ddb-fields-transformer.d.ts +11 -0
- package/lib/belongs-to/belongs-to-directive-ddb-fields-transformer.d.ts.map +1 -0
- package/lib/belongs-to/belongs-to-directive-ddb-fields-transformer.js +37 -0
- package/lib/belongs-to/belongs-to-directive-ddb-fields-transformer.js.map +1 -0
- package/lib/belongs-to/belongs-to-directive-ddb-references-transformer.d.ts +11 -0
- package/lib/belongs-to/belongs-to-directive-ddb-references-transformer.d.ts.map +1 -0
- package/lib/belongs-to/belongs-to-directive-ddb-references-transformer.js +37 -0
- package/lib/belongs-to/belongs-to-directive-ddb-references-transformer.js.map +1 -0
- package/lib/belongs-to/belongs-to-directive-sql-transformer.d.ts +11 -0
- package/lib/belongs-to/belongs-to-directive-sql-transformer.d.ts.map +1 -0
- package/lib/belongs-to/belongs-to-directive-sql-transformer.js +32 -0
- package/lib/belongs-to/belongs-to-directive-sql-transformer.js.map +1 -0
- package/lib/belongs-to/belongs-to-directive-transformer-factory.d.ts +5 -0
- package/lib/belongs-to/belongs-to-directive-transformer-factory.d.ts.map +1 -0
- package/lib/belongs-to/belongs-to-directive-transformer-factory.js +32 -0
- package/lib/belongs-to/belongs-to-directive-transformer-factory.js.map +1 -0
- package/lib/data-source-based-directive-transformer.d.ts +11 -0
- package/lib/data-source-based-directive-transformer.d.ts.map +1 -0
- package/lib/data-source-based-directive-transformer.js +3 -0
- package/lib/data-source-based-directive-transformer.js.map +1 -0
- package/lib/graphql-belongs-to-transformer.d.ts +13 -0
- package/lib/graphql-belongs-to-transformer.d.ts.map +1 -0
- package/lib/graphql-belongs-to-transformer.js +139 -0
- package/lib/graphql-belongs-to-transformer.js.map +1 -0
- package/lib/graphql-has-many-transformer.d.ts +13 -0
- package/lib/graphql-has-many-transformer.d.ts.map +1 -0
- package/lib/graphql-has-many-transformer.js +120 -0
- package/lib/graphql-has-many-transformer.js.map +1 -0
- package/lib/graphql-has-one-transformer.d.ts +13 -0
- package/lib/graphql-has-one-transformer.d.ts.map +1 -0
- package/lib/graphql-has-one-transformer.js +132 -0
- package/lib/graphql-has-one-transformer.js.map +1 -0
- package/lib/graphql-many-to-many-transformer.d.ts +22 -0
- package/lib/graphql-many-to-many-transformer.d.ts.map +1 -0
- package/lib/graphql-many-to-many-transformer.js +384 -0
- package/lib/graphql-many-to-many-transformer.js.map +1 -0
- package/lib/has-many/has-many-directive-ddb-fields-transformer.d.ts +11 -0
- package/lib/has-many/has-many-directive-ddb-fields-transformer.d.ts.map +1 -0
- package/lib/has-many/has-many-directive-ddb-fields-transformer.js +36 -0
- package/lib/has-many/has-many-directive-ddb-fields-transformer.js.map +1 -0
- package/lib/has-many/has-many-directive-ddb-references-transformer.d.ts +11 -0
- package/lib/has-many/has-many-directive-ddb-references-transformer.d.ts.map +1 -0
- package/lib/has-many/has-many-directive-ddb-references-transformer.js +52 -0
- package/lib/has-many/has-many-directive-ddb-references-transformer.js.map +1 -0
- package/lib/has-many/has-many-directive-sql-transformer.d.ts +11 -0
- package/lib/has-many/has-many-directive-sql-transformer.d.ts.map +1 -0
- package/lib/has-many/has-many-directive-sql-transformer.js +32 -0
- package/lib/has-many/has-many-directive-sql-transformer.js.map +1 -0
- package/lib/has-many/has-many-directive-transformer-factory.d.ts +5 -0
- package/lib/has-many/has-many-directive-transformer-factory.d.ts.map +1 -0
- package/lib/has-many/has-many-directive-transformer-factory.js +32 -0
- package/lib/has-many/has-many-directive-transformer-factory.js.map +1 -0
- package/lib/has-one/has-one-directive-ddb-fields-transformer.d.ts +11 -0
- package/lib/has-one/has-one-directive-ddb-fields-transformer.d.ts.map +1 -0
- package/lib/has-one/has-one-directive-ddb-fields-transformer.js +34 -0
- package/lib/has-one/has-one-directive-ddb-fields-transformer.js.map +1 -0
- package/lib/has-one/has-one-directive-ddb-references-transformer.d.ts +11 -0
- package/lib/has-one/has-one-directive-ddb-references-transformer.d.ts.map +1 -0
- package/lib/has-one/has-one-directive-ddb-references-transformer.js +52 -0
- package/lib/has-one/has-one-directive-ddb-references-transformer.js.map +1 -0
- package/lib/has-one/has-one-directive-sql-transformer.d.ts +11 -0
- package/lib/has-one/has-one-directive-sql-transformer.d.ts.map +1 -0
- package/lib/has-one/has-one-directive-sql-transformer.js +32 -0
- package/lib/has-one/has-one-directive-sql-transformer.js.map +1 -0
- package/lib/has-one/has-one-directive-transformer-factory.d.ts +5 -0
- package/lib/has-one/has-one-directive-transformer-factory.d.ts.map +1 -0
- package/lib/has-one/has-one-directive-transformer-factory.js +32 -0
- package/lib/has-one/has-one-directive-transformer-factory.js.map +1 -0
- package/lib/index.d.ts +6 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +16 -0
- package/lib/index.js.map +1 -0
- package/lib/resolver/ddb-generator.d.ts +14 -0
- package/lib/resolver/ddb-generator.d.ts.map +1 -0
- package/lib/resolver/ddb-generator.js +188 -0
- package/lib/resolver/ddb-generator.js.map +1 -0
- package/lib/resolver/ddb-references-generator.d.ts +11 -0
- package/lib/resolver/ddb-references-generator.d.ts.map +1 -0
- package/lib/resolver/ddb-references-generator.js +216 -0
- package/lib/resolver/ddb-references-generator.js.map +1 -0
- package/lib/resolver/generator-factory.d.ts +4 -0
- package/lib/resolver/generator-factory.d.ts.map +1 -0
- package/lib/resolver/generator-factory.js +18 -0
- package/lib/resolver/generator-factory.js.map +1 -0
- package/lib/resolver/generator.d.ts +8 -0
- package/lib/resolver/generator.d.ts.map +1 -0
- package/lib/resolver/generator.js +7 -0
- package/lib/resolver/generator.js.map +1 -0
- package/lib/resolver/rds-generator.d.ts +16 -0
- package/lib/resolver/rds-generator.d.ts.map +1 -0
- package/lib/resolver/rds-generator.js +148 -0
- package/lib/resolver/rds-generator.js.map +1 -0
- package/lib/resolvers.d.ts +8 -0
- package/lib/resolvers.d.ts.map +1 -0
- package/lib/resolvers.js +246 -0
- package/lib/resolvers.js.map +1 -0
- package/lib/schema.d.ts +15 -0
- package/lib/schema.d.ts.map +1 -0
- package/lib/schema.js +379 -0
- package/lib/schema.js.map +1 -0
- package/lib/types.d.ts +79 -0
- package/lib/types.d.ts.map +1 -0
- package/lib/types.js +3 -0
- package/lib/types.js.map +1 -0
- package/lib/utils.d.ts +43 -0
- package/lib/utils.d.ts.map +1 -0
- package/lib/utils.js +465 -0
- package/lib/utils.js.map +1 -0
- package/package.json +49 -0
package/README.md
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# GraphQL Relational Modeling Transformers
|
|
2
|
+
|
|
3
|
+
# Reference Documentation
|
|
4
|
+
|
|
5
|
+
### @hasOne
|
|
6
|
+
|
|
7
|
+
The `@hasOne` directive allows you to define "has one" relationships between data.
|
|
8
|
+
|
|
9
|
+
#### Definition
|
|
10
|
+
|
|
11
|
+
```graphql
|
|
12
|
+
directive @hasOne(fields: [String!]) on FIELD_DEFINITION
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
### @hasMany
|
|
16
|
+
|
|
17
|
+
The `@hasMany` directive allows you to define "has many" relationships between data.
|
|
18
|
+
|
|
19
|
+
#### Definition
|
|
20
|
+
|
|
21
|
+
```graphql
|
|
22
|
+
directive @hasMany(indexName: String, fields: [String!], limit: Int = 100) on FIELD_DEFINITION
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### @belongsTo
|
|
26
|
+
|
|
27
|
+
The `@belongsTo` directive allows you to define "belongs to" relationships between data.
|
|
28
|
+
|
|
29
|
+
#### Definition
|
|
30
|
+
|
|
31
|
+
```graphql
|
|
32
|
+
directive @belongsTo(fields: [String!]) on FIELD_DEFINITION
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### @manyToMany
|
|
36
|
+
|
|
37
|
+
The `@manyToMany` directive allows you to define "many to many" relationships between data.
|
|
38
|
+
|
|
39
|
+
#### Definition
|
|
40
|
+
|
|
41
|
+
```graphql
|
|
42
|
+
directive @manyToMany(relationName: String!, limit: Int = 100) on FIELD_DEFINITION
|
|
43
|
+
```
|
package/jest.config.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { TransformerContextProvider, TransformerPrepareStepContextProvider, TransformerTransformSchemaStepContextProvider } from '@aws-amplify/graphql-transformer-interfaces';
|
|
2
|
+
import { DataSourceBasedDirectiveTransformer } from '../data-source-based-directive-transformer';
|
|
3
|
+
import { BelongsToDirectiveConfiguration } from '../types';
|
|
4
|
+
export declare class BelongsToDirectiveDDBFieldsTransformer implements DataSourceBasedDirectiveTransformer<BelongsToDirectiveConfiguration> {
|
|
5
|
+
dbType: import("@aws-amplify/graphql-transformer-interfaces").ModelDataSourceStrategyDbType;
|
|
6
|
+
prepare: (context: TransformerPrepareStepContextProvider, config: BelongsToDirectiveConfiguration) => void;
|
|
7
|
+
transformSchema: (context: TransformerTransformSchemaStepContextProvider, config: BelongsToDirectiveConfiguration) => void;
|
|
8
|
+
generateResolvers: (context: TransformerContextProvider, config: BelongsToDirectiveConfiguration) => void;
|
|
9
|
+
validate: (context: TransformerContextProvider, config: BelongsToDirectiveConfiguration) => void;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=belongs-to-directive-ddb-fields-transformer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"belongs-to-directive-ddb-fields-transformer.d.ts","sourceRoot":"","sources":["../../src/belongs-to/belongs-to-directive-ddb-fields-transformer.ts"],"names":[],"mappings":"AACA,OAAO,EACL,0BAA0B,EAC1B,qCAAqC,EACrC,6CAA6C,EAC9C,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,mCAAmC,EAAE,MAAM,4CAA4C,CAAC;AAEjG,OAAO,EAAE,+BAA+B,EAAE,MAAM,UAAU,CAAC;AAS3D,qBAAa,sCAAuC,YAAW,mCAAmC,CAAC,+BAA+B,CAAC;IACjI,MAAM,sFAAe;IAErB,OAAO,YAAa,qCAAqC,UAAU,+BAA+B,KAAG,IAAI,CAYvG;IAEF,eAAe,YAAa,6CAA6C,UAAU,+BAA+B,KAAG,IAAI,CAEvH;IAEF,iBAAiB,YAAa,0BAA0B,UAAU,+BAA+B,KAAG,IAAI,CAGtG;IAEF,QAAQ,YAAa,0BAA0B,UAAU,+BAA+B,KAAG,IAAI,CAG7F;CACH"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BelongsToDirectiveDDBFieldsTransformer = void 0;
|
|
4
|
+
const graphql_transformer_core_1 = require("@aws-amplify/graphql-transformer-core");
|
|
5
|
+
const generator_factory_1 = require("../resolver/generator-factory");
|
|
6
|
+
const utils_1 = require("../utils");
|
|
7
|
+
class BelongsToDirectiveDDBFieldsTransformer {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.dbType = graphql_transformer_core_1.DDB_DB_TYPE;
|
|
10
|
+
this.prepare = (context, config) => {
|
|
11
|
+
if (config.relationType !== 'hasOne') {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
const modelName = config.object.name.value;
|
|
15
|
+
(0, utils_1.registerHasOneForeignKeyMappings)({
|
|
16
|
+
transformParameters: context.transformParameters,
|
|
17
|
+
resourceHelper: context.resourceHelper,
|
|
18
|
+
thisTypeName: modelName,
|
|
19
|
+
thisFieldName: config.field.name.value,
|
|
20
|
+
relatedType: config.relatedType,
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
this.transformSchema = (context, config) => {
|
|
24
|
+
config.relatedTypeIndex = (0, utils_1.getRelatedTypeIndex)(config, context);
|
|
25
|
+
};
|
|
26
|
+
this.generateResolvers = (context, config) => {
|
|
27
|
+
const generator = (0, generator_factory_1.getGenerator)(this.dbType);
|
|
28
|
+
generator.makeBelongsToGetItemConnectionWithKeyResolver(config, context);
|
|
29
|
+
};
|
|
30
|
+
this.validate = (context, config) => {
|
|
31
|
+
(0, utils_1.ensureFieldsArray)(config);
|
|
32
|
+
config.fieldNodes = (0, utils_1.getFieldsNodes)(config, context);
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.BelongsToDirectiveDDBFieldsTransformer = BelongsToDirectiveDDBFieldsTransformer;
|
|
37
|
+
//# sourceMappingURL=belongs-to-directive-ddb-fields-transformer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"belongs-to-directive-ddb-fields-transformer.js","sourceRoot":"","sources":["../../src/belongs-to/belongs-to-directive-ddb-fields-transformer.ts"],"names":[],"mappings":";;;AAAA,oFAAoE;AAOpE,qEAA6D;AAE7D,oCAAoH;AAQpH,MAAa,sCAAsC;IAAnD;QACE,WAAM,GAAG,sCAAW,CAAC;QAErB,YAAO,GAAG,CAAC,OAA8C,EAAE,MAAuC,EAAQ,EAAE;YAC1G,IAAI,MAAM,CAAC,YAAY,KAAK,QAAQ,EAAE;gBACpC,OAAO;aACR;YACD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;YAC3C,IAAA,wCAAgC,EAAC;gBAC/B,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;gBAChD,cAAc,EAAE,OAAO,CAAC,cAAc;gBACtC,YAAY,EAAE,SAAS;gBACvB,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK;gBACtC,WAAW,EAAE,MAAM,CAAC,WAAW;aAChC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,oBAAe,GAAG,CAAC,OAAsD,EAAE,MAAuC,EAAQ,EAAE;YAC1H,MAAM,CAAC,gBAAgB,GAAG,IAAA,2BAAmB,EAAC,MAAM,EAAE,OAAqC,CAAC,CAAC;QAC/F,CAAC,CAAC;QAEF,sBAAiB,GAAG,CAAC,OAAmC,EAAE,MAAuC,EAAQ,EAAE;YACzG,MAAM,SAAS,GAAG,IAAA,gCAAY,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5C,SAAS,CAAC,6CAA6C,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3E,CAAC,CAAC;QAEF,aAAQ,GAAG,CAAC,OAAmC,EAAE,MAAuC,EAAQ,EAAE;YAChG,IAAA,yBAAiB,EAAC,MAAM,CAAC,CAAC;YAC1B,MAAM,CAAC,UAAU,GAAG,IAAA,sBAAc,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC,CAAC;IACJ,CAAC;CAAA;AA9BD,wFA8BC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { TransformerContextProvider, TransformerPrepareStepContextProvider, TransformerTransformSchemaStepContextProvider } from '@aws-amplify/graphql-transformer-interfaces';
|
|
2
|
+
import { DataSourceBasedDirectiveTransformer } from '../data-source-based-directive-transformer';
|
|
3
|
+
import { BelongsToDirectiveConfiguration } from '../types';
|
|
4
|
+
export declare class BelongsToDirectiveDDBReferencesTransformer implements DataSourceBasedDirectiveTransformer<BelongsToDirectiveConfiguration> {
|
|
5
|
+
dbType: import("@aws-amplify/graphql-transformer-interfaces").ModelDataSourceStrategyDbType;
|
|
6
|
+
prepare: (context: TransformerPrepareStepContextProvider, config: BelongsToDirectiveConfiguration) => void;
|
|
7
|
+
transformSchema: (context: TransformerTransformSchemaStepContextProvider, config: BelongsToDirectiveConfiguration) => void;
|
|
8
|
+
generateResolvers: (context: TransformerContextProvider, config: BelongsToDirectiveConfiguration) => void;
|
|
9
|
+
validate: (context: TransformerContextProvider, config: BelongsToDirectiveConfiguration) => void;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=belongs-to-directive-ddb-references-transformer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"belongs-to-directive-ddb-references-transformer.d.ts","sourceRoot":"","sources":["../../src/belongs-to/belongs-to-directive-ddb-references-transformer.ts"],"names":[],"mappings":"AACA,OAAO,EACL,0BAA0B,EAC1B,qCAAqC,EACrC,6CAA6C,EAC9C,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,mCAAmC,EAAE,MAAM,4CAA4C,CAAC;AAGjG,OAAO,EAAE,+BAA+B,EAAE,MAAM,UAAU,CAAC;AAgB3D,qBAAa,0CAA2C,YAAW,mCAAmC,CAAC,+BAA+B,CAAC;IACrI,MAAM,sFAAe;IAErB,OAAO,YAAa,qCAAqC,UAAU,+BAA+B,KAAG,IAAI,CAUvG;IAEF,eAAe,YAAa,6CAA6C,UAAU,+BAA+B,KAAG,IAAI,CAAO;IAEhI,iBAAiB,YAAa,0BAA0B,UAAU,+BAA+B,KAAG,IAAI,CAEtG;IAUF,QAAQ,YAAa,0BAA0B,UAAU,+BAA+B,KAAG,IAAI,CAM7F;CACH"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BelongsToDirectiveDDBReferencesTransformer = void 0;
|
|
4
|
+
const graphql_transformer_core_1 = require("@aws-amplify/graphql-transformer-core");
|
|
5
|
+
const ddb_references_generator_1 = require("../resolver/ddb-references-generator");
|
|
6
|
+
const resolvers_1 = require("../resolvers");
|
|
7
|
+
const utils_1 = require("../utils");
|
|
8
|
+
class BelongsToDirectiveDDBReferencesTransformer {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.dbType = graphql_transformer_core_1.DDB_DB_TYPE;
|
|
11
|
+
this.prepare = (context, config) => {
|
|
12
|
+
var _a, _b;
|
|
13
|
+
const modelName = config.object.name.value;
|
|
14
|
+
(0, resolvers_1.setFieldMappingResolverReference)(context, (_b = (_a = config.relatedType) === null || _a === void 0 ? void 0 : _a.name) === null || _b === void 0 ? void 0 : _b.value, modelName, config.field.name.value);
|
|
15
|
+
(0, utils_1.registerHasOneForeignKeyMappings)({
|
|
16
|
+
transformParameters: context.transformParameters,
|
|
17
|
+
resourceHelper: context.resourceHelper,
|
|
18
|
+
thisTypeName: modelName,
|
|
19
|
+
thisFieldName: config.field.name.value,
|
|
20
|
+
relatedType: config.relatedType,
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
this.transformSchema = (context, config) => { };
|
|
24
|
+
this.generateResolvers = (context, config) => {
|
|
25
|
+
new ddb_references_generator_1.DDBRelationalReferencesResolverGenerator().makeBelongsToGetItemConnectionWithKeyResolver(config, context);
|
|
26
|
+
};
|
|
27
|
+
this.validate = (context, config) => {
|
|
28
|
+
(0, utils_1.ensureReferencesArray)(config);
|
|
29
|
+
(0, utils_1.validateChildReferencesFields)(config, context);
|
|
30
|
+
(0, utils_1.validateReferencesRelationalFieldNullability)(config);
|
|
31
|
+
config.referenceNodes = (0, utils_1.getBelongsToReferencesNodes)(config, context);
|
|
32
|
+
(0, utils_1.validateReferencesBidirectionality)(config);
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.BelongsToDirectiveDDBReferencesTransformer = BelongsToDirectiveDDBReferencesTransformer;
|
|
37
|
+
//# sourceMappingURL=belongs-to-directive-ddb-references-transformer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"belongs-to-directive-ddb-references-transformer.js","sourceRoot":"","sources":["../../src/belongs-to/belongs-to-directive-ddb-references-transformer.ts"],"names":[],"mappings":";;;AAAA,oFAAoE;AAOpE,mFAAgG;AAChG,4CAAgE;AAEhE,oCAOkB;AAQlB,MAAa,0CAA0C;IAAvD;QACE,WAAM,GAAG,sCAAW,CAAC;QAErB,YAAO,GAAG,CAAC,OAA8C,EAAE,MAAuC,EAAQ,EAAE;;YAC1G,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;YAC3C,IAAA,4CAAgC,EAAC,OAAO,EAAE,MAAA,MAAA,MAAM,CAAC,WAAW,0CAAE,IAAI,0CAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/G,IAAA,wCAAgC,EAAC;gBAC/B,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;gBAChD,cAAc,EAAE,OAAO,CAAC,cAAc;gBACtC,YAAY,EAAE,SAAS;gBACvB,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK;gBACtC,WAAW,EAAE,MAAM,CAAC,WAAW;aAChC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,oBAAe,GAAG,CAAC,OAAsD,EAAE,MAAuC,EAAQ,EAAE,GAAE,CAAC,CAAC;QAEhI,sBAAiB,GAAG,CAAC,OAAmC,EAAE,MAAuC,EAAQ,EAAE;YACzG,IAAI,mEAAwC,EAAE,CAAC,6CAA6C,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChH,CAAC,CAAC;QAUF,aAAQ,GAAG,CAAC,OAAmC,EAAE,MAAuC,EAAQ,EAAE;YAChG,IAAA,6BAAqB,EAAC,MAAM,CAAC,CAAC;YAC9B,IAAA,qCAA6B,EAAC,MAAM,EAAE,OAAqC,CAAC,CAAC;YAC7E,IAAA,oDAA4C,EAAC,MAAM,CAAC,CAAC;YACrD,MAAM,CAAC,cAAc,GAAG,IAAA,mCAA2B,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACrE,IAAA,0CAAkC,EAAC,MAAM,CAAC,CAAC;QAC7C,CAAC,CAAC;IACJ,CAAC;CAAA;AApCD,gGAoCC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { TransformerContextProvider, TransformerPrepareStepContextProvider, TransformerTransformSchemaStepContextProvider } from '@aws-amplify/graphql-transformer-interfaces';
|
|
2
|
+
import { DataSourceBasedDirectiveTransformer } from '../data-source-based-directive-transformer';
|
|
3
|
+
import { BelongsToDirectiveConfiguration } from '../types';
|
|
4
|
+
export declare class BelongsToDirectiveSQLTransformer implements DataSourceBasedDirectiveTransformer<BelongsToDirectiveConfiguration> {
|
|
5
|
+
dbType: import("@aws-amplify/graphql-transformer-interfaces").ModelDataSourceStrategySqlDbType;
|
|
6
|
+
prepare: (context: TransformerPrepareStepContextProvider, config: BelongsToDirectiveConfiguration) => void;
|
|
7
|
+
transformSchema: (context: TransformerTransformSchemaStepContextProvider, config: BelongsToDirectiveConfiguration) => void;
|
|
8
|
+
generateResolvers: (context: TransformerContextProvider, config: BelongsToDirectiveConfiguration) => void;
|
|
9
|
+
validate: (context: TransformerContextProvider, config: BelongsToDirectiveConfiguration) => void;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=belongs-to-directive-sql-transformer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"belongs-to-directive-sql-transformer.d.ts","sourceRoot":"","sources":["../../src/belongs-to/belongs-to-directive-sql-transformer.ts"],"names":[],"mappings":"AACA,OAAO,EACL,0BAA0B,EAC1B,qCAAqC,EACrC,6CAA6C,EAC9C,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,mCAAmC,EAAE,MAAM,4CAA4C,CAAC;AAGjG,OAAO,EAAE,+BAA+B,EAAE,MAAM,UAAU,CAAC;AAa3D,qBAAa,gCAAiC,YAAW,mCAAmC,CAAC,+BAA+B,CAAC;IAC3H,MAAM,yFAAqC;IAE3C,OAAO,YAAa,qCAAqC,UAAU,+BAA+B,KAAG,IAAI,CAGvG;IAEF,eAAe,YAAa,6CAA6C,UAAU,+BAA+B,KAAG,IAAI,CAEvH;IAEF,iBAAiB,YAAa,0BAA0B,UAAU,+BAA+B,KAAG,IAAI,CAGtG;IAEF,QAAQ,YAAa,0BAA0B,UAAU,+BAA+B,KAAG,IAAI,CAK7F;CACH"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BelongsToDirectiveSQLTransformer = void 0;
|
|
4
|
+
const graphql_transformer_core_1 = require("@aws-amplify/graphql-transformer-core");
|
|
5
|
+
const generator_factory_1 = require("../resolver/generator-factory");
|
|
6
|
+
const resolvers_1 = require("../resolvers");
|
|
7
|
+
const utils_1 = require("../utils");
|
|
8
|
+
class BelongsToDirectiveSQLTransformer {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.dbType = graphql_transformer_core_1.POSTGRES_DB_TYPE || graphql_transformer_core_1.MYSQL_DB_TYPE;
|
|
11
|
+
this.prepare = (context, config) => {
|
|
12
|
+
var _a, _b;
|
|
13
|
+
const modelName = config.object.name.value;
|
|
14
|
+
(0, resolvers_1.setFieldMappingResolverReference)(context, (_b = (_a = config.relatedType) === null || _a === void 0 ? void 0 : _a.name) === null || _b === void 0 ? void 0 : _b.value, modelName, config.field.name.value);
|
|
15
|
+
};
|
|
16
|
+
this.transformSchema = (context, config) => {
|
|
17
|
+
(0, utils_1.validateChildReferencesFields)(config, context);
|
|
18
|
+
};
|
|
19
|
+
this.generateResolvers = (context, config) => {
|
|
20
|
+
const generator = (0, generator_factory_1.getGenerator)(this.dbType);
|
|
21
|
+
generator.makeBelongsToGetItemConnectionWithKeyResolver(config, context);
|
|
22
|
+
};
|
|
23
|
+
this.validate = (context, config) => {
|
|
24
|
+
(0, utils_1.ensureReferencesArray)(config);
|
|
25
|
+
config.referenceNodes = (0, utils_1.getBelongsToReferencesNodes)(config, context);
|
|
26
|
+
(0, utils_1.validateReferencesRelationalFieldNullability)(config);
|
|
27
|
+
(0, utils_1.validateReferencesBidirectionality)(config);
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.BelongsToDirectiveSQLTransformer = BelongsToDirectiveSQLTransformer;
|
|
32
|
+
//# sourceMappingURL=belongs-to-directive-sql-transformer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"belongs-to-directive-sql-transformer.js","sourceRoot":"","sources":["../../src/belongs-to/belongs-to-directive-sql-transformer.ts"],"names":[],"mappings":";;;AAAA,oFAAwF;AAOxF,qEAA6D;AAC7D,4CAAgE;AAEhE,oCAMkB;AAMlB,MAAa,gCAAgC;IAA7C;QACE,WAAM,GAAG,2CAAgB,IAAI,wCAAa,CAAC;QAE3C,YAAO,GAAG,CAAC,OAA8C,EAAE,MAAuC,EAAQ,EAAE;;YAC1G,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;YAC3C,IAAA,4CAAgC,EAAC,OAAO,EAAE,MAAA,MAAA,MAAM,CAAC,WAAW,0CAAE,IAAI,0CAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjH,CAAC,CAAC;QAEF,oBAAe,GAAG,CAAC,OAAsD,EAAE,MAAuC,EAAQ,EAAE;YAC1H,IAAA,qCAA6B,EAAC,MAAM,EAAE,OAAqC,CAAC,CAAC;QAC/E,CAAC,CAAC;QAEF,sBAAiB,GAAG,CAAC,OAAmC,EAAE,MAAuC,EAAQ,EAAE;YACzG,MAAM,SAAS,GAAG,IAAA,gCAAY,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5C,SAAS,CAAC,6CAA6C,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3E,CAAC,CAAC;QAEF,aAAQ,GAAG,CAAC,OAAmC,EAAE,MAAuC,EAAQ,EAAE;YAChG,IAAA,6BAAqB,EAAC,MAAM,CAAC,CAAC;YAC9B,MAAM,CAAC,cAAc,GAAG,IAAA,mCAA2B,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACrE,IAAA,oDAA4C,EAAC,MAAM,CAAC,CAAC;YACrD,IAAA,0CAAkC,EAAC,MAAM,CAAC,CAAC;QAC7C,CAAC,CAAC;IACJ,CAAC;CAAA;AAvBD,4EAuBC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ModelDataSourceStrategyDbType } from '@aws-amplify/graphql-transformer-interfaces';
|
|
2
|
+
import { DataSourceBasedDirectiveTransformer } from '../data-source-based-directive-transformer';
|
|
3
|
+
import { BelongsToDirectiveConfiguration } from '../types';
|
|
4
|
+
export declare const getBelongsToDirectiveTransformer: (dbType: ModelDataSourceStrategyDbType, config: BelongsToDirectiveConfiguration) => DataSourceBasedDirectiveTransformer<BelongsToDirectiveConfiguration>;
|
|
5
|
+
//# sourceMappingURL=belongs-to-directive-transformer-factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"belongs-to-directive-transformer-factory.d.ts","sourceRoot":"","sources":["../../src/belongs-to/belongs-to-directive-transformer-factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,6CAA6C,CAAC;AAC5F,OAAO,EAAE,mCAAmC,EAAE,MAAM,4CAA4C,CAAC;AACjG,OAAO,EAAE,+BAA+B,EAAE,MAAM,UAAU,CAAC;AAU3D,eAAO,MAAM,gCAAgC,WACnC,6BAA6B,UAC7B,+BAA+B,KAEtC,oCAAoC,+BAA+B,CAyBrE,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getBelongsToDirectiveTransformer = void 0;
|
|
4
|
+
const graphql_transformer_core_1 = require("@aws-amplify/graphql-transformer-core");
|
|
5
|
+
const belongs_to_directive_ddb_fields_transformer_1 = require("./belongs-to-directive-ddb-fields-transformer");
|
|
6
|
+
const belongs_to_directive_ddb_references_transformer_1 = require("./belongs-to-directive-ddb-references-transformer");
|
|
7
|
+
const belongs_to_directive_sql_transformer_1 = require("./belongs-to-directive-sql-transformer");
|
|
8
|
+
const belongsToDirectiveMySqlTransformer = new belongs_to_directive_sql_transformer_1.BelongsToDirectiveSQLTransformer();
|
|
9
|
+
const belongsToDirectivePostgresTransformer = new belongs_to_directive_sql_transformer_1.BelongsToDirectiveSQLTransformer();
|
|
10
|
+
const belongsToDirectiveDdbFieldsTransformer = new belongs_to_directive_ddb_fields_transformer_1.BelongsToDirectiveDDBFieldsTransformer();
|
|
11
|
+
const belongsToDirectiveDdbReferencesTransformer = new belongs_to_directive_ddb_references_transformer_1.BelongsToDirectiveDDBReferencesTransformer();
|
|
12
|
+
const getBelongsToDirectiveTransformer = (dbType, config) => {
|
|
13
|
+
switch (dbType) {
|
|
14
|
+
case 'MYSQL':
|
|
15
|
+
return belongsToDirectiveMySqlTransformer;
|
|
16
|
+
case 'POSTGRES':
|
|
17
|
+
return belongsToDirectivePostgresTransformer;
|
|
18
|
+
case 'DYNAMODB':
|
|
19
|
+
if (config.references) {
|
|
20
|
+
if (config.fields) {
|
|
21
|
+
throw new graphql_transformer_core_1.InvalidDirectiveError(`fields and references cannot be defined in the same ${config.directiveName}. Use 'references'`);
|
|
22
|
+
}
|
|
23
|
+
if (config.references.length < 1) {
|
|
24
|
+
throw new Error(`Invalid @belongsTo directive on ${config.field.name.value} - empty references list`);
|
|
25
|
+
}
|
|
26
|
+
return belongsToDirectiveDdbReferencesTransformer;
|
|
27
|
+
}
|
|
28
|
+
return belongsToDirectiveDdbFieldsTransformer;
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
exports.getBelongsToDirectiveTransformer = getBelongsToDirectiveTransformer;
|
|
32
|
+
//# sourceMappingURL=belongs-to-directive-transformer-factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"belongs-to-directive-transformer-factory.js","sourceRoot":"","sources":["../../src/belongs-to/belongs-to-directive-transformer-factory.ts"],"names":[],"mappings":";;;AAAA,oFAA8E;AAI9E,+GAAuG;AACvG,uHAA+G;AAC/G,iGAA0F;AAE1F,MAAM,kCAAkC,GAAG,IAAI,uEAAgC,EAAE,CAAC;AAClF,MAAM,qCAAqC,GAAG,IAAI,uEAAgC,EAAE,CAAC;AACrF,MAAM,sCAAsC,GAAG,IAAI,oFAAsC,EAAE,CAAC;AAC5F,MAAM,0CAA0C,GAAG,IAAI,4FAA0C,EAAE,CAAC;AAE7F,MAAM,gCAAgC,GAAG,CAC9C,MAAqC,EACrC,MAAuC,EAE+B,EAAE;IACxE,QAAQ,MAAM,EAAE;QACd,KAAK,OAAO;YACV,OAAO,kCAAkC,CAAC;QAC5C,KAAK,UAAU;YACb,OAAO,qCAAqC,CAAC;QAC/C,KAAK,UAAU;YAGb,IAAI,MAAM,CAAC,UAAU,EAAE;gBAErB,IAAI,MAAM,CAAC,MAAM,EAAE;oBACjB,MAAM,IAAI,gDAAqB,CAAC,uDAAuD,MAAM,CAAC,aAAa,oBAAoB,CAAC,CAAC;iBAClI;gBACD,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;oBAChC,MAAM,IAAI,KAAK,CAAC,mCAAmC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,0BAA0B,CAAC,CAAC;iBACvG;gBAED,OAAO,0CAA0C,CAAC;aACnD;YAID,OAAO,sCAAsC,CAAC;KACjD;AACH,CAAC,CAAC;AA7BW,QAAA,gCAAgC,oCA6B3C"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { TransformerContextProvider, TransformerPrepareStepContextProvider, ModelDataSourceStrategyDbType, TransformerTransformSchemaStepContextProvider } from '@aws-amplify/graphql-transformer-interfaces';
|
|
2
|
+
import { BelongsToDirectiveConfiguration, HasManyDirectiveConfiguration, HasOneDirectiveConfiguration } from './types';
|
|
3
|
+
export type RelationalDirectiveConfiguration = HasOneDirectiveConfiguration | HasManyDirectiveConfiguration | BelongsToDirectiveConfiguration;
|
|
4
|
+
export interface DataSourceBasedDirectiveTransformer<Config extends RelationalDirectiveConfiguration> {
|
|
5
|
+
dbType: ModelDataSourceStrategyDbType;
|
|
6
|
+
prepare: (context: TransformerPrepareStepContextProvider, config: Config) => void;
|
|
7
|
+
transformSchema: (context: TransformerTransformSchemaStepContextProvider, config: Config) => void;
|
|
8
|
+
generateResolvers: (context: TransformerContextProvider, config: Config) => void;
|
|
9
|
+
validate: (context: TransformerContextProvider, config: Config) => void;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=data-source-based-directive-transformer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-source-based-directive-transformer.d.ts","sourceRoot":"","sources":["../src/data-source-based-directive-transformer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,qCAAqC,EACrC,6BAA6B,EAC7B,6CAA6C,EAC9C,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,+BAA+B,EAAE,6BAA6B,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAC;AAEvH,MAAM,MAAM,gCAAgC,GACxC,4BAA4B,GAC5B,6BAA6B,GAC7B,+BAA+B,CAAC;AASpC,MAAM,WAAW,mCAAmC,CAAC,MAAM,SAAS,gCAAgC;IAElG,MAAM,EAAE,6BAA6B,CAAC;IACtC,OAAO,EAAE,CAAC,OAAO,EAAE,qCAAqC,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAClF,eAAe,EAAE,CAAC,OAAO,EAAE,6CAA6C,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAClG,iBAAiB,EAAE,CAAC,OAAO,EAAE,0BAA0B,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACjF,QAAQ,EAAE,CAAC,OAAO,EAAE,0BAA0B,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACzE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-source-based-directive-transformer.js","sourceRoot":"","sources":["../src/data-source-based-directive-transformer.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { TransformerPluginBase } from '@aws-amplify/graphql-transformer-core';
|
|
2
|
+
import { TransformerContextProvider, TransformerPreProcessContextProvider, TransformerPrepareStepContextProvider, TransformerSchemaVisitStepContextProvider, TransformerTransformSchemaStepContextProvider } from '@aws-amplify/graphql-transformer-interfaces';
|
|
3
|
+
import { DirectiveNode, DocumentNode, FieldDefinitionNode, InterfaceTypeDefinitionNode, ObjectTypeDefinitionNode } from 'graphql';
|
|
4
|
+
export declare class BelongsToTransformer extends TransformerPluginBase {
|
|
5
|
+
private directiveList;
|
|
6
|
+
constructor();
|
|
7
|
+
field: (parent: ObjectTypeDefinitionNode | InterfaceTypeDefinitionNode, definition: FieldDefinitionNode, directive: DirectiveNode, context: TransformerSchemaVisitStepContextProvider) => void;
|
|
8
|
+
mutateSchema: (context: TransformerPreProcessContextProvider) => DocumentNode;
|
|
9
|
+
prepare: (context: TransformerPrepareStepContextProvider) => void;
|
|
10
|
+
transformSchema: (ctx: TransformerTransformSchemaStepContextProvider) => void;
|
|
11
|
+
generateResolvers: (ctx: TransformerContextProvider) => void;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=graphql-belongs-to-transformer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graphql-belongs-to-transformer.d.ts","sourceRoot":"","sources":["../src/graphql-belongs-to-transformer.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,qBAAqB,EAItB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAEL,0BAA0B,EAC1B,oCAAoC,EACpC,qCAAqC,EACrC,yCAAyC,EACzC,6CAA6C,EAC9C,MAAM,6CAA6C,CAAC;AAGrD,OAAO,EACL,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,2BAA2B,EAE3B,wBAAwB,EAEzB,MAAM,SAAS,CAAC;AAkBjB,qBAAa,oBAAqB,SAAQ,qBAAqB;IAC7D,OAAO,CAAC,aAAa,CAAyC;;IAM9D,KAAK,WACK,wBAAwB,GAAG,2BAA2B,cAClD,mBAAmB,aACpB,aAAa,WACf,yCAAyC,KACjD,IAAI,CAcL;IAKF,YAAY,YAAa,oCAAoC,KAAG,YAAY,CA+C1E;IAKF,OAAO,YAAa,qCAAqC,KAAG,IAAI,CAO9D;IAEF,eAAe,QAAS,6CAA6C,KAAG,IAAI,CAS1E;IAEF,iBAAiB,QAAS,0BAA0B,KAAG,IAAI,CAyBzD;CACH"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.BelongsToTransformer = void 0;
|
|
7
|
+
const graphql_transformer_core_1 = require("@aws-amplify/graphql-transformer-core");
|
|
8
|
+
const graphql_directives_1 = require("@aws-amplify/graphql-directives");
|
|
9
|
+
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
10
|
+
const graphql_1 = require("graphql");
|
|
11
|
+
const graphql_transformer_common_1 = require("graphql-transformer-common");
|
|
12
|
+
const immer_1 = __importDefault(require("immer"));
|
|
13
|
+
const belongs_to_directive_transformer_factory_1 = require("./belongs-to/belongs-to-directive-transformer-factory");
|
|
14
|
+
const schema_1 = require("./schema");
|
|
15
|
+
const utils_1 = require("./utils");
|
|
16
|
+
class BelongsToTransformer extends graphql_transformer_core_1.TransformerPluginBase {
|
|
17
|
+
constructor() {
|
|
18
|
+
super('amplify-belongs-to-transformer', graphql_directives_1.BelongsToDirective.definition);
|
|
19
|
+
this.directiveList = [];
|
|
20
|
+
this.field = (parent, definition, directive, context) => {
|
|
21
|
+
const directiveWrapped = new graphql_transformer_core_1.DirectiveWrapper(directive);
|
|
22
|
+
const args = directiveWrapped.getArguments({
|
|
23
|
+
directiveName: graphql_directives_1.BelongsToDirective.name,
|
|
24
|
+
object: parent,
|
|
25
|
+
field: definition,
|
|
26
|
+
directive,
|
|
27
|
+
}, (0, graphql_transformer_core_1.generateGetArgumentsInput)(context.transformParameters));
|
|
28
|
+
validate(args, context);
|
|
29
|
+
this.directiveList.push(args);
|
|
30
|
+
};
|
|
31
|
+
this.mutateSchema = (context) => {
|
|
32
|
+
const resultDoc = (0, immer_1.default)(context.inputDocument, (draftDoc) => {
|
|
33
|
+
var _a;
|
|
34
|
+
const objectTypeMap = new Map();
|
|
35
|
+
const filteredDefs = (_a = draftDoc === null || draftDoc === void 0 ? void 0 : draftDoc.definitions) === null || _a === void 0 ? void 0 : _a.filter((def) => def.kind === 'ObjectTypeExtension' || def.kind === 'ObjectTypeDefinition');
|
|
36
|
+
const objectDefs = filteredDefs;
|
|
37
|
+
objectDefs === null || objectDefs === void 0 ? void 0 : objectDefs.forEach((def) => objectTypeMap.set(def.name.value, def));
|
|
38
|
+
objectDefs === null || objectDefs === void 0 ? void 0 : objectDefs.forEach((def) => {
|
|
39
|
+
var _a;
|
|
40
|
+
const filteredFields = (_a = def === null || def === void 0 ? void 0 : def.fields) === null || _a === void 0 ? void 0 : _a.filter((field) => { var _a; return (_a = field === null || field === void 0 ? void 0 : field.directives) === null || _a === void 0 ? void 0 : _a.some((dir) => dir.name.value === graphql_directives_1.BelongsToDirective.name && objectTypeMap.get((0, graphql_transformer_common_1.getBaseType)(field.type))); });
|
|
41
|
+
filteredFields === null || filteredFields === void 0 ? void 0 : filteredFields.forEach((field) => {
|
|
42
|
+
var _a, _b, _c, _d, _e, _f;
|
|
43
|
+
const relatedType = objectTypeMap.get((0, graphql_transformer_common_1.getBaseType)(field.type));
|
|
44
|
+
const relationTypeField = (_a = relatedType === null || relatedType === void 0 ? void 0 : relatedType.fields) === null || _a === void 0 ? void 0 : _a.find((relatedField) => {
|
|
45
|
+
var _a;
|
|
46
|
+
return (0, graphql_transformer_common_1.getBaseType)(relatedField.type) === def.name.value &&
|
|
47
|
+
((_a = relatedField === null || relatedField === void 0 ? void 0 : relatedField.directives) === null || _a === void 0 ? void 0 : _a.some((relatedDir) => relatedDir.name.value === 'hasOne' || relatedDir.name.value === 'hasMany'));
|
|
48
|
+
});
|
|
49
|
+
const relationTypeName = (_d = (_c = (_b = relationTypeField === null || relationTypeField === void 0 ? void 0 : relationTypeField.directives) === null || _b === void 0 ? void 0 : _b.find((relationDir) => relationDir.name.value === 'hasOne' || relationDir.name.value === 'hasMany')) === null || _c === void 0 ? void 0 : _c.name) === null || _d === void 0 ? void 0 : _d.value;
|
|
50
|
+
if (relationTypeName === 'hasOne') {
|
|
51
|
+
const connectionAttributeName = (0, utils_1.getConnectionAttributeName)(context.transformParameters, def.name.value, field.name.value, (0, utils_1.getObjectPrimaryKey)(def).name.value);
|
|
52
|
+
if (!((_e = def === null || def === void 0 ? void 0 : def.fields) === null || _e === void 0 ? void 0 : _e.some((defField) => defField.name.value === connectionAttributeName))) {
|
|
53
|
+
(_f = def === null || def === void 0 ? void 0 : def.fields) === null || _f === void 0 ? void 0 : _f.push((0, graphql_transformer_common_1.makeField)(connectionAttributeName, [], (0, graphql_transformer_common_1.isNonNullType)(field.type) ? (0, graphql_transformer_common_1.makeNonNullType)((0, graphql_transformer_common_1.makeNamedType)('ID')) : (0, graphql_transformer_common_1.makeNamedType)('ID'), []));
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
return resultDoc;
|
|
60
|
+
};
|
|
61
|
+
this.prepare = (context) => {
|
|
62
|
+
this.directiveList.forEach((config) => {
|
|
63
|
+
const modelName = config.object.name.value;
|
|
64
|
+
const dbType = (0, graphql_transformer_core_1.getStrategyDbTypeFromModel)(context, modelName);
|
|
65
|
+
const dataSourceBasedTransformer = (0, belongs_to_directive_transformer_factory_1.getBelongsToDirectiveTransformer)(dbType, config);
|
|
66
|
+
dataSourceBasedTransformer.prepare(context, config);
|
|
67
|
+
});
|
|
68
|
+
};
|
|
69
|
+
this.transformSchema = (ctx) => {
|
|
70
|
+
const context = ctx;
|
|
71
|
+
for (const config of this.directiveList) {
|
|
72
|
+
const dbType = (0, graphql_transformer_core_1.getStrategyDbTypeFromTypeNode)(config.field.type, context);
|
|
73
|
+
const dataSourceBasedTransformer = (0, belongs_to_directive_transformer_factory_1.getBelongsToDirectiveTransformer)(dbType, config);
|
|
74
|
+
dataSourceBasedTransformer.transformSchema(ctx, config);
|
|
75
|
+
(0, schema_1.ensureBelongsToConnectionField)(config, context);
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
this.generateResolvers = (ctx) => {
|
|
79
|
+
const context = ctx;
|
|
80
|
+
for (const config of this.directiveList) {
|
|
81
|
+
if (!ctx.transformParameters.allowGen1Patterns) {
|
|
82
|
+
const { field, object } = config;
|
|
83
|
+
const modelName = object.name.value;
|
|
84
|
+
const fieldName = field.name.value;
|
|
85
|
+
if (field.type.kind === graphql_1.Kind.NON_NULL_TYPE) {
|
|
86
|
+
aws_cdk_lib_1.Annotations.of(ctx.api).addWarning(`@${graphql_directives_1.BelongsToDirective.name} on required fields is deprecated. Modify ${modelName}.${fieldName} to be optional. This functionality will be removed in the next major release.`);
|
|
87
|
+
}
|
|
88
|
+
if (config.fields) {
|
|
89
|
+
aws_cdk_lib_1.Annotations.of(ctx.api).addWarning(`fields argument on @${graphql_directives_1.BelongsToDirective.name} is deprecated. Modify ${modelName}.${fieldName} to use references instead. This functionality will be removed in the next major release.`);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
const dbType = (0, graphql_transformer_core_1.getStrategyDbTypeFromTypeNode)(config.field.type, context);
|
|
93
|
+
const dataSourceBasedTransformer = (0, belongs_to_directive_transformer_factory_1.getBelongsToDirectiveTransformer)(dbType, config);
|
|
94
|
+
dataSourceBasedTransformer.generateResolvers(ctx, config);
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
exports.BelongsToTransformer = BelongsToTransformer;
|
|
100
|
+
const validate = (config, ctx) => {
|
|
101
|
+
var _a, _b;
|
|
102
|
+
const { field, object } = config;
|
|
103
|
+
if (config.overrideIndexName && !config.references) {
|
|
104
|
+
throw new graphql_transformer_core_1.InvalidDirectiveError(`overrideIndexName cannot be used on @${graphql_directives_1.BelongsToDirective.name} without references. Modify ${object.name.value}.${field.name.value} to use references or remove overrideIndexName.`);
|
|
105
|
+
}
|
|
106
|
+
let dbType;
|
|
107
|
+
try {
|
|
108
|
+
dbType = (0, graphql_transformer_core_1.getStrategyDbTypeFromTypeNode)(field.type, ctx);
|
|
109
|
+
}
|
|
110
|
+
catch (_c) {
|
|
111
|
+
throw new graphql_transformer_core_1.InvalidDirectiveError(`Object type ${(_b = (_a = field.type) === null || _a === void 0 ? void 0 : _a.name.value) !== null && _b !== void 0 ? _b : field.name} must be annotated with @model.`);
|
|
112
|
+
}
|
|
113
|
+
config.relatedType = (0, utils_1.getRelatedType)(config, ctx);
|
|
114
|
+
const dataSourceBasedTransformer = (0, belongs_to_directive_transformer_factory_1.getBelongsToDirectiveTransformer)(dbType, config);
|
|
115
|
+
dataSourceBasedTransformer.validate(ctx, config);
|
|
116
|
+
(0, utils_1.validateModelDirective)(config);
|
|
117
|
+
if ((0, graphql_transformer_common_1.isListType)(field.type)) {
|
|
118
|
+
throw new graphql_transformer_core_1.InvalidDirectiveError(`@${graphql_directives_1.BelongsToDirective.name} cannot be used with lists.`);
|
|
119
|
+
}
|
|
120
|
+
config.connectionFields = [];
|
|
121
|
+
(0, utils_1.validateRelatedModelDirective)(config);
|
|
122
|
+
const isBiRelation = config.relatedType.fields.some((relatedField) => {
|
|
123
|
+
if ((0, graphql_transformer_common_1.getBaseType)(relatedField.type) !== object.name.value) {
|
|
124
|
+
return false;
|
|
125
|
+
}
|
|
126
|
+
return relatedField.directives.some((relatedDirective) => {
|
|
127
|
+
if (relatedDirective.name.value === 'hasOne' || relatedDirective.name.value === 'hasMany') {
|
|
128
|
+
config.relatedField = relatedField;
|
|
129
|
+
config.relationType = relatedDirective.name.value;
|
|
130
|
+
return true;
|
|
131
|
+
}
|
|
132
|
+
return false;
|
|
133
|
+
});
|
|
134
|
+
});
|
|
135
|
+
if (!isBiRelation && dbType === graphql_transformer_core_1.DDB_DB_TYPE) {
|
|
136
|
+
throw new graphql_transformer_core_1.InvalidDirectiveError(`${config.relatedType.name.value} must have a relationship with ${object.name.value} in order to use @${graphql_directives_1.BelongsToDirective.name}.`);
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
//# sourceMappingURL=graphql-belongs-to-transformer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graphql-belongs-to-transformer.js","sourceRoot":"","sources":["../src/graphql-belongs-to-transformer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { TransformerPluginBase } from '@aws-amplify/graphql-transformer-core';
|
|
2
|
+
import { TransformerContextProvider, TransformerPreProcessContextProvider, TransformerPrepareStepContextProvider, TransformerSchemaVisitStepContextProvider, TransformerTransformSchemaStepContextProvider } from '@aws-amplify/graphql-transformer-interfaces';
|
|
3
|
+
import { DirectiveNode, DocumentNode, FieldDefinitionNode, InterfaceTypeDefinitionNode, ObjectTypeDefinitionNode } from 'graphql';
|
|
4
|
+
export declare class HasManyTransformer extends TransformerPluginBase {
|
|
5
|
+
private directiveList;
|
|
6
|
+
constructor();
|
|
7
|
+
field: (parent: ObjectTypeDefinitionNode | InterfaceTypeDefinitionNode, definition: FieldDefinitionNode, directive: DirectiveNode, context: TransformerSchemaVisitStepContextProvider) => void;
|
|
8
|
+
mutateSchema: (context: TransformerPreProcessContextProvider) => DocumentNode;
|
|
9
|
+
prepare: (context: TransformerPrepareStepContextProvider) => void;
|
|
10
|
+
transformSchema: (ctx: TransformerTransformSchemaStepContextProvider) => void;
|
|
11
|
+
generateResolvers: (ctx: TransformerContextProvider) => void;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=graphql-has-many-transformer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graphql-has-many-transformer.d.ts","sourceRoot":"","sources":["../src/graphql-has-many-transformer.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,qBAAqB,EAItB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAGL,0BAA0B,EAC1B,oCAAoC,EACpC,qCAAqC,EACrC,yCAAyC,EACzC,6CAA6C,EAC9C,MAAM,6CAA6C,CAAC;AAErD,OAAO,EACL,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,2BAA2B,EAE3B,wBAAwB,EAGzB,MAAM,SAAS,CAAC;AAsBjB,qBAAa,kBAAmB,SAAQ,qBAAqB;IAC3D,OAAO,CAAC,aAAa,CAAuC;;IAM5D,KAAK,WACK,wBAAwB,GAAG,2BAA2B,cAClD,mBAAmB,aACpB,aAAa,WACf,yCAAyC,KACjD,IAAI,CAeL;IAKF,YAAY,YAAa,oCAAoC,KAAG,YAAY,CAwC1E;IAKF,OAAO,YAAa,qCAAqC,KAAG,IAAI,CAO9D;IAEF,eAAe,QAAS,6CAA6C,KAAG,IAAI,CAU1E;IAEF,iBAAiB,QAAS,0BAA0B,KAAG,IAAI,CAwBzD;CACH"}
|