@axinom/mosaic-graphql-common 0.27.0-rc.0 → 0.27.0-rc.10
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/dist/plugins/bulk-edit/bulk-edit-async-plugin-factory.d.ts +2 -1
- package/dist/plugins/bulk-edit/bulk-edit-async-plugin-factory.d.ts.map +1 -1
- package/dist/plugins/bulk-edit/bulk-edit-async-plugin-factory.js +46 -24
- package/dist/plugins/bulk-edit/bulk-edit-async-plugin-factory.js.map +1 -1
- package/package.json +7 -7
- package/src/plugins/bulk-edit/bulk-edit-async-plugin-factory.ts +74 -27
|
@@ -6,7 +6,8 @@ import { Plugin } from 'postgraphile';
|
|
|
6
6
|
* @param tableName Name of the table to enable the BulkEdit mutation
|
|
7
7
|
* @param bulkEditMutationName Name of the BulkEdit mutation to be generated
|
|
8
8
|
* @param messageSettings The settings for the MultiTenantMessaging for the service that implements the ItemChangeCommand (e.g. ImageServiceMultiTenantMessagingSettings.ImageServicePerformItemChange)
|
|
9
|
+
* @param excludedForeignKeyRelations Optional array of FK table names to exclude from bulk edit operations
|
|
9
10
|
* @returns The Postgraphile plugin that enables the BulkEdit mutation.
|
|
10
11
|
*/
|
|
11
|
-
export declare const BulkEditAsyncPluginFactory: (tableName: string, bulkEditMutationName: string, getLongLivedToken: (originalToken: string, config: BasicDBConfig) => Promise<string
|
|
12
|
+
export declare const BulkEditAsyncPluginFactory: (tableName: string, bulkEditMutationName: string, getLongLivedToken: (originalToken: string, config: BasicDBConfig) => Promise<string>, excludedForeignKeyRelations?: string[]) => Plugin;
|
|
12
13
|
//# sourceMappingURL=bulk-edit-async-plugin-factory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bulk-edit-async-plugin-factory.d.ts","sourceRoot":"","sources":["../../../src/plugins/bulk-edit/bulk-edit-async-plugin-factory.ts"],"names":[],"mappings":"AAYA,OAAO,EAEL,aAAa,EAEd,MAAM,+BAA+B,CAAC;AAgBvC,OAAO,EAAqB,MAAM,EAAiB,MAAM,cAAc,CAAC;AAMxE
|
|
1
|
+
{"version":3,"file":"bulk-edit-async-plugin-factory.d.ts","sourceRoot":"","sources":["../../../src/plugins/bulk-edit/bulk-edit-async-plugin-factory.ts"],"names":[],"mappings":"AAYA,OAAO,EAEL,aAAa,EAEd,MAAM,+BAA+B,CAAC;AAgBvC,OAAO,EAAqB,MAAM,EAAiB,MAAM,cAAc,CAAC;AAMxE;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B,cAC1B,MAAM,wBACK,MAAM,qCAEX,MAAM,UACb,aAAa,KAClB,QAAQ,MAAM,CAAC,gCACU,MAAM,EAAE,KACrC,MAqKF,CAAC"}
|
|
@@ -14,9 +14,10 @@ const pg_transactional_outbox_1 = require("pg-transactional-outbox");
|
|
|
14
14
|
* @param tableName Name of the table to enable the BulkEdit mutation
|
|
15
15
|
* @param bulkEditMutationName Name of the BulkEdit mutation to be generated
|
|
16
16
|
* @param messageSettings The settings for the MultiTenantMessaging for the service that implements the ItemChangeCommand (e.g. ImageServiceMultiTenantMessagingSettings.ImageServicePerformItemChange)
|
|
17
|
+
* @param excludedForeignKeyRelations Optional array of FK table names to exclude from bulk edit operations
|
|
17
18
|
* @returns The Postgraphile plugin that enables the BulkEdit mutation.
|
|
18
19
|
*/
|
|
19
|
-
const BulkEditAsyncPluginFactory = (tableName, bulkEditMutationName, getLongLivedToken) => {
|
|
20
|
+
const BulkEditAsyncPluginFactory = (tableName, bulkEditMutationName, getLongLivedToken, excludedForeignKeyRelations) => {
|
|
20
21
|
return (builder) => {
|
|
21
22
|
builder.hook('GraphQLObjectType:fields', (fields, build, ctx) => {
|
|
22
23
|
var _a;
|
|
@@ -36,17 +37,16 @@ const BulkEditAsyncPluginFactory = (tableName, bulkEditMutationName, getLongLive
|
|
|
36
37
|
const graphQLObjectType = build.getTypeByName(graphQLObjectTypeName);
|
|
37
38
|
const connectionFilterType = build.connectionFilterTypesByTypeName[`${graphQLObjectTypeName}Filter`];
|
|
38
39
|
const patchType = build.getTypeByName(inflection.patchType(graphQLObjectType.name));
|
|
39
|
-
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
});
|
|
40
|
+
// Check if there are any FK relations after filtering exclusions
|
|
41
|
+
const foreignKeyRelations = getAffectedForeignKeyRelations(pgTable, excludedForeignKeyRelations);
|
|
42
|
+
const hasForeignKeyRelations = foreignKeyRelations.length > 0;
|
|
43
|
+
const addInputTypeForFKs = hasForeignKeyRelations
|
|
44
|
+
? generateInputTypeForFKs(build, pgTable, 'Add', excludedForeignKeyRelations)
|
|
45
|
+
: undefined;
|
|
46
|
+
const removeInputTypeForFKs = hasForeignKeyRelations
|
|
47
|
+
? generateInputTypeForFKs(build, pgTable, 'Remove', excludedForeignKeyRelations)
|
|
48
|
+
: undefined;
|
|
49
|
+
const BulkEditPayloadType = getBulkEditPayloadType(build);
|
|
50
50
|
const args = {
|
|
51
51
|
filter: {
|
|
52
52
|
type: connectionFilterType,
|
|
@@ -54,13 +54,17 @@ const BulkEditAsyncPluginFactory = (tableName, bulkEditMutationName, getLongLive
|
|
|
54
54
|
set: {
|
|
55
55
|
type: patchType,
|
|
56
56
|
},
|
|
57
|
-
|
|
57
|
+
};
|
|
58
|
+
if (removeInputTypeForFKs) {
|
|
59
|
+
args.relatedEntitiesToRemove = {
|
|
58
60
|
type: removeInputTypeForFKs,
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
if (addInputTypeForFKs) {
|
|
64
|
+
args.relatedEntitiesToAdd = {
|
|
61
65
|
type: addInputTypeForFKs,
|
|
62
|
-
}
|
|
63
|
-
}
|
|
66
|
+
};
|
|
67
|
+
}
|
|
64
68
|
const operation = {
|
|
65
69
|
type: BulkEditPayloadType,
|
|
66
70
|
args,
|
|
@@ -74,7 +78,7 @@ const BulkEditAsyncPluginFactory = (tableName, bulkEditMutationName, getLongLive
|
|
|
74
78
|
primaryKeyFieldName: inflection.column((_a = pgTable.primaryKeyConstraint) === null || _a === void 0 ? void 0 : _a.keyAttributes[0]),
|
|
75
79
|
}, build.graphql, input, context, resolveInfo.schema);
|
|
76
80
|
const { set, relatedEntitiesToRemove, relatedEntitiesToAdd } = input;
|
|
77
|
-
const { removals, additions } = getFkResolverPayload(build, pgTable, relatedEntitiesToRemove, relatedEntitiesToAdd);
|
|
81
|
+
const { removals, additions } = getFkResolverPayload(build, pgTable, relatedEntitiesToRemove, relatedEntitiesToAdd, excludedForeignKeyRelations);
|
|
78
82
|
await asyncResolverImplementation({
|
|
79
83
|
set: getMainResolverPayload(build, pgTable, set),
|
|
80
84
|
removals,
|
|
@@ -124,10 +128,10 @@ function getMainResolverPayload(build, pgTable, set) {
|
|
|
124
128
|
};
|
|
125
129
|
}
|
|
126
130
|
// TODO: Can be potentially optimized (i.e. with getAffectedForeignKeyRelations or with asyncResolverImplementation)
|
|
127
|
-
function getFkResolverPayload(build, pgTable, relatedEntitiesToRemove, relatedEntitiesToAdd) {
|
|
131
|
+
function getFkResolverPayload(build, pgTable, relatedEntitiesToRemove, relatedEntitiesToAdd, excludedForeignKeyRelations) {
|
|
128
132
|
var _a, _b;
|
|
129
133
|
const inflection = build.inflection;
|
|
130
|
-
const foreignKeyRelations = getAffectedForeignKeyRelations(pgTable);
|
|
134
|
+
const foreignKeyRelations = getAffectedForeignKeyRelations(pgTable, excludedForeignKeyRelations);
|
|
131
135
|
const fkProcessingMetadata = {};
|
|
132
136
|
for (const fkConstraint of foreignKeyRelations) {
|
|
133
137
|
const parentKey = fkConstraint.keyAttributes[fkConstraint.foreignKeyAttributeNums.indexOf((_b = (_a = pgTable.primaryKeyConstraint) === null || _a === void 0 ? void 0 : _a.keyAttributes[0].num) !== null && _b !== void 0 ? _b : -1)];
|
|
@@ -239,12 +243,12 @@ function mapGqlInputObjectToSqlColumnNames(sourceGqlInputObject, gqlToSqlColumnN
|
|
|
239
243
|
}, {});
|
|
240
244
|
}
|
|
241
245
|
// TODO: Handle `insertable` | `deletable` GRANTS for FK Relations
|
|
242
|
-
function generateInputTypeForFKs(build, pgTable, action) {
|
|
246
|
+
function generateInputTypeForFKs(build, pgTable, action, excludedForeignKeyRelations) {
|
|
243
247
|
var _a, _b;
|
|
244
248
|
const inflection = build.inflection;
|
|
245
249
|
const allFkInputTypesFieldMap = {};
|
|
246
250
|
// Filter only the interesting FK relations
|
|
247
|
-
const foreignKeyRelations = getAffectedForeignKeyRelations(pgTable);
|
|
251
|
+
const foreignKeyRelations = getAffectedForeignKeyRelations(pgTable, excludedForeignKeyRelations);
|
|
248
252
|
for (const fkConstraint of foreignKeyRelations) {
|
|
249
253
|
const parentPgTable = fkConstraint.foreignClass;
|
|
250
254
|
const parentKey = fkConstraint.keyAttributes[fkConstraint.foreignKeyAttributeNums.indexOf((_b = (_a = parentPgTable === null || parentPgTable === void 0 ? void 0 : parentPgTable.primaryKeyConstraint) === null || _a === void 0 ? void 0 : _a.keyAttributes[0].num) !== null && _b !== void 0 ? _b : -1)];
|
|
@@ -270,9 +274,27 @@ function generateInputTypeForFKs(build, pgTable, action) {
|
|
|
270
274
|
build.addType(BulkEditAddInputTypeForFK);
|
|
271
275
|
return BulkEditAddInputTypeForFK;
|
|
272
276
|
}
|
|
273
|
-
function getAffectedForeignKeyRelations(pgTable) {
|
|
277
|
+
function getAffectedForeignKeyRelations(pgTable, excludedForeignKeyRelations) {
|
|
274
278
|
return pgTable.foreignConstraints.filter((constraint) => constraint.type === 'f' &&
|
|
275
279
|
(constraint.isFake === undefined || constraint.isFake === false) &&
|
|
276
|
-
!constraint.name.startsWith('multitenancy_relation_')
|
|
280
|
+
!constraint.name.startsWith('multitenancy_relation_') &&
|
|
281
|
+
(!excludedForeignKeyRelations ||
|
|
282
|
+
!excludedForeignKeyRelations.includes(constraint.class.name)));
|
|
283
|
+
}
|
|
284
|
+
function getBulkEditPayloadType(build) {
|
|
285
|
+
const existingType = build.getTypeByName('BulkEditAsyncPayloadType');
|
|
286
|
+
if (existingType && existingType instanceof graphql_1.GraphQLObjectType) {
|
|
287
|
+
return existingType;
|
|
288
|
+
}
|
|
289
|
+
const BulkEditPayloadType = new graphql_1.GraphQLObjectType({
|
|
290
|
+
name: 'BulkEditAsyncPayloadType',
|
|
291
|
+
fields: () => ({
|
|
292
|
+
filterMatchedIds: {
|
|
293
|
+
type: new graphql_1.GraphQLList(graphql_1.GraphQLString),
|
|
294
|
+
},
|
|
295
|
+
}),
|
|
296
|
+
});
|
|
297
|
+
build.addType(BulkEditPayloadType);
|
|
298
|
+
return BulkEditPayloadType;
|
|
277
299
|
}
|
|
278
300
|
//# sourceMappingURL=bulk-edit-async-plugin-factory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bulk-edit-async-plugin-factory.js","sourceRoot":"","sources":["../../../src/plugins/bulk-edit/bulk-edit-async-plugin-factory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bulk-edit-async-plugin-factory.js","sourceRoot":"","sources":["../../../src/plugins/bulk-edit/bulk-edit-async-plugin-factory.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@axinom/mosaic-graphql-common",
|
|
3
|
-
"version": "0.27.0-rc.
|
|
3
|
+
"version": "0.27.0-rc.10",
|
|
4
4
|
"description": "Common GraphQL and PostGraphile related functionality.",
|
|
5
5
|
"author": "Axinom",
|
|
6
6
|
"license": "PROPRIETARY",
|
|
@@ -31,12 +31,12 @@
|
|
|
31
31
|
"lint": "eslint . --ext .ts,.tsx,.js --color --cache"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@axinom/mosaic-db-common": "^0.51.0-rc.
|
|
35
|
-
"@axinom/mosaic-message-bus": "^0.44.0-rc.
|
|
34
|
+
"@axinom/mosaic-db-common": "^0.51.0-rc.10",
|
|
35
|
+
"@axinom/mosaic-message-bus": "^0.44.0-rc.10",
|
|
36
36
|
"@axinom/mosaic-message-bus-abstractions": "^0.24.0",
|
|
37
|
-
"@axinom/mosaic-messages": "^0.61.0-rc.
|
|
38
|
-
"@axinom/mosaic-service-common": "^0.63.0-rc.
|
|
39
|
-
"@axinom/mosaic-transactional-inbox-outbox": "^0.23.0-rc.
|
|
37
|
+
"@axinom/mosaic-messages": "^0.61.0-rc.10",
|
|
38
|
+
"@axinom/mosaic-service-common": "^0.63.0-rc.10",
|
|
39
|
+
"@axinom/mosaic-transactional-inbox-outbox": "^0.23.0-rc.10",
|
|
40
40
|
"@graphile/pg-pubsub": "^4.12.3",
|
|
41
41
|
"endent": "^2.1.0",
|
|
42
42
|
"express": "^4.17.1",
|
|
@@ -66,5 +66,5 @@
|
|
|
66
66
|
"publishConfig": {
|
|
67
67
|
"access": "public"
|
|
68
68
|
},
|
|
69
|
-
"gitHead": "
|
|
69
|
+
"gitHead": "1db91b67fe80347707fd3960cea16505ea3aedcf"
|
|
70
70
|
}
|
|
@@ -42,6 +42,7 @@ type MinimalConfig = Pick<BasicConfig, 'serviceId'> &
|
|
|
42
42
|
* @param tableName Name of the table to enable the BulkEdit mutation
|
|
43
43
|
* @param bulkEditMutationName Name of the BulkEdit mutation to be generated
|
|
44
44
|
* @param messageSettings The settings for the MultiTenantMessaging for the service that implements the ItemChangeCommand (e.g. ImageServiceMultiTenantMessagingSettings.ImageServicePerformItemChange)
|
|
45
|
+
* @param excludedForeignKeyRelations Optional array of FK table names to exclude from bulk edit operations
|
|
45
46
|
* @returns The Postgraphile plugin that enables the BulkEdit mutation.
|
|
46
47
|
*/
|
|
47
48
|
export const BulkEditAsyncPluginFactory = (
|
|
@@ -51,6 +52,7 @@ export const BulkEditAsyncPluginFactory = (
|
|
|
51
52
|
originalToken: string,
|
|
52
53
|
config: BasicDBConfig,
|
|
53
54
|
) => Promise<string>,
|
|
55
|
+
excludedForeignKeyRelations?: string[],
|
|
54
56
|
): Plugin => {
|
|
55
57
|
return (builder: SchemaBuilder): void => {
|
|
56
58
|
builder.hook('GraphQLObjectType:fields', (fields, build, ctx) => {
|
|
@@ -86,42 +88,53 @@ export const BulkEditAsyncPluginFactory = (
|
|
|
86
88
|
inflection.patchType(graphQLObjectType.name),
|
|
87
89
|
);
|
|
88
90
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
+
// Check if there are any FK relations after filtering exclusions
|
|
92
|
+
const foreignKeyRelations = getAffectedForeignKeyRelations(
|
|
91
93
|
pgTable,
|
|
92
|
-
|
|
94
|
+
excludedForeignKeyRelations,
|
|
93
95
|
);
|
|
96
|
+
const hasForeignKeyRelations = foreignKeyRelations.length > 0;
|
|
94
97
|
|
|
95
|
-
const
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
98
|
+
const addInputTypeForFKs = hasForeignKeyRelations
|
|
99
|
+
? generateInputTypeForFKs(
|
|
100
|
+
build,
|
|
101
|
+
pgTable,
|
|
102
|
+
'Add',
|
|
103
|
+
excludedForeignKeyRelations,
|
|
104
|
+
)
|
|
105
|
+
: undefined;
|
|
100
106
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
107
|
+
const removeInputTypeForFKs = hasForeignKeyRelations
|
|
108
|
+
? generateInputTypeForFKs(
|
|
109
|
+
build,
|
|
110
|
+
pgTable,
|
|
111
|
+
'Remove',
|
|
112
|
+
excludedForeignKeyRelations,
|
|
113
|
+
)
|
|
114
|
+
: undefined;
|
|
115
|
+
|
|
116
|
+
const BulkEditPayloadType = getBulkEditPayloadType(build);
|
|
110
117
|
|
|
111
|
-
const args = {
|
|
118
|
+
const args: Record<string, { type: GraphQL.GraphQLInputType }> = {
|
|
112
119
|
filter: {
|
|
113
120
|
type: connectionFilterType,
|
|
114
121
|
},
|
|
115
122
|
set: {
|
|
116
123
|
type: patchType,
|
|
117
124
|
},
|
|
118
|
-
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
if (removeInputTypeForFKs) {
|
|
128
|
+
args.relatedEntitiesToRemove = {
|
|
119
129
|
type: removeInputTypeForFKs,
|
|
120
|
-
}
|
|
121
|
-
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
if (addInputTypeForFKs) {
|
|
134
|
+
args.relatedEntitiesToAdd = {
|
|
122
135
|
type: addInputTypeForFKs,
|
|
123
|
-
}
|
|
124
|
-
}
|
|
136
|
+
};
|
|
137
|
+
}
|
|
125
138
|
|
|
126
139
|
const operation = {
|
|
127
140
|
type: BulkEditPayloadType,
|
|
@@ -173,6 +186,7 @@ export const BulkEditAsyncPluginFactory = (
|
|
|
173
186
|
pgTable,
|
|
174
187
|
relatedEntitiesToRemove,
|
|
175
188
|
relatedEntitiesToAdd,
|
|
189
|
+
excludedForeignKeyRelations,
|
|
176
190
|
);
|
|
177
191
|
|
|
178
192
|
await asyncResolverImplementation(
|
|
@@ -304,12 +318,16 @@ function getFkResolverPayload(
|
|
|
304
318
|
[key: string]: [any];
|
|
305
319
|
}
|
|
306
320
|
| undefined,
|
|
321
|
+
excludedForeignKeyRelations?: string[],
|
|
307
322
|
): {
|
|
308
323
|
additions: FkResolverPayload;
|
|
309
324
|
removals: FkResolverPayload;
|
|
310
325
|
} {
|
|
311
326
|
const inflection: Inflection = build.inflection;
|
|
312
|
-
const foreignKeyRelations = getAffectedForeignKeyRelations(
|
|
327
|
+
const foreignKeyRelations = getAffectedForeignKeyRelations(
|
|
328
|
+
pgTable,
|
|
329
|
+
excludedForeignKeyRelations,
|
|
330
|
+
);
|
|
313
331
|
|
|
314
332
|
const fkProcessingMetadata: FKProcessingMetadata = {};
|
|
315
333
|
|
|
@@ -536,13 +554,17 @@ function generateInputTypeForFKs(
|
|
|
536
554
|
build: Build,
|
|
537
555
|
pgTable: PgClass,
|
|
538
556
|
action: 'Add' | 'Remove',
|
|
557
|
+
excludedForeignKeyRelations?: string[],
|
|
539
558
|
): GraphQLInputObjectType {
|
|
540
559
|
const inflection: Inflection = build.inflection;
|
|
541
560
|
const allFkInputTypesFieldMap: GraphQL.Thunk<GraphQL.GraphQLInputFieldConfigMap> =
|
|
542
561
|
{};
|
|
543
562
|
|
|
544
563
|
// Filter only the interesting FK relations
|
|
545
|
-
const foreignKeyRelations = getAffectedForeignKeyRelations(
|
|
564
|
+
const foreignKeyRelations = getAffectedForeignKeyRelations(
|
|
565
|
+
pgTable,
|
|
566
|
+
excludedForeignKeyRelations,
|
|
567
|
+
);
|
|
546
568
|
|
|
547
569
|
for (const fkConstraint of foreignKeyRelations) {
|
|
548
570
|
const parentPgTable = fkConstraint.foreignClass;
|
|
@@ -595,11 +617,36 @@ function generateInputTypeForFKs(
|
|
|
595
617
|
return BulkEditAddInputTypeForFK;
|
|
596
618
|
}
|
|
597
619
|
|
|
598
|
-
function getAffectedForeignKeyRelations(
|
|
620
|
+
function getAffectedForeignKeyRelations(
|
|
621
|
+
pgTable: PgClass,
|
|
622
|
+
excludedForeignKeyRelations?: string[],
|
|
623
|
+
): PgConstraint[] {
|
|
599
624
|
return pgTable.foreignConstraints.filter(
|
|
600
625
|
(constraint: PgConstraint & { isFake?: boolean }) =>
|
|
601
626
|
constraint.type === 'f' &&
|
|
602
627
|
(constraint.isFake === undefined || constraint.isFake === false) &&
|
|
603
|
-
!constraint.name.startsWith('multitenancy_relation_')
|
|
628
|
+
!constraint.name.startsWith('multitenancy_relation_') &&
|
|
629
|
+
(!excludedForeignKeyRelations ||
|
|
630
|
+
!excludedForeignKeyRelations.includes(constraint.class.name)),
|
|
604
631
|
);
|
|
605
632
|
}
|
|
633
|
+
|
|
634
|
+
function getBulkEditPayloadType(build: Build): GraphQLObjectType {
|
|
635
|
+
const existingType = build.getTypeByName('BulkEditAsyncPayloadType');
|
|
636
|
+
if (existingType && existingType instanceof GraphQLObjectType) {
|
|
637
|
+
return existingType;
|
|
638
|
+
}
|
|
639
|
+
|
|
640
|
+
const BulkEditPayloadType = new GraphQLObjectType({
|
|
641
|
+
name: 'BulkEditAsyncPayloadType',
|
|
642
|
+
fields: () => ({
|
|
643
|
+
filterMatchedIds: {
|
|
644
|
+
type: new GraphQLList(GraphQLString),
|
|
645
|
+
},
|
|
646
|
+
}),
|
|
647
|
+
});
|
|
648
|
+
|
|
649
|
+
build.addType(BulkEditPayloadType);
|
|
650
|
+
|
|
651
|
+
return BulkEditPayloadType;
|
|
652
|
+
}
|