@commitspark/graphql-api 1.0.0-beta.1 → 1.0.0-beta.2
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 +7 -0
- package/README.md +3 -3
- package/dist/cjs/client.js +1 -1
- package/dist/cjs/client.js.map +1 -1
- package/dist/cjs/graphql/errors.js +32 -0
- package/dist/cjs/graphql/errors.js.map +1 -0
- package/dist/cjs/graphql/queries-mutations-generator.js +10 -8
- package/dist/cjs/graphql/queries-mutations-generator.js.map +1 -1
- package/dist/cjs/graphql/resolvers/field-resolvers/entry-reference-resolver.js +4 -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 +15 -3
- package/dist/cjs/graphql/resolvers/field-resolvers/field-default-value-resolver.js.map +1 -1
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.js +10 -13
- 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 +5 -6
- 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 +5 -4
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.js.map +1 -1
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/{query-all-resolver.js → query-every-resolver.js} +4 -4
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-every-resolver.js.map +1 -0
- package/dist/cjs/graphql/schema-generator.js +7 -2
- package/dist/cjs/graphql/schema-generator.js.map +1 -1
- package/dist/cjs/graphql/schema-root-type-generator.js +1 -1
- package/dist/cjs/graphql/schema-root-type-generator.js.map +1 -1
- package/dist/cjs/graphql/schema-utils/entry-reference-util.js +26 -18
- package/dist/cjs/graphql/schema-utils/entry-reference-util.js.map +1 -1
- package/dist/cjs/graphql/schema-utils/union-type-util.js +9 -4
- package/dist/cjs/graphql/schema-utils/union-type-util.js.map +1 -1
- package/dist/cjs/index.js +3 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/persistence/persistence.js +11 -14
- package/dist/cjs/persistence/persistence.js.map +1 -1
- package/dist/esm/client.js +1 -1
- package/dist/esm/client.js.map +1 -1
- package/dist/esm/graphql/errors.js +28 -0
- package/dist/esm/graphql/errors.js.map +1 -0
- package/dist/esm/graphql/queries-mutations-generator.js +10 -8
- package/dist/esm/graphql/queries-mutations-generator.js.map +1 -1
- package/dist/esm/graphql/resolvers/field-resolvers/entry-reference-resolver.js +4 -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 +15 -3
- package/dist/esm/graphql/resolvers/field-resolvers/field-default-value-resolver.js.map +1 -1
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.js +11 -14
- 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 +6 -7
- 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 +5 -4
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.js.map +1 -1
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/{query-all-resolver.js → query-every-resolver.js} +2 -2
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-every-resolver.js.map +1 -0
- package/dist/esm/graphql/schema-generator.js +7 -2
- package/dist/esm/graphql/schema-generator.js.map +1 -1
- package/dist/esm/graphql/schema-root-type-generator.js +1 -1
- package/dist/esm/graphql/schema-root-type-generator.js.map +1 -1
- package/dist/esm/graphql/schema-utils/entry-reference-util.js +27 -19
- package/dist/esm/graphql/schema-utils/entry-reference-util.js.map +1 -1
- package/dist/esm/graphql/schema-utils/union-type-util.js +9 -4
- package/dist/esm/graphql/schema-utils/union-type-util.js.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/persistence/persistence.js +11 -14
- 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/graphql/errors.d.ts +20 -0
- package/dist/types/graphql/errors.d.ts.map +1 -0
- package/dist/types/graphql/queries-mutations-generator.d.ts +1 -1
- package/dist/types/graphql/queries-mutations-generator.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/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-every-resolver.d.ts +5 -0
- package/dist/types/graphql/resolvers/query-mutation-resolvers/query-every-resolver.d.ts.map +1 -0
- 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/graphql/schema-utils/union-type-util.d.ts +2 -2
- package/dist/types/graphql/schema-utils/union-type-util.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/persistence/persistence.d.ts.map +1 -1
- package/package.json +10 -2
- package/src/client.ts +1 -1
- package/src/graphql/errors.ts +43 -0
- package/src/graphql/queries-mutations-generator.ts +12 -10
- package/src/graphql/resolvers/field-resolvers/entry-reference-resolver.ts +8 -1
- package/src/graphql/resolvers/field-resolvers/field-default-value-resolver.ts +23 -5
- package/src/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.ts +22 -14
- package/src/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.ts +12 -8
- package/src/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.ts +9 -4
- package/src/graphql/resolvers/query-mutation-resolvers/{query-all-resolver.ts → query-every-resolver.ts} +1 -1
- package/src/graphql/schema-generator.ts +7 -2
- package/src/graphql/schema-root-type-generator.ts +1 -1
- package/src/graphql/schema-utils/entry-reference-util.ts +44 -22
- package/src/graphql/schema-utils/union-type-util.ts +20 -7
- package/src/index.ts +2 -1
- package/src/persistence/persistence.ts +13 -15
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-all-resolver.js.map +0 -1
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-all-resolver.js.map +0 -1
- package/dist/types/graphql/resolvers/query-mutation-resolvers/query-all-resolver.d.ts +0 -5
- package/dist/types/graphql/resolvers/query-mutation-resolvers/query-all-resolver.d.ts.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,13 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.0.0-beta.2] - 2025-11-07
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
|
|
12
|
+
- Expose errors explicitly and with metadata
|
|
13
|
+
- Rename generated `all...` queries to `every...` to avoid having to pluralize entry type names
|
|
14
|
+
|
|
8
15
|
## [1.0.0-beta.1] - 2025-11-05
|
|
9
16
|
|
|
10
17
|
### Changed
|
package/README.md
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
[Commitspark](https://commitspark.com) is a set of tools to manage structured data with Git through a GraphQL API.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
This library provides the GraphQL API that allows reading and writing structured data (entries) from and to a Git
|
|
6
|
+
repository.
|
|
7
7
|
|
|
8
8
|
Queries and mutations offered by the API are determined by a standard GraphQL type definition file (schema) inside the
|
|
9
9
|
Git repository.
|
|
@@ -76,7 +76,7 @@ schema {
|
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
type Query {
|
|
79
|
-
|
|
79
|
+
everyRocketFlight: [RocketFlight!]
|
|
80
80
|
RocketFlight(id: ID!): RocketFlight
|
|
81
81
|
_typeName(id: ID!): String
|
|
82
82
|
}
|
package/dist/cjs/client.js
CHANGED
|
@@ -54,7 +54,7 @@ const getSchema = (gitAdapter, ref) => __awaiter(void 0, void 0, void 0, functio
|
|
|
54
54
|
};
|
|
55
55
|
const typeDefinitionStrings = (yield (0, schema_generator_1.generateSchema)(context)).typeDefs;
|
|
56
56
|
if (!Array.isArray(typeDefinitionStrings)) {
|
|
57
|
-
throw new Error('
|
|
57
|
+
throw new Error('Expected array of typeDefinition strings.');
|
|
58
58
|
}
|
|
59
59
|
return {
|
|
60
60
|
ref: context.getCurrentRef(),
|
package/dist/cjs/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2EAAoE;AACpE,iEAA2D;AAO3D,2CAIuB;AAWhB,MAAM,WAAW,GAAG,CAIzB,UAAsB,EACtB,GAAW,EACX,OAAyD,EACjB,EAAE;IAC1C,IAAI,UAAU,GAAG,MAAM,UAAU,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAA;IAC1D,MAAM,OAAO,GAAkB;QAC7B,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,UAAU;QACtB,aAAa;YACX,OAAO,UAAU,CAAA;QACnB,CAAC;QACD,aAAa,CAAC,MAAc;YAC1B,UAAU,GAAG,MAAM,CAAA;QACrB,CAAC;KACF,CAAA;IAED,MAAM,kBAAkB,GACtB,MAAM,IAAA,0CAAkB,EAAC,OAAO,CAAC,CAAA;IAEnC,MAAM,YAAY,GAAG,IAAI,qBAAY,mBAChC,kBAAkB,EACrB,CAAA;IAEF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,gBAAgB,CAChD,OAAO,EACP;QACE,YAAY,EAAE,OAAO;KACtB,CACF,CAAA;IAED,MAAM,YAAY,CAAC,IAAI,EAAE,CAAA;IAEzB,OAAO;QACL,GAAG,EAAE,OAAO,CAAC,aAAa,EAAE;QAC5B,IAAI,EACF,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;QAC3E,MAAM,EACJ,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ;YAC3B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM;YACjC,CAAC,CAAC,SAAS;KAChB,CAAA;AACH,CAAC,CAAA,CAAA;AA7CY,QAAA,WAAW,eA6CvB;AAEM,MAAM,SAAS,GAAG,CACvB,UAAsB,EACtB,GAAW,EACc,EAAE;IAC3B,IAAI,UAAU,GAAG,MAAM,UAAU,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAA;IAC1D,MAAM,OAAO,GAAkB;QAC7B,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,UAAU;QACtB,aAAa;YACX,OAAO,UAAU,CAAA;QACnB,CAAC;QACD,aAAa,CAAC,MAAc;YAC1B,UAAU,GAAG,MAAM,CAAA;QACrB,CAAC;KACF,CAAA;IAED,MAAM,qBAAqB,GAAG,CAAC,MAAM,IAAA,iCAAc,EAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAA;IACtE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2EAAoE;AACpE,iEAA2D;AAO3D,2CAIuB;AAWhB,MAAM,WAAW,GAAG,CAIzB,UAAsB,EACtB,GAAW,EACX,OAAyD,EACjB,EAAE;IAC1C,IAAI,UAAU,GAAG,MAAM,UAAU,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAA;IAC1D,MAAM,OAAO,GAAkB;QAC7B,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,UAAU;QACtB,aAAa;YACX,OAAO,UAAU,CAAA;QACnB,CAAC;QACD,aAAa,CAAC,MAAc;YAC1B,UAAU,GAAG,MAAM,CAAA;QACrB,CAAC;KACF,CAAA;IAED,MAAM,kBAAkB,GACtB,MAAM,IAAA,0CAAkB,EAAC,OAAO,CAAC,CAAA;IAEnC,MAAM,YAAY,GAAG,IAAI,qBAAY,mBAChC,kBAAkB,EACrB,CAAA;IAEF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,gBAAgB,CAChD,OAAO,EACP;QACE,YAAY,EAAE,OAAO;KACtB,CACF,CAAA;IAED,MAAM,YAAY,CAAC,IAAI,EAAE,CAAA;IAEzB,OAAO;QACL,GAAG,EAAE,OAAO,CAAC,aAAa,EAAE;QAC5B,IAAI,EACF,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;QAC3E,MAAM,EACJ,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ;YAC3B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM;YACjC,CAAC,CAAC,SAAS;KAChB,CAAA;AACH,CAAC,CAAA,CAAA;AA7CY,QAAA,WAAW,eA6CvB;AAEM,MAAM,SAAS,GAAG,CACvB,UAAsB,EACtB,GAAW,EACc,EAAE;IAC3B,IAAI,UAAU,GAAG,MAAM,UAAU,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAA;IAC1D,MAAM,OAAO,GAAkB;QAC7B,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,UAAU;QACtB,aAAa;YACX,OAAO,UAAU,CAAA;QACnB,CAAC;QACD,aAAa,CAAC,MAAc;YAC1B,UAAU,GAAG,MAAM,CAAA;QACrB,CAAC;KACF,CAAA;IAED,MAAM,qBAAqB,GAAG,CAAC,MAAM,IAAA,iCAAc,EAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAA;IACtE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;IAC9D,CAAC;IAED,OAAO;QACL,GAAG,EAAE,OAAO,CAAC,aAAa,EAAE;QAC5B,IAAI,EAAE,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;KACvC,CAAA;AACH,CAAC,CAAA,CAAA;AAzBY,QAAA,SAAS,aAyBrB"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createError = exports.ErrorCode = void 0;
|
|
4
|
+
const graphql_1 = require("graphql");
|
|
5
|
+
var ErrorCode;
|
|
6
|
+
(function (ErrorCode) {
|
|
7
|
+
ErrorCode["BAD_USER_INPUT"] = "BAD_USER_INPUT";
|
|
8
|
+
ErrorCode["NOT_FOUND"] = "NOT_FOUND";
|
|
9
|
+
ErrorCode["BAD_REPOSITORY_DATA"] = "BAD_REPOSITORY_DATA";
|
|
10
|
+
ErrorCode["SCHEMA_DATA_MISMATCH"] = "SCHEMA_DATA_MISMATCH";
|
|
11
|
+
ErrorCode["BAD_SCHEMA"] = "BAD_SCHEMA";
|
|
12
|
+
ErrorCode["INTERNAL_ERROR"] = "INTERNAL_ERROR";
|
|
13
|
+
ErrorCode["IN_USE"] = "IN_USE";
|
|
14
|
+
})(ErrorCode || (exports.ErrorCode = ErrorCode = {}));
|
|
15
|
+
const createError = (message, code, metaData) => {
|
|
16
|
+
const serializedFieldValue = typeof metaData.fieldValue === 'object' ||
|
|
17
|
+
Array.isArray(metaData.fieldValue)
|
|
18
|
+
? JSON.stringify(metaData.fieldValue)
|
|
19
|
+
: metaData.fieldValue;
|
|
20
|
+
const updatedMetaData = Object.assign({}, metaData);
|
|
21
|
+
if (serializedFieldValue !== undefined) {
|
|
22
|
+
updatedMetaData.fieldValue = serializedFieldValue;
|
|
23
|
+
}
|
|
24
|
+
return new graphql_1.GraphQLError(message, {
|
|
25
|
+
extensions: {
|
|
26
|
+
code: code,
|
|
27
|
+
commitspark: updatedMetaData,
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
exports.createError = createError;
|
|
32
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/graphql/errors.ts"],"names":[],"mappings":";;;AAAA,qCAAsC;AAEtC,IAAY,SAQX;AARD,WAAY,SAAS;IACnB,8CAAiC,CAAA;IACjC,oCAAuB,CAAA;IACvB,wDAA2C,CAAA;IAC3C,0DAA6C,CAAA;IAC7C,sCAAyB,CAAA;IACzB,8CAAiC,CAAA;IACjC,8BAAiB,CAAA;AACnB,CAAC,EARW,SAAS,yBAAT,SAAS,QAQpB;AAWM,MAAM,WAAW,GAAG,CACzB,OAAe,EACf,IAAe,EACf,QAAuB,EACT,EAAE;IAChB,MAAM,oBAAoB,GACxB,OAAO,QAAQ,CAAC,UAAU,KAAK,QAAQ;QACvC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;QAChC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC;QACrC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAA;IACzB,MAAM,eAAe,qBAAQ,QAAQ,CAAE,CAAA;IACvC,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;QACvC,eAAe,CAAC,UAAU,GAAG,oBAAoB,CAAA;IACnD,CAAC;IAED,OAAO,IAAI,sBAAY,CAAC,OAAO,EAAE;QAC/B,UAAU,EAAE;YACV,IAAI,EAAE,IAAI;YACV,WAAW,EAAE,eAAe;SAC7B;KACF,CAAC,CAAA;AACJ,CAAC,CAAA;AArBY,QAAA,WAAW,eAqBvB"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.generateQueriesAndMutations = generateQueriesAndMutations;
|
|
4
4
|
exports.generateTypeNameQuery = generateTypeNameQuery;
|
|
5
|
-
const
|
|
5
|
+
const query_every_resolver_1 = require("./resolvers/query-mutation-resolvers/query-every-resolver");
|
|
6
6
|
const query_by_id_resolver_1 = require("./resolvers/query-mutation-resolvers/query-by-id-resolver");
|
|
7
7
|
const mutation_create_resolver_1 = require("./resolvers/query-mutation-resolvers/mutation-create-resolver");
|
|
8
8
|
const mutation_update_resolver_1 = require("./resolvers/query-mutation-resolvers/mutation-update-resolver");
|
|
@@ -11,9 +11,11 @@ const query_type_by_id_resolver_1 = require("./resolvers/query-mutation-resolver
|
|
|
11
11
|
function generateQueriesAndMutations(entryDirectiveTypes) {
|
|
12
12
|
return entryDirectiveTypes.map((objectType) => {
|
|
13
13
|
const typeName = objectType.name;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const
|
|
14
|
+
// The semantics of `every` aren't a perfect replacement of `all` but this way we don't need to do non-trivial
|
|
15
|
+
// pluralization of user-provided typeName
|
|
16
|
+
const queryEveryName = `every${typeName}`;
|
|
17
|
+
const queryEveryString = `${queryEveryName}: [${objectType.name}!]`;
|
|
18
|
+
const queryEveryResolverFunc = (source, args, context, info) => (0, query_every_resolver_1.queryEveryResolver)(source, args, Object.assign(Object.assign({}, context), { type: objectType }), info);
|
|
17
19
|
const queryByIdName = typeName;
|
|
18
20
|
const queryByIdString = `${queryByIdName}(id: ID!): ${objectType.name}`;
|
|
19
21
|
const queryByIdResolverFunc = (source, args, context, info) => (0, query_by_id_resolver_1.queryByIdResolver)(source, args, Object.assign(Object.assign({}, context), { type: objectType }), info);
|
|
@@ -28,10 +30,10 @@ function generateQueriesAndMutations(entryDirectiveTypes) {
|
|
|
28
30
|
const deleteMutationString = `${deleteMutationName}(id: ID!, commitMessage: String): ID`;
|
|
29
31
|
const deleteMutationResolver = (source, args, context, info) => (0, mutation_delete_resolver_1.mutationDeleteResolver)(source, args, Object.assign(Object.assign({}, context), { type: objectType }), info);
|
|
30
32
|
return {
|
|
31
|
-
|
|
32
|
-
name:
|
|
33
|
-
schemaString:
|
|
34
|
-
resolver:
|
|
33
|
+
queryEvery: {
|
|
34
|
+
name: queryEveryName,
|
|
35
|
+
schemaString: queryEveryString,
|
|
36
|
+
resolver: queryEveryResolverFunc,
|
|
35
37
|
},
|
|
36
38
|
queryById: {
|
|
37
39
|
name: queryByIdName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries-mutations-generator.js","sourceRoot":"","sources":["../../../src/graphql/queries-mutations-generator.ts"],"names":[],"mappings":";;AAWA,
|
|
1
|
+
{"version":3,"file":"queries-mutations-generator.js","sourceRoot":"","sources":["../../../src/graphql/queries-mutations-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,9 +12,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.resolveEntryReference = void 0;
|
|
13
13
|
const graphql_1 = require("graphql");
|
|
14
14
|
const persistence_1 = require("../../../persistence/persistence");
|
|
15
|
+
const errors_1 = require("../../errors");
|
|
15
16
|
const resolveEntryReference = (fieldValue, args, context, info) => __awaiter(void 0, void 0, void 0, function* () {
|
|
16
17
|
if (!(0, graphql_1.isNamedType)(context.currentType)) {
|
|
17
|
-
throw
|
|
18
|
+
throw (0, errors_1.createError)(`Expected context.currentType type to be a named type.`, errors_1.ErrorCode.INTERNAL_ERROR, {
|
|
19
|
+
fieldValue: fieldValue,
|
|
20
|
+
});
|
|
18
21
|
}
|
|
19
22
|
const entry = yield (0, persistence_1.findById)(context.gitAdapter, context.getCurrentRef(), fieldValue.id);
|
|
20
23
|
return Object.assign(Object.assign({}, entry.data), { id: entry.id });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry-reference-resolver.js","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/field-resolvers/entry-reference-resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,qCAAyD;AACzD,kEAA2D;
|
|
1
|
+
{"version":3,"file":"entry-reference-resolver.js","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/field-resolvers/entry-reference-resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,qCAAyD;AACzD,kEAA2D;AAC3D,yCAAqD;AAE9C,MAAM,qBAAqB,GAAuB,CACvD,UAAe,EACf,IAAS,EACT,OAA6B,EAC7B,IAAwB,EACxB,EAAE;IACF,IAAI,CAAC,IAAA,qBAAW,EAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACtC,MAAM,IAAA,oBAAW,EACf,uDAAuD,EACvD,kBAAS,CAAC,cAAc,EACxB;YACE,UAAU,EAAE,UAAU;SACvB,CACF,CAAA;IACH,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,IAAA,sBAAQ,EAC1B,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,aAAa,EAAE,EACvB,UAAU,CAAC,EAAE,CACd,CAAA;IAED,uCAAY,KAAK,CAAC,IAAI,KAAE,EAAE,EAAE,KAAK,CAAC,EAAE,IAAE;AACxC,CAAC,CAAA,CAAA;AAvBY,QAAA,qBAAqB,yBAuBjC"}
|
|
@@ -14,6 +14,7 @@ const graphql_1 = require("graphql");
|
|
|
14
14
|
const entry_type_util_1 = require("../../schema-utils/entry-type-util");
|
|
15
15
|
const entry_reference_resolver_1 = require("./entry-reference-resolver");
|
|
16
16
|
const union_value_resolver_1 = require("./union-value-resolver");
|
|
17
|
+
const errors_1 = require("../../errors");
|
|
17
18
|
const resolveFieldDefaultValue = (fieldValue, args, context, info) => __awaiter(void 0, void 0, void 0, function* () {
|
|
18
19
|
if ((0, graphql_1.isNonNullType)(context.currentType)) {
|
|
19
20
|
return (0, exports.resolveFieldDefaultValue)(fieldValue, args, {
|
|
@@ -33,7 +34,10 @@ const resolveFieldDefaultValue = (fieldValue, args, context, info) => __awaiter(
|
|
|
33
34
|
}
|
|
34
35
|
}
|
|
35
36
|
if (!Array.isArray(fieldValue)) {
|
|
36
|
-
throw
|
|
37
|
+
throw (0, errors_1.createError)(`Expected array while resolving value for field "${info.fieldName}".`, errors_1.ErrorCode.SCHEMA_DATA_MISMATCH, {
|
|
38
|
+
fieldName: info.fieldName,
|
|
39
|
+
fieldValue: fieldValue,
|
|
40
|
+
});
|
|
37
41
|
}
|
|
38
42
|
const resultPromises = [];
|
|
39
43
|
for (const item of fieldValue) {
|
|
@@ -50,7 +54,10 @@ const resolveFieldDefaultValue = (fieldValue, args, context, info) => __awaiter(
|
|
|
50
54
|
else if ((0, graphql_1.isUnionType)(context.currentType)) {
|
|
51
55
|
if (fieldValue === undefined || fieldValue === null) {
|
|
52
56
|
if (context.hasNonNullParent) {
|
|
53
|
-
throw
|
|
57
|
+
throw (0, errors_1.createError)(`Cannot generate a default value for NonNull field "${info.parentType.name}.${info.fieldName}" because it is a union field of type "${info.returnType.ofType.name}". Set a value in your repository data or remove the NonNull declaration in your schema.`, errors_1.ErrorCode.BAD_REPOSITORY_DATA, {
|
|
58
|
+
typeName: info.parentType.name,
|
|
59
|
+
fieldName: info.fieldName,
|
|
60
|
+
});
|
|
54
61
|
}
|
|
55
62
|
else {
|
|
56
63
|
return new Promise((resolve) => resolve(null));
|
|
@@ -64,7 +71,12 @@ const resolveFieldDefaultValue = (fieldValue, args, context, info) => __awaiter(
|
|
|
64
71
|
else if ((0, graphql_1.isObjectType)(context.currentType)) {
|
|
65
72
|
if (fieldValue === undefined || fieldValue === null) {
|
|
66
73
|
if (context.hasNonNullParent) {
|
|
67
|
-
throw
|
|
74
|
+
throw (0, errors_1.createError)(`Cannot generate a default value for NonNull field "${info.fieldName}" of type ` +
|
|
75
|
+
`"${info.parentType.name}". Set a value in your repository data or remove the NonNull ` +
|
|
76
|
+
`declaration in your schema.`, errors_1.ErrorCode.BAD_REPOSITORY_DATA, {
|
|
77
|
+
typeName: info.parentType.name,
|
|
78
|
+
fieldName: info.fieldName,
|
|
79
|
+
});
|
|
68
80
|
}
|
|
69
81
|
else {
|
|
70
82
|
return new Promise((resolve) => resolve(null));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-default-value-resolver.js","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/field-resolvers/field-default-value-resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,qCAQgB;AAChB,wEAG2C;AAC3C,yEAAkE;AAClE,iEAA0D;
|
|
1
|
+
{"version":3,"file":"field-default-value-resolver.js","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/field-resolvers/field-default-value-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,18 +14,17 @@ const persistence_1 = require("../../../persistence/persistence");
|
|
|
14
14
|
const graphql_1 = require("graphql");
|
|
15
15
|
const entry_reference_util_1 = require("../../schema-utils/entry-reference-util");
|
|
16
16
|
const git_adapter_1 = require("@commitspark/git-adapter");
|
|
17
|
+
const errors_1 = require("../../errors");
|
|
17
18
|
const mutationCreateResolver = (source, args, context, info) => __awaiter(void 0, void 0, void 0, function* () {
|
|
18
19
|
var _a;
|
|
19
|
-
if (!(0, graphql_1.isObjectType)(
|
|
20
|
-
throw
|
|
20
|
+
if (!(0, graphql_1.isObjectType)(context.type)) {
|
|
21
|
+
throw (0, errors_1.createError)(`Entry of type "${context.type.name}" cannot be created as is not an ObjectType.`, errors_1.ErrorCode.INTERNAL_ERROR, {});
|
|
21
22
|
}
|
|
22
23
|
const idValidationResult = args.id.match(git_adapter_1.ENTRY_ID_INVALID_CHARACTERS);
|
|
23
24
|
if (idValidationResult) {
|
|
24
|
-
throw
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
argumentName: 'id',
|
|
28
|
-
},
|
|
25
|
+
throw (0, errors_1.createError)(`Field "id" contains invalid characters "${idValidationResult.join(', ')}".`, errors_1.ErrorCode.BAD_USER_INPUT, {
|
|
26
|
+
argumentName: 'id',
|
|
27
|
+
argumentValue: args.id,
|
|
29
28
|
});
|
|
30
29
|
}
|
|
31
30
|
let existingEntry;
|
|
@@ -36,14 +35,12 @@ const mutationCreateResolver = (source, args, context, info) => __awaiter(void 0
|
|
|
36
35
|
/* empty */
|
|
37
36
|
}
|
|
38
37
|
if (existingEntry) {
|
|
39
|
-
throw
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
argumentName: 'id',
|
|
43
|
-
},
|
|
38
|
+
throw (0, errors_1.createError)(`An entry with id "${args.id}" already exists.`, errors_1.ErrorCode.BAD_USER_INPUT, {
|
|
39
|
+
argumentName: 'id',
|
|
40
|
+
argumentValue: args.id,
|
|
44
41
|
});
|
|
45
42
|
}
|
|
46
|
-
const referencedEntryIds = yield (0, entry_reference_util_1.getReferencedEntryIds)(
|
|
43
|
+
const referencedEntryIds = yield (0, entry_reference_util_1.getReferencedEntryIds)(context.type, context, null, info.returnType, args.data);
|
|
47
44
|
const referencedEntryUpdates = [];
|
|
48
45
|
for (const referencedEntryId of referencedEntryIds) {
|
|
49
46
|
const referencedEntry = yield (0, persistence_1.findById)(context.gitAdapter, context.getCurrentRef(), referencedEntryId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutation-create-resolver.js","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kEAAyE;AACzE,
|
|
1
|
+
{"version":3,"file":"mutation-create-resolver.js","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ exports.mutationDeleteResolver = void 0;
|
|
|
13
13
|
const persistence_1 = require("../../../persistence/persistence");
|
|
14
14
|
const entry_reference_util_1 = require("../../schema-utils/entry-reference-util");
|
|
15
15
|
const graphql_1 = require("graphql");
|
|
16
|
+
const errors_1 = require("../../errors");
|
|
16
17
|
const mutationDeleteResolver = (source, args, context, info) => __awaiter(void 0, void 0, void 0, function* () {
|
|
17
18
|
var _a;
|
|
18
19
|
const entry = yield (0, persistence_1.findByTypeId)(context.gitAdapter, context.getCurrentRef(), context.type.name, args.id);
|
|
@@ -20,16 +21,14 @@ const mutationDeleteResolver = (source, args, context, info) => __awaiter(void 0
|
|
|
20
21
|
const otherIds = entry.metadata.referencedBy
|
|
21
22
|
.map((referenceId) => `"${referenceId}"`)
|
|
22
23
|
.join(', ');
|
|
23
|
-
throw
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
argumentName: 'id',
|
|
27
|
-
},
|
|
24
|
+
throw (0, errors_1.createError)(`Entry with ID "${args.id}" is still referenced by entries [${otherIds}].`, errors_1.ErrorCode.IN_USE, {
|
|
25
|
+
argumentName: 'id',
|
|
26
|
+
argumentValue: args.id,
|
|
28
27
|
});
|
|
29
28
|
}
|
|
30
29
|
const entryType = info.schema.getType(context.type.name);
|
|
31
30
|
if (!(0, graphql_1.isObjectType)(entryType)) {
|
|
32
|
-
throw
|
|
31
|
+
throw (0, errors_1.createError)(`Type "${context.type.name}" is not an ObjectType.`, errors_1.ErrorCode.INTERNAL_ERROR, {});
|
|
33
32
|
}
|
|
34
33
|
const referencedEntryIds = yield (0, entry_reference_util_1.getReferencedEntryIds)(entryType, context, null, entryType, entry.data);
|
|
35
34
|
const referencedEntryUpdates = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutation-delete-resolver.js","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kEAAyE;AAEzE,kFAA+E;AAC/E,
|
|
1
|
+
{"version":3,"file":"mutation-delete-resolver.js","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kEAAyE;AAEzE,kFAA+E;AAC/E,qCAA4D;AAE5D,yCAAqD;AAE9C,MAAM,sBAAsB,GAK/B,CAAO,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;;IACxC,MAAM,KAAK,GAAU,MAAM,IAAA,0BAAY,EACrC,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,aAAa,EAAE,EACvB,OAAO,CAAC,IAAI,CAAC,IAAI,EACjB,IAAI,CAAC,EAAE,CACR,CAAA;IAED,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1E,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,YAAY;aACzC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,WAAW,GAAG,CAAC;aACxC,IAAI,CAAC,IAAI,CAAC,CAAA;QACb,MAAM,IAAA,oBAAW,EACf,kBAAkB,IAAI,CAAC,EAAE,qCAAqC,QAAQ,IAAI,EAC1E,kBAAS,CAAC,MAAM,EAChB;YACE,YAAY,EAAE,IAAI;YAClB,aAAa,EAAE,IAAI,CAAC,EAAE;SACvB,CACF,CAAA;IACH,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACxD,IAAI,CAAC,IAAA,sBAAY,EAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAA,oBAAW,EACf,SAAS,OAAO,CAAC,IAAI,CAAC,IAAI,yBAAyB,EACnD,kBAAS,CAAC,cAAc,EACxB,EAAE,CACH,CAAA;IACH,CAAC;IAED,MAAM,kBAAkB,GAAG,MAAM,IAAA,4CAAqB,EACpD,SAAS,EACT,OAAO,EACP,IAAI,EACJ,SAAS,EACT,KAAK,CAAC,IAAI,CACX,CAAA;IACD,MAAM,sBAAsB,GAAiB,EAAE,CAAA;IAC/C,KAAK,MAAM,iBAAiB,IAAI,kBAAkB,EAAE,CAAC;QACnD,MAAM,uBAAuB,GAAG,MAAM,IAAA,sBAAQ,EAC5C,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,aAAa,EAAE,EACvB,iBAAiB,CAClB,CAAA;QACD,sBAAsB,CAAC,IAAI,iCACtB,uBAAuB,KAC1B,QAAQ,kCACH,uBAAuB,CAAC,QAAQ,KACnC,YAAY,EAAE,MAAA,uBAAuB,CAAC,QAAQ,CAAC,YAAY,0CAAE,MAAM,CACjE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC,EAAE,CACjC,KAEH,QAAQ,EAAE,KAAK,IACf,CAAA;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC;QACnD,GAAG,EAAE,OAAO,CAAC,MAAM;QACnB,SAAS,EAAE,OAAO,CAAC,aAAa,EAAE;QAClC,OAAO,EAAE;4CAEF,KAAK,KACR,QAAQ,EAAE,IAAI;YAEhB,GAAG,sBAAsB;SAC1B;QACD,OAAO,EAAE,IAAI,CAAC,aAAa;KAC5B,CAAC,CAAA;IACF,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAEjC,OAAO,IAAI,CAAC,EAAE,CAAA;AAChB,CAAC,CAAA,CAAA;AA7EY,QAAA,sBAAsB,0BA6ElC"}
|
|
@@ -13,18 +13,19 @@ exports.mutationUpdateResolver = void 0;
|
|
|
13
13
|
const persistence_1 = require("../../../persistence/persistence");
|
|
14
14
|
const entry_reference_util_1 = require("../../schema-utils/entry-reference-util");
|
|
15
15
|
const graphql_1 = require("graphql");
|
|
16
|
+
const errors_1 = require("../../errors");
|
|
16
17
|
function mergeData(existingEntryData, updateData) {
|
|
17
18
|
return Object.assign(Object.assign({}, existingEntryData), updateData);
|
|
18
19
|
}
|
|
19
20
|
const mutationUpdateResolver = (source, args, context, info) => __awaiter(void 0, void 0, void 0, function* () {
|
|
20
21
|
var _a, _b, _c;
|
|
21
|
-
if (!(0, graphql_1.isObjectType)(
|
|
22
|
-
throw
|
|
22
|
+
if (!(0, graphql_1.isObjectType)(context.type)) {
|
|
23
|
+
throw (0, errors_1.createError)(`Type "${context.type.name}" cannot be mutated as is not an ObjectType.`, errors_1.ErrorCode.INTERNAL_ERROR, {});
|
|
23
24
|
}
|
|
24
25
|
const existingEntry = yield (0, persistence_1.findByTypeId)(context.gitAdapter, context.getCurrentRef(), context.type.name, args.id);
|
|
25
|
-
const existingReferencedEntryIds = yield (0, entry_reference_util_1.getReferencedEntryIds)(
|
|
26
|
+
const existingReferencedEntryIds = yield (0, entry_reference_util_1.getReferencedEntryIds)(context.type, context, null, info.returnType, existingEntry.data);
|
|
26
27
|
const mergedData = mergeData((_a = existingEntry.data) !== null && _a !== void 0 ? _a : null, args.data);
|
|
27
|
-
const updatedReferencedEntryIds = yield (0, entry_reference_util_1.getReferencedEntryIds)(
|
|
28
|
+
const updatedReferencedEntryIds = yield (0, entry_reference_util_1.getReferencedEntryIds)(context.type, context, null, info.returnType, mergedData);
|
|
28
29
|
const noLongerReferencedIds = existingReferencedEntryIds.filter((entryId) => !updatedReferencedEntryIds.includes(entryId));
|
|
29
30
|
const newlyReferencedIds = updatedReferencedEntryIds.filter((entryId) => !existingReferencedEntryIds.includes(entryId));
|
|
30
31
|
const referencedEntryUpdates = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutation-update-resolver.js","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kEAAyE;AACzE,kFAA+E;AAC/E,qCAA4D;
|
|
1
|
+
{"version":3,"file":"mutation-update-resolver.js","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,13 +9,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.
|
|
12
|
+
exports.queryEveryResolver = void 0;
|
|
13
13
|
const persistence_1 = require("../../../persistence/persistence");
|
|
14
|
-
const
|
|
14
|
+
const queryEveryResolver = (obj, args, context, info) => __awaiter(void 0, void 0, void 0, function* () {
|
|
15
15
|
const entries = yield (0, persistence_1.findByType)(context.gitAdapter, context.getCurrentRef(), context.type.name);
|
|
16
16
|
return entries.map((entry) => {
|
|
17
17
|
return Object.assign(Object.assign({}, entry.data), { id: entry.id });
|
|
18
18
|
});
|
|
19
19
|
});
|
|
20
|
-
exports.
|
|
21
|
-
//# sourceMappingURL=query-
|
|
20
|
+
exports.queryEveryResolver = queryEveryResolver;
|
|
21
|
+
//# sourceMappingURL=query-every-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query-every-resolver.js","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/query-mutation-resolvers/query-every-resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,kEAA6D;AAItD,MAAM,kBAAkB,GAK3B,CAAO,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;IACrC,MAAM,OAAO,GAAG,MAAM,IAAA,wBAAU,EAC9B,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,aAAa,EAAE,EACvB,OAAO,CAAC,IAAI,CAAC,IAAI,CAClB,CAAA;IAED,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3B,uCAAY,KAAK,CAAC,IAAI,KAAE,EAAE,EAAE,KAAK,CAAC,EAAE,IAAE;IACxC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA,CAAA;AAfY,QAAA,kBAAkB,sBAe9B"}
|
|
@@ -19,6 +19,7 @@ const utils_1 = require("@graphql-tools/utils");
|
|
|
19
19
|
const union_type_resolver_1 = require("./resolvers/query-mutation-resolvers/union-type-resolver");
|
|
20
20
|
const schema_validator_1 = require("./schema-validator");
|
|
21
21
|
const object_type_field_default_value_resolver_generator_1 = require("./resolvers/object-type-field-default-value-resolver-generator");
|
|
22
|
+
const errors_1 = require("./errors");
|
|
22
23
|
function generateSchema(context) {
|
|
23
24
|
return __awaiter(this, void 0, void 0, function* () {
|
|
24
25
|
var _a, _b, _c;
|
|
@@ -28,7 +29,10 @@ function generateSchema(context) {
|
|
|
28
29
|
});
|
|
29
30
|
const validationResult = (0, schema_validator_1.getValidationResult)(schema);
|
|
30
31
|
if (validationResult.length > 0) {
|
|
31
|
-
throw
|
|
32
|
+
throw (0, errors_1.createError)(`Invalid schema.`, errors_1.ErrorCode.BAD_SCHEMA, {
|
|
33
|
+
schema: (0, utils_1.printSchemaWithDirectives)(schema),
|
|
34
|
+
argumentValue: validationResult.join('\n'),
|
|
35
|
+
});
|
|
32
36
|
}
|
|
33
37
|
const schemaAnalyzerResult = (0, schema_analyzer_1.analyzeSchema)(schema);
|
|
34
38
|
const filteredOriginalSchemaString = (0, utils_1.printSchemaWithDirectives)(schema) + '\n';
|
|
@@ -55,7 +59,8 @@ ${generatedSchemaRootTypeStrings}`;
|
|
|
55
59
|
const generatedQueryResolvers = {};
|
|
56
60
|
const generatedMutationResolvers = {};
|
|
57
61
|
for (const element of generatedQueriesMutations) {
|
|
58
|
-
generatedQueryResolvers[element.
|
|
62
|
+
generatedQueryResolvers[element.queryEvery.name] =
|
|
63
|
+
element.queryEvery.resolver;
|
|
59
64
|
generatedQueryResolvers[element.queryById.name] = element.queryById.resolver;
|
|
60
65
|
generatedMutationResolvers[element.createMutation.name] =
|
|
61
66
|
element.createMutation.resolver;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-generator.js","sourceRoot":"","sources":["../../../src/graphql/schema-generator.ts"],"names":[],"mappings":";;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"schema-generator.js","sourceRoot":"","sources":["../../../src/graphql/schema-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ exports.generateSchemaRootTypeStrings = generateSchemaRootTypeStrings;
|
|
|
4
4
|
function generateSchemaRootTypeStrings(generatedSchemas, typeQuery) {
|
|
5
5
|
return (`type Query {\n` +
|
|
6
6
|
generatedSchemas
|
|
7
|
-
.map((generated) => ' ' + generated.
|
|
7
|
+
.map((generated) => ' ' + generated.queryEvery.schemaString)
|
|
8
8
|
.join('\n') +
|
|
9
9
|
'\n' +
|
|
10
10
|
generatedSchemas
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-root-type-generator.js","sourceRoot":"","sources":["../../../src/graphql/schema-root-type-generator.ts"],"names":[],"mappings":";;AAEA,sEAgCC;AAhCD,SAAgB,6BAA6B,CAC3C,gBAAmC,EACnC,SAA0C;IAE1C,OAAO,CACL,gBAAgB;QAChB,gBAAgB;aACb,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,GAAG,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"schema-root-type-generator.js","sourceRoot":"","sources":["../../../src/graphql/schema-root-type-generator.ts"],"names":[],"mappings":";;AAEA,sEAgCC;AAhCD,SAAgB,6BAA6B,CAC3C,gBAAmC,EACnC,SAA0C;IAE1C,OAAO,CACL,gBAAgB;QAChB,gBAAgB;aACb,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC;aAC5D,IAAI,CAAC,IAAI,CAAC;QACb,IAAI;QACJ,gBAAgB;aACb,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC;aAC3D,IAAI,CAAC,IAAI,CAAC;QACb,IAAI;QACJ,KAAK,SAAS,CAAC,YAAY,EAAE;QAC7B,IAAI;QACJ,OAAO;QACP,mBAAmB;QACnB,gBAAgB;aACb,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,GAAG,SAAS,CAAC,cAAc,CAAC,YAAY,CAAC;aAChE,IAAI,CAAC,IAAI,CAAC;QACb,IAAI;QACJ,gBAAgB;aACb,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,GAAG,SAAS,CAAC,cAAc,CAAC,YAAY,CAAC;aAChE,IAAI,CAAC,IAAI,CAAC;QACb,IAAI;QACJ,gBAAgB;aACb,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,GAAG,SAAS,CAAC,cAAc,CAAC,YAAY,CAAC;aAChE,IAAI,CAAC,IAAI,CAAC;QACb,IAAI;QACJ,KAAK,CACN,CAAA;AACH,CAAC"}
|
|
@@ -14,6 +14,7 @@ const graphql_1 = require("graphql");
|
|
|
14
14
|
const persistence_1 = require("../../persistence/persistence");
|
|
15
15
|
const union_type_util_1 = require("./union-type-util");
|
|
16
16
|
const entry_type_util_1 = require("./entry-type-util");
|
|
17
|
+
const errors_1 = require("../errors");
|
|
17
18
|
function isPermittedReferenceType(referencedTypeName, fieldType) {
|
|
18
19
|
if ((0, graphql_1.isNonNullType)(fieldType)) {
|
|
19
20
|
return isPermittedReferenceType(referencedTypeName, fieldType.ofType);
|
|
@@ -40,7 +41,10 @@ function validateReference(context, fieldName, fieldType, fieldValue) {
|
|
|
40
41
|
}
|
|
41
42
|
else if ((0, graphql_1.isListType)(fieldType)) {
|
|
42
43
|
if (!Array.isArray(fieldValue)) {
|
|
43
|
-
throw
|
|
44
|
+
throw (0, errors_1.createError)(`Expected array while validation references for field "${fieldName}".`, errors_1.ErrorCode.SCHEMA_DATA_MISMATCH, {
|
|
45
|
+
fieldName: fieldName,
|
|
46
|
+
fieldValue: fieldValue,
|
|
47
|
+
});
|
|
44
48
|
}
|
|
45
49
|
for (const fieldListElement of fieldValue) {
|
|
46
50
|
yield validateReference(context, fieldName, fieldType.ofType, fieldListElement);
|
|
@@ -49,7 +53,10 @@ function validateReference(context, fieldName, fieldType, fieldValue) {
|
|
|
49
53
|
}
|
|
50
54
|
else if ((0, graphql_1.isUnionType)(fieldType) || (0, graphql_1.isObjectType)(fieldType)) {
|
|
51
55
|
if (!('id' in fieldValue)) {
|
|
52
|
-
throw
|
|
56
|
+
throw (0, errors_1.createError)(`Expected key "id" in data while validating reference for field "${fieldName}".`, errors_1.ErrorCode.SCHEMA_DATA_MISMATCH, {
|
|
57
|
+
fieldName: fieldName,
|
|
58
|
+
fieldValue: fieldValue,
|
|
59
|
+
});
|
|
53
60
|
}
|
|
54
61
|
const referencedId = fieldValue.id;
|
|
55
62
|
let referencedTypeName;
|
|
@@ -57,19 +64,15 @@ function validateReference(context, fieldName, fieldType, fieldValue) {
|
|
|
57
64
|
referencedTypeName = yield (0, persistence_1.getTypeById)(context.gitAdapter, context.getCurrentRef(), referencedId);
|
|
58
65
|
}
|
|
59
66
|
catch (error) {
|
|
60
|
-
throw
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
fieldName: fieldName,
|
|
64
|
-
},
|
|
67
|
+
throw (0, errors_1.createError)(`Failed to resolve entry reference "${referencedId}".`, errors_1.ErrorCode.BAD_USER_INPUT, {
|
|
68
|
+
fieldName: fieldName,
|
|
69
|
+
fieldValue: referencedId,
|
|
65
70
|
});
|
|
66
71
|
}
|
|
67
72
|
if (!isPermittedReferenceType(referencedTypeName, fieldType)) {
|
|
68
|
-
throw
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
fieldName: fieldName,
|
|
72
|
-
},
|
|
73
|
+
throw (0, errors_1.createError)(`Reference with ID "${referencedId}" points to entry of incompatible type "${referencedTypeName}".`, errors_1.ErrorCode.BAD_USER_INPUT, {
|
|
74
|
+
fieldName: fieldName,
|
|
75
|
+
fieldValue: referencedId,
|
|
73
76
|
});
|
|
74
77
|
}
|
|
75
78
|
}
|
|
@@ -98,15 +101,20 @@ function getReferencedEntryIds(rootType, context, fieldName, type, data) {
|
|
|
98
101
|
yield validateReference(context, '', type, data);
|
|
99
102
|
return [data.id];
|
|
100
103
|
}
|
|
101
|
-
const
|
|
102
|
-
const
|
|
104
|
+
const requestedUnionTypeName = (0, union_type_util_1.getUnionTypeNameFromFieldValue)(data);
|
|
105
|
+
const concreteFieldUnionType = type
|
|
103
106
|
.getTypes()
|
|
104
|
-
.find((
|
|
105
|
-
if (!
|
|
106
|
-
throw
|
|
107
|
+
.find((concreteFieldType) => concreteFieldType.name === requestedUnionTypeName);
|
|
108
|
+
if (!concreteFieldUnionType) {
|
|
109
|
+
throw (0, errors_1.createError)(`Type "${requestedUnionTypeName}" found in field data is not a valid type for ` +
|
|
110
|
+
`union type "${type.name}".`, errors_1.ErrorCode.BAD_REPOSITORY_DATA, {
|
|
111
|
+
typeName: type.name,
|
|
112
|
+
fieldName: fieldName ? fieldName : undefined,
|
|
113
|
+
fieldValue: data,
|
|
114
|
+
});
|
|
107
115
|
}
|
|
108
116
|
const unionValue = (0, union_type_util_1.getUnionValue)(data);
|
|
109
|
-
return getReferencedEntryIds(rootType, context, fieldName,
|
|
117
|
+
return getReferencedEntryIds(rootType, context, fieldName, concreteFieldUnionType, unionValue);
|
|
110
118
|
}
|
|
111
119
|
else if ((0, graphql_1.isObjectType)(type)) {
|
|
112
120
|
if (type.name !== rootType.name && (0, entry_type_util_1.hasEntryDirective)(type)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry-reference-util.js","sourceRoot":"","sources":["../../../../src/graphql/schema-utils/entry-reference-util.ts"],"names":[],"mappings":";;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"entry-reference-util.js","sourceRoot":"","sources":["../../../../src/graphql/schema-utils/entry-reference-util.ts"],"names":[],"mappings":"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"}
|