Skip to content

Commit b0cc7dd

Browse files
committed
feat: warn about non-existing relationships
1 parent 1baa4ad commit b0cc7dd

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

src/utilities/generateDataLoaderFactory.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,18 @@ import type {
1010
DataTypeMapType,
1111
IndexType
1212
} from '../types';
13+
import Logger from '../Logger';
1314
import generateFlowTypeDocument from './generateFlowTypeDocument';
1415
import indent from './indent';
1516
import isJoiningTable from './isJoiningTable';
1617
import createColumnSelector from './createColumnSelector';
1718
import createLoaderTypePropertyDeclaration from './createLoaderTypePropertyDeclaration';
1819
import pluralizeTableName from './pluralizeTableName';
1920

21+
const log = Logger.child({
22+
namespace: 'generateDataLoaderFactory'
23+
});
24+
2025
const createLoaderByIdsDeclaration = (loaderName: string, tableName: string, keyColumnName, columnSelector: string, resultIsArray: boolean) => {
2126
return `const ${loaderName} = new DataLoader((ids) => {
2227
return getByIds(connection, '${tableName}', ids, '${keyColumnName}', '${columnSelector}', ${String(resultIsArray)}, NotFoundError);
@@ -177,6 +182,14 @@ export default (
177182
return column.mappedTableName === relation.resource;
178183
});
179184

185+
if (!resourceTableColumns.length) {
186+
log.warn({
187+
relation
188+
}, 'resource without columns');
189+
190+
continue;
191+
}
192+
180193
const realResourceTableName = resourceTableColumns[0].tableName;
181194

182195
const tableColumnSelector = createColumnSelector(resourceTableColumns, 'r2');

0 commit comments

Comments
 (0)