@axinom/mosaic-graphql-common 0.27.0-rc.7 → 0.27.0-rc.9

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.
@@ -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>) => Plugin;
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;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,cAC1B,MAAM,wBACK,MAAM,qCAEX,MAAM,UACb,aAAa,KAClB,QAAQ,MAAM,CAAC,KACnB,MAiJF,CAAC"}
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,8 +37,15 @@ 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
- const addInputTypeForFKs = generateInputTypeForFKs(build, pgTable, 'Add');
40
- const removeInputTypeForFKs = generateInputTypeForFKs(build, pgTable, 'Remove');
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;
41
49
  const BulkEditPayloadType = getBulkEditPayloadType(build);
42
50
  const args = {
43
51
  filter: {
@@ -46,13 +54,17 @@ const BulkEditAsyncPluginFactory = (tableName, bulkEditMutationName, getLongLive
46
54
  set: {
47
55
  type: patchType,
48
56
  },
49
- relatedEntitiesToRemove: {
57
+ };
58
+ if (removeInputTypeForFKs) {
59
+ args.relatedEntitiesToRemove = {
50
60
  type: removeInputTypeForFKs,
51
- },
52
- relatedEntitiesToAdd: {
61
+ };
62
+ }
63
+ if (addInputTypeForFKs) {
64
+ args.relatedEntitiesToAdd = {
53
65
  type: addInputTypeForFKs,
54
- },
55
- };
66
+ };
67
+ }
56
68
  const operation = {
57
69
  type: BulkEditPayloadType,
58
70
  args,
@@ -66,7 +78,7 @@ const BulkEditAsyncPluginFactory = (tableName, bulkEditMutationName, getLongLive
66
78
  primaryKeyFieldName: inflection.column((_a = pgTable.primaryKeyConstraint) === null || _a === void 0 ? void 0 : _a.keyAttributes[0]),
67
79
  }, build.graphql, input, context, resolveInfo.schema);
68
80
  const { set, relatedEntitiesToRemove, relatedEntitiesToAdd } = input;
69
- const { removals, additions } = getFkResolverPayload(build, pgTable, relatedEntitiesToRemove, relatedEntitiesToAdd);
81
+ const { removals, additions } = getFkResolverPayload(build, pgTable, relatedEntitiesToRemove, relatedEntitiesToAdd, excludedForeignKeyRelations);
70
82
  await asyncResolverImplementation({
71
83
  set: getMainResolverPayload(build, pgTable, set),
72
84
  removals,
@@ -116,10 +128,10 @@ function getMainResolverPayload(build, pgTable, set) {
116
128
  };
117
129
  }
118
130
  // TODO: Can be potentially optimized (i.e. with getAffectedForeignKeyRelations or with asyncResolverImplementation)
119
- function getFkResolverPayload(build, pgTable, relatedEntitiesToRemove, relatedEntitiesToAdd) {
131
+ function getFkResolverPayload(build, pgTable, relatedEntitiesToRemove, relatedEntitiesToAdd, excludedForeignKeyRelations) {
120
132
  var _a, _b;
121
133
  const inflection = build.inflection;
122
- const foreignKeyRelations = getAffectedForeignKeyRelations(pgTable);
134
+ const foreignKeyRelations = getAffectedForeignKeyRelations(pgTable, excludedForeignKeyRelations);
123
135
  const fkProcessingMetadata = {};
124
136
  for (const fkConstraint of foreignKeyRelations) {
125
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)];
@@ -231,12 +243,12 @@ function mapGqlInputObjectToSqlColumnNames(sourceGqlInputObject, gqlToSqlColumnN
231
243
  }, {});
232
244
  }
233
245
  // TODO: Handle `insertable` | `deletable` GRANTS for FK Relations
234
- function generateInputTypeForFKs(build, pgTable, action) {
246
+ function generateInputTypeForFKs(build, pgTable, action, excludedForeignKeyRelations) {
235
247
  var _a, _b;
236
248
  const inflection = build.inflection;
237
249
  const allFkInputTypesFieldMap = {};
238
250
  // Filter only the interesting FK relations
239
- const foreignKeyRelations = getAffectedForeignKeyRelations(pgTable);
251
+ const foreignKeyRelations = getAffectedForeignKeyRelations(pgTable, excludedForeignKeyRelations);
240
252
  for (const fkConstraint of foreignKeyRelations) {
241
253
  const parentPgTable = fkConstraint.foreignClass;
242
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)];
@@ -262,10 +274,12 @@ function generateInputTypeForFKs(build, pgTable, action) {
262
274
  build.addType(BulkEditAddInputTypeForFK);
263
275
  return BulkEditAddInputTypeForFK;
264
276
  }
265
- function getAffectedForeignKeyRelations(pgTable) {
277
+ function getAffectedForeignKeyRelations(pgTable, excludedForeignKeyRelations) {
266
278
  return pgTable.foreignConstraints.filter((constraint) => constraint.type === 'f' &&
267
279
  (constraint.isFake === undefined || constraint.isFake === false) &&
268
- !constraint.name.startsWith('multitenancy_relation_'));
280
+ !constraint.name.startsWith('multitenancy_relation_') &&
281
+ (!excludedForeignKeyRelations ||
282
+ !excludedForeignKeyRelations.includes(constraint.class.name)));
269
283
  }
270
284
  function getBulkEditPayloadType(build) {
271
285
  const existingType = build.getTypeByName('BulkEditAsyncPayloadType');
@@ -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.7",
3
+ "version": "0.27.0-rc.9",
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.7",
35
- "@axinom/mosaic-message-bus": "^0.44.0-rc.7",
34
+ "@axinom/mosaic-db-common": "^0.51.0-rc.9",
35
+ "@axinom/mosaic-message-bus": "^0.44.0-rc.9",
36
36
  "@axinom/mosaic-message-bus-abstractions": "^0.24.0",
37
- "@axinom/mosaic-messages": "^0.61.0-rc.7",
38
- "@axinom/mosaic-service-common": "^0.63.0-rc.7",
39
- "@axinom/mosaic-transactional-inbox-outbox": "^0.23.0-rc.7",
37
+ "@axinom/mosaic-messages": "^0.61.0-rc.9",
38
+ "@axinom/mosaic-service-common": "^0.63.0-rc.9",
39
+ "@axinom/mosaic-transactional-inbox-outbox": "^0.23.0-rc.9",
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": "fd8bec1fd1e7def28fffa94fb330c5a57843f203"
69
+ "gitHead": "4574703f2871cb4fc2bef6791ed9bd65fdda66b7"
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,34 +88,53 @@ export const BulkEditAsyncPluginFactory = (
86
88
  inflection.patchType(graphQLObjectType.name),
87
89
  );
88
90
 
89
- const addInputTypeForFKs = generateInputTypeForFKs(
90
- build,
91
+ // Check if there are any FK relations after filtering exclusions
92
+ const foreignKeyRelations = getAffectedForeignKeyRelations(
91
93
  pgTable,
92
- 'Add',
94
+ excludedForeignKeyRelations,
93
95
  );
96
+ const hasForeignKeyRelations = foreignKeyRelations.length > 0;
94
97
 
95
- const removeInputTypeForFKs = generateInputTypeForFKs(
96
- build,
97
- pgTable,
98
- 'Remove',
99
- );
98
+ const addInputTypeForFKs = hasForeignKeyRelations
99
+ ? generateInputTypeForFKs(
100
+ build,
101
+ pgTable,
102
+ 'Add',
103
+ excludedForeignKeyRelations,
104
+ )
105
+ : undefined;
106
+
107
+ const removeInputTypeForFKs = hasForeignKeyRelations
108
+ ? generateInputTypeForFKs(
109
+ build,
110
+ pgTable,
111
+ 'Remove',
112
+ excludedForeignKeyRelations,
113
+ )
114
+ : undefined;
100
115
 
101
116
  const BulkEditPayloadType = getBulkEditPayloadType(build);
102
117
 
103
- const args = {
118
+ const args: Record<string, { type: GraphQL.GraphQLInputType }> = {
104
119
  filter: {
105
120
  type: connectionFilterType,
106
121
  },
107
122
  set: {
108
123
  type: patchType,
109
124
  },
110
- relatedEntitiesToRemove: {
125
+ };
126
+
127
+ if (removeInputTypeForFKs) {
128
+ args.relatedEntitiesToRemove = {
111
129
  type: removeInputTypeForFKs,
112
- },
113
- relatedEntitiesToAdd: {
130
+ };
131
+ }
132
+
133
+ if (addInputTypeForFKs) {
134
+ args.relatedEntitiesToAdd = {
114
135
  type: addInputTypeForFKs,
115
- },
116
- };
136
+ };
137
+ }
117
138
 
118
139
  const operation = {
119
140
  type: BulkEditPayloadType,
@@ -165,6 +186,7 @@ export const BulkEditAsyncPluginFactory = (
165
186
  pgTable,
166
187
  relatedEntitiesToRemove,
167
188
  relatedEntitiesToAdd,
189
+ excludedForeignKeyRelations,
168
190
  );
169
191
 
170
192
  await asyncResolverImplementation(
@@ -296,12 +318,16 @@ function getFkResolverPayload(
296
318
  [key: string]: [any];
297
319
  }
298
320
  | undefined,
321
+ excludedForeignKeyRelations?: string[],
299
322
  ): {
300
323
  additions: FkResolverPayload;
301
324
  removals: FkResolverPayload;
302
325
  } {
303
326
  const inflection: Inflection = build.inflection;
304
- const foreignKeyRelations = getAffectedForeignKeyRelations(pgTable);
327
+ const foreignKeyRelations = getAffectedForeignKeyRelations(
328
+ pgTable,
329
+ excludedForeignKeyRelations,
330
+ );
305
331
 
306
332
  const fkProcessingMetadata: FKProcessingMetadata = {};
307
333
 
@@ -528,13 +554,17 @@ function generateInputTypeForFKs(
528
554
  build: Build,
529
555
  pgTable: PgClass,
530
556
  action: 'Add' | 'Remove',
557
+ excludedForeignKeyRelations?: string[],
531
558
  ): GraphQLInputObjectType {
532
559
  const inflection: Inflection = build.inflection;
533
560
  const allFkInputTypesFieldMap: GraphQL.Thunk<GraphQL.GraphQLInputFieldConfigMap> =
534
561
  {};
535
562
 
536
563
  // Filter only the interesting FK relations
537
- const foreignKeyRelations = getAffectedForeignKeyRelations(pgTable);
564
+ const foreignKeyRelations = getAffectedForeignKeyRelations(
565
+ pgTable,
566
+ excludedForeignKeyRelations,
567
+ );
538
568
 
539
569
  for (const fkConstraint of foreignKeyRelations) {
540
570
  const parentPgTable = fkConstraint.foreignClass;
@@ -587,12 +617,17 @@ function generateInputTypeForFKs(
587
617
  return BulkEditAddInputTypeForFK;
588
618
  }
589
619
 
590
- function getAffectedForeignKeyRelations(pgTable: PgClass): PgConstraint[] {
620
+ function getAffectedForeignKeyRelations(
621
+ pgTable: PgClass,
622
+ excludedForeignKeyRelations?: string[],
623
+ ): PgConstraint[] {
591
624
  return pgTable.foreignConstraints.filter(
592
625
  (constraint: PgConstraint & { isFake?: boolean }) =>
593
626
  constraint.type === 'f' &&
594
627
  (constraint.isFake === undefined || constraint.isFake === false) &&
595
- !constraint.name.startsWith('multitenancy_relation_'),
628
+ !constraint.name.startsWith('multitenancy_relation_') &&
629
+ (!excludedForeignKeyRelations ||
630
+ !excludedForeignKeyRelations.includes(constraint.class.name)),
596
631
  );
597
632
  }
598
633