@commitspark/graphql-api 1.0.0-beta.4 → 1.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 +10 -0
- package/dist/cjs/client.js +16 -14
- package/dist/cjs/client.js.map +1 -1
- package/dist/cjs/graphql/resolvers/field-resolvers/entry-reference-resolver.js +2 -1
- 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.js +2 -12
- package/dist/cjs/graphql/resolvers/field-resolvers/field-default-value-resolver.js.map +1 -1
- package/dist/cjs/graphql/resolvers/object-type-field-default-value-resolver-generator.js +1 -5
- 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.js +6 -8
- 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.js +4 -4
- 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.js +6 -6
- 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.js +3 -2
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.js.map +1 -1
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-every-resolver.js +3 -2
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-every-resolver.js.map +1 -1
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.js +3 -2
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.js.map +1 -1
- 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/schema-generator.js +1 -1
- package/dist/cjs/graphql/schema-generator.js.map +1 -1
- package/dist/cjs/graphql/schema-utils/entry-reference-util.js +2 -2
- package/dist/cjs/graphql/schema-utils/entry-reference-util.js.map +1 -1
- package/dist/cjs/graphql/schema-validator.js +1 -1
- package/dist/cjs/graphql/schema-validator.js.map +1 -1
- package/dist/cjs/index.js +4 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/persistence/cache.js +92 -0
- package/dist/cjs/persistence/cache.js.map +1 -0
- package/dist/cjs/persistence/persistence.js +13 -41
- package/dist/cjs/persistence/persistence.js.map +1 -1
- package/dist/esm/client.js +16 -14
- package/dist/esm/client.js.map +1 -1
- package/dist/esm/graphql/resolvers/field-resolvers/entry-reference-resolver.js +2 -1
- 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.js +2 -4
- package/dist/esm/graphql/resolvers/field-resolvers/field-default-value-resolver.js.map +1 -1
- package/dist/esm/graphql/resolvers/object-type-field-default-value-resolver-generator.js +1 -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.js +6 -8
- 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.js +4 -4
- 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.js +6 -6
- 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.js +3 -2
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.js.map +1 -1
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-every-resolver.js +3 -2
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-every-resolver.js.map +1 -1
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.js +3 -2
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.js.map +1 -1
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/union-type-resolver.js +1 -1
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/union-type-resolver.js.map +1 -1
- package/dist/esm/graphql/schema-generator.js +1 -1
- package/dist/esm/graphql/schema-generator.js.map +1 -1
- package/dist/esm/graphql/schema-utils/entry-reference-util.js +2 -2
- package/dist/esm/graphql/schema-utils/entry-reference-util.js.map +1 -1
- package/dist/esm/graphql/schema-validator.js +1 -1
- package/dist/esm/graphql/schema-validator.js.map +1 -1
- package/dist/esm/index.js +4 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/persistence/cache.js +79 -0
- package/dist/esm/persistence/cache.js.map +1 -0
- package/dist/esm/persistence/persistence.js +12 -41
- package/dist/esm/persistence/persistence.js.map +1 -1
- package/dist/tsconfig.build.cjs.tsbuildinfo +1 -1
- package/dist/tsconfig.build.esm.tsbuildinfo +1 -1
- package/dist/tsconfig.build.types.tsbuildinfo +1 -1
- package/dist/types/client.d.ts +6 -4
- package/dist/types/client.d.ts.map +1 -1
- package/dist/types/graphql/resolvers/field-resolvers/entry-reference-resolver.d.ts.map +1 -1
- package/dist/types/graphql/resolvers/field-resolvers/field-default-value-resolver.d.ts.map +1 -1
- package/dist/types/graphql/resolvers/field-resolvers/types.d.ts +3 -4
- package/dist/types/graphql/resolvers/field-resolvers/types.d.ts.map +1 -1
- package/dist/types/graphql/resolvers/object-type-field-default-value-resolver-generator.d.ts.map +1 -1
- package/dist/types/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.d.ts.map +1 -1
- package/dist/types/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.d.ts.map +1 -1
- package/dist/types/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.d.ts.map +1 -1
- package/dist/types/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.d.ts.map +1 -1
- package/dist/types/graphql/resolvers/query-mutation-resolvers/query-every-resolver.d.ts.map +1 -1
- package/dist/types/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.d.ts.map +1 -1
- package/dist/types/graphql/schema-generator.d.ts.map +1 -1
- package/dist/types/graphql/schema-utils/entry-reference-util.d.ts.map +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/persistence/cache.d.ts +13 -0
- package/dist/types/persistence/cache.d.ts.map +1 -0
- package/dist/types/persistence/persistence.d.ts +6 -5
- package/dist/types/persistence/persistence.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/client.ts +20 -14
- package/src/graphql/resolvers/field-resolvers/entry-reference-resolver.ts +2 -5
- package/src/graphql/resolvers/field-resolvers/field-default-value-resolver.ts +2 -4
- package/src/graphql/resolvers/field-resolvers/types.ts +3 -4
- package/src/graphql/resolvers/object-type-field-default-value-resolver-generator.ts +1 -2
- package/src/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.ts +6 -21
- package/src/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.ts +4 -13
- package/src/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.ts +6 -21
- package/src/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.ts +3 -7
- package/src/graphql/resolvers/query-mutation-resolvers/query-every-resolver.ts +3 -6
- package/src/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.ts +3 -2
- package/src/graphql/resolvers/query-mutation-resolvers/union-type-resolver.ts +1 -1
- package/src/graphql/schema-generator.ts +3 -2
- package/src/graphql/schema-utils/entry-reference-util.ts +2 -6
- package/src/graphql/schema-validator.ts +1 -1
- package/src/index.ts +4 -2
- package/src/persistence/cache.ts +123 -0
- package/src/persistence/persistence.ts +20 -45
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAGL,cAAc,EACf,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAGL,cAAc,EACf,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAE5D,MAAM,MAAM,cAAc,GAAG;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAA;AAExD,MAAM,MAAM,6BAA6B,CACvC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,UAAU,SAAS,cAAc,GAAG,cAAc,IAChD,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,GAAG;IAC9C,KAAK,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,sBAAsB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;CAC1E,CAAA;AAED,eAAO,MAAM,WAAW,GACtB,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,UAAU,SAAS,cAAc,GAAG,cAAc,EAElD,YAAY,UAAU,EACtB,iBAAiB,sBAAsB,EACvC,KAAK,MAAM,EACX,SAAS,6BAA6B,CAAC,KAAK,EAAE,UAAU,CAAC,KACxD,OAAO,CAAC,eAAe,CAAC,KAAK,GAAG,IAAI,CAAC,CAuCvC,CAAA;AAED,eAAO,MAAM,SAAS,GACpB,YAAY,UAAU,EACtB,iBAAiB,sBAAsB,EACvC,KAAK,MAAM,KACV,OAAO,CAAC,cAAc,CAuBxB,CAAA;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,UAAU,CAAA;IACtB,cAAc,IAAI,MAAM,CAAA;IACxB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,eAAe,EAAE,sBAAsB,CAAA;CACxC;AAED,MAAM,WAAW,eAAe,CAAC,KAAK;IACpC,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,MAAM,EAAE,aAAa,CAAC,qBAAqB,CAAC,GAAG,SAAS,CAAA;CACzD;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;CACb"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry-reference-resolver.d.ts","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/field-resolvers/entry-reference-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAwB,MAAM,SAAS,CAAA;AAK7D,eAAO,MAAM,qBAAqB,EAAE,aAAa,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"entry-reference-resolver.d.ts","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/field-resolvers/entry-reference-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAwB,MAAM,SAAS,CAAA;AAK7D,eAAO,MAAM,qBAAqB,EAAE,aAAa,CAAC,GAAG,CAoBpD,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-default-value-resolver.d.ts","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/field-resolvers/field-default-value-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA2C,MAAM,SAAS,CAAA;AAmBhF,eAAO,MAAM,wBAAwB,EAAE,aAAa,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"field-default-value-resolver.d.ts","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/field-resolvers/field-default-value-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA2C,MAAM,SAAS,CAAA;AAmBhF,eAAO,MAAM,wBAAwB,EAAE,aAAa,CAAC,GAAG,CAuGvD,CAAA"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { GraphQLFieldResolver } from 'graphql/type/definition';
|
|
2
|
-
import { EntryData
|
|
2
|
+
import { EntryData } from '@commitspark/git-adapter';
|
|
3
3
|
import { GraphQLOutputType } from 'graphql';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
getCurrentRef(): string;
|
|
4
|
+
import { ApolloContext } from '../../../client';
|
|
5
|
+
export interface FieldResolverContext extends ApolloContext {
|
|
7
6
|
currentType: GraphQLOutputType;
|
|
8
7
|
hasNonNullParent?: boolean;
|
|
9
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/field-resolvers/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/field-resolvers/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE/C,MAAM,WAAW,oBAAqB,SAAQ,aAAa;IACzD,WAAW,EAAE,iBAAiB,CAAA;IAC9B,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED,MAAM,MAAM,aAAa,CACvB,OAAO,EACP,QAAQ,GAAG,oBAAoB,EAC/B,KAAK,GAAG,GAAG,EACX,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,SAAS,GAAG,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC,IAClE,oBAAoB,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;AAE3D,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAA"}
|
package/dist/types/graphql/resolvers/object-type-field-default-value-resolver-generator.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"object-type-field-default-value-resolver-generator.d.ts","sourceRoot":"","sources":["../../../../src/graphql/resolvers/object-type-field-default-value-resolver-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EAGpB,aAAa,EAKd,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AA4B5C,KAAK,oBAAoB,GAAG,MAAM,CAChC,MAAM,EACN,oBAAoB,CAClB,GAAG,EACH,aAAa,EACb,GAAG,EACH,OAAO,CAAC,iBAAiB,CAAC,SAAS,GAAG,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC,CAC3D,CACF,CAAA;AAED,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,aAAa,GACpB,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,
|
|
1
|
+
{"version":3,"file":"object-type-field-default-value-resolver-generator.d.ts","sourceRoot":"","sources":["../../../../src/graphql/resolvers/object-type-field-default-value-resolver-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EAGpB,aAAa,EAKd,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AA4B5C,KAAK,oBAAoB,GAAG,MAAM,CAChC,MAAM,EACN,oBAAoB,CAClB,GAAG,EACH,aAAa,EACb,GAAG,EACH,OAAO,CAAC,iBAAiB,CAAC,SAAS,GAAG,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC,CAC3D,CACF,CAAA;AAED,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,aAAa,GACpB,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAmCtC"}
|
package/dist/types/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutation-create-resolver.d.ts","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAgB,MAAM,SAAS,CAAA;AAE5D,OAAO,EAEL,SAAS,EAEV,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAA;AAGvD,eAAO,MAAM,sBAAsB,EAAE,oBAAoB,CACvD,GAAG,EACH,4BAA4B,EAC5B,GAAG,EACH,OAAO,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"mutation-create-resolver.d.ts","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAgB,MAAM,SAAS,CAAA;AAE5D,OAAO,EAEL,SAAS,EAEV,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAA;AAGvD,eAAO,MAAM,sBAAsB,EAAE,oBAAoB,CACvD,GAAG,EACH,4BAA4B,EAC5B,GAAG,EACH,OAAO,CAAC,SAAS,CAAC,CAqFnB,CAAA"}
|
package/dist/types/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutation-delete-resolver.d.ts","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,SAAS,EAAc,MAAM,0BAA0B,CAAA;AAEvE,OAAO,EAAE,oBAAoB,EAAgB,MAAM,SAAS,CAAA;AAC5D,OAAO,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAA;AAGvD,eAAO,MAAM,sBAAsB,EAAE,oBAAoB,CACvD,GAAG,EACH,4BAA4B,EAC5B,GAAG,EACH,OAAO,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"mutation-delete-resolver.d.ts","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,SAAS,EAAc,MAAM,0BAA0B,CAAA;AAEvE,OAAO,EAAE,oBAAoB,EAAgB,MAAM,SAAS,CAAA;AAC5D,OAAO,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAA;AAGvD,eAAO,MAAM,sBAAsB,EAAE,oBAAoB,CACvD,GAAG,EACH,4BAA4B,EAC5B,GAAG,EACH,OAAO,CAAC,SAAS,CAAC,CAgEnB,CAAA"}
|
package/dist/types/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutation-update-resolver.d.ts","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAgB,MAAM,SAAS,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAc,MAAM,0BAA0B,CAAA;AAChE,OAAO,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAA;AAavD,eAAO,MAAM,sBAAsB,EAAE,oBAAoB,CACvD,GAAG,EACH,4BAA4B,EAC5B,GAAG,EACH,OAAO,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"mutation-update-resolver.d.ts","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAgB,MAAM,SAAS,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAc,MAAM,0BAA0B,CAAA;AAChE,OAAO,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAA;AAavD,eAAO,MAAM,sBAAsB,EAAE,oBAAoB,CACvD,GAAG,EACH,4BAA4B,EAC5B,GAAG,EACH,OAAO,CAAC,SAAS,CAAC,CAkFnB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-by-id-resolver.d.ts","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAEpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAA;AAEvD,eAAO,MAAM,iBAAiB,EAAE,oBAAoB,CAClD,GAAG,EACH,4BAA4B,EAC5B,GAAG,EACH,OAAO,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"query-by-id-resolver.d.ts","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAEpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAA;AAEvD,eAAO,MAAM,iBAAiB,EAAE,oBAAoB,CAClD,GAAG,EACH,4BAA4B,EAC5B,GAAG,EACH,OAAO,CAAC,SAAS,CAAC,CAMnB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-every-resolver.d.ts","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/query-mutation-resolvers/query-every-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAEpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAA;AAEvD,eAAO,MAAM,kBAAkB,EAAE,oBAAoB,CACnD,GAAG,EACH,4BAA4B,EAC5B,GAAG,EACH,OAAO,CAAC,SAAS,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"query-every-resolver.d.ts","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/query-mutation-resolvers/query-every-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAEpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAA;AAEvD,eAAO,MAAM,kBAAkB,EAAE,oBAAoB,CACnD,GAAG,EACH,4BAA4B,EAC5B,GAAG,EACH,OAAO,CAAC,SAAS,EAAE,CAAC,CAQrB,CAAA"}
|
package/dist/types/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-type-by-id-resolver.d.ts","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE/C,eAAO,MAAM,qBAAqB,EAAE,oBAAoB,CACtD,GAAG,EACH,aAAa,EACb,GAAG,EACH,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"query-type-by-id-resolver.d.ts","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE/C,eAAO,MAAM,qBAAqB,EAAE,oBAAoB,CACtD,GAAG,EACH,aAAa,EACb,GAAG,EACH,OAAO,CAAC,MAAM,CAAC,CAIhB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-generator.d.ts","sourceRoot":"","sources":["../../../src/graphql/schema-generator.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,2BAA2B,EAE5B,MAAM,uBAAuB,CAAA;AAU9B,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAOzC,wBAAsB,cAAc,CAClC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,2BAA2B,CAAC,
|
|
1
|
+
{"version":3,"file":"schema-generator.d.ts","sourceRoot":"","sources":["../../../src/graphql/schema-generator.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,2BAA2B,EAE5B,MAAM,uBAAuB,CAAA;AAU9B,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAOzC,wBAAsB,cAAc,CAClC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,2BAA2B,CAAC,CAwItC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry-reference-util.d.ts","sourceRoot":"","sources":["../../../../src/graphql/schema-utils/entry-reference-util.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EAKlB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"entry-reference-util.d.ts","sourceRoot":"","sources":["../../../../src/graphql/schema-utils/entry-reference-util.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EAKlB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AA+F5C,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,IAAI,EAAE,mBAAmB,EACzB,IAAI,EAAE,GAAG,GACR,OAAO,CAAC,MAAM,EAAE,CAAC,CAqFnB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAE7B,eAAe,EAEf,cAAc,EACd,cAAc,EACf,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAE7B,eAAe,EAEf,cAAc,EACd,cAAc,EACf,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAG3D,UAAU,MAAM;IACd,WAAW,CACT,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,UAAU,SAAS,cAAc,GAAG,cAAc,EAElD,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,6BAA6B,CAAC,KAAK,EAAE,UAAU,CAAC,GACxD,OAAO,CAAC,eAAe,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAA;IACzC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;CAChD;AAED,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,CAAA;AAE5E,wBAAsB,YAAY,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAM1E"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Entry } from '@commitspark/git-adapter';
|
|
2
|
+
import { ApolloContext } from '../client';
|
|
3
|
+
interface EntriesRecord {
|
|
4
|
+
byId: Map<string, Entry>;
|
|
5
|
+
byType: Map<string, Entry[]>;
|
|
6
|
+
}
|
|
7
|
+
export interface RepositoryCacheHandler {
|
|
8
|
+
getEntriesRecord: (context: ApolloContext, ref: string) => Promise<EntriesRecord>;
|
|
9
|
+
getSchema: (context: ApolloContext, ref: string) => Promise<string>;
|
|
10
|
+
}
|
|
11
|
+
export declare const createCacheHandler: (cacheSize?: number) => RepositoryCacheHandler;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../src/persistence/cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAmB,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAOzC,UAAU,aAAa;IACrB,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IACxB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;CAC7B;AAED,MAAM,WAAW,sBAAsB;IACrC,gBAAgB,EAAE,CAChB,OAAO,EAAE,aAAa,EACtB,GAAG,EAAE,MAAM,KACR,OAAO,CAAC,aAAa,CAAC,CAAA;IAC3B,SAAS,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;CACpE;AA4FD,eAAO,MAAM,kBAAkB,GAC7B,YAAW,MAA0B,KACpC,sBASF,CAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { Entry
|
|
2
|
-
|
|
3
|
-
export declare function
|
|
4
|
-
export declare function
|
|
5
|
-
export declare function
|
|
1
|
+
import { Entry } from '@commitspark/git-adapter';
|
|
2
|
+
import { ApolloContext } from '../client';
|
|
3
|
+
export declare function getTypeById(context: ApolloContext, id: string): Promise<string>;
|
|
4
|
+
export declare function findById(context: ApolloContext, id: string): Promise<Entry>;
|
|
5
|
+
export declare function findByType(context: ApolloContext, type: string): Promise<Entry[]>;
|
|
6
|
+
export declare function findByTypeId(context: ApolloContext, type: string, id: string): Promise<Entry>;
|
|
6
7
|
//# sourceMappingURL=persistence.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../../src/persistence/persistence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../../src/persistence/persistence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAEzC,wBAAsB,WAAW,CAC/B,OAAO,EAAE,aAAa,EACtB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,MAAM,CAAC,CAGjB;AAED,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,aAAa,EACtB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,KAAK,CAAC,CAchB;AAED,wBAAsB,UAAU,CAC9B,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,KAAK,EAAE,CAAC,CAMlB;AAED,wBAAsB,YAAY,CAChC,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,KAAK,CAAC,CAehB"}
|
package/package.json
CHANGED
package/src/client.ts
CHANGED
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
ApolloServerOptions,
|
|
12
12
|
GraphQLRequest,
|
|
13
13
|
} from '@apollo/server'
|
|
14
|
+
import { RepositoryCacheHandler } from './persistence/cache'
|
|
14
15
|
|
|
15
16
|
export type VariableValues = { [name: string]: unknown }
|
|
16
17
|
|
|
@@ -26,19 +27,21 @@ export const postGraphQL = async <
|
|
|
26
27
|
TVariables extends VariableValues = VariableValues,
|
|
27
28
|
>(
|
|
28
29
|
gitAdapter: GitAdapter,
|
|
30
|
+
repositoryCache: RepositoryCacheHandler,
|
|
29
31
|
ref: string,
|
|
30
32
|
request: ApolloExecuteOperationRequest<TData, TVariables>,
|
|
31
33
|
): Promise<GraphQLResponse<TData | null>> => {
|
|
32
|
-
let
|
|
34
|
+
let currentHash = await gitAdapter.getLatestCommitHash(ref)
|
|
33
35
|
const context: ApolloContext = {
|
|
34
36
|
branch: ref,
|
|
35
37
|
gitAdapter: gitAdapter,
|
|
36
|
-
|
|
37
|
-
return
|
|
38
|
+
getCurrentHash(): string {
|
|
39
|
+
return currentHash
|
|
38
40
|
},
|
|
39
|
-
|
|
40
|
-
|
|
41
|
+
setCurrentHash(refArg: string) {
|
|
42
|
+
currentHash = refArg
|
|
41
43
|
},
|
|
44
|
+
repositoryCache: repositoryCache,
|
|
42
45
|
}
|
|
43
46
|
|
|
44
47
|
const apolloDriverConfig: ApolloServerOptions<ApolloContext> =
|
|
@@ -58,7 +61,7 @@ export const postGraphQL = async <
|
|
|
58
61
|
await apolloServer.stop()
|
|
59
62
|
|
|
60
63
|
return {
|
|
61
|
-
ref: context.
|
|
64
|
+
ref: context.getCurrentHash(),
|
|
62
65
|
data:
|
|
63
66
|
result.body.kind === 'single' ? result.body.singleResult.data : undefined,
|
|
64
67
|
errors:
|
|
@@ -70,18 +73,20 @@ export const postGraphQL = async <
|
|
|
70
73
|
|
|
71
74
|
export const getSchema = async (
|
|
72
75
|
gitAdapter: GitAdapter,
|
|
76
|
+
repositoryCache: RepositoryCacheHandler,
|
|
73
77
|
ref: string,
|
|
74
78
|
): Promise<SchemaResponse> => {
|
|
75
|
-
let
|
|
79
|
+
let currentHash = await gitAdapter.getLatestCommitHash(ref)
|
|
76
80
|
const context: ApolloContext = {
|
|
77
81
|
branch: ref,
|
|
78
82
|
gitAdapter: gitAdapter,
|
|
79
|
-
|
|
80
|
-
return
|
|
83
|
+
getCurrentHash(): string {
|
|
84
|
+
return currentHash
|
|
81
85
|
},
|
|
82
|
-
|
|
83
|
-
|
|
86
|
+
setCurrentHash(refArg: string) {
|
|
87
|
+
currentHash = refArg
|
|
84
88
|
},
|
|
89
|
+
repositoryCache: repositoryCache,
|
|
85
90
|
}
|
|
86
91
|
|
|
87
92
|
const typeDefinitionStrings = (await generateSchema(context)).typeDefs
|
|
@@ -90,7 +95,7 @@ export const getSchema = async (
|
|
|
90
95
|
}
|
|
91
96
|
|
|
92
97
|
return {
|
|
93
|
-
ref: context.
|
|
98
|
+
ref: context.getCurrentHash(),
|
|
94
99
|
data: typeDefinitionStrings.join('\n'),
|
|
95
100
|
}
|
|
96
101
|
}
|
|
@@ -98,8 +103,9 @@ export const getSchema = async (
|
|
|
98
103
|
export interface ApolloContext {
|
|
99
104
|
branch: string
|
|
100
105
|
gitAdapter: GitAdapter
|
|
101
|
-
|
|
102
|
-
|
|
106
|
+
getCurrentHash(): string
|
|
107
|
+
setCurrentHash(sha: string): void
|
|
108
|
+
repositoryCache: RepositoryCacheHandler
|
|
103
109
|
}
|
|
104
110
|
|
|
105
111
|
export interface GraphQLResponse<TData> {
|
|
@@ -9,6 +9,7 @@ export const resolveEntryReference: FieldResolver<any> = async (
|
|
|
9
9
|
context: FieldResolverContext,
|
|
10
10
|
info: GraphQLResolveInfo,
|
|
11
11
|
) => {
|
|
12
|
+
void info
|
|
12
13
|
if (!isNamedType(context.currentType)) {
|
|
13
14
|
throw createError(
|
|
14
15
|
`Expected context.currentType type to be a named type.`,
|
|
@@ -19,11 +20,7 @@ export const resolveEntryReference: FieldResolver<any> = async (
|
|
|
19
20
|
)
|
|
20
21
|
}
|
|
21
22
|
|
|
22
|
-
const entry = await findById(
|
|
23
|
-
context.gitAdapter,
|
|
24
|
-
context.getCurrentRef(),
|
|
25
|
-
fieldValue.id,
|
|
26
|
-
)
|
|
23
|
+
const entry = await findById(context, fieldValue.id)
|
|
27
24
|
|
|
28
25
|
return { ...entry.data, id: entry.id }
|
|
29
26
|
}
|
|
@@ -28,8 +28,7 @@ export const resolveFieldDefaultValue: FieldResolver<any> = async (
|
|
|
28
28
|
fieldValue,
|
|
29
29
|
args,
|
|
30
30
|
{
|
|
31
|
-
|
|
32
|
-
getCurrentRef: context.getCurrentRef,
|
|
31
|
+
...context,
|
|
33
32
|
currentType: context.currentType.ofType,
|
|
34
33
|
hasNonNullParent: true,
|
|
35
34
|
},
|
|
@@ -61,8 +60,7 @@ export const resolveFieldDefaultValue: FieldResolver<any> = async (
|
|
|
61
60
|
item,
|
|
62
61
|
args,
|
|
63
62
|
{
|
|
64
|
-
|
|
65
|
-
getCurrentRef: context.getCurrentRef,
|
|
63
|
+
...context,
|
|
66
64
|
currentType: context.currentType.ofType,
|
|
67
65
|
hasNonNullParent: context.hasNonNullParent,
|
|
68
66
|
},
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { GraphQLFieldResolver } from 'graphql/type/definition'
|
|
2
|
-
import { EntryData
|
|
2
|
+
import { EntryData } from '@commitspark/git-adapter'
|
|
3
3
|
import { GraphQLOutputType } from 'graphql'
|
|
4
|
+
import { ApolloContext } from '../../../client'
|
|
4
5
|
|
|
5
|
-
export interface FieldResolverContext {
|
|
6
|
-
gitAdapter: GitAdapter
|
|
7
|
-
getCurrentRef(): string
|
|
6
|
+
export interface FieldResolverContext extends ApolloContext {
|
|
8
7
|
currentType: GraphQLOutputType
|
|
9
8
|
hasNonNullParent?: boolean
|
|
10
9
|
}
|
|
@@ -39,14 +39,8 @@ export const mutationCreateResolver: GraphQLFieldResolver<
|
|
|
39
39
|
|
|
40
40
|
let existingEntry
|
|
41
41
|
try {
|
|
42
|
-
existingEntry = await findById(
|
|
43
|
-
|
|
44
|
-
context.getCurrentRef(),
|
|
45
|
-
args.id,
|
|
46
|
-
)
|
|
47
|
-
} catch (_) {
|
|
48
|
-
/* empty */
|
|
49
|
-
}
|
|
42
|
+
existingEntry = await findById(context, args.id)
|
|
43
|
+
} catch {}
|
|
50
44
|
if (existingEntry) {
|
|
51
45
|
throw createError(
|
|
52
46
|
`An entry with id "${args.id}" already exists.`,
|
|
@@ -68,11 +62,7 @@ export const mutationCreateResolver: GraphQLFieldResolver<
|
|
|
68
62
|
|
|
69
63
|
const referencedEntryUpdates: EntryDraft[] = []
|
|
70
64
|
for (const referencedEntryId of referencedEntryIds) {
|
|
71
|
-
const referencedEntry = await findById(
|
|
72
|
-
context.gitAdapter,
|
|
73
|
-
context.getCurrentRef(),
|
|
74
|
-
referencedEntryId,
|
|
75
|
-
)
|
|
65
|
+
const referencedEntry = await findById(context, referencedEntryId)
|
|
76
66
|
const newReferencedEntryIds: string[] = [
|
|
77
67
|
...(referencedEntry.metadata.referencedBy ?? []),
|
|
78
68
|
args.id,
|
|
@@ -100,17 +90,12 @@ export const mutationCreateResolver: GraphQLFieldResolver<
|
|
|
100
90
|
|
|
101
91
|
const commit = await context.gitAdapter.createCommit({
|
|
102
92
|
ref: context.branch,
|
|
103
|
-
parentSha: context.
|
|
93
|
+
parentSha: context.getCurrentHash(),
|
|
104
94
|
entries: [newEntryDraft, ...referencedEntryUpdates],
|
|
105
95
|
message: args.commitMessage,
|
|
106
96
|
})
|
|
107
|
-
context.
|
|
97
|
+
context.setCurrentHash(commit.ref)
|
|
108
98
|
|
|
109
|
-
const newEntry = await findByTypeId(
|
|
110
|
-
context.gitAdapter,
|
|
111
|
-
context.getCurrentRef(),
|
|
112
|
-
context.type.name,
|
|
113
|
-
args.id,
|
|
114
|
-
)
|
|
99
|
+
const newEntry = await findByTypeId(context, context.type.name, args.id)
|
|
115
100
|
return { ...newEntry.data, id: newEntry.id }
|
|
116
101
|
}
|
|
@@ -11,12 +11,7 @@ export const mutationDeleteResolver: GraphQLFieldResolver<
|
|
|
11
11
|
any,
|
|
12
12
|
Promise<EntryData>
|
|
13
13
|
> = async (source, args, context, info) => {
|
|
14
|
-
const entry: Entry = await findByTypeId(
|
|
15
|
-
context.gitAdapter,
|
|
16
|
-
context.getCurrentRef(),
|
|
17
|
-
context.type.name,
|
|
18
|
-
args.id,
|
|
19
|
-
)
|
|
14
|
+
const entry: Entry = await findByTypeId(context, context.type.name, args.id)
|
|
20
15
|
|
|
21
16
|
if (entry.metadata.referencedBy && entry.metadata.referencedBy.length > 0) {
|
|
22
17
|
const otherIds = entry.metadata.referencedBy
|
|
@@ -50,11 +45,7 @@ export const mutationDeleteResolver: GraphQLFieldResolver<
|
|
|
50
45
|
)
|
|
51
46
|
const referencedEntryUpdates: EntryDraft[] = []
|
|
52
47
|
for (const referencedEntryId of referencedEntryIds) {
|
|
53
|
-
const noLongerReferencedEntry = await findById(
|
|
54
|
-
context.gitAdapter,
|
|
55
|
-
context.getCurrentRef(),
|
|
56
|
-
referencedEntryId,
|
|
57
|
-
)
|
|
48
|
+
const noLongerReferencedEntry = await findById(context, referencedEntryId)
|
|
58
49
|
referencedEntryUpdates.push({
|
|
59
50
|
...noLongerReferencedEntry,
|
|
60
51
|
metadata: {
|
|
@@ -69,7 +60,7 @@ export const mutationDeleteResolver: GraphQLFieldResolver<
|
|
|
69
60
|
|
|
70
61
|
const commit = await context.gitAdapter.createCommit({
|
|
71
62
|
ref: context.branch,
|
|
72
|
-
parentSha: context.
|
|
63
|
+
parentSha: context.getCurrentHash(),
|
|
73
64
|
entries: [
|
|
74
65
|
{
|
|
75
66
|
...entry,
|
|
@@ -79,7 +70,7 @@ export const mutationDeleteResolver: GraphQLFieldResolver<
|
|
|
79
70
|
],
|
|
80
71
|
message: args.commitMessage,
|
|
81
72
|
})
|
|
82
|
-
context.
|
|
73
|
+
context.setCurrentHash(commit.ref)
|
|
83
74
|
|
|
84
75
|
return args.id
|
|
85
76
|
}
|
|
@@ -29,12 +29,7 @@ export const mutationUpdateResolver: GraphQLFieldResolver<
|
|
|
29
29
|
)
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
const existingEntry = await findByTypeId(
|
|
33
|
-
context.gitAdapter,
|
|
34
|
-
context.getCurrentRef(),
|
|
35
|
-
context.type.name,
|
|
36
|
-
args.id,
|
|
37
|
-
)
|
|
32
|
+
const existingEntry = await findByTypeId(context, context.type.name, args.id)
|
|
38
33
|
|
|
39
34
|
const existingReferencedEntryIds = await getReferencedEntryIds(
|
|
40
35
|
context.type,
|
|
@@ -63,8 +58,7 @@ export const mutationUpdateResolver: GraphQLFieldResolver<
|
|
|
63
58
|
const referencedEntryUpdates: EntryDraft[] = []
|
|
64
59
|
for (const noLongerReferencedEntryId of noLongerReferencedIds) {
|
|
65
60
|
const noLongerReferencedEntry = await findById(
|
|
66
|
-
context
|
|
67
|
-
context.getCurrentRef(),
|
|
61
|
+
context,
|
|
68
62
|
noLongerReferencedEntryId,
|
|
69
63
|
)
|
|
70
64
|
referencedEntryUpdates.push({
|
|
@@ -79,11 +73,7 @@ export const mutationUpdateResolver: GraphQLFieldResolver<
|
|
|
79
73
|
})
|
|
80
74
|
}
|
|
81
75
|
for (const newlyReferencedEntryId of newlyReferencedIds) {
|
|
82
|
-
const newlyReferencedEntry = await findById(
|
|
83
|
-
context.gitAdapter,
|
|
84
|
-
context.getCurrentRef(),
|
|
85
|
-
newlyReferencedEntryId,
|
|
86
|
-
)
|
|
76
|
+
const newlyReferencedEntry = await findById(context, newlyReferencedEntryId)
|
|
87
77
|
const updatedReferenceList: string[] =
|
|
88
78
|
newlyReferencedEntry.metadata.referencedBy ?? []
|
|
89
79
|
updatedReferenceList.push(args.id)
|
|
@@ -100,20 +90,15 @@ export const mutationUpdateResolver: GraphQLFieldResolver<
|
|
|
100
90
|
|
|
101
91
|
const commit = await context.gitAdapter.createCommit({
|
|
102
92
|
ref: context.branch,
|
|
103
|
-
parentSha: context.
|
|
93
|
+
parentSha: context.getCurrentHash(),
|
|
104
94
|
entries: [
|
|
105
95
|
{ ...existingEntry, data: mergedData, deletion: false },
|
|
106
96
|
...referencedEntryUpdates,
|
|
107
97
|
],
|
|
108
98
|
message: args.commitMessage,
|
|
109
99
|
})
|
|
110
|
-
context.
|
|
100
|
+
context.setCurrentHash(commit.ref)
|
|
111
101
|
|
|
112
|
-
const updatedEntry = await findByTypeId(
|
|
113
|
-
context.gitAdapter,
|
|
114
|
-
context.getCurrentRef(),
|
|
115
|
-
context.type.name,
|
|
116
|
-
args.id,
|
|
117
|
-
)
|
|
102
|
+
const updatedEntry = await findByTypeId(context, context.type.name, args.id)
|
|
118
103
|
return { ...updatedEntry.data, id: updatedEntry.id }
|
|
119
104
|
}
|
|
@@ -8,13 +8,9 @@ export const queryByIdResolver: GraphQLFieldResolver<
|
|
|
8
8
|
QueryMutationResolverContext,
|
|
9
9
|
any,
|
|
10
10
|
Promise<EntryData>
|
|
11
|
-
> = async (
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
context.getCurrentRef(),
|
|
15
|
-
context.type.name,
|
|
16
|
-
args.id,
|
|
17
|
-
)
|
|
11
|
+
> = async (_obj, args, context, info) => {
|
|
12
|
+
void info
|
|
13
|
+
const entry = await findByTypeId(context, context.type.name, args.id)
|
|
18
14
|
|
|
19
15
|
return { ...entry.data, id: entry.id }
|
|
20
16
|
}
|
|
@@ -8,12 +8,9 @@ export const queryEveryResolver: GraphQLFieldResolver<
|
|
|
8
8
|
QueryMutationResolverContext,
|
|
9
9
|
any,
|
|
10
10
|
Promise<EntryData[]>
|
|
11
|
-
> = async (
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
context.getCurrentRef(),
|
|
15
|
-
context.type.name,
|
|
16
|
-
)
|
|
11
|
+
> = async (_obj, _args, context, info) => {
|
|
12
|
+
void info
|
|
13
|
+
const entries = await findByType(context, context.type.name)
|
|
17
14
|
|
|
18
15
|
return entries.map((entry) => {
|
|
19
16
|
return { ...entry.data, id: entry.id }
|
|
@@ -7,6 +7,7 @@ export const queryTypeByIdResolver: GraphQLFieldResolver<
|
|
|
7
7
|
ApolloContext,
|
|
8
8
|
any,
|
|
9
9
|
Promise<string>
|
|
10
|
-
> = async (
|
|
11
|
-
|
|
10
|
+
> = async (_source, args, context, info) => {
|
|
11
|
+
void info
|
|
12
|
+
return getTypeById(context, args.id)
|
|
12
13
|
}
|
|
@@ -8,7 +8,7 @@ export const unionTypeResolver: GraphQLTypeResolver<
|
|
|
8
8
|
ApolloContext
|
|
9
9
|
> = async (obj, context, info, abstractType) => {
|
|
10
10
|
if (buildsOnTypeWithEntryDirective(abstractType)) {
|
|
11
|
-
return getTypeById(context
|
|
11
|
+
return getTypeById(context, obj.id)
|
|
12
12
|
} else {
|
|
13
13
|
// We have injected an internal `__typename` field into the data of fields pointing to a non-entry union
|
|
14
14
|
// in UnionValueResolver. This artificial field holds the type information we need here.
|
|
@@ -25,8 +25,9 @@ import { createError, ErrorCode } from './errors'
|
|
|
25
25
|
export async function generateSchema(
|
|
26
26
|
context: ApolloContext,
|
|
27
27
|
): Promise<IExecutableSchemaDefinition> {
|
|
28
|
-
const originalSchemaString = await context.
|
|
29
|
-
context
|
|
28
|
+
const originalSchemaString = await context.repositoryCache.getSchema(
|
|
29
|
+
context,
|
|
30
|
+
context.getCurrentHash(),
|
|
30
31
|
)
|
|
31
32
|
const schema = makeExecutableSchema({
|
|
32
33
|
typeDefs: originalSchemaString,
|
|
@@ -77,12 +77,8 @@ async function validateReference(
|
|
|
77
77
|
const referencedId = fieldValue.id
|
|
78
78
|
let referencedTypeName
|
|
79
79
|
try {
|
|
80
|
-
referencedTypeName = await getTypeById(
|
|
81
|
-
|
|
82
|
-
context.getCurrentRef(),
|
|
83
|
-
referencedId,
|
|
84
|
-
)
|
|
85
|
-
} catch (error) {
|
|
80
|
+
referencedTypeName = await getTypeById(context, referencedId)
|
|
81
|
+
} catch {
|
|
86
82
|
throw createError(
|
|
87
83
|
`Failed to resolve entry reference "${referencedId}".`,
|
|
88
84
|
ErrorCode.BAD_USER_INPUT,
|
|
@@ -5,7 +5,7 @@ function checkUnionMembersConsistentUseOfEntryDirective(
|
|
|
5
5
|
): string {
|
|
6
6
|
const typeMap = schema.getTypeMap()
|
|
7
7
|
|
|
8
|
-
for (const
|
|
8
|
+
for (const type of Object.values(typeMap)) {
|
|
9
9
|
if (type.astNode?.kind !== Kind.UNION_TYPE_DEFINITION) {
|
|
10
10
|
continue
|
|
11
11
|
}
|
package/src/index.ts
CHANGED
|
@@ -8,6 +8,7 @@ import {
|
|
|
8
8
|
} from './client'
|
|
9
9
|
import { GitAdapter } from '@commitspark/git-adapter'
|
|
10
10
|
import { ErrorCode, ErrorMetadata } from './graphql/errors'
|
|
11
|
+
import { createCacheHandler } from './persistence/cache'
|
|
11
12
|
|
|
12
13
|
interface Client {
|
|
13
14
|
postGraphQL<
|
|
@@ -23,8 +24,9 @@ interface Client {
|
|
|
23
24
|
export { Client, GraphQLResponse, SchemaResponse, ErrorCode, ErrorMetadata }
|
|
24
25
|
|
|
25
26
|
export async function createClient(gitAdapter: GitAdapter): Promise<Client> {
|
|
27
|
+
const repositoryCache = createCacheHandler()
|
|
26
28
|
return {
|
|
27
|
-
postGraphQL: (
|
|
28
|
-
getSchema: (
|
|
29
|
+
postGraphQL: (...args) => postGraphQL(gitAdapter, repositoryCache, ...args),
|
|
30
|
+
getSchema: (...args) => getSchema(gitAdapter, repositoryCache, ...args),
|
|
29
31
|
}
|
|
30
32
|
}
|