@commitspark/graphql-api 0.9.4 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/README.md +96 -85
- package/dist/container.js +21 -13
- package/dist/container.js.map +1 -1
- package/dist/graphql/field-resolver/entry-reference-resolver.d.ts +10 -0
- package/dist/graphql/field-resolver/entry-reference-resolver.js +15 -0
- package/dist/graphql/field-resolver/entry-reference-resolver.js.map +1 -0
- package/dist/graphql/field-resolver/field-default-value-resolver.d.ts +14 -0
- package/dist/graphql/field-resolver/field-default-value-resolver.js +73 -0
- package/dist/graphql/field-resolver/field-default-value-resolver.js.map +1 -0
- package/dist/graphql/field-resolver/fieldResolver.d.ts +11 -0
- package/dist/graphql/field-resolver/fieldResolver.js +3 -0
- package/dist/graphql/field-resolver/fieldResolver.js.map +1 -0
- package/dist/graphql/field-resolver/union-value-resolver.d.ts +10 -0
- package/dist/graphql/field-resolver/union-value-resolver.js +17 -0
- package/dist/graphql/field-resolver/union-value-resolver.js.map +1 -0
- package/dist/graphql/input-type-generator.service.d.ts +3 -3
- package/dist/graphql/input-type-generator.service.js +18 -7
- package/dist/graphql/input-type-generator.service.js.map +1 -1
- package/dist/graphql/queries-mutations-generator.service.d.ts +7 -7
- package/dist/graphql/queries-mutations-generator.service.js +6 -6
- package/dist/graphql/queries-mutations-generator.service.js.map +1 -1
- package/dist/graphql/resolver-generators/mutation-create-resolver-generator.d.ts +6 -3
- package/dist/graphql/resolver-generators/mutation-create-resolver-generator.js +46 -4
- package/dist/graphql/resolver-generators/mutation-create-resolver-generator.js.map +1 -1
- package/dist/graphql/resolver-generators/mutation-delete-resolver-generator.d.ts +6 -3
- package/dist/graphql/resolver-generators/mutation-delete-resolver-generator.js +32 -9
- package/dist/graphql/resolver-generators/mutation-delete-resolver-generator.js.map +1 -1
- package/dist/graphql/resolver-generators/mutation-update-resolver-generator.d.ts +12 -0
- package/dist/graphql/resolver-generators/mutation-update-resolver-generator.js +53 -0
- package/dist/graphql/resolver-generators/mutation-update-resolver-generator.js.map +1 -0
- package/dist/graphql/resolver-generators/object-type-field-default-value-resolver-generator.d.ts +13 -0
- package/dist/graphql/resolver-generators/object-type-field-default-value-resolver-generator.js +58 -0
- package/dist/graphql/resolver-generators/object-type-field-default-value-resolver-generator.js.map +1 -0
- package/dist/graphql/resolver-generators/query-all-resolver-generator.d.ts +3 -2
- package/dist/graphql/resolver-generators/query-all-resolver-generator.js +4 -1
- package/dist/graphql/resolver-generators/query-all-resolver-generator.js.map +1 -1
- package/dist/graphql/resolver-generators/query-by-id-resolver-generator.d.ts +3 -2
- package/dist/graphql/resolver-generators/query-by-id-resolver-generator.js +2 -1
- package/dist/graphql/resolver-generators/query-by-id-resolver-generator.js.map +1 -1
- package/dist/graphql/resolver-generators/union-type-resolver-generator.d.ts +4 -4
- package/dist/graphql/resolver-generators/union-type-resolver-generator.js +3 -3
- package/dist/graphql/resolver-generators/union-type-resolver-generator.js.map +1 -1
- package/dist/graphql/schema-analyzer.service.d.ts +1 -9
- package/dist/graphql/schema-analyzer.service.js +6 -17
- package/dist/graphql/schema-analyzer.service.js.map +1 -1
- package/dist/graphql/schema-generator.service.d.ts +3 -5
- package/dist/graphql/schema-generator.service.js +7 -12
- package/dist/graphql/schema-generator.service.js.map +1 -1
- package/dist/graphql/schema-utils/entry-reference-util.d.ts +12 -4
- package/dist/graphql/schema-utils/entry-reference-util.js +105 -21
- package/dist/graphql/schema-utils/entry-reference-util.js.map +1 -1
- package/dist/graphql/schema-utils/entry-type-util.d.ts +6 -0
- package/dist/graphql/schema-utils/entry-type-util.js +34 -0
- package/dist/graphql/schema-utils/entry-type-util.js.map +1 -0
- package/dist/graphql/schema-utils/union-type-util.d.ts +5 -0
- package/dist/graphql/schema-utils/union-type-util.js +21 -0
- package/dist/graphql/schema-utils/union-type-util.js.map +1 -0
- package/dist/persistence/persistence.service.d.ts +1 -8
- package/dist/persistence/persistence.service.js +22 -87
- package/dist/persistence/persistence.service.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/src/container.ts +29 -15
- package/src/graphql/field-resolver/entry-reference-resolver.ts +47 -0
- package/src/graphql/field-resolver/field-default-value-resolver.ts +154 -0
- package/src/graphql/field-resolver/fieldResolver.ts +19 -0
- package/src/graphql/field-resolver/union-value-resolver.ts +46 -0
- package/src/graphql/input-type-generator.service.ts +22 -8
- package/src/graphql/queries-mutations-generator.service.ts +18 -18
- package/src/graphql/resolver-generators/mutation-create-resolver-generator.ts +82 -19
- package/src/graphql/resolver-generators/mutation-delete-resolver-generator.ts +72 -27
- package/src/graphql/resolver-generators/mutation-update-resolver-generator.ts +128 -0
- package/src/graphql/resolver-generators/object-type-field-default-value-resolver-generator.ts +119 -0
- package/src/graphql/resolver-generators/query-all-resolver-generator.ts +9 -7
- package/src/graphql/resolver-generators/query-by-id-resolver-generator.ts +7 -7
- package/src/graphql/resolver-generators/union-type-resolver-generator.ts +5 -7
- package/src/graphql/schema-analyzer.service.ts +10 -24
- package/src/graphql/schema-generator.service.ts +13 -22
- package/src/graphql/schema-utils/entry-reference-util.ts +170 -30
- package/src/graphql/schema-utils/entry-type-util.ts +42 -0
- package/src/graphql/schema-utils/union-type-util.ts +23 -0
- package/src/persistence/persistence.service.ts +30 -142
- package/dist/graphql/resolver-generators/entry-reference-resolver.generator.d.ts +0 -12
- package/dist/graphql/resolver-generators/entry-reference-resolver.generator.js +0 -29
- package/dist/graphql/resolver-generators/entry-reference-resolver.generator.js.map +0 -1
- package/dist/graphql/resolver-generators/mutation-update.resolver-generator.d.ts +0 -8
- package/dist/graphql/resolver-generators/mutation-update.resolver-generator.js +0 -29
- package/dist/graphql/resolver-generators/mutation-update.resolver-generator.js.map +0 -1
- package/dist/graphql/resolver-generators/union-value-resolver-generator.d.ts +0 -13
- package/dist/graphql/resolver-generators/union-value-resolver-generator.js +0 -80
- package/dist/graphql/resolver-generators/union-value-resolver-generator.js.map +0 -1
- package/src/graphql/resolver-generators/entry-reference-resolver.generator.ts +0 -71
- package/src/graphql/resolver-generators/mutation-update.resolver-generator.ts +0 -59
- package/src/graphql/resolver-generators/union-value-resolver-generator.ts +0 -125
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.InputTypeGeneratorService = void 0;
|
|
4
4
|
const graphql_1 = require("graphql");
|
|
5
|
+
const definition_1 = require("graphql/type/definition");
|
|
5
6
|
class InputTypeGeneratorService {
|
|
6
|
-
constructor(
|
|
7
|
-
this.
|
|
7
|
+
constructor(entryTypeUtil) {
|
|
8
|
+
this.entryTypeUtil = entryTypeUtil;
|
|
8
9
|
}
|
|
9
10
|
generateFieldInputTypeString(type) {
|
|
10
11
|
if ((0, graphql_1.isListType)(type)) {
|
|
@@ -14,7 +15,7 @@ class InputTypeGeneratorService {
|
|
|
14
15
|
return `${this.generateFieldInputTypeString(type.ofType)}!`;
|
|
15
16
|
}
|
|
16
17
|
else if ((0, graphql_1.isObjectType)(type)) {
|
|
17
|
-
if (this.
|
|
18
|
+
if (this.entryTypeUtil.hasEntryDirective(type)) {
|
|
18
19
|
return `${type.name}IdInput`;
|
|
19
20
|
}
|
|
20
21
|
else {
|
|
@@ -25,7 +26,7 @@ class InputTypeGeneratorService {
|
|
|
25
26
|
return '';
|
|
26
27
|
}
|
|
27
28
|
else if ((0, graphql_1.isUnionType)(type)) {
|
|
28
|
-
if (this.
|
|
29
|
+
if (this.entryTypeUtil.buildsOnTypeWithEntryDirective(type)) {
|
|
29
30
|
return `${type.name}IdInput`;
|
|
30
31
|
}
|
|
31
32
|
else {
|
|
@@ -50,13 +51,23 @@ class InputTypeGeneratorService {
|
|
|
50
51
|
const name = objectType.name;
|
|
51
52
|
const inputTypeName = `${name}Input`;
|
|
52
53
|
let inputType = `input ${inputTypeName} {\n`;
|
|
54
|
+
let inputTypeFieldStrings = '';
|
|
53
55
|
for (const fieldsKey in objectType.getFields()) {
|
|
54
56
|
const field = objectType.getFields()[fieldsKey];
|
|
55
|
-
if (field.
|
|
57
|
+
if (((0, graphql_1.isNonNullType)(field.type) &&
|
|
58
|
+
(0, definition_1.isScalarType)(field.type.ofType) &&
|
|
59
|
+
field.type.ofType.name === 'ID') ||
|
|
60
|
+
((0, definition_1.isScalarType)(field.type) && field.type.name === 'ID')) {
|
|
56
61
|
continue;
|
|
57
62
|
}
|
|
58
63
|
const inputTypeString = this.generateFieldInputTypeString(field.type);
|
|
59
|
-
|
|
64
|
+
inputTypeFieldStrings += ` ${field.name}: ${inputTypeString}\n`;
|
|
65
|
+
}
|
|
66
|
+
if (inputTypeFieldStrings.length > 0) {
|
|
67
|
+
inputType += `${inputTypeFieldStrings}`;
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
inputType += ' _: Boolean\n';
|
|
60
71
|
}
|
|
61
72
|
inputType += '}\n';
|
|
62
73
|
return inputType;
|
|
@@ -64,7 +75,7 @@ class InputTypeGeneratorService {
|
|
|
64
75
|
}
|
|
65
76
|
generateUnionInputTypeStrings(unionTypes) {
|
|
66
77
|
const typeStrings = unionTypes.map((unionType) => {
|
|
67
|
-
if (this.
|
|
78
|
+
if (this.entryTypeUtil.buildsOnTypeWithEntryDirective(unionType)) {
|
|
68
79
|
return '';
|
|
69
80
|
}
|
|
70
81
|
let unionInputType = `input ${unionType.name}Input @oneOf {\n`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input-type-generator.service.js","sourceRoot":"","sources":["../../src/graphql/input-type-generator.service.ts"],"names":[],"mappings":";;;AAAA,qCAagB;
|
|
1
|
+
{"version":3,"file":"input-type-generator.service.js","sourceRoot":"","sources":["../../src/graphql/input-type-generator.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { EntryData } from '@commitspark/git-adapter';
|
|
2
2
|
import { ApolloContext } from '../app/api.service';
|
|
3
3
|
import { GraphQLFieldResolver } from 'graphql/type/definition';
|
|
4
4
|
import { GraphQLObjectType } from 'graphql/type';
|
|
5
5
|
import { QueryAllResolverGenerator } from './resolver-generators/query-all-resolver-generator';
|
|
6
6
|
import { QueryByIdResolverGenerator } from './resolver-generators/query-by-id-resolver-generator';
|
|
7
7
|
import { MutationCreateResolverGenerator } from './resolver-generators/mutation-create-resolver-generator';
|
|
8
|
-
import { MutationUpdateResolverGenerator } from './resolver-generators/mutation-update
|
|
8
|
+
import { MutationUpdateResolverGenerator } from './resolver-generators/mutation-update-resolver-generator';
|
|
9
9
|
import { MutationDeleteResolverGenerator } from './resolver-generators/mutation-delete-resolver-generator';
|
|
10
10
|
import { QueryCountAllResolverGenerator } from './resolver-generators/query-count-all-resolver-generator';
|
|
11
11
|
import { QueryTypeByIdResolverGenerator } from './resolver-generators/query-type-by-id-resolver-generator';
|
|
@@ -22,12 +22,12 @@ export declare class QueriesMutationsGeneratorService {
|
|
|
22
22
|
generateTypeNameQuery(): IGeneratedQuery<Promise<string>>;
|
|
23
23
|
}
|
|
24
24
|
export interface IGeneratedSchema {
|
|
25
|
-
queryAll: IGeneratedQuery<Promise<
|
|
25
|
+
queryAll: IGeneratedQuery<Promise<EntryData[]>>;
|
|
26
26
|
queryAllMeta: IGeneratedQuery<Promise<TypeCount>>;
|
|
27
|
-
queryById: IGeneratedQuery<Promise<
|
|
28
|
-
createMutation: IGeneratedQuery<Promise<
|
|
29
|
-
updateMutation: IGeneratedQuery<Promise<
|
|
30
|
-
deleteMutation: IGeneratedQuery<Promise<
|
|
27
|
+
queryById: IGeneratedQuery<Promise<EntryData>>;
|
|
28
|
+
createMutation: IGeneratedQuery<Promise<EntryData>>;
|
|
29
|
+
updateMutation: IGeneratedQuery<Promise<EntryData>>;
|
|
30
|
+
deleteMutation: IGeneratedQuery<Promise<EntryData>>;
|
|
31
31
|
}
|
|
32
32
|
export interface IGeneratedQuery<T> {
|
|
33
33
|
name: string;
|
|
@@ -68,13 +68,13 @@ class QueriesMutationsGeneratorService {
|
|
|
68
68
|
});
|
|
69
69
|
}
|
|
70
70
|
generateTypeNameQuery() {
|
|
71
|
-
const
|
|
72
|
-
const
|
|
73
|
-
const
|
|
71
|
+
const entryTypeQueryName = '_typeName';
|
|
72
|
+
const entryTypeQueryString = `${entryTypeQueryName}(id: ID!): String`;
|
|
73
|
+
const entryTypeQueryResolver = this.queryTypeByIdResolverGenerator.createResolver();
|
|
74
74
|
return {
|
|
75
|
-
name:
|
|
76
|
-
schemaString:
|
|
77
|
-
resolver:
|
|
75
|
+
name: entryTypeQueryName,
|
|
76
|
+
schemaString: entryTypeQueryString,
|
|
77
|
+
resolver: entryTypeQueryResolver,
|
|
78
78
|
};
|
|
79
79
|
}
|
|
80
80
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries-mutations-generator.service.js","sourceRoot":"","sources":["../../src/graphql/queries-mutations-generator.service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"queries-mutations-generator.service.js","sourceRoot":"","sources":["../../src/graphql/queries-mutations-generator.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { GraphQLFieldResolver } from 'graphql/type/definition';
|
|
2
2
|
import { ApolloContext } from '../../app/api.service';
|
|
3
|
-
import {
|
|
3
|
+
import { PersistenceService } from '../../persistence/persistence.service';
|
|
4
|
+
import { EntryReferenceUtil } from '../schema-utils/entry-reference-util';
|
|
5
|
+
import { EntryData } from '@commitspark/git-adapter';
|
|
4
6
|
export declare class MutationCreateResolverGenerator {
|
|
5
7
|
private readonly persistence;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
+
private readonly entryReferenceUtil;
|
|
9
|
+
constructor(persistence: PersistenceService, entryReferenceUtil: EntryReferenceUtil);
|
|
10
|
+
createResolver(typeName: string): GraphQLFieldResolver<any, ApolloContext, any, Promise<EntryData>>;
|
|
8
11
|
}
|
|
@@ -2,12 +2,28 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MutationCreateResolverGenerator = void 0;
|
|
4
4
|
const GraphQLError_1 = require("graphql/error/GraphQLError");
|
|
5
|
+
const graphql_1 = require("graphql");
|
|
6
|
+
const git_adapter_1 = require("@commitspark/git-adapter");
|
|
5
7
|
class MutationCreateResolverGenerator {
|
|
6
|
-
constructor(persistence) {
|
|
8
|
+
constructor(persistence, entryReferenceUtil) {
|
|
7
9
|
this.persistence = persistence;
|
|
10
|
+
this.entryReferenceUtil = entryReferenceUtil;
|
|
8
11
|
}
|
|
9
12
|
createResolver(typeName) {
|
|
10
13
|
return async (source, args, context, info) => {
|
|
14
|
+
var _a;
|
|
15
|
+
if (!(0, graphql_1.isObjectType)(info.returnType)) {
|
|
16
|
+
throw new Error('Expected to create an ObjectType');
|
|
17
|
+
}
|
|
18
|
+
const idValidationResult = args.id.match(git_adapter_1.ENTRY_ID_INVALID_CHARACTERS);
|
|
19
|
+
if (idValidationResult) {
|
|
20
|
+
throw new GraphQLError_1.GraphQLError(`"id" contains invalid characters "${idValidationResult.join(', ')}"`, {
|
|
21
|
+
extensions: {
|
|
22
|
+
code: 'BAD_USER_INPUT',
|
|
23
|
+
argumentName: 'id',
|
|
24
|
+
},
|
|
25
|
+
});
|
|
26
|
+
}
|
|
11
27
|
let existingEntry;
|
|
12
28
|
try {
|
|
13
29
|
existingEntry = await this.persistence.findById(context.gitAdapter, context.getCurrentRef(), args.id);
|
|
@@ -21,9 +37,35 @@ class MutationCreateResolverGenerator {
|
|
|
21
37
|
},
|
|
22
38
|
});
|
|
23
39
|
}
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
|
|
40
|
+
const referencedEntryIds = await this.entryReferenceUtil.getReferencedEntryIds(info.returnType, context, null, info.returnType, args.data);
|
|
41
|
+
const referencedEntryUpdates = [];
|
|
42
|
+
for (const referencedEntryId of referencedEntryIds) {
|
|
43
|
+
const referencedEntry = await this.persistence.findById(context.gitAdapter, context.getCurrentRef(), referencedEntryId);
|
|
44
|
+
const newReferencedEntryIds = [
|
|
45
|
+
...((_a = referencedEntry.metadata.referencedBy) !== null && _a !== void 0 ? _a : []),
|
|
46
|
+
args.id,
|
|
47
|
+
].sort();
|
|
48
|
+
const newReferencedEntryDraft = Object.assign(Object.assign({}, referencedEntry), { metadata: Object.assign(Object.assign({}, referencedEntry.metadata), { referencedBy: newReferencedEntryIds }), deletion: false });
|
|
49
|
+
referencedEntryUpdates.push(newReferencedEntryDraft);
|
|
50
|
+
}
|
|
51
|
+
const newEntryDraft = {
|
|
52
|
+
id: args.id,
|
|
53
|
+
metadata: {
|
|
54
|
+
type: typeName,
|
|
55
|
+
referencedBy: [],
|
|
56
|
+
},
|
|
57
|
+
data: args.data,
|
|
58
|
+
deletion: false,
|
|
59
|
+
};
|
|
60
|
+
const commit = await context.gitAdapter.createCommit({
|
|
61
|
+
ref: context.branch,
|
|
62
|
+
parentSha: context.getCurrentRef(),
|
|
63
|
+
entries: [newEntryDraft, ...referencedEntryUpdates],
|
|
64
|
+
message: args.message,
|
|
65
|
+
});
|
|
66
|
+
context.setCurrentRef(commit.ref);
|
|
67
|
+
const newEntry = await this.persistence.findByTypeId(context.gitAdapter, context.getCurrentRef(), typeName, args.id);
|
|
68
|
+
return Object.assign(Object.assign({}, newEntry.data), { id: newEntry.id });
|
|
27
69
|
};
|
|
28
70
|
}
|
|
29
71
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutation-create-resolver-generator.js","sourceRoot":"","sources":["../../../src/graphql/resolver-generators/mutation-create-resolver-generator.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"mutation-create-resolver-generator.js","sourceRoot":"","sources":["../../../src/graphql/resolver-generators/mutation-create-resolver-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PersistenceService } from '../../persistence/persistence.service';
|
|
2
2
|
import { GraphQLFieldResolver } from 'graphql/type/definition';
|
|
3
3
|
import { ApolloContext } from '../../app/api.service';
|
|
4
|
+
import { EntryData } from '@commitspark/git-adapter';
|
|
5
|
+
import { EntryReferenceUtil } from '../schema-utils/entry-reference-util';
|
|
4
6
|
export declare class MutationDeleteResolverGenerator {
|
|
5
7
|
private readonly persistence;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
+
private readonly entryReferenceUtil;
|
|
9
|
+
constructor(persistence: PersistenceService, entryReferenceUtil: EntryReferenceUtil);
|
|
10
|
+
createResolver(typeName: string): GraphQLFieldResolver<any, ApolloContext, any, Promise<EntryData>>;
|
|
8
11
|
}
|
|
@@ -2,25 +2,48 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MutationDeleteResolverGenerator = void 0;
|
|
4
4
|
const GraphQLError_1 = require("graphql/error/GraphQLError");
|
|
5
|
+
const graphql_1 = require("graphql");
|
|
5
6
|
class MutationDeleteResolverGenerator {
|
|
6
|
-
constructor(persistence) {
|
|
7
|
+
constructor(persistence, entryReferenceUtil) {
|
|
7
8
|
this.persistence = persistence;
|
|
9
|
+
this.entryReferenceUtil = entryReferenceUtil;
|
|
8
10
|
}
|
|
9
11
|
createResolver(typeName) {
|
|
10
12
|
return async (source, args, context, info) => {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
var _a;
|
|
14
|
+
const entry = await this.persistence.findByTypeId(context.gitAdapter, context.getCurrentRef(), typeName, args.id);
|
|
15
|
+
if (entry.metadata.referencedBy &&
|
|
16
|
+
entry.metadata.referencedBy.length > 0) {
|
|
17
|
+
const otherIds = entry.metadata.referencedBy
|
|
18
|
+
.map((referenceId) => `"${referenceId}"`)
|
|
19
|
+
.join(', ');
|
|
20
|
+
throw new GraphQLError_1.GraphQLError(`Entry with id "${args.id}" is referenced by other entries: [${otherIds}]`, {
|
|
16
21
|
extensions: {
|
|
17
|
-
code: '
|
|
22
|
+
code: 'IN_USE',
|
|
18
23
|
argumentName: 'id',
|
|
19
24
|
},
|
|
20
25
|
});
|
|
21
26
|
}
|
|
22
|
-
const
|
|
23
|
-
|
|
27
|
+
const entryType = info.schema.getType(typeName);
|
|
28
|
+
if (!(0, graphql_1.isObjectType)(entryType)) {
|
|
29
|
+
throw new Error('Expected to delete an ObjectType');
|
|
30
|
+
}
|
|
31
|
+
const referencedEntryIds = await this.entryReferenceUtil.getReferencedEntryIds(entryType, context, null, entryType, entry.data);
|
|
32
|
+
const referencedEntryUpdates = [];
|
|
33
|
+
for (const referencedEntryId of referencedEntryIds) {
|
|
34
|
+
const noLongerReferencedEntry = await this.persistence.findById(context.gitAdapter, context.getCurrentRef(), referencedEntryId);
|
|
35
|
+
referencedEntryUpdates.push(Object.assign(Object.assign({}, noLongerReferencedEntry), { metadata: Object.assign(Object.assign({}, noLongerReferencedEntry.metadata), { referencedBy: (_a = noLongerReferencedEntry.metadata.referencedBy) === null || _a === void 0 ? void 0 : _a.filter((entryId) => entryId !== args.id) }), deletion: false }));
|
|
36
|
+
}
|
|
37
|
+
const commit = await context.gitAdapter.createCommit({
|
|
38
|
+
ref: context.branch,
|
|
39
|
+
parentSha: context.getCurrentRef(),
|
|
40
|
+
entries: [
|
|
41
|
+
Object.assign(Object.assign({}, entry), { deletion: true }),
|
|
42
|
+
...referencedEntryUpdates,
|
|
43
|
+
],
|
|
44
|
+
message: args.message,
|
|
45
|
+
});
|
|
46
|
+
context.setCurrentRef(commit.ref);
|
|
24
47
|
return {
|
|
25
48
|
id: args.id,
|
|
26
49
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutation-delete-resolver-generator.js","sourceRoot":"","sources":["../../../src/graphql/resolver-generators/mutation-delete-resolver-generator.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"mutation-delete-resolver-generator.js","sourceRoot":"","sources":["../../../src/graphql/resolver-generators/mutation-delete-resolver-generator.ts"],"names":[],"mappings":";;;AAGA,6DAAyD;AAGzD,qCAAsC;AAEtC,MAAa,+BAA+B;IAC1C,YACmB,WAA+B,EAC/B,kBAAsC;QADtC,gBAAW,GAAX,WAAW,CAAoB;QAC/B,uBAAkB,GAAlB,kBAAkB,CAAoB;IACtD,CAAC;IAEG,cAAc,CACnB,QAAgB;QAEhB,OAAO,KAAK,EACV,MAAM,EACN,IAAI,EACJ,OAAsB,EACtB,IAAI,EACgB,EAAE;;YACtB,MAAM,KAAK,GAAU,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CACtD,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,aAAa,EAAE,EACvB,QAAQ,EACR,IAAI,CAAC,EAAE,CACR,CAAA;YAED,IACE,KAAK,CAAC,QAAQ,CAAC,YAAY;gBAC3B,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EACtC;gBACA,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,YAAY;qBACzC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,WAAW,GAAG,CAAC;qBACxC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACb,MAAM,IAAI,2BAAY,CACpB,kBAAkB,IAAI,CAAC,EAAE,sCAAsC,QAAQ,GAAG,EAC1E;oBACE,UAAU,EAAE;wBACV,IAAI,EAAE,QAAQ;wBACd,YAAY,EAAE,IAAI;qBACnB;iBACF,CACF,CAAA;aACF;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;YAC/C,IAAI,CAAC,IAAA,sBAAY,EAAC,SAAS,CAAC,EAAE;gBAC5B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;aACpD;YAED,MAAM,kBAAkB,GACtB,MAAM,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CACjD,SAAS,EACT,OAAO,EACP,IAAI,EACJ,SAAS,EACT,KAAK,CAAC,IAAI,CACX,CAAA;YACH,MAAM,sBAAsB,GAAiB,EAAE,CAAA;YAC/C,KAAK,MAAM,iBAAiB,IAAI,kBAAkB,EAAE;gBAClD,MAAM,uBAAuB,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAC7D,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,aAAa,EAAE,EACvB,iBAAiB,CAClB,CAAA;gBACD,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;aACH;YAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC;gBACnD,GAAG,EAAE,OAAO,CAAC,MAAM;gBACnB,SAAS,EAAE,OAAO,CAAC,aAAa,EAAE;gBAClC,OAAO,EAAE;oDAEF,KAAK,KACR,QAAQ,EAAE,IAAI;oBAEhB,GAAG,sBAAsB;iBAC1B;gBACD,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC,CAAA;YACF,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAEjC,OAAO;gBACL,EAAE,EAAE,IAAI,CAAC,EAAE;aACZ,CAAA;QACH,CAAC,CAAA;IACH,CAAC;CACF;AA3FD,0EA2FC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { PersistenceService } from '../../persistence/persistence.service';
|
|
2
|
+
import { GraphQLFieldResolver } from 'graphql/type/definition';
|
|
3
|
+
import { ApolloContext } from '../../app/api.service';
|
|
4
|
+
import { EntryReferenceUtil } from '../schema-utils/entry-reference-util';
|
|
5
|
+
import { EntryData } from '@commitspark/git-adapter';
|
|
6
|
+
export declare class MutationUpdateResolverGenerator {
|
|
7
|
+
private readonly persistence;
|
|
8
|
+
private readonly entryReferenceUtil;
|
|
9
|
+
constructor(persistence: PersistenceService, entryReferenceUtil: EntryReferenceUtil);
|
|
10
|
+
createResolver(typeName: string): GraphQLFieldResolver<any, ApolloContext, any, Promise<EntryData>>;
|
|
11
|
+
private mergeData;
|
|
12
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MutationUpdateResolverGenerator = void 0;
|
|
4
|
+
const graphql_1 = require("graphql");
|
|
5
|
+
class MutationUpdateResolverGenerator {
|
|
6
|
+
constructor(persistence, entryReferenceUtil) {
|
|
7
|
+
this.persistence = persistence;
|
|
8
|
+
this.entryReferenceUtil = entryReferenceUtil;
|
|
9
|
+
}
|
|
10
|
+
createResolver(typeName) {
|
|
11
|
+
return async (source, args, context, info) => {
|
|
12
|
+
var _a, _b, _c;
|
|
13
|
+
if (!(0, graphql_1.isObjectType)(info.returnType)) {
|
|
14
|
+
throw new Error('Expected to update an ObjectType');
|
|
15
|
+
}
|
|
16
|
+
const existingEntry = await this.persistence.findByTypeId(context.gitAdapter, context.getCurrentRef(), typeName, args.id);
|
|
17
|
+
const existingReferencedEntryIds = await this.entryReferenceUtil.getReferencedEntryIds(info.returnType, context, null, info.returnType, existingEntry.data);
|
|
18
|
+
const mergedData = this.mergeData((_a = existingEntry.data) !== null && _a !== void 0 ? _a : null, args.data);
|
|
19
|
+
const updatedReferencedEntryIds = await this.entryReferenceUtil.getReferencedEntryIds(info.returnType, context, null, info.returnType, mergedData);
|
|
20
|
+
const noLongerReferencedIds = existingReferencedEntryIds.filter((entryId) => !updatedReferencedEntryIds.includes(entryId));
|
|
21
|
+
const newlyReferencedIds = updatedReferencedEntryIds.filter((entryId) => !existingReferencedEntryIds.includes(entryId));
|
|
22
|
+
const referencedEntryUpdates = [];
|
|
23
|
+
for (const noLongerReferencedEntryId of noLongerReferencedIds) {
|
|
24
|
+
const noLongerReferencedEntry = await this.persistence.findById(context.gitAdapter, context.getCurrentRef(), noLongerReferencedEntryId);
|
|
25
|
+
referencedEntryUpdates.push(Object.assign(Object.assign({}, noLongerReferencedEntry), { metadata: Object.assign(Object.assign({}, noLongerReferencedEntry.metadata), { referencedBy: (_b = noLongerReferencedEntry.metadata.referencedBy) === null || _b === void 0 ? void 0 : _b.filter((entryId) => entryId !== args.id) }), deletion: false }));
|
|
26
|
+
}
|
|
27
|
+
for (const newlyReferencedEntryId of newlyReferencedIds) {
|
|
28
|
+
const newlyReferencedEntry = await this.persistence.findById(context.gitAdapter, context.getCurrentRef(), newlyReferencedEntryId);
|
|
29
|
+
const updatedReferenceList = (_c = newlyReferencedEntry.metadata.referencedBy) !== null && _c !== void 0 ? _c : [];
|
|
30
|
+
updatedReferenceList.push(args.id);
|
|
31
|
+
updatedReferenceList.sort();
|
|
32
|
+
referencedEntryUpdates.push(Object.assign(Object.assign({}, newlyReferencedEntry), { metadata: Object.assign(Object.assign({}, newlyReferencedEntry.metadata), { referencedBy: updatedReferenceList }), deletion: false }));
|
|
33
|
+
}
|
|
34
|
+
const commit = await context.gitAdapter.createCommit({
|
|
35
|
+
ref: context.branch,
|
|
36
|
+
parentSha: context.getCurrentRef(),
|
|
37
|
+
entries: [
|
|
38
|
+
Object.assign(Object.assign({}, existingEntry), { data: mergedData, deletion: false }),
|
|
39
|
+
...referencedEntryUpdates,
|
|
40
|
+
],
|
|
41
|
+
message: args.message,
|
|
42
|
+
});
|
|
43
|
+
context.setCurrentRef(commit.ref);
|
|
44
|
+
const updatedEntry = await this.persistence.findByTypeId(context.gitAdapter, context.getCurrentRef(), typeName, args.id);
|
|
45
|
+
return Object.assign(Object.assign({}, updatedEntry.data), { id: updatedEntry.id });
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
mergeData(existingEntryData, updateData) {
|
|
49
|
+
return Object.assign(Object.assign({}, existingEntryData), updateData);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
exports.MutationUpdateResolverGenerator = MutationUpdateResolverGenerator;
|
|
53
|
+
//# sourceMappingURL=mutation-update-resolver-generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mutation-update-resolver-generator.js","sourceRoot":"","sources":["../../../src/graphql/resolver-generators/mutation-update-resolver-generator.ts"],"names":[],"mappings":"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"}
|
package/dist/graphql/resolver-generators/object-type-field-default-value-resolver-generator.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { GraphQLFieldResolver } from 'graphql/type/definition';
|
|
2
|
+
import { ApolloContext } from '../../app/api.service';
|
|
3
|
+
import { EntryData } from '@commitspark/git-adapter';
|
|
4
|
+
import { GraphQLSchema } from 'graphql';
|
|
5
|
+
import { ResolvedEntryData } from '../field-resolver/fieldResolver';
|
|
6
|
+
import { FieldDefaultValueResolver } from '../field-resolver/field-default-value-resolver';
|
|
7
|
+
export declare class ObjectTypeFieldDefaultValueResolverGenerator {
|
|
8
|
+
private readonly fieldDefaultValueResolver;
|
|
9
|
+
constructor(fieldDefaultValueResolver: FieldDefaultValueResolver);
|
|
10
|
+
createResolver(schema: GraphQLSchema): Record<string, Record<string, GraphQLFieldResolver<any, ApolloContext, any, Promise<ResolvedEntryData<EntryData | EntryData[] | null>>>>>;
|
|
11
|
+
private getFieldsForCustomDefaultValueResolver;
|
|
12
|
+
private requiresCustomDefaultValueResolver;
|
|
13
|
+
}
|
package/dist/graphql/resolver-generators/object-type-field-default-value-resolver-generator.js
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ObjectTypeFieldDefaultValueResolverGenerator = void 0;
|
|
4
|
+
const graphql_1 = require("graphql");
|
|
5
|
+
class ObjectTypeFieldDefaultValueResolverGenerator {
|
|
6
|
+
constructor(fieldDefaultValueResolver) {
|
|
7
|
+
this.fieldDefaultValueResolver = fieldDefaultValueResolver;
|
|
8
|
+
}
|
|
9
|
+
createResolver(schema) {
|
|
10
|
+
const resolvers = {};
|
|
11
|
+
for (const typeName of Object.keys(schema.getTypeMap())) {
|
|
12
|
+
const type = schema.getType(typeName);
|
|
13
|
+
if (!(0, graphql_1.isObjectType)(type) || type.name.startsWith('__')) {
|
|
14
|
+
continue;
|
|
15
|
+
}
|
|
16
|
+
const objectType = type;
|
|
17
|
+
const fieldsForCustomDefaultValueResolver = this.getFieldsForCustomDefaultValueResolver(objectType);
|
|
18
|
+
const fieldResolvers = {};
|
|
19
|
+
for (const field of fieldsForCustomDefaultValueResolver) {
|
|
20
|
+
fieldResolvers[field.name] = (obj, args, context, info) => this.fieldDefaultValueResolver.resolve(field.name in obj ? obj[field.name] : undefined, args, {
|
|
21
|
+
gitAdapter: context.gitAdapter,
|
|
22
|
+
getCurrentRef: context.getCurrentRef,
|
|
23
|
+
}, info);
|
|
24
|
+
}
|
|
25
|
+
if (Object.keys(fieldResolvers).length > 0) {
|
|
26
|
+
resolvers[typeName] = fieldResolvers;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return resolvers;
|
|
30
|
+
}
|
|
31
|
+
getFieldsForCustomDefaultValueResolver(objectType) {
|
|
32
|
+
const fields = [];
|
|
33
|
+
for (const fieldsKey in objectType.getFields()) {
|
|
34
|
+
const field = objectType.getFields()[fieldsKey];
|
|
35
|
+
if (this.requiresCustomDefaultValueResolver(field.type)) {
|
|
36
|
+
fields.push(field);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return fields;
|
|
40
|
+
}
|
|
41
|
+
requiresCustomDefaultValueResolver(type) {
|
|
42
|
+
if ((0, graphql_1.isNonNullType)(type)) {
|
|
43
|
+
return this.requiresCustomDefaultValueResolver(type.ofType);
|
|
44
|
+
}
|
|
45
|
+
else if ((0, graphql_1.isListType)(type)) {
|
|
46
|
+
return true;
|
|
47
|
+
}
|
|
48
|
+
else if ((0, graphql_1.isUnionType)(type)) {
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
else if ((0, graphql_1.isObjectType)(type)) {
|
|
52
|
+
return true;
|
|
53
|
+
}
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
exports.ObjectTypeFieldDefaultValueResolverGenerator = ObjectTypeFieldDefaultValueResolverGenerator;
|
|
58
|
+
//# sourceMappingURL=object-type-field-default-value-resolver-generator.js.map
|
package/dist/graphql/resolver-generators/object-type-field-default-value-resolver-generator.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object-type-field-default-value-resolver-generator.js","sourceRoot":"","sources":["../../../src/graphql/resolver-generators/object-type-field-default-value-resolver-generator.ts"],"names":[],"mappings":";;;AAMA,qCAQgB;AAIhB,MAAa,4CAA4C;IACvD,YACmB,yBAAoD;QAApD,8BAAyB,GAAzB,yBAAyB,CAA2B;IACpE,CAAC;IAEG,cAAc,CACnB,MAAqB;QAarB,MAAM,SAAS,GAWX,EAAE,CAAA;QACN,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE;YACvD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;YACrC,IAAI,CAAC,IAAA,sBAAY,EAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;gBACrD,SAAQ;aACT;YACD,MAAM,UAAU,GAAG,IAAyB,CAAA;YAC5C,MAAM,mCAAmC,GACvC,IAAI,CAAC,sCAAsC,CAAC,UAAU,CAAC,CAAA;YAEzD,MAAM,cAAc,GAQhB,EAAE,CAAA;YACN,KAAK,MAAM,KAAK,IAAI,mCAAmC,EAAE;gBACvD,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAC3B,GAAG,EACH,IAAI,EACJ,OAAO,EACP,IAAI,EACwD,EAAE,CAC9D,IAAI,CAAC,yBAAyB,CAAC,OAAO,CACpC,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,EAC/C,IAAI,EACJ;oBACE,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,aAAa,EAAE,OAAO,CAAC,aAAa;iBACrC,EACD,IAAI,CACL,CAAA;aACJ;YAED,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC1C,SAAS,CAAC,QAAQ,CAAC,GAAG,cAAc,CAAA;aACrC;SACF;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAEO,sCAAsC,CAC5C,UAA6B;QAE7B,MAAM,MAAM,GAAG,EAAE,CAAA;QACjB,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,SAAS,EAAE,EAAE;YAC9C,MAAM,KAAK,GAA2B,UAAU,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,CAAA;YACvE,IAAI,IAAI,CAAC,kCAAkC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;gBACvD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;aACnB;SACF;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAEO,kCAAkC,CAAC,IAAuB;QAChE,IAAI,IAAA,uBAAa,EAAC,IAAI,CAAC,EAAE;YACvB,OAAO,IAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;SAC5D;aAAM,IAAI,IAAA,oBAAU,EAAC,IAAI,CAAC,EAAE;YAC3B,OAAO,IAAI,CAAA;SACZ;aAAM,IAAI,IAAA,qBAAW,EAAC,IAAI,CAAC,EAAE;YAC5B,OAAO,IAAI,CAAA;SACZ;aAAM,IAAI,IAAA,sBAAY,EAAC,IAAI,CAAC,EAAE;YAC7B,OAAO,IAAI,CAAA;SACZ;QACD,OAAO,KAAK,CAAA;IACd,CAAC;CACF;AApGD,oGAoGC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { ApolloContext } from '../../app/api.service';
|
|
2
|
-
import {
|
|
2
|
+
import { EntryData } from '@commitspark/git-adapter';
|
|
3
|
+
import { PersistenceService } from '../../persistence/persistence.service';
|
|
3
4
|
import { GraphQLFieldResolver } from 'graphql/type/definition';
|
|
4
5
|
export declare class QueryAllResolverGenerator {
|
|
5
6
|
private readonly persistence;
|
|
6
7
|
constructor(persistence: PersistenceService);
|
|
7
|
-
createResolver(typeName: string): GraphQLFieldResolver<any, ApolloContext, any, Promise<
|
|
8
|
+
createResolver(typeName: string): GraphQLFieldResolver<any, ApolloContext, any, Promise<EntryData[]>>;
|
|
8
9
|
}
|
|
@@ -7,7 +7,10 @@ class QueryAllResolverGenerator {
|
|
|
7
7
|
}
|
|
8
8
|
createResolver(typeName) {
|
|
9
9
|
return async (obj, args, context, info) => {
|
|
10
|
-
|
|
10
|
+
const entries = await this.persistence.findByType(context.gitAdapter, context.getCurrentRef(), typeName);
|
|
11
|
+
return entries.map((entry) => {
|
|
12
|
+
return Object.assign(Object.assign({}, entry.data), { id: entry.id });
|
|
13
|
+
});
|
|
11
14
|
};
|
|
12
15
|
}
|
|
13
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-all-resolver-generator.js","sourceRoot":"","sources":["../../../src/graphql/resolver-generators/query-all-resolver-generator.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"query-all-resolver-generator.js","sourceRoot":"","sources":["../../../src/graphql/resolver-generators/query-all-resolver-generator.ts"],"names":[],"mappings":";;;AAKA,MAAa,yBAAyB;IACpC,YAA6B,WAA+B;QAA/B,gBAAW,GAAX,WAAW,CAAoB;IAAG,CAAC;IAEzD,cAAc,CACnB,QAAgB;QAEhB,OAAO,KAAK,EACV,GAAG,EACH,IAAI,EACJ,OAAsB,EACtB,IAAI,EACkB,EAAE;YACxB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAC/C,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,aAAa,EAAE,EACvB,QAAQ,CACT,CAAA;YAED,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC3B,uCAAY,KAAK,CAAC,IAAI,KAAE,EAAE,EAAE,KAAK,CAAC,EAAE,IAAE;YACxC,CAAC,CAAC,CAAA;QACJ,CAAC,CAAA;IACH,CAAC;CACF;AAvBD,8DAuBC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { EntryData } from '@commitspark/git-adapter';
|
|
2
|
+
import { PersistenceService } from '../../persistence/persistence.service';
|
|
2
3
|
import { GraphQLFieldResolver } from 'graphql/type/definition';
|
|
3
4
|
import { ApolloContext } from '../../app/api.service';
|
|
4
5
|
export declare class QueryByIdResolverGenerator {
|
|
5
6
|
private readonly persistence;
|
|
6
7
|
constructor(persistence: PersistenceService);
|
|
7
|
-
createResolver(typeName: string): GraphQLFieldResolver<any, ApolloContext, any, Promise<
|
|
8
|
+
createResolver(typeName: string): GraphQLFieldResolver<any, ApolloContext, any, Promise<EntryData>>;
|
|
8
9
|
}
|
|
@@ -7,7 +7,8 @@ class QueryByIdResolverGenerator {
|
|
|
7
7
|
}
|
|
8
8
|
createResolver(typeName) {
|
|
9
9
|
return async (obj, args, context, info) => {
|
|
10
|
-
|
|
10
|
+
const entry = await this.persistence.findByTypeId(context.gitAdapter, context.getCurrentRef(), typeName, args.id);
|
|
11
|
+
return Object.assign(Object.assign({}, entry.data), { id: entry.id });
|
|
11
12
|
};
|
|
12
13
|
}
|
|
13
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-by-id-resolver-generator.js","sourceRoot":"","sources":["../../../src/graphql/resolver-generators/query-by-id-resolver-generator.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"query-by-id-resolver-generator.js","sourceRoot":"","sources":["../../../src/graphql/resolver-generators/query-by-id-resolver-generator.ts"],"names":[],"mappings":";;;AAKA,MAAa,0BAA0B;IACrC,YAA6B,WAA+B;QAA/B,gBAAW,GAAX,WAAW,CAAoB;IAAG,CAAC;IAEzD,cAAc,CACnB,QAAgB;QAEhB,OAAO,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAsB,EAAE;YAC5D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAC/C,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,aAAa,EAAE,EACvB,QAAQ,EACR,IAAI,CAAC,EAAE,CACR,CAAA;YAED,uCAAY,KAAK,CAAC,IAAI,KAAE,EAAE,EAAE,KAAK,CAAC,EAAE,IAAE;QACxC,CAAC,CAAA;IACH,CAAC;CACF;AAjBD,gEAiBC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { ApolloContext } from '../../app/api.service';
|
|
2
2
|
import { PersistenceService } from '../../persistence/persistence.service';
|
|
3
|
-
import { GraphQLTypeResolver } from 'graphql
|
|
4
|
-
import {
|
|
3
|
+
import { GraphQLTypeResolver } from 'graphql';
|
|
4
|
+
import { EntryTypeUtil } from '../schema-utils/entry-type-util';
|
|
5
5
|
export declare class UnionTypeResolverGenerator {
|
|
6
6
|
private readonly persistence;
|
|
7
|
-
private readonly
|
|
8
|
-
constructor(persistence: PersistenceService,
|
|
7
|
+
private readonly entryTypeUtil;
|
|
8
|
+
constructor(persistence: PersistenceService, entryTypeUtil: EntryTypeUtil);
|
|
9
9
|
createResolver(): GraphQLTypeResolver<any, ApolloContext>;
|
|
10
10
|
}
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.UnionTypeResolverGenerator = void 0;
|
|
4
4
|
class UnionTypeResolverGenerator {
|
|
5
|
-
constructor(persistence,
|
|
5
|
+
constructor(persistence, entryTypeUtil) {
|
|
6
6
|
this.persistence = persistence;
|
|
7
|
-
this.
|
|
7
|
+
this.entryTypeUtil = entryTypeUtil;
|
|
8
8
|
}
|
|
9
9
|
createResolver() {
|
|
10
10
|
return async (obj, context, info, abstractType) => {
|
|
11
|
-
if (this.
|
|
11
|
+
if (this.entryTypeUtil.buildsOnTypeWithEntryDirective(abstractType)) {
|
|
12
12
|
return this.persistence.getTypeById(context.gitAdapter, context.getCurrentRef(), obj.id);
|
|
13
13
|
}
|
|
14
14
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"union-type-resolver-generator.js","sourceRoot":"","sources":["../../../src/graphql/resolver-generators/union-type-resolver-generator.ts"],"names":[],"mappings":";;;AASA,MAAa,0BAA0B;IACrC,YACmB,WAA+B,EAC/B,
|
|
1
|
+
{"version":3,"file":"union-type-resolver-generator.js","sourceRoot":"","sources":["../../../src/graphql/resolver-generators/union-type-resolver-generator.ts"],"names":[],"mappings":";;;AASA,MAAa,0BAA0B;IACrC,YACmB,WAA+B,EAC/B,aAA4B;QAD5B,gBAAW,GAAX,WAAW,CAAoB;QAC/B,kBAAa,GAAb,aAAa,CAAe;IAC5C,CAAC;IAEG,cAAc;QACnB,OAAO,KAAK,EACV,GAAQ,EACR,OAAsB,EACtB,IAAwB,EACxB,YAAiC,EAChB,EAAE;YACnB,IAAI,IAAI,CAAC,aAAa,CAAC,8BAA8B,CAAC,YAAY,CAAC,EAAE;gBACnE,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CACjC,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,aAAa,EAAE,EACvB,GAAG,CAAC,EAAE,CACP,CAAA;aACF;iBAAM;gBAGL,OAAO,GAAG,CAAC,UAAU,CAAA;aACtB;QAGH,CAAC,CAAA;IACH,CAAC;CACF;AA5BD,gEA4BC"}
|