@commitspark/graphql-api 2.0.0-beta.3 → 2.0.0-beta.5
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 +58 -0
- package/README.md +165 -88
- package/dist/cjs/client.d.ts +1 -0
- package/dist/cjs/graphql/apollo-config-factory.d.ts +1 -0
- package/dist/cjs/graphql/errors.d.ts +4 -2
- package/dist/cjs/graphql/errors.d.ts.map +1 -0
- package/dist/cjs/graphql/errors.js +11 -1
- package/dist/cjs/graphql/errors.js.map +1 -1
- package/dist/cjs/graphql/input-type-generator.d.ts +1 -0
- package/dist/cjs/graphql/input-type-generator.d.ts.map +1 -0
- package/dist/cjs/graphql/input-type-generator.js +5 -10
- package/dist/cjs/graphql/input-type-generator.js.map +1 -1
- package/dist/cjs/graphql/queries-mutations-generator.d.ts +10 -1
- package/dist/cjs/graphql/queries-mutations-generator.d.ts.map +1 -0
- package/dist/cjs/graphql/queries-mutations-generator.js +55 -3
- package/dist/cjs/graphql/queries-mutations-generator.js.map +1 -1
- package/dist/cjs/graphql/resolvers/commit-message.d.ts +11 -0
- package/dist/cjs/graphql/resolvers/commit-message.d.ts.map +1 -0
- package/dist/cjs/graphql/resolvers/commit-message.js +22 -0
- package/dist/cjs/graphql/resolvers/commit-message.js.map +1 -0
- package/dist/cjs/graphql/resolvers/field-resolvers/entry-reference-resolver.d.ts +1 -0
- package/dist/cjs/graphql/resolvers/field-resolvers/entry-reference-resolver.js +2 -2
- package/dist/cjs/graphql/resolvers/field-resolvers/entry-reference-resolver.js.map +1 -1
- package/dist/cjs/graphql/resolvers/field-resolvers/field-default-value-resolver.d.ts +1 -0
- package/dist/cjs/graphql/resolvers/field-resolvers/field-default-value-resolver.js +3 -3
- package/dist/cjs/graphql/resolvers/field-resolvers/field-default-value-resolver.js.map +1 -1
- package/dist/cjs/graphql/resolvers/field-resolvers/referenced-by-resolver.d.ts +3 -0
- package/dist/cjs/graphql/resolvers/field-resolvers/referenced-by-resolver.d.ts.map +1 -0
- package/dist/cjs/graphql/resolvers/field-resolvers/referenced-by-resolver.js +7 -0
- package/dist/cjs/graphql/resolvers/field-resolvers/referenced-by-resolver.js.map +1 -0
- package/dist/cjs/graphql/resolvers/field-resolvers/types.d.ts +1 -0
- package/dist/cjs/graphql/resolvers/field-resolvers/union-value-resolver.d.ts +1 -0
- package/dist/cjs/graphql/resolvers/field-resolvers/version-resolver.d.ts +3 -0
- package/dist/cjs/graphql/resolvers/field-resolvers/version-resolver.d.ts.map +1 -0
- package/dist/cjs/graphql/resolvers/field-resolvers/version-resolver.js +7 -0
- package/dist/cjs/graphql/resolvers/field-resolvers/version-resolver.js.map +1 -0
- package/dist/cjs/graphql/resolvers/object-type-field-default-value-resolver-generator.d.ts +1 -0
- package/dist/cjs/graphql/resolvers/object-type-field-default-value-resolver-generator.js +1 -1
- package/dist/cjs/graphql/resolvers/object-type-field-default-value-resolver-generator.js.map +1 -1
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.d.ts +1 -0
- package/dist/{types → cjs}/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.d.ts.map +1 -1
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.js +33 -42
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.js.map +1 -1
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.d.ts +1 -0
- package/dist/{types → cjs}/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.d.ts.map +1 -1
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.js +28 -40
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.js.map +1 -1
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.d.ts +1 -0
- package/dist/{types → cjs}/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.d.ts.map +1 -1
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.js +26 -43
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.js.map +1 -1
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.d.ts +1 -0
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-every-resolver.d.ts +1 -0
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-search-resolver.d.ts +1 -0
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-search-resolver.js +5 -5
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-search-resolver.js.map +1 -1
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.d.ts +1 -0
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/union-type-resolver.d.ts +1 -0
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/union-type-resolver.js +1 -1
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/union-type-resolver.js.map +1 -1
- package/dist/cjs/graphql/resolvers/types.d.ts +14 -2
- package/dist/cjs/graphql/resolvers/types.d.ts.map +1 -0
- package/dist/cjs/graphql/schema-analyzer.d.ts +1 -0
- package/dist/cjs/graphql/schema-generator.d.ts +1 -0
- package/dist/cjs/graphql/schema-generator.d.ts.map +1 -0
- package/dist/cjs/graphql/schema-generator.js +12 -1
- package/dist/cjs/graphql/schema-generator.js.map +1 -1
- package/dist/cjs/graphql/schema-root-type-generator.d.ts +1 -0
- package/dist/cjs/graphql/schema-utils/directive-util.d.ts +1 -0
- package/dist/cjs/graphql/schema-utils/entry-reference-util.d.ts +5 -2
- package/dist/cjs/graphql/schema-utils/entry-reference-util.d.ts.map +1 -0
- package/dist/cjs/graphql/schema-utils/entry-reference-util.js +94 -121
- package/dist/cjs/graphql/schema-utils/entry-reference-util.js.map +1 -1
- package/dist/cjs/graphql/schema-utils/entry-type-util.d.ts +1 -0
- package/dist/cjs/graphql/schema-utils/searchable-field-util.d.ts +1 -0
- package/dist/cjs/graphql/schema-utils/union-type-util.d.ts +1 -0
- package/dist/cjs/graphql/schema-utils/union-type-util.js +2 -2
- package/dist/cjs/graphql/schema-utils/union-type-util.js.map +1 -1
- package/dist/cjs/graphql/schema-validator.d.ts +1 -0
- package/dist/{types → cjs}/graphql/schema-validator.d.ts.map +1 -1
- package/dist/cjs/graphql/schema-validator.js +16 -0
- package/dist/cjs/graphql/schema-validator.js.map +1 -1
- package/dist/cjs/graphql/util.d.ts +1 -0
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +3 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/persistence/cache.d.ts +4 -1
- package/dist/cjs/persistence/cache.d.ts.map +1 -0
- package/dist/cjs/persistence/cache.js +8 -17
- package/dist/cjs/persistence/cache.js.map +1 -1
- package/dist/cjs/persistence/commit-with-retry.d.ts +16 -0
- package/dist/cjs/persistence/commit-with-retry.d.ts.map +1 -0
- package/dist/cjs/persistence/commit-with-retry.js +39 -0
- package/dist/cjs/persistence/commit-with-retry.js.map +1 -0
- package/dist/cjs/persistence/git-adapter-call.d.ts +10 -0
- package/dist/cjs/persistence/git-adapter-call.d.ts.map +1 -0
- package/dist/cjs/persistence/git-adapter-call.js +29 -0
- package/dist/cjs/persistence/git-adapter-call.js.map +1 -0
- package/dist/cjs/persistence/persistence.d.ts +12 -0
- package/dist/{types → cjs}/persistence/persistence.d.ts.map +1 -1
- package/dist/cjs/persistence/persistence.js +37 -2
- package/dist/cjs/persistence/persistence.js.map +1 -1
- package/dist/esm/client.d.ts.map +1 -0
- package/dist/esm/graphql/apollo-config-factory.d.ts.map +1 -0
- package/dist/{types → esm}/graphql/errors.d.ts +3 -2
- package/dist/esm/graphql/errors.d.ts.map +1 -0
- package/dist/esm/graphql/errors.js +10 -0
- package/dist/esm/graphql/errors.js.map +1 -1
- package/dist/esm/graphql/input-type-generator.d.ts.map +1 -0
- package/dist/esm/graphql/input-type-generator.js +6 -11
- package/dist/esm/graphql/input-type-generator.js.map +1 -1
- package/dist/{types → esm}/graphql/queries-mutations-generator.d.ts +9 -1
- package/dist/esm/graphql/queries-mutations-generator.d.ts.map +1 -0
- package/dist/esm/graphql/queries-mutations-generator.js +53 -3
- package/dist/esm/graphql/queries-mutations-generator.js.map +1 -1
- package/dist/esm/graphql/resolvers/commit-message.d.ts +11 -0
- package/dist/esm/graphql/resolvers/commit-message.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/commit-message.js +19 -0
- package/dist/esm/graphql/resolvers/commit-message.js.map +1 -0
- package/dist/esm/graphql/resolvers/field-resolvers/entry-reference-resolver.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/field-resolvers/entry-reference-resolver.js +3 -3
- package/dist/esm/graphql/resolvers/field-resolvers/entry-reference-resolver.js.map +1 -1
- package/dist/esm/graphql/resolvers/field-resolvers/field-default-value-resolver.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/field-resolvers/field-default-value-resolver.js +4 -4
- package/dist/esm/graphql/resolvers/field-resolvers/field-default-value-resolver.js.map +1 -1
- package/dist/esm/graphql/resolvers/field-resolvers/referenced-by-resolver.d.ts +3 -0
- package/dist/esm/graphql/resolvers/field-resolvers/referenced-by-resolver.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/field-resolvers/referenced-by-resolver.js +3 -0
- package/dist/esm/graphql/resolvers/field-resolvers/referenced-by-resolver.js.map +1 -0
- package/dist/esm/graphql/resolvers/field-resolvers/types.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/field-resolvers/union-value-resolver.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/field-resolvers/version-resolver.d.ts +3 -0
- package/dist/esm/graphql/resolvers/field-resolvers/version-resolver.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/field-resolvers/version-resolver.js +3 -0
- package/dist/esm/graphql/resolvers/field-resolvers/version-resolver.js.map +1 -0
- package/dist/esm/graphql/resolvers/object-type-field-default-value-resolver-generator.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/object-type-field-default-value-resolver-generator.js +2 -2
- package/dist/esm/graphql/resolvers/object-type-field-default-value-resolver-generator.js.map +1 -1
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.js +36 -45
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.js.map +1 -1
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.js +31 -43
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.js.map +1 -1
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.js +29 -46
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.js.map +1 -1
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-every-resolver.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-search-resolver.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-search-resolver.js +6 -6
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-search-resolver.js.map +1 -1
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/union-type-resolver.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/union-type-resolver.js +2 -2
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/union-type-resolver.js.map +1 -1
- package/dist/{types → esm}/graphql/resolvers/types.d.ts +13 -2
- package/dist/esm/graphql/resolvers/types.d.ts.map +1 -0
- package/dist/esm/graphql/schema-analyzer.d.ts.map +1 -0
- package/dist/esm/graphql/schema-generator.d.ts.map +1 -0
- package/dist/esm/graphql/schema-generator.js +14 -3
- package/dist/esm/graphql/schema-generator.js.map +1 -1
- package/dist/esm/graphql/schema-root-type-generator.d.ts.map +1 -0
- package/dist/esm/graphql/schema-utils/directive-util.d.ts.map +1 -0
- package/dist/esm/graphql/schema-utils/entry-reference-util.d.ts +6 -0
- package/dist/esm/graphql/schema-utils/entry-reference-util.d.ts.map +1 -0
- package/dist/esm/graphql/schema-utils/entry-reference-util.js +93 -121
- package/dist/esm/graphql/schema-utils/entry-reference-util.js.map +1 -1
- package/dist/esm/graphql/schema-utils/entry-type-util.d.ts.map +1 -0
- package/dist/esm/graphql/schema-utils/searchable-field-util.d.ts.map +1 -0
- package/dist/esm/graphql/schema-utils/union-type-util.d.ts.map +1 -0
- package/dist/esm/graphql/schema-utils/union-type-util.js +3 -3
- package/dist/esm/graphql/schema-utils/union-type-util.js.map +1 -1
- package/dist/esm/graphql/schema-validator.d.ts.map +1 -0
- package/dist/esm/graphql/schema-validator.js +17 -1
- package/dist/esm/graphql/schema-validator.js.map +1 -1
- package/dist/esm/graphql/util.d.ts.map +1 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/{types → esm}/persistence/cache.d.ts +3 -1
- package/dist/esm/persistence/cache.d.ts.map +1 -0
- package/dist/esm/persistence/cache.js +6 -15
- package/dist/esm/persistence/cache.js.map +1 -1
- package/dist/esm/persistence/commit-with-retry.d.ts +16 -0
- package/dist/esm/persistence/commit-with-retry.d.ts.map +1 -0
- package/dist/esm/persistence/commit-with-retry.js +35 -0
- package/dist/esm/persistence/commit-with-retry.js.map +1 -0
- package/dist/esm/persistence/git-adapter-call.d.ts +10 -0
- package/dist/esm/persistence/git-adapter-call.d.ts.map +1 -0
- package/dist/esm/persistence/git-adapter-call.js +24 -0
- package/dist/esm/persistence/git-adapter-call.js.map +1 -0
- package/dist/esm/persistence/persistence.d.ts +18 -0
- package/dist/esm/persistence/persistence.d.ts.map +1 -0
- package/dist/esm/persistence/persistence.js +36 -3
- package/dist/esm/persistence/persistence.js.map +1 -1
- package/package.json +27 -18
- package/src/graphql/errors.ts +2 -1
- package/src/graphql/input-type-generator.ts +6 -18
- package/src/graphql/queries-mutations-generator.ts +69 -3
- package/src/graphql/resolvers/commit-message.ts +34 -0
- package/src/graphql/resolvers/field-resolvers/referenced-by-resolver.ts +9 -0
- package/src/graphql/resolvers/field-resolvers/version-resolver.ts +8 -0
- package/src/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.ts +43 -57
- package/src/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.ts +45 -60
- package/src/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.ts +38 -67
- package/src/graphql/resolvers/types.ts +26 -2
- package/src/graphql/schema-generator.ts +19 -0
- package/src/graphql/schema-utils/entry-reference-util.ts +147 -191
- package/src/graphql/schema-validator.ts +21 -0
- package/src/persistence/cache.ts +8 -14
- package/src/persistence/commit-with-retry.ts +47 -0
- package/src/persistence/git-adapter-call.ts +27 -0
- package/src/persistence/persistence.ts +50 -0
- package/dist/types/graphql/errors.d.ts.map +0 -1
- package/dist/types/graphql/input-type-generator.d.ts.map +0 -1
- package/dist/types/graphql/queries-mutations-generator.d.ts.map +0 -1
- package/dist/types/graphql/resolvers/types.d.ts.map +0 -1
- package/dist/types/graphql/schema-generator.d.ts.map +0 -1
- package/dist/types/graphql/schema-utils/entry-reference-util.d.ts +0 -4
- package/dist/types/graphql/schema-utils/entry-reference-util.d.ts.map +0 -1
- package/dist/types/persistence/cache.d.ts.map +0 -1
- package/dist/types/persistence/persistence.d.ts +0 -7
- /package/dist/{types → cjs}/client.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/apollo-config-factory.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/resolvers/field-resolvers/entry-reference-resolver.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/resolvers/field-resolvers/field-default-value-resolver.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/resolvers/field-resolvers/types.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/resolvers/field-resolvers/union-value-resolver.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/resolvers/object-type-field-default-value-resolver-generator.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/resolvers/query-mutation-resolvers/query-every-resolver.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/resolvers/query-mutation-resolvers/query-search-resolver.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/resolvers/query-mutation-resolvers/union-type-resolver.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/schema-analyzer.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/schema-root-type-generator.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/schema-utils/directive-util.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/schema-utils/entry-type-util.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/schema-utils/searchable-field-util.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/schema-utils/union-type-util.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/util.d.ts.map +0 -0
- /package/dist/{types → cjs}/index.d.ts.map +0 -0
- /package/dist/{types → esm}/client.d.ts +0 -0
- /package/dist/{types → esm}/graphql/apollo-config-factory.d.ts +0 -0
- /package/dist/{types → esm}/graphql/input-type-generator.d.ts +0 -0
- /package/dist/{types → esm}/graphql/resolvers/field-resolvers/entry-reference-resolver.d.ts +0 -0
- /package/dist/{types → esm}/graphql/resolvers/field-resolvers/field-default-value-resolver.d.ts +0 -0
- /package/dist/{types → esm}/graphql/resolvers/field-resolvers/types.d.ts +0 -0
- /package/dist/{types → esm}/graphql/resolvers/field-resolvers/union-value-resolver.d.ts +0 -0
- /package/dist/{types → esm}/graphql/resolvers/object-type-field-default-value-resolver-generator.d.ts +0 -0
- /package/dist/{types → esm}/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.d.ts +0 -0
- /package/dist/{types → esm}/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.d.ts +0 -0
- /package/dist/{types → esm}/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.d.ts +0 -0
- /package/dist/{types → esm}/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.d.ts +0 -0
- /package/dist/{types → esm}/graphql/resolvers/query-mutation-resolvers/query-every-resolver.d.ts +0 -0
- /package/dist/{types → esm}/graphql/resolvers/query-mutation-resolvers/query-search-resolver.d.ts +0 -0
- /package/dist/{types → esm}/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.d.ts +0 -0
- /package/dist/{types → esm}/graphql/resolvers/query-mutation-resolvers/union-type-resolver.d.ts +0 -0
- /package/dist/{types → esm}/graphql/schema-analyzer.d.ts +0 -0
- /package/dist/{types → esm}/graphql/schema-generator.d.ts +0 -0
- /package/dist/{types → esm}/graphql/schema-root-type-generator.d.ts +0 -0
- /package/dist/{types → esm}/graphql/schema-utils/directive-util.d.ts +0 -0
- /package/dist/{types → esm}/graphql/schema-utils/entry-type-util.d.ts +0 -0
- /package/dist/{types → esm}/graphql/schema-utils/searchable-field-util.d.ts +0 -0
- /package/dist/{types → esm}/graphql/schema-utils/union-type-util.d.ts +0 -0
- /package/dist/{types → esm}/graphql/schema-validator.d.ts +0 -0
- /package/dist/{types → esm}/graphql/util.d.ts +0 -0
- /package/dist/{types → esm}/index.d.ts +0 -0
|
@@ -1,9 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import {
|
|
2
|
+
assertExpectedVersion,
|
|
3
|
+
findByTypeId,
|
|
4
|
+
} from '../../../persistence/persistence.ts'
|
|
5
|
+
import { Entry } from '@commitspark/git-adapter'
|
|
6
|
+
import { getReferencingEntryIds } from '../../schema-utils/entry-reference-util.ts'
|
|
5
7
|
import { QueryMutationResolver } from '../types.ts'
|
|
6
8
|
import { createError, ErrorCode } from '../../errors.ts'
|
|
9
|
+
import { getCommitMessage } from '../commit-message.ts'
|
|
10
|
+
import { commitWithRetry } from '../../../persistence/commit-with-retry.ts'
|
|
7
11
|
|
|
8
12
|
export const mutationDeleteResolver: QueryMutationResolver<string> = async (
|
|
9
13
|
source,
|
|
@@ -11,66 +15,47 @@ export const mutationDeleteResolver: QueryMutationResolver<string> = async (
|
|
|
11
15
|
context,
|
|
12
16
|
info,
|
|
13
17
|
) => {
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
throw createError(
|
|
21
|
-
`Entry with ID "${args.id}" is still referenced by entries [${otherIds}].`,
|
|
22
|
-
ErrorCode.IN_USE,
|
|
23
|
-
{
|
|
24
|
-
argumentName: 'id',
|
|
25
|
-
argumentValue: args.id,
|
|
26
|
-
},
|
|
27
|
-
)
|
|
28
|
-
}
|
|
18
|
+
const commitMessage = getCommitMessage(
|
|
19
|
+
args.commit,
|
|
20
|
+
'Delete',
|
|
21
|
+
context.type.name,
|
|
22
|
+
args.id,
|
|
23
|
+
)
|
|
29
24
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
`Type "${context.type.name}" is not an ObjectType.`,
|
|
34
|
-
ErrorCode.INTERNAL_ERROR,
|
|
35
|
-
{},
|
|
36
|
-
)
|
|
37
|
-
}
|
|
25
|
+
await commitWithRetry(context, async () => {
|
|
26
|
+
const entry: Entry = await findByTypeId(context, context.type.name, args.id)
|
|
27
|
+
await assertExpectedVersion(context, args.id, args.expectedVersion)
|
|
38
28
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
},
|
|
57
|
-
deletion: false,
|
|
58
|
-
})
|
|
59
|
-
}
|
|
29
|
+
// references held by the entry itself are deleted together with the entry
|
|
30
|
+
const otherReferencingIds = (
|
|
31
|
+
await getReferencingEntryIds(context, info.schema, args.id)
|
|
32
|
+
).filter((referencingId) => referencingId !== args.id)
|
|
33
|
+
if (otherReferencingIds.length > 0) {
|
|
34
|
+
const otherIds = otherReferencingIds
|
|
35
|
+
.map((referenceId) => `"${referenceId}"`)
|
|
36
|
+
.join(', ')
|
|
37
|
+
throw createError(
|
|
38
|
+
`Entry with ID "${args.id}" is still referenced by entries [${otherIds}].`,
|
|
39
|
+
ErrorCode.IN_USE,
|
|
40
|
+
{
|
|
41
|
+
argumentName: 'id',
|
|
42
|
+
argumentValue: args.id,
|
|
43
|
+
},
|
|
44
|
+
)
|
|
45
|
+
}
|
|
60
46
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
47
|
+
return {
|
|
48
|
+
ref: context.branch,
|
|
49
|
+
parentSha: context.getCurrentHash(),
|
|
50
|
+
entries: [
|
|
51
|
+
{
|
|
52
|
+
...entry,
|
|
53
|
+
deletion: true,
|
|
54
|
+
},
|
|
55
|
+
],
|
|
56
|
+
...commitMessage,
|
|
57
|
+
}
|
|
72
58
|
})
|
|
73
|
-
context.setCurrentHash(commit.commitHash)
|
|
74
59
|
|
|
75
60
|
return args.id
|
|
76
61
|
}
|
|
@@ -1,9 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import {
|
|
2
|
+
assertExpectedVersion,
|
|
3
|
+
findByTypeId,
|
|
4
|
+
} from '../../../persistence/persistence.ts'
|
|
5
|
+
import { validateEntryReferences } from '../../schema-utils/entry-reference-util.ts'
|
|
3
6
|
import { isObjectType } from 'graphql'
|
|
4
|
-
import { EntryData
|
|
7
|
+
import { EntryData } from '@commitspark/git-adapter'
|
|
5
8
|
import { QueryMutationResolver } from '../types.ts'
|
|
6
9
|
import { createError, ErrorCode } from '../../errors.ts'
|
|
10
|
+
import { getCommitMessage } from '../commit-message.ts'
|
|
11
|
+
import { commitWithRetry } from '../../../persistence/commit-with-retry.ts'
|
|
7
12
|
|
|
8
13
|
function mergeData(
|
|
9
14
|
existingEntryData: EntryData,
|
|
@@ -21,6 +26,7 @@ export const mutationUpdateResolver: QueryMutationResolver<EntryData> = async (
|
|
|
21
26
|
context,
|
|
22
27
|
info,
|
|
23
28
|
) => {
|
|
29
|
+
void info
|
|
24
30
|
if (!isObjectType(context.type)) {
|
|
25
31
|
throw createError(
|
|
26
32
|
`Type "${context.type.name}" cannot be mutated as is not an ObjectType.`,
|
|
@@ -28,76 +34,41 @@ export const mutationUpdateResolver: QueryMutationResolver<EntryData> = async (
|
|
|
28
34
|
{},
|
|
29
35
|
)
|
|
30
36
|
}
|
|
31
|
-
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
context,
|
|
37
|
-
|
|
38
|
-
info.returnType,
|
|
39
|
-
existingEntry.data ?? null,
|
|
40
|
-
)
|
|
41
|
-
|
|
42
|
-
const mergedData = mergeData(existingEntry.data ?? null, args.data ?? null)
|
|
43
|
-
const updatedReferencedEntryIds = await getReferencedEntryIds(
|
|
44
|
-
context.type,
|
|
45
|
-
context,
|
|
46
|
-
null,
|
|
47
|
-
info.returnType,
|
|
48
|
-
mergedData,
|
|
49
|
-
)
|
|
50
|
-
|
|
51
|
-
const noLongerReferencedIds = existingReferencedEntryIds.filter(
|
|
52
|
-
(entryId) => !updatedReferencedEntryIds.includes(entryId),
|
|
53
|
-
)
|
|
54
|
-
const newlyReferencedIds = updatedReferencedEntryIds.filter(
|
|
55
|
-
(entryId) => !existingReferencedEntryIds.includes(entryId),
|
|
37
|
+
// narrowed type, as narrowing does not apply within the callback below
|
|
38
|
+
const entryType = context.type
|
|
39
|
+
const commitMessage = getCommitMessage(
|
|
40
|
+
args.commit,
|
|
41
|
+
'Update',
|
|
42
|
+
context.type.name,
|
|
43
|
+
args.id,
|
|
56
44
|
)
|
|
57
45
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
const noLongerReferencedEntry = await findById(
|
|
46
|
+
await commitWithRetry(context, async () => {
|
|
47
|
+
const existingEntry = await findByTypeId(
|
|
61
48
|
context,
|
|
62
|
-
|
|
63
|
-
)
|
|
64
|
-
referencedEntryUpdates.push({
|
|
65
|
-
...noLongerReferencedEntry,
|
|
66
|
-
metadata: {
|
|
67
|
-
...noLongerReferencedEntry.metadata,
|
|
68
|
-
referencedBy: noLongerReferencedEntry.metadata.referencedBy?.filter(
|
|
69
|
-
(entryId) => entryId !== args.id,
|
|
70
|
-
),
|
|
71
|
-
},
|
|
72
|
-
deletion: false,
|
|
73
|
-
})
|
|
74
|
-
}
|
|
75
|
-
for (const newlyReferencedEntryId of newlyReferencedIds) {
|
|
76
|
-
const newlyReferencedEntry = await findById(context, newlyReferencedEntryId)
|
|
77
|
-
const updatedReferenceList: string[] = [
|
|
78
|
-
...(newlyReferencedEntry.metadata.referencedBy ?? []),
|
|
49
|
+
context.type.name,
|
|
79
50
|
args.id,
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
referencedBy: updatedReferenceList,
|
|
86
|
-
},
|
|
87
|
-
deletion: false,
|
|
88
|
-
})
|
|
89
|
-
}
|
|
51
|
+
)
|
|
52
|
+
await assertExpectedVersion(context, args.id, args.expectedVersion)
|
|
53
|
+
|
|
54
|
+
const mergedData = mergeData(existingEntry.data ?? null, args.data ?? null)
|
|
55
|
+
await validateEntryReferences(entryType, context, mergedData)
|
|
90
56
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
57
|
+
return {
|
|
58
|
+
ref: context.branch,
|
|
59
|
+
parentSha: context.getCurrentHash(),
|
|
60
|
+
entries: [
|
|
61
|
+
{
|
|
62
|
+
id: existingEntry.id,
|
|
63
|
+
// only the type is written, which removes metadata no longer in use from existing entries
|
|
64
|
+
metadata: { type: existingEntry.metadata.type },
|
|
65
|
+
data: mergedData,
|
|
66
|
+
deletion: false,
|
|
67
|
+
},
|
|
68
|
+
],
|
|
69
|
+
...commitMessage,
|
|
70
|
+
}
|
|
99
71
|
})
|
|
100
|
-
context.setCurrentHash(commit.commitHash)
|
|
101
72
|
|
|
102
73
|
const updatedEntry = await findByTypeId(context, context.type.name, args.id)
|
|
103
74
|
return { ...updatedEntry.data, id: updatedEntry.id }
|
|
@@ -8,14 +8,24 @@ import { EntryData } from '@commitspark/git-adapter'
|
|
|
8
8
|
import { SearchHit } from '@commitspark/search-adapter'
|
|
9
9
|
import { RecursiveArray } from './field-resolvers/types.ts'
|
|
10
10
|
|
|
11
|
-
export interface
|
|
11
|
+
export interface CommitInput {
|
|
12
|
+
message?: string | null
|
|
13
|
+
body?: string | null
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
interface QueryMutationResolverContext extends ApolloContext {
|
|
12
17
|
type: GraphQLNamedType
|
|
13
18
|
}
|
|
14
19
|
|
|
15
20
|
export type QueryMutationResolver<ResultType> = GraphQLFieldResolver<
|
|
16
21
|
unknown,
|
|
17
22
|
QueryMutationResolverContext,
|
|
18
|
-
{
|
|
23
|
+
{
|
|
24
|
+
id: string
|
|
25
|
+
data?: EntryData
|
|
26
|
+
commit?: CommitInput | null
|
|
27
|
+
expectedVersion?: string | null
|
|
28
|
+
},
|
|
19
29
|
Promise<ResultType>
|
|
20
30
|
>
|
|
21
31
|
|
|
@@ -42,3 +52,17 @@ export type ContextInjectionResolver = GraphQLFieldResolver<
|
|
|
42
52
|
Record<string, unknown>,
|
|
43
53
|
Promise<RecursiveArray<EntryData>>
|
|
44
54
|
>
|
|
55
|
+
|
|
56
|
+
export type ReferencedByResolver = GraphQLFieldResolver<
|
|
57
|
+
EntryData & { id: string },
|
|
58
|
+
ApolloContext,
|
|
59
|
+
Record<string, never>,
|
|
60
|
+
Promise<string[]>
|
|
61
|
+
>
|
|
62
|
+
|
|
63
|
+
export type VersionResolver = GraphQLFieldResolver<
|
|
64
|
+
EntryData & { id: string },
|
|
65
|
+
ApolloContext,
|
|
66
|
+
Record<string, never>,
|
|
67
|
+
Promise<string>
|
|
68
|
+
>
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
|
+
generateCommitInputType,
|
|
2
3
|
generateQueriesAndMutations,
|
|
4
|
+
generateEntryFields,
|
|
3
5
|
generateSearchQuery,
|
|
4
6
|
generateTypeNameQuery,
|
|
5
7
|
} from './queries-mutations-generator.ts'
|
|
@@ -25,8 +27,10 @@ import { FieldResolver } from './resolvers/field-resolvers/types.ts'
|
|
|
25
27
|
import {
|
|
26
28
|
ContextInjectionResolver,
|
|
27
29
|
QueryMutationResolver,
|
|
30
|
+
ReferencedByResolver,
|
|
28
31
|
SearchQueryResolver,
|
|
29
32
|
UnionTypeResolver,
|
|
33
|
+
VersionResolver,
|
|
30
34
|
} from './resolvers/types.ts'
|
|
31
35
|
import { EntryData } from '@commitspark/git-adapter'
|
|
32
36
|
|
|
@@ -61,6 +65,9 @@ export async function generateSchema(
|
|
|
61
65
|
const generatedTypeNameQuery = generateTypeNameQuery()
|
|
62
66
|
const generatedSearchQuery =
|
|
63
67
|
context.searchAdapter !== undefined ? generateSearchQuery() : undefined
|
|
68
|
+
const generatedEntryFields = generateEntryFields(
|
|
69
|
+
schemaAnalyzerResult.entryDirectiveTypes,
|
|
70
|
+
)
|
|
64
71
|
|
|
65
72
|
const generatedObjectInputTypeStrings = generateObjectInputTypeStrings(
|
|
66
73
|
schemaAnalyzerResult.objectTypes,
|
|
@@ -132,6 +139,8 @@ ${generatedSchemaRootTypeStrings}`
|
|
|
132
139
|
| GraphQLTypeResolver<unknown, ApolloContext>
|
|
133
140
|
| ContextInjectionResolver
|
|
134
141
|
| FieldResolver
|
|
142
|
+
| ReferencedByResolver
|
|
143
|
+
| VersionResolver
|
|
135
144
|
>
|
|
136
145
|
| UnionTypeResolverRecord
|
|
137
146
|
> = {
|
|
@@ -151,13 +160,23 @@ ${generatedSchemaRootTypeStrings}`
|
|
|
151
160
|
...generatedObjectTypeFieldResolvers[typeName],
|
|
152
161
|
}
|
|
153
162
|
}
|
|
163
|
+
for (const entryFields of generatedEntryFields) {
|
|
164
|
+
allGeneratedResolvers[entryFields.typeName] = {
|
|
165
|
+
...(allGeneratedResolvers[entryFields.typeName] ?? {}),
|
|
166
|
+
...entryFields.resolvers,
|
|
167
|
+
}
|
|
168
|
+
}
|
|
154
169
|
|
|
155
170
|
const typeDefs = [
|
|
156
171
|
filteredOriginalSchemaString,
|
|
157
172
|
generatedSchemaString,
|
|
173
|
+
generateCommitInputType(),
|
|
158
174
|
generatedIdInputTypeStrings.join('\n'),
|
|
159
175
|
generatedObjectInputTypeStrings.join('\n'),
|
|
160
176
|
generatedUnionInputTypeStrings.join('\n'),
|
|
177
|
+
generatedEntryFields
|
|
178
|
+
.map((entryFields) => entryFields.typeExtensionString)
|
|
179
|
+
.join('\n'),
|
|
161
180
|
generatedSearchQuery?.typeDefinitionString ?? '',
|
|
162
181
|
].filter((typeDef) => typeDef.length > 0)
|
|
163
182
|
|