@commitspark/graphql-api 1.0.0-beta.3 → 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 +16 -0
- package/README.md +42 -7
- package/dist/cjs/client.js +16 -14
- package/dist/cjs/client.js.map +1 -1
- package/dist/cjs/graphql/errors.js +1 -11
- package/dist/cjs/graphql/errors.js.map +1 -1
- package/dist/cjs/graphql/resolvers/field-resolvers/entry-reference-resolver.js +3 -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.js +5 -15
- 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 +9 -11
- 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 +6 -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 +7 -7
- 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 +2 -2
- package/dist/cjs/graphql/schema-generator.js.map +1 -1
- package/dist/cjs/graphql/schema-utils/entry-reference-util.js +7 -7
- package/dist/cjs/graphql/schema-utils/entry-reference-util.js.map +1 -1
- 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.js +1 -1
- package/dist/cjs/graphql/schema-validator.js.map +1 -1
- package/dist/cjs/index.js +4 -5
- 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 +15 -22
- 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/errors.js +0 -10
- package/dist/esm/graphql/errors.js.map +1 -1
- package/dist/esm/graphql/resolvers/field-resolvers/entry-reference-resolver.js +4 -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.js +6 -8
- 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 +10 -12
- 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 +7 -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 +8 -8
- 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 +3 -3
- package/dist/esm/graphql/schema-generator.js.map +1 -1
- package/dist/esm/graphql/schema-utils/entry-reference-util.js +8 -8
- package/dist/esm/graphql/schema-utils/entry-reference-util.js.map +1 -1
- 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.js +1 -1
- package/dist/esm/graphql/schema-validator.js.map +1 -1
- package/dist/esm/index.js +4 -4
- 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 +15 -23
- 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/errors.d.ts +3 -2
- package/dist/types/graphql/errors.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/errors.ts +3 -2
- 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 +22 -30
|
@@ -2,27 +2,25 @@ import { findById, findByTypeId } from '../../../persistence/persistence';
|
|
|
2
2
|
import { isObjectType } from 'graphql';
|
|
3
3
|
import { getReferencedEntryIds } from '../../schema-utils/entry-reference-util';
|
|
4
4
|
import { ENTRY_ID_INVALID_CHARACTERS, } from '@commitspark/git-adapter';
|
|
5
|
-
import { createError
|
|
5
|
+
import { createError } from '../../errors';
|
|
6
6
|
export const mutationCreateResolver = async (source, args, context, info) => {
|
|
7
7
|
if (!isObjectType(context.type)) {
|
|
8
|
-
throw createError(`Entry of type "${context.type.name}" cannot be created as is not an ObjectType.`, ErrorCode.INTERNAL_ERROR
|
|
8
|
+
throw createError(`Entry of type "${context.type.name}" cannot be created as is not an ObjectType.`, "INTERNAL_ERROR" /* ErrorCode.INTERNAL_ERROR */, {});
|
|
9
9
|
}
|
|
10
10
|
const idValidationResult = args.id.match(ENTRY_ID_INVALID_CHARACTERS);
|
|
11
11
|
if (idValidationResult) {
|
|
12
|
-
throw createError(`Field "id" contains invalid characters "${idValidationResult.join(', ')}".`, ErrorCode.BAD_USER_INPUT
|
|
12
|
+
throw createError(`Field "id" contains invalid characters "${idValidationResult.join(', ')}".`, "BAD_USER_INPUT" /* ErrorCode.BAD_USER_INPUT */, {
|
|
13
13
|
argumentName: 'id',
|
|
14
14
|
argumentValue: args.id,
|
|
15
15
|
});
|
|
16
16
|
}
|
|
17
17
|
let existingEntry;
|
|
18
18
|
try {
|
|
19
|
-
existingEntry = await findById(context
|
|
20
|
-
}
|
|
21
|
-
catch (_) {
|
|
22
|
-
/* empty */
|
|
19
|
+
existingEntry = await findById(context, args.id);
|
|
23
20
|
}
|
|
21
|
+
catch { }
|
|
24
22
|
if (existingEntry) {
|
|
25
|
-
throw createError(`An entry with id "${args.id}" already exists.`, ErrorCode.BAD_USER_INPUT
|
|
23
|
+
throw createError(`An entry with id "${args.id}" already exists.`, "BAD_USER_INPUT" /* ErrorCode.BAD_USER_INPUT */, {
|
|
26
24
|
argumentName: 'id',
|
|
27
25
|
argumentValue: args.id,
|
|
28
26
|
});
|
|
@@ -30,7 +28,7 @@ export const mutationCreateResolver = async (source, args, context, info) => {
|
|
|
30
28
|
const referencedEntryIds = await getReferencedEntryIds(context.type, context, null, info.returnType, args.data);
|
|
31
29
|
const referencedEntryUpdates = [];
|
|
32
30
|
for (const referencedEntryId of referencedEntryIds) {
|
|
33
|
-
const referencedEntry = await findById(context
|
|
31
|
+
const referencedEntry = await findById(context, referencedEntryId);
|
|
34
32
|
const newReferencedEntryIds = [
|
|
35
33
|
...(referencedEntry.metadata.referencedBy ?? []),
|
|
36
34
|
args.id,
|
|
@@ -56,12 +54,12 @@ export const mutationCreateResolver = async (source, args, context, info) => {
|
|
|
56
54
|
};
|
|
57
55
|
const commit = await context.gitAdapter.createCommit({
|
|
58
56
|
ref: context.branch,
|
|
59
|
-
parentSha: context.
|
|
57
|
+
parentSha: context.getCurrentHash(),
|
|
60
58
|
entries: [newEntryDraft, ...referencedEntryUpdates],
|
|
61
59
|
message: args.commitMessage,
|
|
62
60
|
});
|
|
63
|
-
context.
|
|
64
|
-
const newEntry = await findByTypeId(context
|
|
61
|
+
context.setCurrentHash(commit.ref);
|
|
62
|
+
const newEntry = await findByTypeId(context, context.type.name, args.id);
|
|
65
63
|
return { ...newEntry.data, id: newEntry.id };
|
|
66
64
|
};
|
|
67
65
|
//# sourceMappingURL=mutation-create-resolver.js.map
|
|
@@ -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,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AACzE,OAAO,EAAwB,YAAY,EAAE,MAAM,SAAS,CAAA;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAA;AAC/E,OAAO,EACL,2BAA2B,GAG5B,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EAAE,WAAW,
|
|
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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"}
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
import { findById, findByTypeId } from '../../../persistence/persistence';
|
|
2
2
|
import { getReferencedEntryIds } from '../../schema-utils/entry-reference-util';
|
|
3
3
|
import { isObjectType } from 'graphql';
|
|
4
|
-
import { createError
|
|
4
|
+
import { createError } from '../../errors';
|
|
5
5
|
export const mutationDeleteResolver = async (source, args, context, info) => {
|
|
6
|
-
const entry = await findByTypeId(context
|
|
6
|
+
const entry = await findByTypeId(context, context.type.name, args.id);
|
|
7
7
|
if (entry.metadata.referencedBy && entry.metadata.referencedBy.length > 0) {
|
|
8
8
|
const otherIds = entry.metadata.referencedBy
|
|
9
9
|
.map((referenceId) => `"${referenceId}"`)
|
|
10
10
|
.join(', ');
|
|
11
|
-
throw createError(`Entry with ID "${args.id}" is still referenced by entries [${otherIds}].`, ErrorCode.IN_USE
|
|
11
|
+
throw createError(`Entry with ID "${args.id}" is still referenced by entries [${otherIds}].`, "IN_USE" /* ErrorCode.IN_USE */, {
|
|
12
12
|
argumentName: 'id',
|
|
13
13
|
argumentValue: args.id,
|
|
14
14
|
});
|
|
15
15
|
}
|
|
16
16
|
const entryType = info.schema.getType(context.type.name);
|
|
17
17
|
if (!isObjectType(entryType)) {
|
|
18
|
-
throw createError(`Type "${context.type.name}" is not an ObjectType.`, ErrorCode.INTERNAL_ERROR
|
|
18
|
+
throw createError(`Type "${context.type.name}" is not an ObjectType.`, "INTERNAL_ERROR" /* ErrorCode.INTERNAL_ERROR */, {});
|
|
19
19
|
}
|
|
20
20
|
const referencedEntryIds = await getReferencedEntryIds(entryType, context, null, entryType, entry.data);
|
|
21
21
|
const referencedEntryUpdates = [];
|
|
22
22
|
for (const referencedEntryId of referencedEntryIds) {
|
|
23
|
-
const noLongerReferencedEntry = await findById(context
|
|
23
|
+
const noLongerReferencedEntry = await findById(context, referencedEntryId);
|
|
24
24
|
referencedEntryUpdates.push({
|
|
25
25
|
...noLongerReferencedEntry,
|
|
26
26
|
metadata: {
|
|
@@ -32,7 +32,7 @@ export const mutationDeleteResolver = async (source, args, context, info) => {
|
|
|
32
32
|
}
|
|
33
33
|
const commit = await context.gitAdapter.createCommit({
|
|
34
34
|
ref: context.branch,
|
|
35
|
-
parentSha: context.
|
|
35
|
+
parentSha: context.getCurrentHash(),
|
|
36
36
|
entries: [
|
|
37
37
|
{
|
|
38
38
|
...entry,
|
|
@@ -42,7 +42,7 @@ export const mutationDeleteResolver = async (source, args, context, info) => {
|
|
|
42
42
|
],
|
|
43
43
|
message: args.commitMessage,
|
|
44
44
|
});
|
|
45
|
-
context.
|
|
45
|
+
context.setCurrentHash(commit.ref);
|
|
46
46
|
return args.id;
|
|
47
47
|
};
|
|
48
48
|
//# sourceMappingURL=mutation-delete-resolver.js.map
|
|
@@ -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,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAEzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAA;AAC/E,OAAO,EAAwB,YAAY,EAAE,MAAM,SAAS,CAAA;AAE5D,OAAO,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"mutation-delete-resolver.js","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAEzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAA;AAC/E,OAAO,EAAwB,YAAY,EAAE,MAAM,SAAS,CAAA;AAE5D,OAAO,EAAE,WAAW,EAAa,MAAM,cAAc,CAAA;AAErD,MAAM,CAAC,MAAM,sBAAsB,GAK/B,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;IACxC,MAAM,KAAK,GAAU,MAAM,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;IAE5E,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,WAAW,CACf,kBAAkB,IAAI,CAAC,EAAE,qCAAqC,QAAQ,IAAI,mCAE1E;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,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,MAAM,WAAW,CACf,SAAS,OAAO,CAAC,IAAI,CAAC,IAAI,yBAAyB,mDAEnD,EAAE,CACH,CAAA;IACH,CAAC;IAED,MAAM,kBAAkB,GAAG,MAAM,qBAAqB,CACpD,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,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAA;QAC1E,sBAAsB,CAAC,IAAI,CAAC;YAC1B,GAAG,uBAAuB;YAC1B,QAAQ,EAAE;gBACR,GAAG,uBAAuB,CAAC,QAAQ;gBACnC,YAAY,EAAE,uBAAuB,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CACjE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC,EAAE,CACjC;aACF;YACD,QAAQ,EAAE,KAAK;SAChB,CAAC,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,cAAc,EAAE;QACnC,OAAO,EAAE;YACP;gBACE,GAAG,KAAK;gBACR,QAAQ,EAAE,IAAI;aACf;YACD,GAAG,sBAAsB;SAC1B;QACD,OAAO,EAAE,IAAI,CAAC,aAAa;KAC5B,CAAC,CAAA;IACF,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAElC,OAAO,IAAI,CAAC,EAAE,CAAA;AAChB,CAAC,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { findById, findByTypeId } from '../../../persistence/persistence';
|
|
2
2
|
import { getReferencedEntryIds } from '../../schema-utils/entry-reference-util';
|
|
3
3
|
import { isObjectType } from 'graphql';
|
|
4
|
-
import { createError
|
|
4
|
+
import { createError } from '../../errors';
|
|
5
5
|
function mergeData(existingEntryData, updateData) {
|
|
6
6
|
return {
|
|
7
7
|
...existingEntryData,
|
|
@@ -10,9 +10,9 @@ function mergeData(existingEntryData, updateData) {
|
|
|
10
10
|
}
|
|
11
11
|
export const mutationUpdateResolver = async (source, args, context, info) => {
|
|
12
12
|
if (!isObjectType(context.type)) {
|
|
13
|
-
throw createError(`Type "${context.type.name}" cannot be mutated as is not an ObjectType.`, ErrorCode.INTERNAL_ERROR
|
|
13
|
+
throw createError(`Type "${context.type.name}" cannot be mutated as is not an ObjectType.`, "INTERNAL_ERROR" /* ErrorCode.INTERNAL_ERROR */, {});
|
|
14
14
|
}
|
|
15
|
-
const existingEntry = await findByTypeId(context
|
|
15
|
+
const existingEntry = await findByTypeId(context, context.type.name, args.id);
|
|
16
16
|
const existingReferencedEntryIds = await getReferencedEntryIds(context.type, context, null, info.returnType, existingEntry.data);
|
|
17
17
|
const mergedData = mergeData(existingEntry.data ?? null, args.data);
|
|
18
18
|
const updatedReferencedEntryIds = await getReferencedEntryIds(context.type, context, null, info.returnType, mergedData);
|
|
@@ -20,7 +20,7 @@ export const mutationUpdateResolver = async (source, args, context, info) => {
|
|
|
20
20
|
const newlyReferencedIds = updatedReferencedEntryIds.filter((entryId) => !existingReferencedEntryIds.includes(entryId));
|
|
21
21
|
const referencedEntryUpdates = [];
|
|
22
22
|
for (const noLongerReferencedEntryId of noLongerReferencedIds) {
|
|
23
|
-
const noLongerReferencedEntry = await findById(context
|
|
23
|
+
const noLongerReferencedEntry = await findById(context, noLongerReferencedEntryId);
|
|
24
24
|
referencedEntryUpdates.push({
|
|
25
25
|
...noLongerReferencedEntry,
|
|
26
26
|
metadata: {
|
|
@@ -31,7 +31,7 @@ export const mutationUpdateResolver = async (source, args, context, info) => {
|
|
|
31
31
|
});
|
|
32
32
|
}
|
|
33
33
|
for (const newlyReferencedEntryId of newlyReferencedIds) {
|
|
34
|
-
const newlyReferencedEntry = await findById(context
|
|
34
|
+
const newlyReferencedEntry = await findById(context, newlyReferencedEntryId);
|
|
35
35
|
const updatedReferenceList = newlyReferencedEntry.metadata.referencedBy ?? [];
|
|
36
36
|
updatedReferenceList.push(args.id);
|
|
37
37
|
updatedReferenceList.sort();
|
|
@@ -46,15 +46,15 @@ export const mutationUpdateResolver = async (source, args, context, info) => {
|
|
|
46
46
|
}
|
|
47
47
|
const commit = await context.gitAdapter.createCommit({
|
|
48
48
|
ref: context.branch,
|
|
49
|
-
parentSha: context.
|
|
49
|
+
parentSha: context.getCurrentHash(),
|
|
50
50
|
entries: [
|
|
51
51
|
{ ...existingEntry, data: mergedData, deletion: false },
|
|
52
52
|
...referencedEntryUpdates,
|
|
53
53
|
],
|
|
54
54
|
message: args.commitMessage,
|
|
55
55
|
});
|
|
56
|
-
context.
|
|
57
|
-
const updatedEntry = await findByTypeId(context
|
|
56
|
+
context.setCurrentHash(commit.ref);
|
|
57
|
+
const updatedEntry = await findByTypeId(context, context.type.name, args.id);
|
|
58
58
|
return { ...updatedEntry.data, id: updatedEntry.id };
|
|
59
59
|
};
|
|
60
60
|
//# sourceMappingURL=mutation-update-resolver.js.map
|
|
@@ -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,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAA;AAC/E,OAAO,EAAwB,YAAY,EAAE,MAAM,SAAS,CAAA;AAG5D,OAAO,EAAE,WAAW,
|
|
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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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { findByTypeId } from '../../../persistence/persistence';
|
|
2
|
-
export const queryByIdResolver = async (
|
|
3
|
-
|
|
2
|
+
export const queryByIdResolver = async (_obj, args, context, info) => {
|
|
3
|
+
void info;
|
|
4
|
+
const entry = await findByTypeId(context, context.type.name, args.id);
|
|
4
5
|
return { ...entry.data, id: entry.id };
|
|
5
6
|
};
|
|
6
7
|
//# sourceMappingURL=query-by-id-resolver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-by-id-resolver.js","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAI/D,MAAM,CAAC,MAAM,iBAAiB,GAK1B,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"query-by-id-resolver.js","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAI/D,MAAM,CAAC,MAAM,iBAAiB,GAK1B,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;IACtC,KAAK,IAAI,CAAA;IACT,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;IAErE,OAAO,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAA;AACxC,CAAC,CAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { findByType } from '../../../persistence/persistence';
|
|
2
|
-
export const queryEveryResolver = async (
|
|
3
|
-
|
|
2
|
+
export const queryEveryResolver = async (_obj, _args, context, info) => {
|
|
3
|
+
void info;
|
|
4
|
+
const entries = await findByType(context, context.type.name);
|
|
4
5
|
return entries.map((entry) => {
|
|
5
6
|
return { ...entry.data, id: entry.id };
|
|
6
7
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-every-resolver.js","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/query-mutation-resolvers/query-every-resolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAA;AAI7D,MAAM,CAAC,MAAM,kBAAkB,GAK3B,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"query-every-resolver.js","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/query-mutation-resolvers/query-every-resolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAA;AAI7D,MAAM,CAAC,MAAM,kBAAkB,GAK3B,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;IACvC,KAAK,IAAI,CAAA;IACT,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAE5D,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3B,OAAO,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAA;IACxC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { getTypeById } from '../../../persistence/persistence';
|
|
2
|
-
export const queryTypeByIdResolver = async (
|
|
3
|
-
|
|
2
|
+
export const queryTypeByIdResolver = async (_source, args, context, info) => {
|
|
3
|
+
void info;
|
|
4
|
+
return getTypeById(context, args.id);
|
|
4
5
|
};
|
|
5
6
|
//# sourceMappingURL=query-type-by-id-resolver.js.map
|
package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-type-by-id-resolver.js","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AAI9D,MAAM,CAAC,MAAM,qBAAqB,GAK9B,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"query-type-by-id-resolver.js","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AAI9D,MAAM,CAAC,MAAM,qBAAqB,GAK9B,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;IACzC,KAAK,IAAI,CAAA;IACT,OAAO,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;AACtC,CAAC,CAAA"}
|
|
@@ -2,7 +2,7 @@ import { getTypeById } from '../../../persistence/persistence';
|
|
|
2
2
|
import { buildsOnTypeWithEntryDirective } from '../../schema-utils/entry-type-util';
|
|
3
3
|
export const unionTypeResolver = async (obj, context, info, abstractType) => {
|
|
4
4
|
if (buildsOnTypeWithEntryDirective(abstractType)) {
|
|
5
|
-
return getTypeById(context
|
|
5
|
+
return getTypeById(context, obj.id);
|
|
6
6
|
}
|
|
7
7
|
else {
|
|
8
8
|
// We have injected an internal `__typename` field into the data of fields pointing to a non-entry union
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"union-type-resolver.js","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/query-mutation-resolvers/union-type-resolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AAE9D,OAAO,EAAE,8BAA8B,EAAE,MAAM,oCAAoC,CAAA;AAEnF,MAAM,CAAC,MAAM,iBAAiB,GAG1B,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE;IAC7C,IAAI,8BAA8B,CAAC,YAAY,CAAC,EAAE,CAAC;QACjD,OAAO,WAAW,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"union-type-resolver.js","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/query-mutation-resolvers/union-type-resolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AAE9D,OAAO,EAAE,8BAA8B,EAAE,MAAM,oCAAoC,CAAA;AAEnF,MAAM,CAAC,MAAM,iBAAiB,GAG1B,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE;IAC7C,IAAI,8BAA8B,CAAC,YAAY,CAAC,EAAE,CAAC;QACjD,OAAO,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;IACrC,CAAC;SAAM,CAAC;QACN,wGAAwG;QACxG,wFAAwF;QACxF,OAAO,GAAG,CAAC,UAAU,CAAA;IACvB,CAAC;IAED,iIAAiI;AACnI,CAAC,CAAA"}
|
|
@@ -7,15 +7,15 @@ import { printSchemaWithDirectives } from '@graphql-tools/utils';
|
|
|
7
7
|
import { unionTypeResolver } from './resolvers/query-mutation-resolvers/union-type-resolver';
|
|
8
8
|
import { getValidationResult } from './schema-validator';
|
|
9
9
|
import { createObjectTypeFieldResolvers } from './resolvers/object-type-field-default-value-resolver-generator';
|
|
10
|
-
import { createError
|
|
10
|
+
import { createError } from './errors';
|
|
11
11
|
export async function generateSchema(context) {
|
|
12
|
-
const originalSchemaString = await context.
|
|
12
|
+
const originalSchemaString = await context.repositoryCache.getSchema(context, context.getCurrentHash());
|
|
13
13
|
const schema = makeExecutableSchema({
|
|
14
14
|
typeDefs: originalSchemaString,
|
|
15
15
|
});
|
|
16
16
|
const validationResult = getValidationResult(schema);
|
|
17
17
|
if (validationResult.length > 0) {
|
|
18
|
-
throw createError(`Invalid schema.`, ErrorCode.BAD_SCHEMA
|
|
18
|
+
throw createError(`Invalid schema.`, "BAD_SCHEMA" /* ErrorCode.BAD_SCHEMA */, {
|
|
19
19
|
schema: printSchemaWithDirectives(schema),
|
|
20
20
|
argumentValue: validationResult.join('\n'),
|
|
21
21
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-generator.js","sourceRoot":"","sources":["../../../src/graphql/schema-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAEL,oBAAoB,GACrB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,EAC9B,6BAA6B,GAC9B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAA;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAA;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0DAA0D,CAAA;AAG5F,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAExD,OAAO,EAAE,8BAA8B,EAAE,MAAM,gEAAgE,CAAA;AAC/G,OAAO,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"schema-generator.js","sourceRoot":"","sources":["../../../src/graphql/schema-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { isListType, isNonNullType, isObjectType, isUnionType, } from 'graphql';
|
|
|
2
2
|
import { getTypeById } from '../../persistence/persistence';
|
|
3
3
|
import { getUnionTypeNameFromFieldValue, getUnionValue, } from './union-type-util';
|
|
4
4
|
import { hasEntryDirective, isUnionOfEntryTypes } from './entry-type-util';
|
|
5
|
-
import { createError
|
|
5
|
+
import { createError } from '../errors';
|
|
6
6
|
function isPermittedReferenceType(referencedTypeName, fieldType) {
|
|
7
7
|
if (isNonNullType(fieldType)) {
|
|
8
8
|
return isPermittedReferenceType(referencedTypeName, fieldType.ofType);
|
|
@@ -28,7 +28,7 @@ async function validateReference(context, fieldName, fieldType, fieldValue) {
|
|
|
28
28
|
}
|
|
29
29
|
else if (isListType(fieldType)) {
|
|
30
30
|
if (!Array.isArray(fieldValue)) {
|
|
31
|
-
throw createError(`Expected array while validation references for field "${fieldName}".`, ErrorCode.SCHEMA_DATA_MISMATCH
|
|
31
|
+
throw createError(`Expected array while validation references for field "${fieldName}".`, "SCHEMA_DATA_MISMATCH" /* ErrorCode.SCHEMA_DATA_MISMATCH */, {
|
|
32
32
|
fieldName: fieldName,
|
|
33
33
|
fieldValue: fieldValue,
|
|
34
34
|
});
|
|
@@ -40,7 +40,7 @@ async function validateReference(context, fieldName, fieldType, fieldValue) {
|
|
|
40
40
|
}
|
|
41
41
|
else if (isUnionType(fieldType) || isObjectType(fieldType)) {
|
|
42
42
|
if (!('id' in fieldValue)) {
|
|
43
|
-
throw createError(`Expected key "id" in data while validating reference for field "${fieldName}".`, ErrorCode.SCHEMA_DATA_MISMATCH
|
|
43
|
+
throw createError(`Expected key "id" in data while validating reference for field "${fieldName}".`, "SCHEMA_DATA_MISMATCH" /* ErrorCode.SCHEMA_DATA_MISMATCH */, {
|
|
44
44
|
fieldName: fieldName,
|
|
45
45
|
fieldValue: fieldValue,
|
|
46
46
|
});
|
|
@@ -48,16 +48,16 @@ async function validateReference(context, fieldName, fieldType, fieldValue) {
|
|
|
48
48
|
const referencedId = fieldValue.id;
|
|
49
49
|
let referencedTypeName;
|
|
50
50
|
try {
|
|
51
|
-
referencedTypeName = await getTypeById(context
|
|
51
|
+
referencedTypeName = await getTypeById(context, referencedId);
|
|
52
52
|
}
|
|
53
|
-
catch
|
|
54
|
-
throw createError(`Failed to resolve entry reference "${referencedId}".`, ErrorCode.BAD_USER_INPUT
|
|
53
|
+
catch {
|
|
54
|
+
throw createError(`Failed to resolve entry reference "${referencedId}".`, "BAD_USER_INPUT" /* ErrorCode.BAD_USER_INPUT */, {
|
|
55
55
|
fieldName: fieldName,
|
|
56
56
|
fieldValue: referencedId,
|
|
57
57
|
});
|
|
58
58
|
}
|
|
59
59
|
if (!isPermittedReferenceType(referencedTypeName, fieldType)) {
|
|
60
|
-
throw createError(`Reference with ID "${referencedId}" points to entry of incompatible type "${referencedTypeName}".`, ErrorCode.BAD_USER_INPUT
|
|
60
|
+
throw createError(`Reference with ID "${referencedId}" points to entry of incompatible type "${referencedTypeName}".`, "BAD_USER_INPUT" /* ErrorCode.BAD_USER_INPUT */, {
|
|
61
61
|
fieldName: fieldName,
|
|
62
62
|
fieldValue: referencedId,
|
|
63
63
|
});
|
|
@@ -91,7 +91,7 @@ export async function getReferencedEntryIds(rootType, context, fieldName, type,
|
|
|
91
91
|
.find((concreteFieldType) => concreteFieldType.name === requestedUnionTypeName);
|
|
92
92
|
if (!concreteFieldUnionType) {
|
|
93
93
|
throw createError(`Type "${requestedUnionTypeName}" found in field data is not a valid type for ` +
|
|
94
|
-
`union type "${type.name}".`, ErrorCode.BAD_REPOSITORY_DATA
|
|
94
|
+
`union type "${type.name}".`, "BAD_REPOSITORY_DATA" /* ErrorCode.BAD_REPOSITORY_DATA */, {
|
|
95
95
|
typeName: type.name,
|
|
96
96
|
fieldName: fieldName ? fieldName : undefined,
|
|
97
97
|
fieldValue: data,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry-reference-util.js","sourceRoot":"","sources":["../../../../src/graphql/schema-utils/entry-reference-util.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,UAAU,EACV,aAAa,EACb,YAAY,EACZ,WAAW,GACZ,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,EACL,8BAA8B,EAC9B,aAAa,GACd,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAC1E,OAAO,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"entry-reference-util.js","sourceRoot":"","sources":["../../../../src/graphql/schema-utils/entry-reference-util.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { createError
|
|
1
|
+
import { createError } from '../errors';
|
|
2
2
|
export function getUnionTypeNameFromFieldValue(fieldValue) {
|
|
3
3
|
if (typeof fieldValue !== 'object' || fieldValue === null) {
|
|
4
|
-
throw createError(`Expected object value in order to determine union type name.`, ErrorCode.BAD_REPOSITORY_DATA
|
|
4
|
+
throw createError(`Expected object value in order to determine union type name.`, "BAD_REPOSITORY_DATA" /* ErrorCode.BAD_REPOSITORY_DATA */, {
|
|
5
5
|
fieldValue: fieldValue,
|
|
6
6
|
});
|
|
7
7
|
}
|
|
@@ -11,7 +11,7 @@ export function getUnionTypeNameFromFieldValue(fieldValue) {
|
|
|
11
11
|
}
|
|
12
12
|
export function getUnionValue(fieldValue) {
|
|
13
13
|
if (typeof fieldValue !== 'object' || fieldValue === null) {
|
|
14
|
-
throw createError(`Expected object value in order to determine union value.`, ErrorCode.BAD_REPOSITORY_DATA
|
|
14
|
+
throw createError(`Expected object value in order to determine union value.`, "BAD_REPOSITORY_DATA" /* ErrorCode.BAD_REPOSITORY_DATA */, {
|
|
15
15
|
fieldValue: fieldValue,
|
|
16
16
|
});
|
|
17
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"union-type-util.js","sourceRoot":"","sources":["../../../../src/graphql/schema-utils/union-type-util.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"union-type-util.js","sourceRoot":"","sources":["../../../../src/graphql/schema-utils/union-type-util.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAa,MAAM,WAAW,CAAA;AAElD,MAAM,UAAU,8BAA8B,CAAC,UAAmB;IAChE,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QAC1D,MAAM,WAAW,CACf,8DAA8D,6DAE9D;YACE,UAAU,EAAE,UAAU;SACvB,CACF,CAAA;IACH,CAAC;IAED,qEAAqE;IACrE,2CAA2C;IAC3C,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;AACnC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,UAAmB;IAC/C,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QAC1D,MAAM,WAAW,CACf,0DAA0D,6DAE1D;YACE,UAAU,EAAE,UAAU;SACvB,CACF,CAAA;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3C,OAAQ,UAAwC,CAAC,QAAQ,CAAC,CAAA;AAC5D,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Kind } from 'graphql';
|
|
2
2
|
function checkUnionMembersConsistentUseOfEntryDirective(schema) {
|
|
3
3
|
const typeMap = schema.getTypeMap();
|
|
4
|
-
for (const
|
|
4
|
+
for (const type of Object.values(typeMap)) {
|
|
5
5
|
if (type.astNode?.kind !== Kind.UNION_TYPE_DEFINITION) {
|
|
6
6
|
continue;
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-validator.js","sourceRoot":"","sources":["../../../src/graphql/schema-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,IAAI,EAAE,MAAM,SAAS,CAAA;AAE/D,SAAS,8CAA8C,CACrD,MAAqB;IAErB,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAA;IAEnC,KAAK,MAAM,
|
|
1
|
+
{"version":3,"file":"schema-validator.js","sourceRoot":"","sources":["../../../src/graphql/schema-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,IAAI,EAAE,MAAM,SAAS,CAAA;AAE/D,SAAS,8CAA8C,CACrD,MAAqB;IAErB,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAA;IAEnC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,KAAK,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACtD,SAAQ;QACV,CAAC;QACD,MAAM,UAAU,GAAI,IAAyB,CAAC,QAAQ,EAAE,CAAA;QAExD,MAAM,oCAAoC,GAAG,UAAU,CAAC,MAAM,CAC5D,CAAC,SAAS,EAAE,EAAE,CACZ,CAAC,CAAC,SAAS,CAAC,OAAO;YACnB,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAChC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,KAAK,OAAO,CAChD,KAAK,SAAS,CAClB,CAAC,MAAM,CAAA;QAER,IACE,oCAAoC,KAAK,CAAC;YAC1C,oCAAoC,KAAK,UAAU,CAAC,MAAM,EAC1D,CAAC;YACD,OAAO,gCAAgC,IAAI,CAAC,IAAI,yCAAyC,CAAA;QAC3F,CAAC;IACH,CAAC;IAED,OAAO,EAAE,CAAA;AACX,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAqB;IACvD,MAAM,OAAO,GAAG,EAAE,CAAA;IAClB,OAAO,CAAC,IAAI,CAAC,8CAA8C,CAAC,MAAM,CAAC,CAAC,CAAA;IACpE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,CAAA;AAClD,CAAC"}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { getSchema, postGraphQL, } from './client';
|
|
2
|
-
import {
|
|
3
|
-
export { ErrorCode };
|
|
2
|
+
import { createCacheHandler } from './persistence/cache';
|
|
4
3
|
export async function createClient(gitAdapter) {
|
|
4
|
+
const repositoryCache = createCacheHandler();
|
|
5
5
|
return {
|
|
6
|
-
postGraphQL: (
|
|
7
|
-
getSchema: (
|
|
6
|
+
postGraphQL: (...args) => postGraphQL(gitAdapter, repositoryCache, ...args),
|
|
7
|
+
getSchema: (...args) => getSchema(gitAdapter, repositoryCache, ...args),
|
|
8
8
|
};
|
|
9
9
|
}
|
|
10
10
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAET,WAAW,GAGZ,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAET,WAAW,GAGZ,MAAM,UAAU,CAAA;AAGjB,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAexD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,UAAsB;IACvD,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAA;IAC5C,OAAO;QACL,WAAW,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;QAC3E,SAAS,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;KACxE,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { GitAdapterError } from '@commitspark/git-adapter';
|
|
2
|
+
import { createError } from '../graphql/errors';
|
|
3
|
+
const MAX_CACHE_ENTRIES = 50;
|
|
4
|
+
const getEntriesRecordByRef = async (entriesCache, cacheSize, context, ref) => {
|
|
5
|
+
const cacheRecord = entriesCache.get(ref);
|
|
6
|
+
if (cacheRecord !== undefined) {
|
|
7
|
+
// move map key back to end of list (newest)
|
|
8
|
+
entriesCache.delete(ref);
|
|
9
|
+
entriesCache.set(ref, cacheRecord);
|
|
10
|
+
return cacheRecord;
|
|
11
|
+
}
|
|
12
|
+
let allEntries;
|
|
13
|
+
try {
|
|
14
|
+
allEntries = await context.gitAdapter.getEntries(ref);
|
|
15
|
+
}
|
|
16
|
+
catch (err) {
|
|
17
|
+
if (err instanceof GitAdapterError) {
|
|
18
|
+
throw createError(err.message, err.code, {});
|
|
19
|
+
}
|
|
20
|
+
throw err;
|
|
21
|
+
}
|
|
22
|
+
const entriesById = new Map(allEntries.map((entry) => [entry.id, entry]));
|
|
23
|
+
const entriesByType = new Map();
|
|
24
|
+
for (const entry of allEntries) {
|
|
25
|
+
const arr = entriesByType.get(entry.metadata.type) || [];
|
|
26
|
+
arr.push(entry);
|
|
27
|
+
entriesByType.set(entry.metadata.type, arr);
|
|
28
|
+
}
|
|
29
|
+
const newCacheRecord = {
|
|
30
|
+
byType: entriesByType,
|
|
31
|
+
byId: entriesById,
|
|
32
|
+
};
|
|
33
|
+
entriesCache.set(ref, newCacheRecord);
|
|
34
|
+
if (entriesCache.size > cacheSize) {
|
|
35
|
+
// get first map key (oldest)
|
|
36
|
+
const oldestKey = entriesCache.keys().next().value;
|
|
37
|
+
if (oldestKey !== undefined) {
|
|
38
|
+
entriesCache.delete(oldestKey);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return newCacheRecord;
|
|
42
|
+
};
|
|
43
|
+
const getSchemaStringByRef = async (schemaCache, cacheSize, context, ref) => {
|
|
44
|
+
const schemaCacheRecord = schemaCache.get(ref);
|
|
45
|
+
if (schemaCacheRecord !== undefined) {
|
|
46
|
+
// move map key back to end of list (newest)
|
|
47
|
+
schemaCache.delete(ref);
|
|
48
|
+
schemaCache.set(ref, schemaCacheRecord);
|
|
49
|
+
return schemaCacheRecord;
|
|
50
|
+
}
|
|
51
|
+
let schemaString;
|
|
52
|
+
try {
|
|
53
|
+
schemaString = await context.gitAdapter.getSchema(ref);
|
|
54
|
+
}
|
|
55
|
+
catch (err) {
|
|
56
|
+
if (err instanceof GitAdapterError) {
|
|
57
|
+
throw createError(err.message, err.code, {});
|
|
58
|
+
}
|
|
59
|
+
throw err;
|
|
60
|
+
}
|
|
61
|
+
schemaCache.set(ref, schemaString);
|
|
62
|
+
if (schemaCache.size > cacheSize) {
|
|
63
|
+
// get first map key (oldest)
|
|
64
|
+
const oldestKey = schemaCache.keys().next().value;
|
|
65
|
+
if (oldestKey !== undefined) {
|
|
66
|
+
schemaCache.delete(oldestKey);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return schemaString;
|
|
70
|
+
};
|
|
71
|
+
export const createCacheHandler = (cacheSize = MAX_CACHE_ENTRIES) => {
|
|
72
|
+
const entriesCache = new Map();
|
|
73
|
+
const schemaCache = new Map();
|
|
74
|
+
return {
|
|
75
|
+
getEntriesRecord: (...args) => getEntriesRecordByRef(entriesCache, cacheSize, ...args),
|
|
76
|
+
getSchema: (...args) => getSchemaStringByRef(schemaCache, cacheSize, ...args),
|
|
77
|
+
};
|
|
78
|
+
};
|
|
79
|
+
//# sourceMappingURL=cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../src/persistence/cache.ts"],"names":[],"mappings":"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"}
|