@aws-amplify/graphql-model-transformer 1.4.0-rds.0 → 1.4.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/CHANGELOG.md +31 -1
- package/lib/definitions.d.ts.map +1 -1
- package/lib/definitions.js +28 -2
- package/lib/definitions.js.map +1 -1
- package/lib/graphql-model-transformer.d.ts.map +1 -1
- package/lib/graphql-model-transformer.js +38 -36
- package/lib/graphql-model-transformer.js.map +1 -1
- package/lib/graphql-types/common.d.ts.map +1 -1
- package/lib/graphql-types/common.js +16 -18
- package/lib/graphql-types/common.js.map +1 -1
- package/lib/graphql-types/mutation.d.ts.map +1 -1
- package/lib/graphql-types/mutation.js +12 -12
- package/lib/graphql-types/mutation.js.map +1 -1
- package/lib/graphql-types/query.d.ts.map +1 -1
- package/lib/graphql-types/query.js.map +1 -1
- package/lib/rds-lambda.zip +0 -0
- package/lib/rds-notification-lambda.zip +0 -0
- package/lib/rds-patching-lambda.zip +0 -0
- package/lib/resolvers/common.d.ts.map +1 -1
- package/lib/resolvers/common.js.map +1 -1
- package/lib/resolvers/dynamodb/mutation.d.ts.map +1 -1
- package/lib/resolvers/dynamodb/mutation.js +10 -8
- package/lib/resolvers/dynamodb/mutation.js.map +1 -1
- package/lib/resolvers/dynamodb/query.d.ts.map +1 -1
- package/lib/resolvers/dynamodb/query.js +1 -4
- package/lib/resolvers/dynamodb/query.js.map +1 -1
- package/lib/resolvers/dynamodb/subscriptions.d.ts.map +1 -1
- package/lib/resolvers/dynamodb/subscriptions.js.map +1 -1
- package/lib/resolvers/generators/dynamodb-vtl-generator.d.ts.map +1 -1
- package/lib/resolvers/generators/dynamodb-vtl-generator.js.map +1 -1
- package/lib/resolvers/generators/rds-vtl-generator.d.ts.map +1 -1
- package/lib/resolvers/generators/rds-vtl-generator.js.map +1 -1
- package/lib/resolvers/generators/vtl-generator.d.ts.map +1 -1
- package/lib/resolvers/index.d.ts.map +1 -1
- package/lib/resolvers/index.js.map +1 -1
- package/lib/resolvers/rds/mutation.d.ts.map +1 -1
- package/lib/resolvers/rds/mutation.js.map +1 -1
- package/lib/resolvers/rds/query.d.ts.map +1 -1
- package/lib/resolvers/rds/query.js.map +1 -1
- package/lib/resolvers/rds/resolver.d.ts +2 -2
- package/lib/resolvers/rds/resolver.d.ts.map +1 -1
- package/lib/resolvers/rds/resolver.js +83 -83
- package/lib/resolvers/rds/resolver.js.map +1 -1
- package/lib/resources/dynamo-model-resource-generator.d.ts +1 -1
- package/lib/resources/dynamo-model-resource-generator.d.ts.map +1 -1
- package/lib/resources/dynamo-model-resource-generator.js +2 -2
- package/lib/resources/dynamo-model-resource-generator.js.map +1 -1
- package/lib/resources/model-resource-generator.d.ts.map +1 -1
- package/lib/resources/model-resource-generator.js +15 -7
- package/lib/resources/model-resource-generator.js.map +1 -1
- package/lib/resources/rds-model-resource-generator.d.ts.map +1 -1
- package/lib/resources/rds-model-resource-generator.js +1 -1
- package/lib/resources/rds-model-resource-generator.js.map +1 -1
- package/package.json +17 -8
- package/publish-notification-lambda/node_modules/.package-lock.json +13 -13
- package/publish-notification-lambda/node_modules/@smithy/protocol-http/package.json +3 -3
- package/publish-notification-lambda/node_modules/@smithy/types/package.json +2 -2
- package/publish-notification-lambda/node_modules/@types/node/README.md +1 -1
- package/publish-notification-lambda/node_modules/@types/node/package.json +2 -2
- package/publish-notification-lambda/node_modules/tslib/package.json +1 -1
- package/publish-notification-lambda/node_modules/tslib/tslib.es6.mjs +50 -1
- package/publish-notification-lambda/package-lock.json +13 -13
- package/publish-notification-lambda/src/index.ts +2 -2
- package/publish-notification-lambda/tsconfig.json +9 -9
- package/rds-lambda/handler.ts +17 -4
- package/rds-lambda/node_modules/.package-lock.json +376 -377
- package/rds-lambda/node_modules/@babel/compat-data/README.md +1 -1
- package/rds-lambda/node_modules/@babel/compat-data/data/corejs2-built-ins.json +146 -0
- package/rds-lambda/node_modules/@babel/compat-data/data/native-modules.json +1 -1
- package/rds-lambda/node_modules/@babel/compat-data/data/plugin-bugfixes.json +17 -0
- package/rds-lambda/node_modules/@babel/compat-data/data/plugins.json +76 -9
- package/rds-lambda/node_modules/@babel/compat-data/package.json +4 -4
- package/rds-lambda/node_modules/@babel/core/README.md +1 -1
- package/rds-lambda/node_modules/@babel/core/package.json +10 -10
- package/rds-lambda/node_modules/@babel/generator/README.md +1 -1
- package/rds-lambda/node_modules/@babel/generator/package.json +4 -3
- package/rds-lambda/node_modules/@babel/helper-compilation-targets/README.md +1 -1
- package/rds-lambda/node_modules/@babel/helper-compilation-targets/package.json +5 -5
- package/rds-lambda/node_modules/@babel/helper-module-transforms/README.md +1 -1
- package/rds-lambda/node_modules/@babel/helper-module-transforms/package.json +10 -6
- package/rds-lambda/node_modules/@babel/helper-split-export-declaration/README.md +1 -1
- package/rds-lambda/node_modules/@babel/helper-split-export-declaration/package.json +1 -1
- package/rds-lambda/node_modules/@babel/helpers/README.md +1 -1
- package/rds-lambda/node_modules/@babel/helpers/package.json +3 -3
- package/rds-lambda/node_modules/@babel/parser/README.md +1 -1
- package/rds-lambda/node_modules/@babel/parser/package.json +2 -2
- package/rds-lambda/node_modules/@babel/traverse/README.md +1 -1
- package/rds-lambda/node_modules/@babel/traverse/package.json +4 -4
- package/rds-lambda/node_modules/@jest/console/package.json +6 -6
- package/rds-lambda/node_modules/@jest/core/package.json +21 -21
- package/rds-lambda/node_modules/@jest/environment/package.json +5 -5
- package/rds-lambda/node_modules/@jest/expect/package.json +6 -6
- package/rds-lambda/node_modules/@jest/expect-utils/package.json +5 -5
- package/rds-lambda/node_modules/@jest/fake-timers/package.json +7 -7
- package/rds-lambda/node_modules/@jest/globals/package.json +6 -6
- package/rds-lambda/node_modules/@jest/reporters/package.json +14 -14
- package/rds-lambda/node_modules/@jest/schemas/package.json +3 -3
- package/rds-lambda/node_modules/@jest/source-map/package.json +3 -3
- package/rds-lambda/node_modules/@jest/test-result/package.json +6 -6
- package/rds-lambda/node_modules/@jest/test-sequencer/package.json +5 -5
- package/rds-lambda/node_modules/@jest/transform/package.json +7 -7
- package/rds-lambda/node_modules/@jest/types/package.json +5 -5
- package/rds-lambda/node_modules/@sinclair/typebox/package.json +3 -8
- package/rds-lambda/node_modules/@sinclair/typebox/readme.md +487 -300
- package/rds-lambda/node_modules/@smithy/protocol-http/package.json +3 -3
- package/rds-lambda/node_modules/@smithy/types/package.json +2 -2
- package/rds-lambda/node_modules/@types/jest/README.md +1 -1
- package/rds-lambda/node_modules/@types/jest/package.json +2 -2
- package/rds-lambda/node_modules/@types/node/README.md +1 -1
- package/rds-lambda/node_modules/@types/node/package.json +2 -2
- package/rds-lambda/node_modules/babel-jest/package.json +4 -4
- package/rds-lambda/node_modules/caniuse-lite/package.json +1 -1
- package/rds-lambda/node_modules/collect-v8-coverage/CHANGELOG.md +7 -0
- package/rds-lambda/node_modules/collect-v8-coverage/package.json +18 -20
- package/rds-lambda/node_modules/commander/Readme.md +7 -2
- package/rds-lambda/node_modules/commander/package.json +17 -17
- package/rds-lambda/node_modules/electron-to-chromium/full-chromium-versions.json +1 -1
- package/rds-lambda/node_modules/electron-to-chromium/full-versions.json +1 -1
- package/rds-lambda/node_modules/electron-to-chromium/package.json +1 -1
- package/rds-lambda/node_modules/electron-to-chromium/versions.json +1 -1
- package/rds-lambda/node_modules/expect/package.json +10 -9
- package/rds-lambda/node_modules/jest/package.json +7 -7
- package/rds-lambda/node_modules/jest-circus/package.json +15 -14
- package/rds-lambda/node_modules/jest-cli/package.json +10 -9
- package/rds-lambda/node_modules/jest-config/package.json +14 -14
- package/rds-lambda/node_modules/jest-diff/package.json +4 -4
- package/rds-lambda/node_modules/jest-each/package.json +5 -5
- package/rds-lambda/node_modules/jest-environment-node/package.json +8 -8
- package/rds-lambda/node_modules/jest-haste-map/package.json +5 -5
- package/rds-lambda/node_modules/jest-leak-detector/package.json +3 -3
- package/rds-lambda/node_modules/jest-matcher-utils/package.json +5 -5
- package/rds-lambda/node_modules/jest-message-util/package.json +4 -4
- package/rds-lambda/node_modules/jest-mock/package.json +6 -6
- package/rds-lambda/node_modules/jest-resolve/package.json +7 -7
- package/rds-lambda/node_modules/jest-resolve-dependencies/package.json +8 -8
- package/rds-lambda/node_modules/jest-runner/package.json +20 -20
- package/rds-lambda/node_modules/jest-runtime/package.json +17 -17
- package/rds-lambda/node_modules/jest-snapshot/node_modules/semver/README.md +3 -1
- package/rds-lambda/node_modules/jest-snapshot/node_modules/semver/package.json +3 -3
- package/rds-lambda/node_modules/jest-snapshot/package.json +15 -17
- package/rds-lambda/node_modules/jest-util/package.json +3 -3
- package/rds-lambda/node_modules/jest-validate/package.json +4 -4
- package/rds-lambda/node_modules/jest-watcher/package.json +5 -5
- package/rds-lambda/node_modules/jest-worker/package.json +6 -6
- package/rds-lambda/node_modules/knex/CHANGELOG.md +63 -21
- package/rds-lambda/node_modules/knex/CONTRIBUTING.md +1 -1
- package/rds-lambda/node_modules/knex/LICENSE +22 -22
- package/rds-lambda/node_modules/knex/README.md +32 -31
- package/rds-lambda/node_modules/knex/UPGRADING.md +94 -82
- package/rds-lambda/node_modules/knex/knex.mjs +11 -0
- package/rds-lambda/node_modules/knex/lib/dialects/oracle/DEAD_CODE.md +3 -3
- package/rds-lambda/node_modules/knex/lib/migrations/migrate/stub/cjs.stub +15 -15
- package/rds-lambda/node_modules/knex/lib/migrations/migrate/stub/coffee.stub +13 -13
- package/rds-lambda/node_modules/knex/lib/migrations/migrate/stub/eg.stub +14 -14
- package/rds-lambda/node_modules/knex/lib/migrations/migrate/stub/js-schema.stub +22 -22
- package/rds-lambda/node_modules/knex/lib/migrations/migrate/stub/js.stub +22 -22
- package/rds-lambda/node_modules/knex/lib/migrations/migrate/stub/knexfile-coffee.stub +34 -34
- package/rds-lambda/node_modules/knex/lib/migrations/migrate/stub/knexfile-eg.stub +43 -43
- package/rds-lambda/node_modules/knex/lib/migrations/migrate/stub/knexfile-js.stub +47 -47
- package/rds-lambda/node_modules/knex/lib/migrations/migrate/stub/knexfile-ls.stub +35 -35
- package/rds-lambda/node_modules/knex/lib/migrations/migrate/stub/knexfile-ts.stub +47 -47
- package/rds-lambda/node_modules/knex/lib/migrations/migrate/stub/ls.stub +14 -14
- package/rds-lambda/node_modules/knex/lib/migrations/migrate/stub/mjs.stub +23 -23
- package/rds-lambda/node_modules/knex/lib/migrations/migrate/stub/ts-schema.stub +21 -21
- package/rds-lambda/node_modules/knex/lib/migrations/migrate/stub/ts.stub +21 -21
- package/rds-lambda/node_modules/knex/lib/migrations/seed/stub/coffee.stub +9 -9
- package/rds-lambda/node_modules/knex/lib/migrations/seed/stub/eg.stub +11 -11
- package/rds-lambda/node_modules/knex/lib/migrations/seed/stub/js.stub +13 -13
- package/rds-lambda/node_modules/knex/lib/migrations/seed/stub/ls.stub +11 -11
- package/rds-lambda/node_modules/knex/lib/migrations/seed/stub/mjs.stub +12 -12
- package/rds-lambda/node_modules/knex/lib/migrations/seed/stub/ts.stub +13 -13
- package/rds-lambda/node_modules/knex/package.json +21 -18
- package/rds-lambda/node_modules/knex/scripts/docker-compose.yml +2 -2
- package/rds-lambda/node_modules/knex/scripts/next-release-howto.md +1 -1
- package/rds-lambda/node_modules/knex/scripts/oracledb-install-driver-libs.sh +82 -82
- package/rds-lambda/node_modules/knex/scripts/release.sh +36 -34
- package/rds-lambda/node_modules/knex/scripts/stress-test/README.txt +18 -18
- package/rds-lambda/node_modules/knex/scripts/stress-test/docker-compose.yml +16 -16
- package/rds-lambda/node_modules/node-releases/data/processed/envs.json +1 -1
- package/rds-lambda/node_modules/node-releases/package.json +1 -1
- package/rds-lambda/node_modules/pg-connection-string/package.json +2 -2
- package/rds-lambda/node_modules/pretty-format/package.json +5 -5
- package/rds-lambda/node_modules/semver/package.json +19 -9
- package/rds-lambda/node_modules/ts-jest/.ts-jest-digest +1 -1
- package/rds-lambda/node_modules/ts-jest/CHANGELOG.md +9 -0
- package/rds-lambda/node_modules/ts-jest/node_modules/semver/README.md +3 -1
- package/rds-lambda/node_modules/ts-jest/node_modules/semver/package.json +3 -3
- package/rds-lambda/node_modules/ts-jest/package.json +12 -12
- package/rds-lambda/node_modules/tslib/package.json +1 -1
- package/rds-lambda/node_modules/tslib/tslib.es6.mjs +50 -1
- package/rds-lambda/package-lock.json +376 -377
- package/rds-patching-lambda/node_modules/.package-lock.json +13 -13
- package/rds-patching-lambda/node_modules/@smithy/protocol-http/package.json +3 -3
- package/rds-patching-lambda/node_modules/@smithy/types/package.json +2 -2
- package/rds-patching-lambda/node_modules/@types/node/README.md +1 -1
- package/rds-patching-lambda/node_modules/@types/node/package.json +2 -2
- package/rds-patching-lambda/node_modules/tslib/package.json +1 -1
- package/rds-patching-lambda/node_modules/tslib/tslib.es6.mjs +50 -1
- package/rds-patching-lambda/package-lock.json +13 -13
- package/rds-patching-lambda/src/index.ts +19 -6
- package/rds-patching-lambda/tsconfig.json +9 -9
- package/src/__tests__/model-transformer.test.ts +175 -145
- package/src/__tests__/test-utils/helpers.ts +1 -1
- package/src/definitions.ts +28 -2
- package/src/graphql-model-transformer.ts +81 -75
- package/src/graphql-types/common.ts +41 -41
- package/src/graphql-types/mutation.ts +13 -13
- package/src/graphql-types/query.ts +1 -0
- package/src/index.ts +1 -0
- package/src/resolvers/common.ts +1 -12
- package/src/resolvers/dynamodb/mutation.ts +16 -13
- package/src/resolvers/dynamodb/query.ts +7 -12
- package/src/resolvers/dynamodb/subscriptions.ts +1 -3
- package/src/resolvers/generators/dynamodb-vtl-generator.ts +18 -8
- package/src/resolvers/generators/rds-vtl-generator.ts +11 -4
- package/src/resolvers/generators/vtl-generator.ts +5 -5
- package/src/resolvers/index.ts +1 -3
- package/src/resolvers/rds/mutation.ts +76 -70
- package/src/resolvers/rds/query.ts +4 -12
- package/src/resolvers/rds/resolver.ts +125 -131
- package/src/resources/dynamo-model-resource-generator.ts +14 -28
- package/src/resources/model-resource-generator.ts +65 -27
- package/src/resources/rds-model-resource-generator.ts +5 -15
- package/tsconfig.json +4 -4
- package/tsconfig.tsbuildinfo +1 -1
- package/rds-lambda/node_modules/semver/CHANGELOG.md +0 -70
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
import { ModelTransformer } from '@aws-amplify/graphql-model-transformer';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
ConflictHandlerType,
|
|
4
|
+
DatasourceType,
|
|
5
|
+
GraphQLTransform,
|
|
6
|
+
SyncConfig,
|
|
7
|
+
validateModelSchema,
|
|
8
|
+
} from '@aws-amplify/graphql-transformer-core';
|
|
3
9
|
import { InputObjectTypeDefinitionNode, InputValueDefinitionNode, ListValueNode, NamedTypeNode, parse } from 'graphql';
|
|
4
10
|
import { getBaseType } from 'graphql-transformer-common';
|
|
11
|
+
import { Template } from 'aws-cdk-lib/assertions';
|
|
5
12
|
import {
|
|
6
13
|
doNotExpectFields,
|
|
7
14
|
expectFields,
|
|
@@ -13,7 +20,6 @@ import {
|
|
|
13
20
|
verifyInputCount,
|
|
14
21
|
verifyMatchingTypes,
|
|
15
22
|
} from './test-utils/helpers';
|
|
16
|
-
import { Template } from 'aws-cdk-lib/assertions';
|
|
17
23
|
|
|
18
24
|
describe('ModelTransformer: ', () => {
|
|
19
25
|
it('should successfully transform simple valid schema', async () => {
|
|
@@ -70,17 +76,17 @@ describe('ModelTransformer: ', () => {
|
|
|
70
76
|
resolverConfig: {
|
|
71
77
|
project: {
|
|
72
78
|
ConflictDetection: 'VERSION',
|
|
73
|
-
ConflictHandler: ConflictHandlerType.AUTOMERGE
|
|
74
|
-
}
|
|
79
|
+
ConflictHandler: ConflictHandlerType.AUTOMERGE,
|
|
80
|
+
},
|
|
75
81
|
},
|
|
76
82
|
});
|
|
77
83
|
const out = transformer.transform(alsoValidSchema);
|
|
78
84
|
expect(out).toBeDefined();
|
|
79
|
-
|
|
85
|
+
|
|
80
86
|
validateModelSchema(parse(out.schema));
|
|
81
87
|
parse(out.schema);
|
|
82
88
|
expect(out.schema).toMatchSnapshot();
|
|
83
|
-
expect(out.schema).toContain(
|
|
89
|
+
expect(out.schema).toContain('input NonModelTypeInput');
|
|
84
90
|
});
|
|
85
91
|
|
|
86
92
|
it('should support custom query overrides', () => {
|
|
@@ -111,7 +117,7 @@ describe('ModelTransformer: ', () => {
|
|
|
111
117
|
|
|
112
118
|
// This id should always be optional.
|
|
113
119
|
// aka a named type node aka name.value would not be set if it were a non null node
|
|
114
|
-
const idField = createPostInput!.fields!.find(f => f.name.value === 'id');
|
|
120
|
+
const idField = createPostInput!.fields!.find((f) => f.name.value === 'id');
|
|
115
121
|
expect((idField!.type as NamedTypeNode).name!.value).toEqual('ID');
|
|
116
122
|
const queryType = getObjectType(parsed, 'Query');
|
|
117
123
|
expect(queryType).toBeDefined();
|
|
@@ -120,7 +126,7 @@ describe('ModelTransformer: ', () => {
|
|
|
120
126
|
const subscriptionType = getObjectType(parsed, 'Subscription');
|
|
121
127
|
expect(subscriptionType).toBeDefined();
|
|
122
128
|
expectFields(subscriptionType!, ['onCreatePost', 'onUpdatePost', 'onDeletePost']);
|
|
123
|
-
const subField = subscriptionType!.fields!.find(f => f.name.value === 'onCreatePost');
|
|
129
|
+
const subField = subscriptionType!.fields!.find((f) => f.name.value === 'onCreatePost');
|
|
124
130
|
expect(subField).toBeDefined();
|
|
125
131
|
expect(subField!.directives!.length).toEqual(1);
|
|
126
132
|
expect(subField!.directives![0].name!.value).toEqual('aws_subscribe');
|
|
@@ -331,10 +337,10 @@ describe('ModelTransformer: ', () => {
|
|
|
331
337
|
validateModelSchema(schema);
|
|
332
338
|
|
|
333
339
|
const createPostInput: InputObjectTypeDefinitionNode = schema.definitions.find(
|
|
334
|
-
d => d.kind === 'InputObjectTypeDefinition' && d.name.value === 'CreatePostInput',
|
|
340
|
+
(d) => d.kind === 'InputObjectTypeDefinition' && d.name.value === 'CreatePostInput',
|
|
335
341
|
)! as InputObjectTypeDefinitionNode;
|
|
336
342
|
expect(createPostInput).toBeDefined();
|
|
337
|
-
const defaultIdField: InputValueDefinitionNode = createPostInput.fields!.find(f => f.name.value === 'id')!;
|
|
343
|
+
const defaultIdField: InputValueDefinitionNode = createPostInput.fields!.find((f) => f.name.value === 'id')!;
|
|
338
344
|
expect(defaultIdField).toBeDefined();
|
|
339
345
|
expect(getBaseType(defaultIdField.type)).toEqual('ID');
|
|
340
346
|
});
|
|
@@ -433,10 +439,10 @@ describe('ModelTransformer: ', () => {
|
|
|
433
439
|
validateModelSchema(schema);
|
|
434
440
|
|
|
435
441
|
const createPostInput: InputObjectTypeDefinitionNode = schema.definitions.find(
|
|
436
|
-
d => d.kind === 'InputObjectTypeDefinition' && d.name.value === 'CreatePostInput',
|
|
442
|
+
(d) => d.kind === 'InputObjectTypeDefinition' && d.name.value === 'CreatePostInput',
|
|
437
443
|
)! as InputObjectTypeDefinitionNode;
|
|
438
444
|
expect(createPostInput).toBeDefined();
|
|
439
|
-
const defaultIdField: InputValueDefinitionNode = createPostInput.fields!.find(f => f.name.value === 'id')!;
|
|
445
|
+
const defaultIdField: InputValueDefinitionNode = createPostInput.fields!.find((f) => f.name.value === 'id')!;
|
|
440
446
|
expect(defaultIdField).toBeDefined();
|
|
441
447
|
expect(getBaseType(defaultIdField.type)).toEqual('Int');
|
|
442
448
|
// It should not add default value for ctx.arg.id as id is of type Int
|
|
@@ -723,8 +729,8 @@ describe('ModelTransformer: ', () => {
|
|
|
723
729
|
resolverConfig: {
|
|
724
730
|
project: {
|
|
725
731
|
ConflictDetection: 'VERSION',
|
|
726
|
-
ConflictHandler: ConflictHandlerType.AUTOMERGE
|
|
727
|
-
}
|
|
732
|
+
ConflictHandler: ConflictHandlerType.AUTOMERGE,
|
|
733
|
+
},
|
|
728
734
|
},
|
|
729
735
|
});
|
|
730
736
|
const result = transformer.transform(validSchema);
|
|
@@ -752,8 +758,8 @@ describe('ModelTransformer: ', () => {
|
|
|
752
758
|
resolverConfig: {
|
|
753
759
|
project: {
|
|
754
760
|
ConflictDetection: 'VERSION',
|
|
755
|
-
ConflictHandler: ConflictHandlerType.AUTOMERGE
|
|
756
|
-
}
|
|
761
|
+
ConflictHandler: ConflictHandlerType.AUTOMERGE,
|
|
762
|
+
},
|
|
757
763
|
},
|
|
758
764
|
});
|
|
759
765
|
const result = transformer.transform(validSchema);
|
|
@@ -781,8 +787,8 @@ describe('ModelTransformer: ', () => {
|
|
|
781
787
|
resolverConfig: {
|
|
782
788
|
project: {
|
|
783
789
|
ConflictDetection: 'VERSION',
|
|
784
|
-
ConflictHandler: ConflictHandlerType.AUTOMERGE
|
|
785
|
-
}
|
|
790
|
+
ConflictHandler: ConflictHandlerType.AUTOMERGE,
|
|
791
|
+
},
|
|
786
792
|
},
|
|
787
793
|
});
|
|
788
794
|
|
|
@@ -809,8 +815,8 @@ describe('ModelTransformer: ', () => {
|
|
|
809
815
|
resolverConfig: {
|
|
810
816
|
project: {
|
|
811
817
|
ConflictDetection: 'VERSION',
|
|
812
|
-
ConflictHandler: ConflictHandlerType.AUTOMERGE
|
|
813
|
-
}
|
|
818
|
+
ConflictHandler: ConflictHandlerType.AUTOMERGE,
|
|
819
|
+
},
|
|
814
820
|
},
|
|
815
821
|
});
|
|
816
822
|
const result = transformer.transform(validSchema);
|
|
@@ -840,8 +846,8 @@ describe('ModelTransformer: ', () => {
|
|
|
840
846
|
resolverConfig: {
|
|
841
847
|
project: {
|
|
842
848
|
ConflictDetection: 'VERSION',
|
|
843
|
-
ConflictHandler: ConflictHandlerType.AUTOMERGE
|
|
844
|
-
}
|
|
849
|
+
ConflictHandler: ConflictHandlerType.AUTOMERGE,
|
|
850
|
+
},
|
|
845
851
|
},
|
|
846
852
|
});
|
|
847
853
|
|
|
@@ -910,8 +916,8 @@ describe('ModelTransformer: ', () => {
|
|
|
910
916
|
resolverConfig: {
|
|
911
917
|
project: {
|
|
912
918
|
ConflictDetection: 'VERSION',
|
|
913
|
-
ConflictHandler: ConflictHandlerType.AUTOMERGE
|
|
914
|
-
}
|
|
919
|
+
ConflictHandler: ConflictHandlerType.AUTOMERGE,
|
|
920
|
+
},
|
|
915
921
|
},
|
|
916
922
|
});
|
|
917
923
|
const result = transformer.transform(validSchema);
|
|
@@ -1074,42 +1080,41 @@ describe('ModelTransformer: ', () => {
|
|
|
1074
1080
|
const subscriptionType = getObjectType(parsed, 'Subscription');
|
|
1075
1081
|
expect(subscriptionType).toBeDefined();
|
|
1076
1082
|
|
|
1077
|
-
subscriptionType!.fields!.forEach(it => {
|
|
1083
|
+
subscriptionType!.fields!.forEach((it) => {
|
|
1078
1084
|
expect(it.name.value.length <= 50).toBeTruthy();
|
|
1079
1085
|
});
|
|
1080
1086
|
|
|
1081
1087
|
const iamStackResource = out.stacks.ThisIsAVeryLongNameModelThatShouldNotGenerateIAMRoleNamesOver64Characters;
|
|
1082
1088
|
expect(iamStackResource).toBeDefined();
|
|
1083
|
-
Template.fromJSON(iamStackResource)
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1089
|
+
Template.fromJSON(iamStackResource).hasResourceProperties('AWS::IAM::Role', {
|
|
1090
|
+
AssumeRolePolicyDocument: {
|
|
1091
|
+
Statement: [
|
|
1092
|
+
{
|
|
1093
|
+
Action: 'sts:AssumeRole',
|
|
1094
|
+
Effect: 'Allow',
|
|
1095
|
+
Principal: {
|
|
1096
|
+
Service: 'appsync.amazonaws.com',
|
|
1097
|
+
},
|
|
1098
|
+
},
|
|
1099
|
+
],
|
|
1100
|
+
Version: '2012-10-17',
|
|
1101
|
+
},
|
|
1102
|
+
RoleName: {
|
|
1103
|
+
'Fn::Join': [
|
|
1104
|
+
'',
|
|
1105
|
+
[
|
|
1106
|
+
'ThisIsAVeryLongNameM2d9fca-',
|
|
1087
1107
|
{
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1108
|
+
Ref: 'referencetotransformerrootstackGraphQLAPI20497F53ApiId',
|
|
1109
|
+
},
|
|
1110
|
+
'-',
|
|
1111
|
+
{
|
|
1112
|
+
Ref: 'referencetotransformerrootstackenv10C5A902Ref',
|
|
1093
1113
|
},
|
|
1094
1114
|
],
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
'Fn::Join': [
|
|
1099
|
-
'',
|
|
1100
|
-
[
|
|
1101
|
-
'ThisIsAVeryLongNameM2d9fca-',
|
|
1102
|
-
{
|
|
1103
|
-
Ref: 'referencetotransformerrootstackGraphQLAPI20497F53ApiId',
|
|
1104
|
-
},
|
|
1105
|
-
'-',
|
|
1106
|
-
{
|
|
1107
|
-
Ref: 'referencetotransformerrootstackenv10C5A902Ref',
|
|
1108
|
-
},
|
|
1109
|
-
],
|
|
1110
|
-
],
|
|
1111
|
-
},
|
|
1112
|
-
});
|
|
1115
|
+
],
|
|
1116
|
+
},
|
|
1117
|
+
});
|
|
1113
1118
|
|
|
1114
1119
|
validateModelSchema(parsed);
|
|
1115
1120
|
});
|
|
@@ -1137,7 +1142,7 @@ describe('ModelTransformer: ', () => {
|
|
|
1137
1142
|
|
|
1138
1143
|
expectFieldsOnInputType(createTodoInput!, ['id', 'name']);
|
|
1139
1144
|
|
|
1140
|
-
const idField = createTodoInput!.fields!.find(f => f.name.value === 'id');
|
|
1145
|
+
const idField = createTodoInput!.fields!.find((f) => f.name.value === 'id');
|
|
1141
1146
|
expect((idField!.type as NamedTypeNode).name!.value).toEqual('ID');
|
|
1142
1147
|
expect((idField!.type as NamedTypeNode).kind).toEqual('NamedType');
|
|
1143
1148
|
|
|
@@ -1159,8 +1164,10 @@ describe('ModelTransformer: ', () => {
|
|
|
1159
1164
|
ConflictHandler: ConflictHandlerType.AUTOMERGE,
|
|
1160
1165
|
},
|
|
1161
1166
|
},
|
|
1162
|
-
sandboxModeEnabled: true,
|
|
1163
1167
|
transformers: [new ModelTransformer()],
|
|
1168
|
+
transformParameters: {
|
|
1169
|
+
sandboxModeEnabled: true,
|
|
1170
|
+
},
|
|
1164
1171
|
});
|
|
1165
1172
|
const out = transformer.transform(validSchema);
|
|
1166
1173
|
expect(out).toBeDefined();
|
|
@@ -1173,54 +1180,53 @@ describe('ModelTransformer: ', () => {
|
|
|
1173
1180
|
expect(out.resolvers['Query.syncTodos.req.vtl']).toMatchSnapshot();
|
|
1174
1181
|
expect(out.resolvers['Query.syncTodos.res.vtl']).toMatchSnapshot();
|
|
1175
1182
|
// ds table
|
|
1176
|
-
Template.fromJSON(out.rootStack)
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
KeyType: 'HASH',
|
|
1182
|
-
},
|
|
1183
|
-
{
|
|
1184
|
-
AttributeName: 'ds_sk',
|
|
1185
|
-
KeyType: 'RANGE',
|
|
1186
|
-
},
|
|
1187
|
-
],
|
|
1188
|
-
AttributeDefinitions: [
|
|
1189
|
-
{
|
|
1190
|
-
AttributeName: 'ds_pk',
|
|
1191
|
-
AttributeType: 'S',
|
|
1192
|
-
},
|
|
1193
|
-
{
|
|
1194
|
-
AttributeName: 'ds_sk',
|
|
1195
|
-
AttributeType: 'S',
|
|
1196
|
-
},
|
|
1197
|
-
],
|
|
1198
|
-
BillingMode: 'PAY_PER_REQUEST',
|
|
1199
|
-
StreamSpecification: {
|
|
1200
|
-
StreamViewType: 'NEW_AND_OLD_IMAGES',
|
|
1183
|
+
Template.fromJSON(out.rootStack).hasResourceProperties('AWS::DynamoDB::Table', {
|
|
1184
|
+
KeySchema: [
|
|
1185
|
+
{
|
|
1186
|
+
AttributeName: 'ds_pk',
|
|
1187
|
+
KeyType: 'HASH',
|
|
1201
1188
|
},
|
|
1202
|
-
|
|
1203
|
-
'
|
|
1204
|
-
|
|
1205
|
-
[
|
|
1206
|
-
'AmplifyDataStore-',
|
|
1207
|
-
{
|
|
1208
|
-
'Fn::GetAtt': ['GraphQLAPI', 'ApiId'],
|
|
1209
|
-
},
|
|
1210
|
-
'-',
|
|
1211
|
-
{
|
|
1212
|
-
Ref: 'env',
|
|
1213
|
-
},
|
|
1214
|
-
],
|
|
1215
|
-
],
|
|
1189
|
+
{
|
|
1190
|
+
AttributeName: 'ds_sk',
|
|
1191
|
+
KeyType: 'RANGE',
|
|
1216
1192
|
},
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1193
|
+
],
|
|
1194
|
+
AttributeDefinitions: [
|
|
1195
|
+
{
|
|
1196
|
+
AttributeName: 'ds_pk',
|
|
1197
|
+
AttributeType: 'S',
|
|
1220
1198
|
},
|
|
1221
|
-
|
|
1199
|
+
{
|
|
1200
|
+
AttributeName: 'ds_sk',
|
|
1201
|
+
AttributeType: 'S',
|
|
1202
|
+
},
|
|
1203
|
+
],
|
|
1204
|
+
BillingMode: 'PAY_PER_REQUEST',
|
|
1205
|
+
StreamSpecification: {
|
|
1206
|
+
StreamViewType: 'NEW_AND_OLD_IMAGES',
|
|
1207
|
+
},
|
|
1208
|
+
TableName: {
|
|
1209
|
+
'Fn::Join': [
|
|
1210
|
+
'',
|
|
1211
|
+
[
|
|
1212
|
+
'AmplifyDataStore-',
|
|
1213
|
+
{
|
|
1214
|
+
'Fn::GetAtt': ['GraphQLAPI', 'ApiId'],
|
|
1215
|
+
},
|
|
1216
|
+
'-',
|
|
1217
|
+
{
|
|
1218
|
+
Ref: 'env',
|
|
1219
|
+
},
|
|
1220
|
+
],
|
|
1221
|
+
],
|
|
1222
|
+
},
|
|
1223
|
+
TimeToLiveSpecification: {
|
|
1224
|
+
AttributeName: '_ttl',
|
|
1225
|
+
Enabled: true,
|
|
1226
|
+
},
|
|
1227
|
+
});
|
|
1222
1228
|
});
|
|
1223
|
-
it(
|
|
1229
|
+
it('the conflict detection of per model rule should be respected', () => {
|
|
1224
1230
|
const validSchema = `
|
|
1225
1231
|
type Todo @model {
|
|
1226
1232
|
name: String
|
|
@@ -1233,74 +1239,69 @@ describe('ModelTransformer: ', () => {
|
|
|
1233
1239
|
const transformer = new GraphQLTransform({
|
|
1234
1240
|
resolverConfig: {
|
|
1235
1241
|
project: {
|
|
1236
|
-
ConflictDetection:
|
|
1237
|
-
ConflictHandler: ConflictHandlerType.AUTOMERGE
|
|
1242
|
+
ConflictDetection: 'VERSION',
|
|
1243
|
+
ConflictHandler: ConflictHandlerType.AUTOMERGE,
|
|
1238
1244
|
},
|
|
1239
1245
|
models: {
|
|
1240
1246
|
Todo: {
|
|
1241
|
-
ConflictDetection:
|
|
1247
|
+
ConflictDetection: 'VERSION',
|
|
1242
1248
|
ConflictHandler: ConflictHandlerType.LAMBDA,
|
|
1243
1249
|
LambdaConflictHandler: {
|
|
1244
|
-
name:
|
|
1245
|
-
}
|
|
1250
|
+
name: 'myTodoConflictHandler',
|
|
1251
|
+
},
|
|
1246
1252
|
},
|
|
1247
1253
|
Author: {
|
|
1248
|
-
ConflictDetection:
|
|
1249
|
-
ConflictHandler: ConflictHandlerType.AUTOMERGE
|
|
1250
|
-
}
|
|
1251
|
-
}
|
|
1254
|
+
ConflictDetection: 'VERSION',
|
|
1255
|
+
ConflictHandler: ConflictHandlerType.AUTOMERGE,
|
|
1256
|
+
},
|
|
1257
|
+
},
|
|
1258
|
+
},
|
|
1259
|
+
transformers: [new ModelTransformer()],
|
|
1260
|
+
transformParameters: {
|
|
1261
|
+
sandboxModeEnabled: true,
|
|
1252
1262
|
},
|
|
1253
|
-
sandboxModeEnabled: true,
|
|
1254
|
-
transformers: [new ModelTransformer()]
|
|
1255
1263
|
});
|
|
1256
1264
|
const out = transformer.transform(validSchema);
|
|
1257
1265
|
expect(out).toBeDefined();
|
|
1258
1266
|
const schema = parse(out.schema);
|
|
1259
1267
|
validateModelSchema(schema);
|
|
1260
1268
|
// nested stacks for models
|
|
1261
|
-
const todoStack = out.stacks[
|
|
1262
|
-
const authorStack = out.stacks[
|
|
1269
|
+
const todoStack = out.stacks['Todo'];
|
|
1270
|
+
const authorStack = out.stacks['Author'];
|
|
1263
1271
|
// Todo stack should have lambda for conflict detect rather than auto merge
|
|
1264
|
-
Template.fromJSON(todoStack).hasResourceProperties(
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
}
|
|
1271
|
-
}
|
|
1272
|
-
);
|
|
1272
|
+
Template.fromJSON(todoStack).hasResourceProperties('AWS::AppSync::FunctionConfiguration', {
|
|
1273
|
+
SyncConfig: {
|
|
1274
|
+
ConflictDetection: 'VERSION',
|
|
1275
|
+
ConflictHandler: 'LAMBDA',
|
|
1276
|
+
},
|
|
1277
|
+
});
|
|
1273
1278
|
Template.fromJSON(todoStack).resourcePropertiesCountIs(
|
|
1274
|
-
|
|
1279
|
+
'AWS::AppSync::FunctionConfiguration',
|
|
1275
1280
|
{
|
|
1276
1281
|
SyncConfig: {
|
|
1277
|
-
ConflictDetection:
|
|
1278
|
-
ConflictHandler:
|
|
1279
|
-
}
|
|
1282
|
+
ConflictDetection: 'VERSION',
|
|
1283
|
+
ConflictHandler: 'AUTOMERGE',
|
|
1284
|
+
},
|
|
1280
1285
|
},
|
|
1281
|
-
0
|
|
1286
|
+
0,
|
|
1282
1287
|
);
|
|
1283
1288
|
// Author stack should have automerge for conflict detect rather than lambda
|
|
1284
1289
|
Template.fromJSON(authorStack).resourcePropertiesCountIs(
|
|
1285
|
-
|
|
1290
|
+
'AWS::AppSync::FunctionConfiguration',
|
|
1286
1291
|
{
|
|
1287
1292
|
SyncConfig: {
|
|
1288
|
-
ConflictDetection:
|
|
1289
|
-
ConflictHandler:
|
|
1290
|
-
}
|
|
1293
|
+
ConflictDetection: 'VERSION',
|
|
1294
|
+
ConflictHandler: 'LAMBDA',
|
|
1295
|
+
},
|
|
1291
1296
|
},
|
|
1292
|
-
0
|
|
1297
|
+
0,
|
|
1293
1298
|
);
|
|
1294
|
-
Template.fromJSON(authorStack).hasResourceProperties(
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
}
|
|
1301
|
-
}
|
|
1302
|
-
);
|
|
1303
|
-
|
|
1299
|
+
Template.fromJSON(authorStack).hasResourceProperties('AWS::AppSync::FunctionConfiguration', {
|
|
1300
|
+
SyncConfig: {
|
|
1301
|
+
ConflictDetection: 'VERSION',
|
|
1302
|
+
ConflictHandler: 'AUTOMERGE',
|
|
1303
|
+
},
|
|
1304
|
+
});
|
|
1304
1305
|
});
|
|
1305
1306
|
it('should add the model parameters at the root sack', () => {
|
|
1306
1307
|
const modelParams = {
|
|
@@ -1337,8 +1338,10 @@ describe('ModelTransformer: ', () => {
|
|
|
1337
1338
|
name: String
|
|
1338
1339
|
}`;
|
|
1339
1340
|
const transformer = new GraphQLTransform({
|
|
1340
|
-
sandboxModeEnabled: true,
|
|
1341
1341
|
transformers: [new ModelTransformer()],
|
|
1342
|
+
transformParameters: {
|
|
1343
|
+
sandboxModeEnabled: true,
|
|
1344
|
+
},
|
|
1342
1345
|
});
|
|
1343
1346
|
const out = transformer.transform(validSchema);
|
|
1344
1347
|
|
|
@@ -1374,8 +1377,10 @@ describe('ModelTransformer: ', () => {
|
|
|
1374
1377
|
},
|
|
1375
1378
|
],
|
|
1376
1379
|
},
|
|
1377
|
-
sandboxModeEnabled: true,
|
|
1378
1380
|
transformers: [new ModelTransformer()],
|
|
1381
|
+
transformParameters: {
|
|
1382
|
+
sandboxModeEnabled: true,
|
|
1383
|
+
},
|
|
1379
1384
|
});
|
|
1380
1385
|
const out = transformer.transform(validSchema);
|
|
1381
1386
|
expect(out).toBeDefined();
|
|
@@ -1386,12 +1391,12 @@ describe('ModelTransformer: ', () => {
|
|
|
1386
1391
|
const postType = getObjectType(schema, 'Post')!;
|
|
1387
1392
|
expect(postType).toBeDefined();
|
|
1388
1393
|
expect(postType.directives).toBeDefined();
|
|
1389
|
-
expect(postType.directives!.some(dir => dir.name.value === 'aws_api_key')).toEqual(true);
|
|
1394
|
+
expect(postType.directives!.some((dir) => dir.name.value === 'aws_api_key')).toEqual(true);
|
|
1390
1395
|
|
|
1391
1396
|
const tagType = getObjectType(schema, 'Tag')!;
|
|
1392
1397
|
expect(tagType).toBeDefined();
|
|
1393
1398
|
expect(tagType.directives).toBeDefined();
|
|
1394
|
-
expect(tagType.directives!.some(dir => dir.name.value === 'aws_api_key')).toEqual(true);
|
|
1399
|
+
expect(tagType.directives!.some((dir) => dir.name.value === 'aws_api_key')).toEqual(true);
|
|
1395
1400
|
|
|
1396
1401
|
// check operations
|
|
1397
1402
|
const queryType = getObjectType(schema, 'Query')!;
|
|
@@ -1402,7 +1407,7 @@ describe('ModelTransformer: ', () => {
|
|
|
1402
1407
|
expect(subscriptionType).toBeDefined();
|
|
1403
1408
|
|
|
1404
1409
|
for (const field of [...queryType.fields!, ...mutationType.fields!, ...subscriptionType.fields!]) {
|
|
1405
|
-
expect(field.directives!.some(dir => dir.name.value === 'aws_api_key')).toEqual(true);
|
|
1410
|
+
expect(field.directives!.some((dir) => dir.name.value === 'aws_api_key')).toEqual(true);
|
|
1406
1411
|
}
|
|
1407
1412
|
});
|
|
1408
1413
|
|
|
@@ -1505,4 +1510,29 @@ describe('ModelTransformer: ', () => {
|
|
|
1505
1510
|
const updateTodoIdField = getFieldOnInputType(updateTodoInput!, 'id');
|
|
1506
1511
|
expect(updateTodoIdField.type.kind).toBe('NonNullType');
|
|
1507
1512
|
});
|
|
1513
|
+
|
|
1514
|
+
it('should successfully transform simple rds valid schema', async () => {
|
|
1515
|
+
const validSchema = `
|
|
1516
|
+
type Post @model {
|
|
1517
|
+
id: ID!
|
|
1518
|
+
title: String!
|
|
1519
|
+
}
|
|
1520
|
+
`;
|
|
1521
|
+
|
|
1522
|
+
const transformer = new GraphQLTransform({
|
|
1523
|
+
transformers: [new ModelTransformer()],
|
|
1524
|
+
});
|
|
1525
|
+
const modelToDatasourceMap = new Map<string, DatasourceType>();
|
|
1526
|
+
modelToDatasourceMap.set('Post', {
|
|
1527
|
+
dbType: 'MySQL',
|
|
1528
|
+
provisionDB: false,
|
|
1529
|
+
});
|
|
1530
|
+
const out = transformer.transform(validSchema, {
|
|
1531
|
+
modelToDatasourceMap,
|
|
1532
|
+
});
|
|
1533
|
+
expect(out).toBeDefined();
|
|
1534
|
+
|
|
1535
|
+
validateModelSchema(parse(out.schema));
|
|
1536
|
+
parse(out.schema);
|
|
1537
|
+
});
|
|
1508
1538
|
});
|
|
@@ -43,7 +43,7 @@ export function doNotExpectFields(type: ObjectTypeDefinitionNode, fields: string
|
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
export function verifyInputCount(doc: DocumentNode, type: string, count: number): boolean {
|
|
46
|
-
return doc.definitions.filter(def => def.kind === Kind.INPUT_OBJECT_TYPE_DEFINITION && def.name.value === type).length == count;
|
|
46
|
+
return doc.definitions.filter((def) => def.kind === Kind.INPUT_OBJECT_TYPE_DEFINITION && def.name.value === type).length == count;
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
export function getFieldOnInputType(type: InputObjectTypeDefinitionNode, field: string): InputValueDefinitionNode {
|
package/src/definitions.ts
CHANGED
|
@@ -5,8 +5,34 @@ export const FLOAT_CONDITIONS = ['ne', 'eq', 'le', 'lt', 'ge', 'gt', 'between'];
|
|
|
5
5
|
export const BOOLEAN_CONDITIONS = ['ne', 'eq'];
|
|
6
6
|
export const SIZE_CONDITIONS = ['ne', 'eq', 'le', 'lt', 'ge', 'gt', 'between'];
|
|
7
7
|
|
|
8
|
-
export const SUBSCRIPTION_STRING_CONDITIONS = [
|
|
9
|
-
|
|
8
|
+
export const SUBSCRIPTION_STRING_CONDITIONS = [
|
|
9
|
+
'ne',
|
|
10
|
+
'eq',
|
|
11
|
+
'le',
|
|
12
|
+
'lt',
|
|
13
|
+
'ge',
|
|
14
|
+
'gt',
|
|
15
|
+
'contains',
|
|
16
|
+
'notContains',
|
|
17
|
+
'between',
|
|
18
|
+
'beginsWith',
|
|
19
|
+
'in',
|
|
20
|
+
'notIn',
|
|
21
|
+
];
|
|
22
|
+
export const SUBSCRIPTION_ID_CONDITIONS = [
|
|
23
|
+
'ne',
|
|
24
|
+
'eq',
|
|
25
|
+
'le',
|
|
26
|
+
'lt',
|
|
27
|
+
'ge',
|
|
28
|
+
'gt',
|
|
29
|
+
'contains',
|
|
30
|
+
'notContains',
|
|
31
|
+
'between',
|
|
32
|
+
'beginsWith',
|
|
33
|
+
'in',
|
|
34
|
+
'notIn',
|
|
35
|
+
];
|
|
10
36
|
export const SUBSCRIPTION_INT_CONDITIONS = ['ne', 'eq', 'le', 'lt', 'ge', 'gt', 'between', 'in', 'notIn'];
|
|
11
37
|
export const SUBSCRIPTION_FLOAT_CONDITIONS = ['ne', 'eq', 'le', 'lt', 'ge', 'gt', 'between', 'in', 'notIn'];
|
|
12
38
|
export const SUBSCRIPTION_BOOLEAN_CONDITIONS = ['ne', 'eq'];
|