drizzle-graphql-plus 0.8.11 → 0.8.12
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/index.cjs +46 -5
- package/index.cjs.map +1 -1
- package/index.js +46 -5
- package/index.js.map +1 -1
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -311,9 +311,25 @@ var extractSelectedColumnsFromTree = (tree, table) => {
|
|
|
311
311
|
const treeEntries = Object.entries(tree);
|
|
312
312
|
const selectedColumns = [];
|
|
313
313
|
for (const [fieldName, fieldData] of treeEntries) {
|
|
314
|
-
if (
|
|
314
|
+
if (tableColumns[fieldData.name]) {
|
|
315
|
+
selectedColumns.push([fieldData.name, true]);
|
|
315
316
|
continue;
|
|
316
|
-
|
|
317
|
+
}
|
|
318
|
+
if (fieldData.fieldsByTypeName) {
|
|
319
|
+
for (const [typeName, typeFields] of Object.entries(
|
|
320
|
+
fieldData.fieldsByTypeName
|
|
321
|
+
)) {
|
|
322
|
+
if (typeName.endsWith("Fields")) {
|
|
323
|
+
for (const [subFieldName, subFieldData] of Object.entries(
|
|
324
|
+
typeFields
|
|
325
|
+
)) {
|
|
326
|
+
if (tableColumns[subFieldData.name]) {
|
|
327
|
+
selectedColumns.push([subFieldData.name, true]);
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
}
|
|
317
333
|
}
|
|
318
334
|
if (!selectedColumns.length) {
|
|
319
335
|
const columnKeys = Object.entries(tableColumns);
|
|
@@ -329,9 +345,28 @@ var extractSelectedColumnsFromTreeSQLFormat = (tree, table) => {
|
|
|
329
345
|
const treeEntries = Object.entries(tree);
|
|
330
346
|
const selectedColumns = [];
|
|
331
347
|
for (const [fieldName, fieldData] of treeEntries) {
|
|
332
|
-
if (
|
|
348
|
+
if (tableColumns[fieldData.name]) {
|
|
349
|
+
selectedColumns.push([fieldData.name, tableColumns[fieldData.name]]);
|
|
333
350
|
continue;
|
|
334
|
-
|
|
351
|
+
}
|
|
352
|
+
if (fieldData.fieldsByTypeName) {
|
|
353
|
+
for (const [typeName, typeFields] of Object.entries(
|
|
354
|
+
fieldData.fieldsByTypeName
|
|
355
|
+
)) {
|
|
356
|
+
if (typeName.endsWith("Fields")) {
|
|
357
|
+
for (const [subFieldName, subFieldData] of Object.entries(
|
|
358
|
+
typeFields
|
|
359
|
+
)) {
|
|
360
|
+
if (tableColumns[subFieldData.name]) {
|
|
361
|
+
selectedColumns.push([
|
|
362
|
+
subFieldData.name,
|
|
363
|
+
tableColumns[subFieldData.name]
|
|
364
|
+
]);
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
}
|
|
335
370
|
}
|
|
336
371
|
if (!selectedColumns.length) {
|
|
337
372
|
const columnKeys = Object.entries(tableColumns);
|
|
@@ -535,7 +570,13 @@ var generateTableInterfaceTypeCached = (table, tableName) => {
|
|
|
535
570
|
const tableFields = generateTableSelectTypeFieldsCached(table, tableName);
|
|
536
571
|
const interfaceType = new GraphQLInterfaceType({
|
|
537
572
|
name: `${capitalize(tableName)}Fields`,
|
|
538
|
-
fields: tableFields
|
|
573
|
+
fields: tableFields,
|
|
574
|
+
resolveType(obj) {
|
|
575
|
+
if (obj.__typename) {
|
|
576
|
+
return obj.__typename;
|
|
577
|
+
}
|
|
578
|
+
return null;
|
|
579
|
+
}
|
|
539
580
|
});
|
|
540
581
|
interfaceTypeMap.set(table, interfaceType);
|
|
541
582
|
return interfaceType;
|