@commitspark/graphql-api 0.7.0 → 0.9.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/.eslintrc.js +3 -2
- package/.github/workflows/jest.yaml +17 -0
- package/.github/workflows/lint.yaml +17 -0
- package/CHANGELOG.md +15 -0
- package/dist/jest.config.d.ts +7 -0
- package/dist/jest.config.js +12 -0
- package/dist/jest.config.js.map +1 -0
- package/dist/{app → src/app}/api.service.js +1 -0
- package/dist/src/app/api.service.js.map +1 -0
- package/dist/src/container.js.map +1 -0
- package/dist/src/graphql/apollo-config-factory.service.js.map +1 -0
- package/dist/{graphql → src/graphql}/input-type-generator.service.js +1 -1
- package/dist/src/graphql/input-type-generator.service.js.map +1 -0
- package/dist/{graphql → src/graphql}/queries-mutations-generator.service.js +1 -1
- package/dist/src/graphql/queries-mutations-generator.service.js.map +1 -0
- package/dist/{graphql → src/graphql}/resolver-generators/entry-reference-resolver.generator.d.ts +1 -1
- package/dist/{graphql → src/graphql}/resolver-generators/entry-reference-resolver.generator.js +2 -2
- package/dist/src/graphql/resolver-generators/entry-reference-resolver.generator.js.map +1 -0
- package/dist/src/graphql/resolver-generators/mutation-create-resolver-generator.js +31 -0
- package/dist/src/graphql/resolver-generators/mutation-create-resolver-generator.js.map +1 -0
- package/dist/{graphql → src/graphql}/resolver-generators/mutation-delete-resolver-generator.js +12 -0
- package/dist/src/graphql/resolver-generators/mutation-delete-resolver-generator.js.map +1 -0
- package/dist/{graphql → src/graphql}/resolver-generators/mutation-update.resolver-generator.js +12 -0
- package/dist/src/graphql/resolver-generators/mutation-update.resolver-generator.js.map +1 -0
- package/dist/src/graphql/resolver-generators/query-all-resolver-generator.js.map +1 -0
- package/dist/src/graphql/resolver-generators/query-by-id-resolver-generator.js.map +1 -0
- package/dist/src/graphql/resolver-generators/query-count-all-resolver-generator.js.map +1 -0
- package/dist/src/graphql/resolver-generators/query-type-by-id-resolver-generator.js.map +1 -0
- package/dist/src/graphql/resolver-generators/union-type-resolver-generator.js.map +1 -0
- package/dist/src/graphql/resolver-generators/union-value-resolver-generator.js.map +1 -0
- package/dist/src/graphql/schema-analyzer.service.js.map +1 -0
- package/dist/{graphql → src/graphql}/schema-generator.service.js +10 -9
- package/dist/src/graphql/schema-generator.service.js.map +1 -0
- package/dist/{graphql → src/graphql}/schema-root-type-generator.service.js +3 -1
- package/dist/src/graphql/schema-root-type-generator.service.js.map +1 -0
- package/dist/src/graphql/schema-utils/entry-reference-util.js.map +1 -0
- package/dist/src/graphql/schema-validator.js.map +1 -0
- package/dist/src/index.js.map +1 -0
- package/dist/{persistence → src/persistence}/persistence.service.d.ts +6 -9
- package/dist/{persistence → src/persistence}/persistence.service.js +15 -11
- package/dist/src/persistence/persistence.service.js.map +1 -0
- package/dist/tests/integration/mutation/create.test.d.ts +1 -0
- package/dist/tests/integration/mutation/create.test.js +78 -0
- package/dist/tests/integration/mutation/create.test.js.map +1 -0
- package/dist/tests/integration/mutation/delete.test.d.ts +1 -0
- package/dist/tests/integration/mutation/delete.test.js +117 -0
- package/dist/tests/integration/mutation/delete.test.js.map +1 -0
- package/dist/tests/integration/mutation/update.test.d.ts +1 -0
- package/dist/tests/integration/mutation/update.test.js +134 -0
- package/dist/tests/integration/mutation/update.test.js.map +1 -0
- package/dist/tests/integration/query/query.test.d.ts +1 -0
- package/dist/tests/integration/query/query.test.js +237 -0
- package/dist/tests/integration/query/query.test.js.map +1 -0
- package/dist/tests/integration/schema/schema-generator.test.d.ts +1 -0
- package/dist/tests/integration/schema/schema-generator.test.js +381 -0
- package/dist/tests/integration/schema/schema-generator.test.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/jest.config.ts +14 -0
- package/package.json +8 -5
- package/src/app/api.service.ts +2 -0
- package/src/graphql/input-type-generator.service.ts +1 -1
- package/src/graphql/queries-mutations-generator.service.ts +1 -1
- package/src/graphql/resolver-generators/entry-reference-resolver.generator.ts +5 -5
- package/src/graphql/resolver-generators/mutation-create-resolver-generator.ts +23 -4
- package/src/graphql/resolver-generators/mutation-delete-resolver-generator.ts +20 -0
- package/src/graphql/resolver-generators/mutation-update.resolver-generator.ts +20 -0
- package/src/graphql/schema-generator.service.ts +13 -10
- package/src/graphql/schema-root-type-generator.service.ts +3 -1
- package/src/persistence/persistence.service.ts +28 -25
- package/tests/integration/mutation/create.test.ts +89 -0
- package/tests/integration/mutation/delete.test.ts +133 -0
- package/tests/integration/mutation/update.test.ts +151 -0
- package/tests/integration/query/query.test.ts +253 -0
- package/tests/integration/schema/schema-generator.test.ts +399 -0
- package/dist/app/api.service.js.map +0 -1
- package/dist/container.js.map +0 -1
- package/dist/graphql/apollo-config-factory.service.js.map +0 -1
- package/dist/graphql/input-type-generator.service.js.map +0 -1
- package/dist/graphql/queries-mutations-generator.service.js.map +0 -1
- package/dist/graphql/resolver-generators/entry-reference-resolver.generator.js.map +0 -1
- package/dist/graphql/resolver-generators/mutation-create-resolver-generator.js +0 -17
- package/dist/graphql/resolver-generators/mutation-create-resolver-generator.js.map +0 -1
- package/dist/graphql/resolver-generators/mutation-delete-resolver-generator.js.map +0 -1
- package/dist/graphql/resolver-generators/mutation-update.resolver-generator.js.map +0 -1
- package/dist/graphql/resolver-generators/query-all-resolver-generator.js.map +0 -1
- package/dist/graphql/resolver-generators/query-by-id-resolver-generator.js.map +0 -1
- package/dist/graphql/resolver-generators/query-count-all-resolver-generator.js.map +0 -1
- package/dist/graphql/resolver-generators/query-type-by-id-resolver-generator.js.map +0 -1
- package/dist/graphql/resolver-generators/union-type-resolver-generator.js.map +0 -1
- package/dist/graphql/resolver-generators/union-value-resolver-generator.js.map +0 -1
- package/dist/graphql/schema-analyzer.service.js.map +0 -1
- package/dist/graphql/schema-generator.service.js.map +0 -1
- package/dist/graphql/schema-root-type-generator.service.js.map +0 -1
- package/dist/graphql/schema-utils/entry-reference-util.js.map +0 -1
- package/dist/graphql/schema-validator.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/persistence/persistence.service.js.map +0 -1
- /package/dist/{app → src/app}/api.service.d.ts +0 -0
- /package/dist/{container.d.ts → src/container.d.ts} +0 -0
- /package/dist/{container.js → src/container.js} +0 -0
- /package/dist/{graphql → src/graphql}/apollo-config-factory.service.d.ts +0 -0
- /package/dist/{graphql → src/graphql}/apollo-config-factory.service.js +0 -0
- /package/dist/{graphql → src/graphql}/input-type-generator.service.d.ts +0 -0
- /package/dist/{graphql → src/graphql}/queries-mutations-generator.service.d.ts +0 -0
- /package/dist/{graphql → src/graphql}/resolver-generators/mutation-create-resolver-generator.d.ts +0 -0
- /package/dist/{graphql → src/graphql}/resolver-generators/mutation-delete-resolver-generator.d.ts +0 -0
- /package/dist/{graphql → src/graphql}/resolver-generators/mutation-update.resolver-generator.d.ts +0 -0
- /package/dist/{graphql → src/graphql}/resolver-generators/query-all-resolver-generator.d.ts +0 -0
- /package/dist/{graphql → src/graphql}/resolver-generators/query-all-resolver-generator.js +0 -0
- /package/dist/{graphql → src/graphql}/resolver-generators/query-by-id-resolver-generator.d.ts +0 -0
- /package/dist/{graphql → src/graphql}/resolver-generators/query-by-id-resolver-generator.js +0 -0
- /package/dist/{graphql → src/graphql}/resolver-generators/query-count-all-resolver-generator.d.ts +0 -0
- /package/dist/{graphql → src/graphql}/resolver-generators/query-count-all-resolver-generator.js +0 -0
- /package/dist/{graphql → src/graphql}/resolver-generators/query-type-by-id-resolver-generator.d.ts +0 -0
- /package/dist/{graphql → src/graphql}/resolver-generators/query-type-by-id-resolver-generator.js +0 -0
- /package/dist/{graphql → src/graphql}/resolver-generators/union-type-resolver-generator.d.ts +0 -0
- /package/dist/{graphql → src/graphql}/resolver-generators/union-type-resolver-generator.js +0 -0
- /package/dist/{graphql → src/graphql}/resolver-generators/union-value-resolver-generator.d.ts +0 -0
- /package/dist/{graphql → src/graphql}/resolver-generators/union-value-resolver-generator.js +0 -0
- /package/dist/{graphql → src/graphql}/schema-analyzer.service.d.ts +0 -0
- /package/dist/{graphql → src/graphql}/schema-analyzer.service.js +0 -0
- /package/dist/{graphql → src/graphql}/schema-generator.service.d.ts +0 -0
- /package/dist/{graphql → src/graphql}/schema-root-type-generator.service.d.ts +0 -0
- /package/dist/{graphql → src/graphql}/schema-utils/entry-reference-util.d.ts +0 -0
- /package/dist/{graphql → src/graphql}/schema-utils/entry-reference-util.js +0 -0
- /package/dist/{graphql → src/graphql}/schema-validator.d.ts +0 -0
- /package/dist/{graphql → src/graphql}/schema-validator.js +0 -0
- /package/dist/{index.d.ts → src/index.d.ts} +0 -0
- /package/dist/{index.js → src/index.js} +0 -0
package/.eslintrc.js
CHANGED
|
@@ -16,9 +16,10 @@ module.exports = {
|
|
|
16
16
|
},
|
|
17
17
|
ignorePatterns: ['.eslintrc.js'],
|
|
18
18
|
rules: {
|
|
19
|
-
'@typescript-eslint/interface-name-prefix': 'off',
|
|
20
19
|
'@typescript-eslint/explicit-function-return-type': 'off',
|
|
21
20
|
'@typescript-eslint/explicit-module-boundary-types': 'off',
|
|
21
|
+
'@typescript-eslint/interface-name-prefix': 'off',
|
|
22
22
|
'@typescript-eslint/no-explicit-any': 'off',
|
|
23
|
+
'@typescript-eslint/no-unused-vars': 'off',
|
|
23
24
|
},
|
|
24
|
-
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
name: Jest
|
|
2
|
+
on: push
|
|
3
|
+
jobs:
|
|
4
|
+
test:
|
|
5
|
+
runs-on: ubuntu-22.04
|
|
6
|
+
steps:
|
|
7
|
+
- uses: actions/checkout@v2
|
|
8
|
+
- name: Setup Node.js
|
|
9
|
+
uses: actions/setup-node@v1
|
|
10
|
+
with:
|
|
11
|
+
node-version: "18"
|
|
12
|
+
|
|
13
|
+
- name: Install dependencies
|
|
14
|
+
run: npm install
|
|
15
|
+
|
|
16
|
+
- name: Run tests
|
|
17
|
+
run: npm test
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
name: Lint
|
|
2
|
+
on: push
|
|
3
|
+
jobs:
|
|
4
|
+
lint:
|
|
5
|
+
runs-on: ubuntu-22.04
|
|
6
|
+
steps:
|
|
7
|
+
- uses: actions/checkout@v2
|
|
8
|
+
- name: Setup Node.js
|
|
9
|
+
uses: actions/setup-node@v1
|
|
10
|
+
with:
|
|
11
|
+
node-version: "18"
|
|
12
|
+
|
|
13
|
+
- name: Install dependencies
|
|
14
|
+
run: npm install
|
|
15
|
+
|
|
16
|
+
- name: Run linter
|
|
17
|
+
run: npm run lint
|
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,21 @@ All notable changes to this project will be documented in this file.
|
|
|
4
4
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
5
5
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
6
6
|
|
|
7
|
+
## [0.9.0] - 2023-07-09
|
|
8
|
+
### Changed
|
|
9
|
+
- Improve schema formatting
|
|
10
|
+
- Expose entry ID as argument of "create" mutation instead of automatic ID generation
|
|
11
|
+
- Check ID of entry before executing an update, delete mutation
|
|
12
|
+
- Update dependencies
|
|
13
|
+
|
|
14
|
+
### Fixed
|
|
15
|
+
- [#32](https://github.com/commitspark/graphql-api/issues/32) Fix memory leak triggered by API calls
|
|
16
|
+
|
|
17
|
+
## [0.8.0] - 2023-06-17
|
|
18
|
+
### Fixed
|
|
19
|
+
- [#26](https://github.com/commitspark/graphql-api/issues/26) Querying optional reference field with null value causes
|
|
20
|
+
exception
|
|
21
|
+
|
|
7
22
|
## [0.7.0] - 2023-05-12
|
|
8
23
|
### Changed
|
|
9
24
|
- Rename organization
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jest.config.js","sourceRoot":"","sources":["../jest.config.ts"],"names":[],"mappings":";;AAKA,kBAAe;IACb,oBAAoB,EAAE;QACpB,IAAI;QACJ,IAAI;KACL;IACD,SAAS,EAAE;QACT,aAAa,EAAE,SAAS;KACzB;CACF,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.service.js","sourceRoot":"","sources":["../../../src/app/api.service.ts"],"names":[],"mappings":";;;AAIA,2CAAkE;AAKlE,MAAa,UAAU;IACrB,YACmB,mBAA+C,EAC/C,eAAuC;QADvC,wBAAmB,GAAnB,mBAAmB,CAA4B;QAC/C,oBAAe,GAAf,eAAe,CAAwB;IACvD,CAAC;IAEJ,KAAK,CAAC,WAAW,CAIf,UAAsB,EACtB,GAAW,EAEX,OAEC;QAED,IAAI,UAAU,GAAG,MAAM,UAAU,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAA;QAC1D,MAAM,OAAO,GAAkB;YAC7B,MAAM,EAAE,GAAG;YACX,UAAU,EAAE,UAAU;YACtB,aAAa;gBACX,OAAO,UAAU,CAAA;YACnB,CAAC;YACD,aAAa,CAAC,MAAc;gBAC1B,UAAU,GAAG,MAAM,CAAA;YACrB,CAAC;SACF,CAAA;QAED,MAAM,kBAAkB,GACtB,MAAM,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;QAE1D,MAAM,YAAY,GAAG,IAAI,qBAAY,mBAChC,kBAAkB,EACrB,CAAA;QAEF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,gBAAgB,CAChD,OAAO,EACP;YACE,YAAY,EAAE,OAAO;SACtB,CACF,CAAA;QAED,MAAM,YAAY,CAAC,IAAI,EAAE,CAAA;QAEzB,OAAO;YACL,GAAG,EAAE,OAAO,CAAC,aAAa,EAAE;YAC5B,IAAI,EACF,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ;gBAC3B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI;gBAC/B,CAAC,CAAC,SAAS;YACf,MAAM,EACJ,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ;gBAC3B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM;gBACjC,CAAC,CAAC,SAAS;SAChB,CAAA;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CACb,UAAsB,EACtB,GAAW;QAEX,IAAI,UAAU,GAAG,MAAM,UAAU,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAA;QAC1D,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAC5B,CAAC;YACC,MAAM,EAAE,GAAG;YACX,UAAU,EAAE,UAAU;YACtB,aAAa;gBACX,OAAO,UAAU,CAAA;YACnB,CAAC;YACD,aAAa,CAAC,MAAc;gBAC1B,UAAU,GAAG,MAAM,CAAA;YACrB,CAAC;SACgB,CAAA,CAAA;QAErB,MAAM,qBAAqB,GAAG,CAC5B,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC,CAC9D,CAAC,QAAQ,CAAA;QACV,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE;YACzC,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;SACnC;QAED,OAAO;YACL,GAAG,EAAE,gBAAgB,EAAE,CAAC,aAAa,EAAE;YACvC,IAAI,EAAE,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;SACvC,CAAA;IACH,CAAC;CACF;AAvFD,gCAuFC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container.js","sourceRoot":"","sources":["../../src/container.ts"],"names":[],"mappings":";;;AAAA,mDAA8C;AAC9C,2FAAoF;AACpF,yHAAkH;AAClH,yFAAkF;AAClF,uGAAgG;AAChG,+EAAyE;AACzE,qGAA6F;AAC7F,+GAAwG;AACxG,2EAAsE;AACtE,iFAA2E;AAC3E,yHAAkH;AAClH,yHAAkH;AAClH,yHAAkH;AAClH,6GAAsG;AACtG,iHAAyG;AACzG,yHAAiH;AACjH,2HAAkH;AAClH,iEAA4D;AAC5D,iHAA0G;AAC1G,sFAAgF;AAIhF,MAAM,kBAAkB,GAAG,IAAI,yCAAkB,EAAE,CAAA;AACnD,MAAM,eAAe,GAAG,IAAI,kCAAe,EAAE,CAAA;AAC7C,MAAM,kBAAkB,GAAG,IAAI,wCAAkB,EAAE,CAAA;AACnD,MAAM,8BAA8B,GAAG,IAAI,mEAA8B,EAAE,CAAA;AAE3E,MAAM,yBAAyB,GAAG,IAAI,wDAAyB,CAC7D,kBAAkB,CACnB,CAAA;AACD,MAAM,qBAAqB,GAAG,IAAI,+CAAqB,CAAC,kBAAkB,CAAC,CAAA;AAC3E,MAAM,sCAAsC,GAC1C,IAAI,oEAA+B,CAAC,kBAAkB,CAAC,CAAA;AACzD,MAAM,+BAA+B,GAAG,IAAI,oEAA+B,CACzE,kBAAkB,CACnB,CAAA;AACD,MAAM,+BAA+B,GAAG,IAAI,oEAA+B,CACzE,kBAAkB,CACnB,CAAA;AACD,MAAM,+BAA+B,GAAG,IAAI,oEAA+B,CACzE,kBAAkB,CACnB,CAAA;AACD,MAAM,yBAAyB,GAAG,IAAI,wDAAyB,CAC7D,kBAAkB,CACnB,CAAA;AACD,MAAM,0BAA0B,GAAG,IAAI,2DAA0B,CAC/D,kBAAkB,CACnB,CAAA;AACD,MAAM,8BAA8B,GAAG,IAAI,mEAA8B,CACvE,kBAAkB,CACnB,CAAA;AACD,MAAM,8BAA8B,GAAG,IAAI,oEAA8B,CACvE,kBAAkB,CACnB,CAAA;AACD,MAAM,0BAA0B,GAAG,IAAI,0DAA0B,CAC/D,kBAAkB,EAClB,kBAAkB,CACnB,CAAA;AACD,MAAM,2BAA2B,GAAG,IAAI,4DAA2B,CACjE,kBAAkB,CACnB,CAAA;AAED,MAAM,gCAAgC,GAAG,IAAI,sEAAgC,CAC3E,yBAAyB,EACzB,0BAA0B,EAC1B,8BAA8B,EAC9B,8BAA8B,EAC9B,+BAA+B,EAC/B,+BAA+B,EAC/B,+BAA+B,CAChC,CAAA;AAED,MAAM,sBAAsB,GAAG,IAAI,iDAAsB,CACvD,gCAAgC,EAChC,qBAAqB,EACrB,yBAAyB,EACzB,8BAA8B,EAC9B,sCAAsC,EACtC,0BAA0B,EAC1B,2BAA2B,EAC3B,eAAe,CAChB,CAAA;AAED,MAAM,0BAA0B,GAAG,IAAI,0DAA0B,CAC/D,sBAAsB,CACvB,CAAA;AAEY,QAAA,UAAU,GAAG,IAAI,wBAAU,CACtC,0BAA0B,EAC1B,sBAAsB,CACvB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apollo-config-factory.service.js","sourceRoot":"","sources":["../../../src/graphql/apollo-config-factory.service.ts"],"names":[],"mappings":";;;AAAA,kDAA4D;AAI5D,6DAAyF;AAEzF,MAAa,0BAA0B;IACrC,YAA6B,eAAuC;QAAvC,oBAAe,GAAf,eAAe,CAAwB;IAAG,CAAC;IAExE,KAAK,CAAC,gBAAgB,CACpB,OAAsB;QAEtB,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;QAC3E,MAAM,MAAM,GAAG,IAAA,6BAAoB,EAAC,gBAAgB,CAAC,CAAA;QAErD,OAAO;YACL,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,CAAC,IAAA,mDAAwC,GAAE,CAAC;SAChB,CAAA;IACzC,CAAC;CACF;AAdD,gEAcC"}
|
|
@@ -43,7 +43,7 @@ class InputTypeGeneratorService {
|
|
|
43
43
|
typesWithIdField = typesWithIdField.concat(schemaAnalyzerResult.interfaceTypes);
|
|
44
44
|
typesWithIdField = typesWithIdField.concat(schemaAnalyzerResult.unionTypes);
|
|
45
45
|
return typesWithIdField.map((type) => {
|
|
46
|
-
return `input ${type.name}IdInput {\n` + ' id:ID!\n' + '}\n';
|
|
46
|
+
return `input ${type.name}IdInput {\n` + ' id: ID!\n' + '}\n';
|
|
47
47
|
});
|
|
48
48
|
}
|
|
49
49
|
generateObjectInputTypeStrings(objectTypes) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input-type-generator.service.js","sourceRoot":"","sources":["../../../src/graphql/input-type-generator.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,7 +25,7 @@ class QueriesMutationsGeneratorService {
|
|
|
25
25
|
const queryByIdResolver = this.queryByIdResolverGenerator.createResolver(typeName);
|
|
26
26
|
const inputTypeName = `${typeName}Input`;
|
|
27
27
|
const createMutationName = `create${typeName}`;
|
|
28
|
-
const createMutationString = `${createMutationName}(data:${inputTypeName}, message:String): ${typeName}`;
|
|
28
|
+
const createMutationString = `${createMutationName}(id: ID!, data:${inputTypeName}, message:String): ${typeName}`;
|
|
29
29
|
const createMutationResolver = this.mutationCreateResolverGenerator.createResolver(typeName);
|
|
30
30
|
const updateMutationName = `update${typeName}`;
|
|
31
31
|
const updateMutationString = `${updateMutationName}(id: ID!, data:${inputTypeName}, message:String): ${typeName}`;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queries-mutations-generator.service.js","sourceRoot":"","sources":["../../../src/graphql/queries-mutations-generator.service.ts"],"names":[],"mappings":"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"}
|
package/dist/{graphql → src/graphql}/resolver-generators/entry-reference-resolver.generator.d.ts
RENAMED
|
@@ -8,5 +8,5 @@ export declare class EntryReferenceResolverGenerator {
|
|
|
8
8
|
createResolver(context: ApolloContext, obj: {
|
|
9
9
|
type: GraphQLObjectType;
|
|
10
10
|
fields: GraphQLField<any, any>[];
|
|
11
|
-
}): Record<string, GraphQLFieldResolver<Record<string, any>, ApolloContext, any, Promise<Entry | Entry[] |
|
|
11
|
+
}): Record<string, GraphQLFieldResolver<Record<string, any>, ApolloContext, any, Promise<Entry | Entry[] | null>>>;
|
|
12
12
|
}
|
package/dist/{graphql → src/graphql}/resolver-generators/entry-reference-resolver.generator.js
RENAMED
|
@@ -11,8 +11,8 @@ class EntryReferenceResolverGenerator {
|
|
|
11
11
|
for (const field of obj.fields) {
|
|
12
12
|
const fieldName = field.name;
|
|
13
13
|
fieldResolvers[fieldName] = async (source, args, context, info) => {
|
|
14
|
-
if (source[fieldName] === undefined) {
|
|
15
|
-
return
|
|
14
|
+
if (source[fieldName] === undefined || source[fieldName] === null) {
|
|
15
|
+
return null;
|
|
16
16
|
}
|
|
17
17
|
if (Array.isArray(source[fieldName])) {
|
|
18
18
|
return source[fieldName].map((el) => persistence.findById(context.gitAdapter, context.getCurrentRef(), el.id));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entry-reference-resolver.generator.js","sourceRoot":"","sources":["../../../../src/graphql/resolver-generators/entry-reference-resolver.generator.ts"],"names":[],"mappings":";;;AAQA,MAAa,+BAA+B;IAC1C,YAA6B,WAA+B;QAA/B,gBAAW,GAAX,WAAW,CAAoB;IAAG,CAAC;IAEzD,cAAc,CACnB,OAAsB,EACtB,GAGC;QAUD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAA;QAEpC,MAAM,cAAc,GAQhB,EAAE,CAAA;QAEN,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE;YAC9B,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAA;YAC5B,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,EAC/B,MAAM,EACN,IAAI,EACJ,OAAO,EACP,IAAI,EAC6B,EAAE;gBACnC,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE;oBACjE,OAAO,IAAI,CAAA;iBACZ;gBAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE;oBACpC,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,EAAO,EAAE,EAAE,CACvC,WAAW,CAAC,QAAQ,CAClB,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,aAAa,EAAE,EACvB,EAAE,CAAC,EAAE,CACN,CACF,CAAA;iBACF;qBAAM;oBACL,OAAO,WAAW,CAAC,QAAQ,CACzB,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,aAAa,EAAE,EACvB,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CACrB,CAAA;iBACF;YACH,CAAC,CAAA;SACF;QAED,OAAO,cAAc,CAAA;IACvB,CAAC;CACF;AA9DD,0EA8DC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MutationCreateResolverGenerator = void 0;
|
|
4
|
+
const GraphQLError_1 = require("graphql/error/GraphQLError");
|
|
5
|
+
class MutationCreateResolverGenerator {
|
|
6
|
+
constructor(persistence) {
|
|
7
|
+
this.persistence = persistence;
|
|
8
|
+
}
|
|
9
|
+
createResolver(typeName) {
|
|
10
|
+
return async (source, args, context, info) => {
|
|
11
|
+
let existingEntry;
|
|
12
|
+
try {
|
|
13
|
+
existingEntry = await this.persistence.findById(context.gitAdapter, context.getCurrentRef(), args.id);
|
|
14
|
+
}
|
|
15
|
+
catch (_) { }
|
|
16
|
+
if (existingEntry) {
|
|
17
|
+
throw new GraphQLError_1.GraphQLError(`An entry with id "${args.id}" already exists`, {
|
|
18
|
+
extensions: {
|
|
19
|
+
code: 'BAD_USER_INPUT',
|
|
20
|
+
argumentName: 'id',
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
const commitResult = await this.persistence.createType(context.gitAdapter, context.branch, context.getCurrentRef(), typeName, args.id, args.data, args.message);
|
|
25
|
+
context.setCurrentRef(commitResult.ref);
|
|
26
|
+
return this.persistence.findByTypeId(context.gitAdapter, context.getCurrentRef(), typeName, args.id);
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.MutationCreateResolverGenerator = MutationCreateResolverGenerator;
|
|
31
|
+
//# sourceMappingURL=mutation-create-resolver-generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mutation-create-resolver-generator.js","sourceRoot":"","sources":["../../../../src/graphql/resolver-generators/mutation-create-resolver-generator.ts"],"names":[],"mappings":";;;AAMA,6DAAyD;AAEzD,MAAa,+BAA+B;IAC1C,YAA6B,WAA+B;QAA/B,gBAAW,GAAX,WAAW,CAAoB;IAAG,CAAC;IAEzD,cAAc,CACnB,QAAgB;QAEhB,OAAO,KAAK,EACV,MAAM,EACN,IAAI,EACJ,OAAsB,EACtB,IAAI,EACY,EAAE;YAClB,IAAI,aAAa,CAAA;YACjB,IAAI;gBACF,aAAa,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAC7C,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,aAAa,EAAE,EACvB,IAAI,CAAC,EAAE,CACR,CAAA;aACF;YAAC,OAAO,CAAC,EAAE,GAAE;YACd,IAAI,aAAa,EAAE;gBACjB,MAAM,IAAI,2BAAY,CAAC,qBAAqB,IAAI,CAAC,EAAE,kBAAkB,EAAE;oBACrE,UAAU,EAAE;wBACV,IAAI,EAAE,gBAAgB;wBACtB,YAAY,EAAE,IAAI;qBACnB;iBACF,CAAC,CAAA;aACH;YAGD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CACpD,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,aAAa,EAAE,EACvB,QAAQ,EACR,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,OAAO,CACb,CAAA;YACD,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;YACvC,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,CAClC,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,aAAa,EAAE,EACvB,QAAQ,EACR,IAAI,CAAC,EAAE,CACR,CAAA;QACH,CAAC,CAAA;IACH,CAAC;CACF;AAhDD,0EAgDC"}
|
package/dist/{graphql → src/graphql}/resolver-generators/mutation-delete-resolver-generator.js
RENAMED
|
@@ -1,12 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MutationDeleteResolverGenerator = void 0;
|
|
4
|
+
const GraphQLError_1 = require("graphql/error/GraphQLError");
|
|
4
5
|
class MutationDeleteResolverGenerator {
|
|
5
6
|
constructor(persistence) {
|
|
6
7
|
this.persistence = persistence;
|
|
7
8
|
}
|
|
8
9
|
createResolver(typeName) {
|
|
9
10
|
return async (source, args, context, info) => {
|
|
11
|
+
try {
|
|
12
|
+
await this.persistence.findByTypeId(context.gitAdapter, context.getCurrentRef(), typeName, args.id);
|
|
13
|
+
}
|
|
14
|
+
catch (_) {
|
|
15
|
+
throw new GraphQLError_1.GraphQLError(`No entry of type "${typeName}" with id "${args.id}" exists`, {
|
|
16
|
+
extensions: {
|
|
17
|
+
code: 'BAD_USER_INPUT',
|
|
18
|
+
argumentName: 'id',
|
|
19
|
+
},
|
|
20
|
+
});
|
|
21
|
+
}
|
|
10
22
|
const deleteResult = await this.persistence.deleteByTypeId(context.gitAdapter, context.branch, context.getCurrentRef(), typeName, args.id, args.message);
|
|
11
23
|
context.setCurrentRef(deleteResult.ref);
|
|
12
24
|
return {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mutation-delete-resolver-generator.js","sourceRoot":"","sources":["../../../../src/graphql/resolver-generators/mutation-delete-resolver-generator.ts"],"names":[],"mappings":";;;AAMA,6DAAyD;AAEzD,MAAa,+BAA+B;IAC1C,YAA6B,WAA+B;QAA/B,gBAAW,GAAX,WAAW,CAAoB;IAAG,CAAC;IAEzD,cAAc,CACnB,QAAgB;QAEhB,OAAO,KAAK,EACV,MAAM,EACN,IAAI,EACJ,OAAsB,EACtB,IAAI,EACY,EAAE;YAClB,IAAI;gBACF,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CACjC,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,aAAa,EAAE,EACvB,QAAQ,EACR,IAAI,CAAC,EAAE,CACR,CAAA;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,MAAM,IAAI,2BAAY,CACpB,qBAAqB,QAAQ,cAAc,IAAI,CAAC,EAAE,UAAU,EAC5D;oBACE,UAAU,EAAE;wBACV,IAAI,EAAE,gBAAgB;wBACtB,YAAY,EAAE,IAAI;qBACnB;iBACF,CACF,CAAA;aACF;YAGD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CACxD,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,aAAa,EAAE,EACvB,QAAQ,EACR,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,OAAO,CACb,CAAA;YACD,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;YACvC,OAAO;gBACL,EAAE,EAAE,IAAI,CAAC,EAAE;aACZ,CAAA;QACH,CAAC,CAAA;IACH,CAAC;CACF;AA9CD,0EA8CC"}
|
package/dist/{graphql → src/graphql}/resolver-generators/mutation-update.resolver-generator.js
RENAMED
|
@@ -1,12 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MutationUpdateResolverGenerator = void 0;
|
|
4
|
+
const GraphQLError_1 = require("graphql/error/GraphQLError");
|
|
4
5
|
class MutationUpdateResolverGenerator {
|
|
5
6
|
constructor(persistence) {
|
|
6
7
|
this.persistence = persistence;
|
|
7
8
|
}
|
|
8
9
|
createResolver(typeName) {
|
|
9
10
|
return async (source, args, context, info) => {
|
|
11
|
+
try {
|
|
12
|
+
await this.persistence.findByTypeId(context.gitAdapter, context.getCurrentRef(), typeName, args.id);
|
|
13
|
+
}
|
|
14
|
+
catch (_) {
|
|
15
|
+
throw new GraphQLError_1.GraphQLError(`No entry of type "${typeName}" with id "${args.id}" exists`, {
|
|
16
|
+
extensions: {
|
|
17
|
+
code: 'BAD_USER_INPUT',
|
|
18
|
+
argumentName: 'id',
|
|
19
|
+
},
|
|
20
|
+
});
|
|
21
|
+
}
|
|
10
22
|
const updateResult = await this.persistence.updateByTypeId(context.gitAdapter, context.branch, context.getCurrentRef(), typeName, args.id, args.data, args.message);
|
|
11
23
|
context.setCurrentRef(updateResult.ref);
|
|
12
24
|
return this.persistence.findByTypeId(context.gitAdapter, context.getCurrentRef(), typeName, args.id);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mutation-update.resolver-generator.js","sourceRoot":"","sources":["../../../../src/graphql/resolver-generators/mutation-update.resolver-generator.ts"],"names":[],"mappings":";;;AAMA,6DAAyD;AAEzD,MAAa,+BAA+B;IAC1C,YAA6B,WAA+B;QAA/B,gBAAW,GAAX,WAAW,CAAoB;IAAG,CAAC;IAEzD,cAAc,CACnB,QAAgB;QAEhB,OAAO,KAAK,EACV,MAAM,EACN,IAAI,EACJ,OAAsB,EACtB,IAAI,EACY,EAAE;YAClB,IAAI;gBACF,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CACjC,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,aAAa,EAAE,EACvB,QAAQ,EACR,IAAI,CAAC,EAAE,CACR,CAAA;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,MAAM,IAAI,2BAAY,CACpB,qBAAqB,QAAQ,cAAc,IAAI,CAAC,EAAE,UAAU,EAC5D;oBACE,UAAU,EAAE;wBACV,IAAI,EAAE,gBAAgB;wBACtB,YAAY,EAAE,IAAI;qBACnB;iBACF,CACF,CAAA;aACF;YAGD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CACxD,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,aAAa,EAAE,EACvB,QAAQ,EACR,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,OAAO,CACb,CAAA;YACD,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;YACvC,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,CAClC,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,aAAa,EAAE,EACvB,QAAQ,EACR,IAAI,CAAC,EAAE,CACR,CAAA;QACH,CAAC,CAAA;IACH,CAAC;CACF;AAlDD,0EAkDC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query-all-resolver-generator.js","sourceRoot":"","sources":["../../../../src/graphql/resolver-generators/query-all-resolver-generator.ts"],"names":[],"mappings":";;;AAOA,MAAa,yBAAyB;IACpC,YAA6B,WAA+B;QAA/B,gBAAW,GAAX,WAAW,CAAoB;IAAG,CAAC;IAEzD,cAAc,CACnB,QAAgB;QAEhB,OAAO,KAAK,EACV,GAAG,EACH,IAAI,EACJ,OAAsB,EACtB,IAAI,EACc,EAAE;YACpB,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAChC,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,aAAa,EAAE,EACvB,QAAQ,CACT,CAAA;QACH,CAAC,CAAA;IACH,CAAC;CACF;AAnBD,8DAmBC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query-by-id-resolver-generator.js","sourceRoot":"","sources":["../../../../src/graphql/resolver-generators/query-by-id-resolver-generator.ts"],"names":[],"mappings":";;;AAOA,MAAa,0BAA0B;IACrC,YAA6B,WAA+B;QAA/B,gBAAW,GAAX,WAAW,CAAoB;IAAG,CAAC;IAEzD,cAAc,CACnB,QAAgB;QAEhB,OAAO,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAkB,EAAE;YACxD,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,CAClC,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,aAAa,EAAE,EACvB,QAAQ,EACR,IAAI,CAAC,EAAE,CACR,CAAA;QACH,CAAC,CAAA;IACH,CAAC;CACF;AAfD,gEAeC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query-count-all-resolver-generator.js","sourceRoot":"","sources":["../../../../src/graphql/resolver-generators/query-count-all-resolver-generator.ts"],"names":[],"mappings":";;;AAKA,MAAa,8BAA8B;IACzC,YAA6B,WAA+B;QAA/B,gBAAW,GAAX,WAAW,CAAoB;IAAG,CAAC;IAEzD,cAAc,CACnB,QAAgB;QAEhB,OAAO,KAAK,EACV,GAAG,EACH,IAAI,EACJ,OAAsB,EACtB,IAAI,EACgB,EAAE;YACtB,OAAO;gBACL,KAAK,EAAE,CACL,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAC/B,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,aAAa,EAAE,EACvB,QAAQ,CACT,CACF,CAAC,MAAM;aACT,CAAA;QACH,CAAC,CAAA;IACH,CAAC;CACF;AAvBD,wEAuBC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query-type-by-id-resolver-generator.js","sourceRoot":"","sources":["../../../../src/graphql/resolver-generators/query-type-by-id-resolver-generator.ts"],"names":[],"mappings":";;;AAIA,MAAa,8BAA8B;IACzC,YAA6B,WAA+B;QAA/B,gBAAW,GAAX,WAAW,CAAoB;IAAG,CAAC;IAEzD,cAAc;QAMnB,OAAO,KAAK,EACV,MAAM,EACN,IAAI,EACJ,OAAsB,EACtB,IAAI,EACa,EAAE;YACnB,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CACjC,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,aAAa,EAAE,EACvB,IAAI,CAAC,EAAE,CACR,CAAA;QACH,CAAC,CAAA;IACH,CAAC;CACF;AAtBD,wEAsBC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"union-type-resolver-generator.js","sourceRoot":"","sources":["../../../../src/graphql/resolver-generators/union-type-resolver-generator.ts"],"names":[],"mappings":";;;AASA,MAAa,0BAA0B;IACrC,YACmB,WAA+B,EAC/B,kBAAsC;QADtC,gBAAW,GAAX,WAAW,CAAoB;QAC/B,uBAAkB,GAAlB,kBAAkB,CAAoB;IACtD,CAAC;IAEG,cAAc;QACnB,OAAO,KAAK,EACV,GAAQ,EACR,OAAsB,EACtB,IAAwB,EACxB,YAAiC,EAChB,EAAE;YACnB,IACE,IAAI,CAAC,kBAAkB,CAAC,8BAA8B,CAAC,YAAY,CAAC,EACpE;gBACA,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CACjC,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,aAAa,EAAE,EACvB,GAAG,CAAC,EAAE,CACP,CAAA;aACF;iBAAM;gBAGL,OAAO,GAAG,CAAC,UAAU,CAAA;aACtB;QAGH,CAAC,CAAA;IACH,CAAC;CACF;AA9BD,gEA8BC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"union-value-resolver-generator.js","sourceRoot":"","sources":["../../../../src/graphql/resolver-generators/union-value-resolver-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-analyzer.service.js","sourceRoot":"","sources":["../../../src/graphql/schema-analyzer.service.ts"],"names":[],"mappings":";;;AACA,gDAAmD;AAEnD,kDAA6C;AAI7C,MAAa,qBAAqB;IAChC,YAA6B,kBAAsC;QAAtC,uBAAkB,GAAlB,kBAAkB,CAAoB;IAAG,CAAC;IAEhE,aAAa,CAAC,MAAqB;;QACxC,MAAM,MAAM,GAA0B;YACpC,mBAAmB,EAAE,EAAE;YACvB,WAAW,EAAE,EAAE;YACf,cAAc,EAAE,EAAE;YAClB,UAAU,EAAE,EAAE;YACd,wBAAwB,EAAE,EAAE;SAC7B,CAAA;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAA;QAEnC,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACjD,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;gBACxB,SAAQ;aACT;YAED,IAAI,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,MAAK,YAAI,CAAC,sBAAsB,EAAE;gBACtD,MAAM,UAAU,GAAG,IAAyB,CAAA;gBAC5C,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;gBACnC,MAAM,eAAe,GAAG,MAAA,IAAA,oBAAY,EAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,0CAAG,CAAC,CAAC,CAAA;gBACtE,IAAI,eAAe,EAAE;oBACnB,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;iBAC5C;gBACD,MAAM,wBAAwB,GAC5B,IAAI,CAAC,kBAAkB,CAAC,8CAA8C,CACpE,UAAU,CACX,CAAA;gBACH,IAAI,wBAAwB,CAAC,MAAM,GAAG,CAAC,EAAE;oBACvC,MAAM,CAAC,wBAAwB,CAAC,IAAI,CAAC;wBACnC,IAAI,EAAE,UAAU;wBAChB,MAAM,EAAE,wBAAwB;qBACjC,CAAC,CAAA;iBACH;aACF;YAED,IAAI,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,MAAK,YAAI,CAAC,yBAAyB,EAAE;gBACzD,MAAM,aAAa,GAAG,IAA4B,CAAA;gBAClD,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;aAC1C;YAED,IAAI,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,MAAK,YAAI,CAAC,qBAAqB,EAAE;gBACrD,MAAM,SAAS,GAAG,IAAwB,CAAA;gBAC1C,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;aAClC;SACF;QAED,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAnDD,sDAmDC"}
|
|
@@ -25,11 +25,11 @@ class SchemaGeneratorService {
|
|
|
25
25
|
throw new Error(validationResult.join('\n'));
|
|
26
26
|
}
|
|
27
27
|
const schemaAnalyzerResult = this.schemaAnalyzer.analyzeSchema(schema);
|
|
28
|
-
const filteredOriginalSchemaString = (0, utils_1.printSchemaWithDirectives)(schema);
|
|
28
|
+
const filteredOriginalSchemaString = (0, utils_1.printSchemaWithDirectives)(schema) + '\n';
|
|
29
29
|
const generatedIdInputTypeStrings = this.inputTypeGenerator.generateIdInputTypeStrings(schemaAnalyzerResult);
|
|
30
30
|
const generatedQueriesMutations = this.queriesMutationsGenerator.generateFromAnalyzedSchema(schemaAnalyzerResult.entryDirectiveTypes);
|
|
31
31
|
const generatedTypeNameQuery = this.queriesMutationsGenerator.generateTypeNameQuery();
|
|
32
|
-
|
|
32
|
+
const generatedEntryReferenceResolvers = {};
|
|
33
33
|
for (const type of schemaAnalyzerResult.typesWithEntryReferences) {
|
|
34
34
|
generatedEntryReferenceResolvers[type.type.name] =
|
|
35
35
|
this.entryReferenceResolverGenerator.createResolver(context, type);
|
|
@@ -83,14 +83,15 @@ class SchemaGeneratorService {
|
|
|
83
83
|
for (const typeName of Object.keys(generatedEntryReferenceResolvers)) {
|
|
84
84
|
allGeneratedResolvers[typeName] = Object.assign(Object.assign({}, ((_c = allGeneratedResolvers[typeName]) !== null && _c !== void 0 ? _c : {})), generatedEntryReferenceResolvers[typeName]);
|
|
85
85
|
}
|
|
86
|
+
const typeDefs = [
|
|
87
|
+
filteredOriginalSchemaString,
|
|
88
|
+
generatedSchemaString,
|
|
89
|
+
generatedIdInputTypeStrings.join('\n'),
|
|
90
|
+
generatedObjectInputTypeStrings.join('\n'),
|
|
91
|
+
generatedUnionInputTypeStrings.join('\n'),
|
|
92
|
+
].filter((typeDef) => typeDef.length > 0);
|
|
86
93
|
return {
|
|
87
|
-
typeDefs:
|
|
88
|
-
filteredOriginalSchemaString,
|
|
89
|
-
generatedSchemaString,
|
|
90
|
-
generatedIdInputTypeStrings.join('\n'),
|
|
91
|
-
generatedObjectInputTypeStrings.join('\n'),
|
|
92
|
-
generatedUnionInputTypeStrings.join('\n'),
|
|
93
|
-
],
|
|
94
|
+
typeDefs: typeDefs,
|
|
94
95
|
resolvers: allGeneratedResolvers,
|
|
95
96
|
};
|
|
96
97
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-generator.service.js","sourceRoot":"","sources":["../../../src/graphql/schema-generator.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,16 +7,18 @@ class SchemaRootTypeGeneratorService {
|
|
|
7
7
|
generatedSchemas
|
|
8
8
|
.map((generated) => ' ' + generated.queryAll.schemaString)
|
|
9
9
|
.join('\n') +
|
|
10
|
+
'\n' +
|
|
10
11
|
generatedSchemas
|
|
11
12
|
.map((generated) => ' ' + generated.queryAllMeta.schemaString)
|
|
12
13
|
.join('\n') +
|
|
14
|
+
'\n' +
|
|
13
15
|
generatedSchemas
|
|
14
16
|
.map((generated) => ' ' + generated.queryById.schemaString)
|
|
15
17
|
.join('\n') +
|
|
16
18
|
'\n' +
|
|
17
19
|
` ${typeQuery.schemaString}` +
|
|
18
20
|
'\n' +
|
|
19
|
-
'}\n' +
|
|
21
|
+
'}\n\n' +
|
|
20
22
|
'type Mutation {\n' +
|
|
21
23
|
generatedSchemas
|
|
22
24
|
.map((generated) => ' ' + generated.createMutation.schemaString)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-root-type-generator.service.js","sourceRoot":"","sources":["../../../src/graphql/schema-root-type-generator.service.ts"],"names":[],"mappings":";;;AAKA,MAAa,8BAA8B;IAClC,6BAA6B,CAClC,gBAAoC,EACpC,SAA2C;QAE3C,OAAO,CACL,gBAAgB;YAChB,gBAAgB;iBACb,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC;iBAC1D,IAAI,CAAC,IAAI,CAAC;YACb,IAAI;YACJ,gBAAgB;iBACb,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,GAAG,SAAS,CAAC,YAAY,CAAC,YAAY,CAAC;iBAC9D,IAAI,CAAC,IAAI,CAAC;YACb,IAAI;YACJ,gBAAgB;iBACb,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC;iBAC3D,IAAI,CAAC,IAAI,CAAC;YACb,IAAI;YACJ,KAAK,SAAS,CAAC,YAAY,EAAE;YAC7B,IAAI;YACJ,OAAO;YACP,mBAAmB;YACnB,gBAAgB;iBACb,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,GAAG,SAAS,CAAC,cAAc,CAAC,YAAY,CAAC;iBAChE,IAAI,CAAC,IAAI,CAAC;YACb,IAAI;YACJ,gBAAgB;iBACb,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,GAAG,SAAS,CAAC,cAAc,CAAC,YAAY,CAAC;iBAChE,IAAI,CAAC,IAAI,CAAC;YACb,IAAI;YACJ,gBAAgB;iBACb,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,GAAG,SAAS,CAAC,cAAc,CAAC,YAAY,CAAC;iBAChE,IAAI,CAAC,IAAI,CAAC;YACb,IAAI;YACJ,KAAK,CACN,CAAA;IACH,CAAC;CACF;AAtCD,wEAsCC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entry-reference-util.js","sourceRoot":"","sources":["../../../../src/graphql/schema-utils/entry-reference-util.ts"],"names":[],"mappings":";;;AAAA,uCAKqB;AACrB,wDAA+E;AAE/E,MAAa,kBAAkB;IACtB,8CAA8C,CACnD,UAA6B;QAE7B,MAAM,MAAM,GAAG,EAAE,CAAA;QACjB,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,SAAS,EAAE,EAAE;YAC9C,MAAM,KAAK,GAA2B,UAAU,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,CAAA;YACvE,IAAI,IAAI,CAAC,8BAA8B,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;gBACnD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;aACnB;SACF;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAEM,8BAA8B,CAAC,IAAyB;QAC7D,IAAI,IAAI,YAAY,qBAAc,EAAE;YAClC,OAAO,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;SACxD;aAAM,IAAI,IAAI,YAAY,kBAAW,EAAE;YACtC,OAAO,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;SACxD;aAAM,IAAI,IAAI,YAAY,6BAAgB,EAAE;YAC3C,OAAO,CACL,IAAI;iBACD,QAAQ,EAAE;iBACV,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,8BAA8B,CAAC,SAAS,CAAC,CAAC;iBACrE,MAAM,GAAG,CAAC,CACd,CAAA;SACF;aAAM,IAAI,IAAI,YAAY,wBAAiB,EAAE;YAC5C,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA;SACpC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAEM,iBAAiB,CAAC,IAAuB;;QAC9C,OAAO,CACL,CAAC,CAAC,IAAI,CAAC,OAAO;YACd,CAAA,MAAA,IAAI,CAAC,OAAO,CAAC,UAAU,0CAAE,IAAI,CAC3B,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,KAAK,OAAO,CAChD,MAAK,SAAS,CAChB,CAAA;IACH,CAAC;CACF;AAxCD,gDAwCC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-validator.js","sourceRoot":"","sources":["../../../src/graphql/schema-validator.ts"],"names":[],"mappings":";;;AACA,kDAA6C;AAG7C,MAAa,eAAe;IACnB,mBAAmB,CAAC,MAAqB;QAC9C,MAAM,OAAO,GAAG,EAAE,CAAA;QAClB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,8CAA8C,CAAC,MAAM,CAAC,CAAC,CAAA;QACzE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,CAAA;IAClD,CAAC;IAEO,8CAA8C,CACpD,MAAqB;;QAErB,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAA;QAEnC,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACjD,IAAI,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,MAAK,YAAI,CAAC,qBAAqB,EAAE;gBACrD,SAAQ;aACT;YACD,MAAM,UAAU,GAAI,IAAyB,CAAC,QAAQ,EAAE,CAAA;YAExD,MAAM,oCAAoC,GAAG,UAAU,CAAC,MAAM,CAC5D,CAAC,SAAS,EAAE,EAAE;;gBACZ,OAAA,CAAC,CAAC,SAAS,CAAC,OAAO;oBACnB,CAAA,MAAA,SAAS,CAAC,OAAO,CAAC,UAAU,0CAAE,IAAI,CAChC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,KAAK,OAAO,CAChD,MAAK,SAAS,CAAA;aAAA,CAClB,CAAC,MAAM,CAAA;YAER,IACE,oCAAoC,KAAK,CAAC;gBAC1C,oCAAoC,KAAK,UAAU,CAAC,MAAM,EAC1D;gBACA,OAAO,gCAAgC,IAAI,CAAC,IAAI,yCAAyC,CAAA;aAC1F;SACF;QAED,OAAO,EAAE,CAAA;IACX,CAAC;CACF;AApCD,0CAoCC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,mDAA8C;AAGrC,2FAHA,wBAAU,OAGA;AAFnB,2CAAwC;AAIjC,KAAK,UAAU,aAAa;IACjC,OAAO,sBAAU,CAAA;AACnB,CAAC;AAFD,sCAEC"}
|
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
import { GitAdapter } from '@commitspark/git-adapter';
|
|
2
2
|
export declare class PersistenceService {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
findById(gitAdapter: GitAdapter, commitHash: string, id: ID): Promise<Entry>;
|
|
3
|
+
getTypeById(gitAdapter: GitAdapter, commitHash: string, id: string): Promise<string>;
|
|
4
|
+
findById(gitAdapter: GitAdapter, commitHash: string, id: string): Promise<Entry>;
|
|
6
5
|
findByType(gitAdapter: GitAdapter, commitHash: string, type: string): Promise<Entry[]>;
|
|
7
|
-
findByTypeId(gitAdapter: GitAdapter, commitHash: string, type: string, id:
|
|
8
|
-
createType(gitAdapter: GitAdapter, branch: string, commitHash: string,
|
|
9
|
-
updateByTypeId(gitAdapter: GitAdapter, branch: string, commitHash: string, type: string, id:
|
|
10
|
-
deleteByTypeId(gitAdapter: GitAdapter, branch: string, commitHash: string, type: string, id:
|
|
6
|
+
findByTypeId(gitAdapter: GitAdapter, commitHash: string, type: string, id: string): Promise<Entry>;
|
|
7
|
+
createType(gitAdapter: GitAdapter, branch: string, commitHash: string, typeName: string, id: string, data: Entry, message: string): Promise<CommitResult>;
|
|
8
|
+
updateByTypeId(gitAdapter: GitAdapter, branch: string, commitHash: string, type: string, id: string, data: Entry, message: string): Promise<CommitResult>;
|
|
9
|
+
deleteByTypeId(gitAdapter: GitAdapter, branch: string, commitHash: string, type: string, id: string, message: string): Promise<CommitResult>;
|
|
11
10
|
}
|
|
12
11
|
export interface CommitResult {
|
|
13
|
-
id: ID;
|
|
14
12
|
ref: string;
|
|
15
13
|
}
|
|
16
|
-
export type ID = string;
|
|
17
14
|
export type Entry = Record<string, unknown>;
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PersistenceService = void 0;
|
|
4
|
-
const
|
|
4
|
+
const GraphQLError_1 = require("graphql/error/GraphQLError");
|
|
5
5
|
class PersistenceService {
|
|
6
|
-
constructor() { }
|
|
7
6
|
async getTypeById(gitAdapter, commitHash, id) {
|
|
8
7
|
const allEntries = await gitAdapter.getContentEntries(commitHash);
|
|
9
8
|
const requestedEntry = allEntries.filter((contentEntry) => contentEntry.id === id)[0];
|
|
@@ -34,25 +33,32 @@ class PersistenceService {
|
|
|
34
33
|
}
|
|
35
34
|
return Object.assign(Object.assign({}, requestedEntry.data), { id: id });
|
|
36
35
|
}
|
|
37
|
-
async createType(gitAdapter, branch, commitHash,
|
|
38
|
-
const
|
|
36
|
+
async createType(gitAdapter, branch, commitHash, typeName, id, data, message) {
|
|
37
|
+
const regex = /^[a-zA-Z\-_]{1,250}$/;
|
|
38
|
+
if (!id.match(regex)) {
|
|
39
|
+
throw new GraphQLError_1.GraphQLError(`"id" does not match regex "${regex}"`, {
|
|
40
|
+
extensions: {
|
|
41
|
+
code: 'BAD_USER_INPUT',
|
|
42
|
+
argumentName: 'id',
|
|
43
|
+
},
|
|
44
|
+
});
|
|
45
|
+
}
|
|
39
46
|
const commit = await gitAdapter.createCommit({
|
|
40
47
|
ref: branch,
|
|
41
48
|
parentSha: commitHash,
|
|
42
49
|
contentEntries: [
|
|
43
50
|
{
|
|
44
51
|
id: id,
|
|
45
|
-
data: data,
|
|
46
52
|
metadata: {
|
|
47
|
-
type:
|
|
53
|
+
type: typeName,
|
|
48
54
|
},
|
|
55
|
+
data: data,
|
|
49
56
|
deletion: false,
|
|
50
57
|
},
|
|
51
58
|
],
|
|
52
59
|
message: message,
|
|
53
60
|
});
|
|
54
61
|
return {
|
|
55
|
-
id,
|
|
56
62
|
ref: commit.ref,
|
|
57
63
|
};
|
|
58
64
|
}
|
|
@@ -69,15 +75,14 @@ class PersistenceService {
|
|
|
69
75
|
contentEntries: [
|
|
70
76
|
{
|
|
71
77
|
id: id,
|
|
72
|
-
data: newData,
|
|
73
78
|
metadata: requestedEntry.metadata,
|
|
79
|
+
data: newData,
|
|
74
80
|
deletion: false,
|
|
75
81
|
},
|
|
76
82
|
],
|
|
77
83
|
message: message,
|
|
78
84
|
});
|
|
79
85
|
return {
|
|
80
|
-
id,
|
|
81
86
|
ref: commit.ref,
|
|
82
87
|
};
|
|
83
88
|
}
|
|
@@ -93,15 +98,14 @@ class PersistenceService {
|
|
|
93
98
|
contentEntries: [
|
|
94
99
|
{
|
|
95
100
|
id: id,
|
|
96
|
-
data: {},
|
|
97
101
|
metadata: requestedEntry.metadata,
|
|
102
|
+
data: {},
|
|
98
103
|
deletion: true,
|
|
99
104
|
},
|
|
100
105
|
],
|
|
101
106
|
message: message,
|
|
102
107
|
});
|
|
103
108
|
return {
|
|
104
|
-
id,
|
|
105
109
|
ref: commit.ref,
|
|
106
110
|
};
|
|
107
111
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"persistence.service.js","sourceRoot":"","sources":["../../../src/persistence/persistence.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const jest_mock_extended_1 = require("jest-mock-extended");
|
|
4
|
+
const src_1 = require("../../../src");
|
|
5
|
+
describe('"Create" mutation resolvers', () => {
|
|
6
|
+
it('should create an entry', async () => {
|
|
7
|
+
const gitAdapter = (0, jest_mock_extended_1.mock)();
|
|
8
|
+
const gitRef = 'myRef';
|
|
9
|
+
const commitHash = 'abcd';
|
|
10
|
+
const originalSchema = `directive @Entry on OBJECT
|
|
11
|
+
|
|
12
|
+
type EntryA @Entry {
|
|
13
|
+
id: ID!
|
|
14
|
+
name: String
|
|
15
|
+
}`;
|
|
16
|
+
const commitMessage = 'My message';
|
|
17
|
+
const entryAId = 'A';
|
|
18
|
+
const postCommitHash = 'ef01';
|
|
19
|
+
const mutationData = {
|
|
20
|
+
name: 'My name',
|
|
21
|
+
};
|
|
22
|
+
const commitResult = {
|
|
23
|
+
ref: postCommitHash,
|
|
24
|
+
};
|
|
25
|
+
const newEntry = {
|
|
26
|
+
id: entryAId,
|
|
27
|
+
metadata: {
|
|
28
|
+
type: 'EntryA',
|
|
29
|
+
},
|
|
30
|
+
data: {
|
|
31
|
+
name: mutationData.name,
|
|
32
|
+
},
|
|
33
|
+
};
|
|
34
|
+
const commitDraft = {
|
|
35
|
+
ref: gitRef,
|
|
36
|
+
parentSha: commitHash,
|
|
37
|
+
contentEntries: [Object.assign(Object.assign({}, newEntry), { deletion: false })],
|
|
38
|
+
message: commitMessage,
|
|
39
|
+
};
|
|
40
|
+
const commitDraftMatcher = new jest_mock_extended_1.Matcher((actualValue) => {
|
|
41
|
+
return JSON.stringify(actualValue) === JSON.stringify(commitDraft);
|
|
42
|
+
}, '');
|
|
43
|
+
gitAdapter.getLatestCommitHash
|
|
44
|
+
.calledWith(gitRef)
|
|
45
|
+
.mockResolvedValue(commitHash);
|
|
46
|
+
gitAdapter.getSchema
|
|
47
|
+
.calledWith(commitHash)
|
|
48
|
+
.mockResolvedValue(originalSchema);
|
|
49
|
+
gitAdapter.getContentEntries.calledWith(commitHash).mockResolvedValue([]);
|
|
50
|
+
gitAdapter.createCommit
|
|
51
|
+
.calledWith(commitDraftMatcher)
|
|
52
|
+
.mockResolvedValue(commitResult);
|
|
53
|
+
gitAdapter.getContentEntries
|
|
54
|
+
.calledWith(postCommitHash)
|
|
55
|
+
.mockResolvedValue([newEntry]);
|
|
56
|
+
const apiService = await (0, src_1.getApiService)();
|
|
57
|
+
const result = await apiService.postGraphQL(gitAdapter, gitRef, {
|
|
58
|
+
query: `mutation ($id: ID!, $mutationData: EntryAInput!, $commitMessage: String!){
|
|
59
|
+
data: createEntryA(id: $id, data: $mutationData, message:$commitMessage) {
|
|
60
|
+
id
|
|
61
|
+
}
|
|
62
|
+
}`,
|
|
63
|
+
variables: {
|
|
64
|
+
id: entryAId,
|
|
65
|
+
mutationData: mutationData,
|
|
66
|
+
commitMessage: commitMessage,
|
|
67
|
+
},
|
|
68
|
+
});
|
|
69
|
+
expect(result.errors).toBeUndefined();
|
|
70
|
+
expect(result.data).toEqual({
|
|
71
|
+
data: {
|
|
72
|
+
id: entryAId,
|
|
73
|
+
},
|
|
74
|
+
});
|
|
75
|
+
expect(result.ref).toBe(postCommitHash);
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
//# sourceMappingURL=create.test.js.map
|