@forestadmin/plugin-flattener 1.2.17 → 1.3.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.
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ const datasource_toolkit_1 = require("@forestadmin/datasource-toolkit");
3
4
  const customization_1 = require("./customization");
4
5
  const helpers_1 = require("./helpers");
5
6
  function optionsToPaths(collection, options) {
6
7
  const { columnName, include, exclude, level, columnType } = options;
7
8
  const errorMessage = `'${collection.name}.${columnName}' cannot be flattened`;
8
- const schema = collection.schema.fields[options.columnName];
9
+ const schema = datasource_toolkit_1.SchemaUtils.getColumn(collection.schema, columnName, collection.name);
9
10
  if (!schema)
10
11
  throw new Error(`${errorMessage} (not found).`);
11
12
  if (schema.type !== 'Column')
@@ -47,7 +48,7 @@ async function flattenColumn(dataSource, collection, options) {
47
48
  if (!collection)
48
49
  throw new Error('This plugin can only be called when customizing collections.');
49
50
  const paths = optionsToPaths(collection, options);
50
- const schema = collection.schema.fields[options.columnName];
51
+ const schema = datasource_toolkit_1.SchemaUtils.getColumn(collection.schema, options.columnName, collection.name);
51
52
  // Add fields that reads the value from the deeply nested column
52
53
  for (const path of paths) {
53
54
  collection.addField(path, (0, customization_1.makeField)(options.columnName, path, options.columnType || schema.columnType));
@@ -66,4 +67,4 @@ async function flattenColumn(dataSource, collection, options) {
66
67
  }
67
68
  }
68
69
  exports.default = flattenColumn;
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmxhdHRlbi1jb2x1bW4vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFPQSxtREFBOEY7QUFDOUYsdUNBQXdEO0FBV3hELFNBQVMsY0FBYyxDQUFDLFVBQWdDLEVBQUUsT0FBNkI7SUFDckYsTUFBTSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsR0FBRyxPQUFPLENBQUM7SUFDcEUsTUFBTSxZQUFZLEdBQUcsSUFBSSxVQUFVLENBQUMsSUFBSSxJQUFJLFVBQVUsdUJBQXVCLENBQUM7SUFDOUUsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRTVELElBQUksQ0FBQyxNQUFNO1FBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLFlBQVksZUFBZSxDQUFDLENBQUM7SUFDN0QsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLFFBQVE7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsWUFBWSxrQkFBa0IsQ0FBQyxDQUFDO0lBRWpGLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDO1FBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLFlBQVkseUJBQXlCLENBQUMsQ0FBQztJQUVoRyxJQUFJLENBQUMsVUFBVSxJQUFJLE9BQU8sTUFBTSxDQUFDLFVBQVUsS0FBSyxRQUFRLEVBQUU7UUFDeEQsSUFBSSxNQUFNLENBQUMsVUFBVSxLQUFLLE1BQU0sRUFBRTtZQUNoQyxNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsWUFBWSxvREFBb0QsQ0FBQyxDQUFDO1NBQ3RGO1FBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLFlBQVkscUJBQXFCLE1BQU0sQ0FBQyxVQUFVLG1CQUFtQixDQUFDLENBQUM7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
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmxhdHRlbi1jb2x1bW4vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFLQSx3RUFBMEU7QUFFMUUsbURBQThGO0FBQzlGLHVDQUF3RDtBQVd4RCxTQUFTLGNBQWMsQ0FBQyxVQUFnQyxFQUFFLE9BQTZCO0lBQ3JGLE1BQU0sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBQ3BFLE1BQU0sWUFBWSxHQUFHLElBQUksVUFBVSxDQUFDLElBQUksSUFBSSxVQUFVLHVCQUF1QixDQUFDO0lBQzlFLE1BQU0sTUFBTSxHQUFHLGdDQUFXLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVyRixJQUFJLENBQUMsTUFBTTtRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxZQUFZLGVBQWUsQ0FBQyxDQUFDO0lBQzdELElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxRQUFRO1FBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLFlBQVksa0JBQWtCLENBQUMsQ0FBQztJQUVqRixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQztRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxZQUFZLHlCQUF5QixDQUFDLENBQUM7SUFFaEcsSUFBSSxDQUFDLFVBQVUsSUFBSSxPQUFPLE1BQU0sQ0FBQyxVQUFVLEtBQUssUUFBUSxFQUFFO1FBQ3hELElBQUksTUFBTSxDQUFDLFVBQVUsS0FBSyxNQUFNLEVBQUU7WUFDaEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLFlBQVksb0RBQW9ELENBQUMsQ0FBQztTQUN0RjtRQUVELE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxZQUFZLHFCQUFx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
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ const datasource_toolkit_1 = require("@forestadmin/datasource-toolkit");
6
7
  const flatten_column_1 = __importDefault(require("../flatten-column"));
7
8
  const getObjectDepth = (obj) => Object(obj) === obj ? 1 + Math.max(-1, ...Object.values(obj).map(getObjectDepth)) : 0;
8
9
  /**
@@ -53,7 +54,7 @@ function flattenJsonColumn(dataSource, collection, options) {
53
54
  if (!collection)
54
55
  throw new Error('This plugin can only be called when customizing collections.');
55
56
  const errorMessage = `'${collection.name}.${options.columnName} cannot be flattened`;
56
- const schema = collection.schema.fields[options.columnName];
57
+ const schema = datasource_toolkit_1.SchemaUtils.getColumn(collection.schema, options.columnName, collection.name);
57
58
  if (schema?.columnType !== 'Json') {
58
59
  throw new Error(`${errorMessage}' (only available on primitive JSON column) prefer flattenColumn otherwise.`);
59
60
  }
@@ -71,4 +72,4 @@ function flattenJsonColumn(dataSource, collection, options) {
71
72
  }
72
73
  }
73
74
  exports.default = flattenJsonColumn;
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmxhdHRlbi1qc29uLWNvbHVtbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQU9BLHVFQUE4QztBQVU5QyxNQUFNLGNBQWMsR0FBRyxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQ3JDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBRXhGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0NHO0FBQ0gsU0FBd0IsaUJBQWlCLENBQ3ZDLFVBQWdDLEVBQ2hDLFVBQWdDLEVBQ2hDLE9BQWtDO0lBRWxDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRTtRQUMxRCxNQUFNLElBQUksS0FBSyxDQUFDLHlEQUF5RCxDQUFDLENBQUM7S0FDNUU7SUFFRCxJQUFJLENBQUMsVUFBVTtRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsOERBQThELENBQUMsQ0FBQztJQUVqRyxNQUFNLFlBQVksR0FBRyxJQUFJLFVBQVUsQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLFVBQVUsc0JBQXNCLENBQUM7SUFDckYsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBaUIsQ0FBQztJQUU1RSxJQUFJLE1BQU0sRUFBRSxVQUFVLEtBQUssTUFBTSxFQUFFO1FBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQ2IsR0FBRyxZQUFZLDZFQUE2RSxDQUM3RixDQUFDO0tBQ0g7SUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxFQUFFO1FBQzNDLE1BQU0sSUFBSSxLQUFLLENBQ2Isc0hBQXNILENBQ3ZILENBQUM7S0FDSDtJQUVELFVBQVUsQ0FBQyxHQUFHLENBQUMsd0JBQWEsRUFBRTtRQUM1QixVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVU7UUFDOUIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVO1FBQzlCLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUTtRQUMxQixLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUssSUFBSSxjQUFjLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQztLQUMzRCxDQUFDLENBQUM7SUFFSCxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFO1FBQy9CLFVBQVUsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBQzVDO0FBQ0gsQ0FBQztBQXBDRCxvQ0FvQ0MifQ==
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmxhdHRlbi1qc29uLWNvbHVtbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUtBLHdFQUEwRTtBQUUxRSx1RUFBOEM7QUFVOUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUNyQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUV4Rjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdDRztBQUNILFNBQXdCLGlCQUFpQixDQUN2QyxVQUFnQyxFQUNoQyxVQUFnQyxFQUNoQyxPQUFrQztJQUVsQyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUU7UUFDMUQsTUFBTSxJQUFJLEtBQUssQ0FBQyx5REFBeUQsQ0FBQyxDQUFDO0tBQzVFO0lBRUQsSUFBSSxDQUFDLFVBQVU7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLDhEQUE4RCxDQUFDLENBQUM7SUFFakcsTUFBTSxZQUFZLEdBQUcsSUFBSSxVQUFVLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxVQUFVLHNCQUFzQixDQUFDO0lBQ3JGLE1BQU0sTUFBTSxHQUFHLGdDQUFXLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFN0YsSUFBSSxNQUFNLEVBQUUsVUFBVSxLQUFLLE1BQU0sRUFBRTtRQUNqQyxNQUFNLElBQUksS0FBSyxDQUNiLEdBQUcsWUFBWSw2RUFBNkUsQ0FDN0YsQ0FBQztLQUNIO0lBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtRQUMzQyxNQUFNLElBQUksS0FBSyxDQUNiLHNIQUFzSCxDQUN2SCxDQUFDO0tBQ0g7SUFFRCxVQUFVLENBQUMsR0FBRyxDQUFDLHdCQUFhLEVBQUU7UUFDNUIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVO1FBQzlCLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVTtRQUM5QixRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVE7UUFDMUIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLLElBQUksY0FBYyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7S0FDM0QsQ0FBQyxDQUFDO0lBRUgsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRTtRQUMvQixVQUFVLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztLQUM1QztBQUNILENBQUM7QUFwQ0Qsb0NBb0NDIn0=
@@ -1,5 +1,4 @@
1
1
  import type { CollectionCustomizer, DataSourceCustomizer } from '@forestadmin/datasource-customizer';
2
- import type { CollectionSchema, RelationSchema } from '@forestadmin/datasource-toolkit';
3
- export declare function getColumns(schema: CollectionSchema): string[];
2
+ import { RelationSchema } from '@forestadmin/datasource-toolkit';
4
3
  export declare function getRelation(relationName: string, dataSource: DataSourceCustomizer, collection: CollectionCustomizer): RelationSchema;
5
4
  //# sourceMappingURL=helpers.d.ts.map
@@ -1,10 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getRelation = exports.getColumns = void 0;
4
- function getColumns(schema) {
5
- return Object.keys(schema.fields).filter(name => schema.fields[name].type === 'Column');
6
- }
7
- exports.getColumns = getColumns;
3
+ exports.getRelation = void 0;
4
+ // eslint-disable-next-line import/prefer-default-export
8
5
  function getRelation(relationName, dataSource, collection) {
9
6
  const [field, ...nested] = relationName.split(':');
10
7
  const relation = collection.schema.fields[field];
@@ -24,4 +21,4 @@ function getRelation(relationName, dataSource, collection) {
24
21
  : relation;
25
22
  }
26
23
  exports.getRelation = getRelation;
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mbGF0dGVuLXJlbGF0aW9uL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBTUEsU0FBZ0IsVUFBVSxDQUFDLE1BQXdCO0lBQ2pELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUM7QUFDMUYsQ0FBQztBQUZELGdDQUVDO0FBRUQsU0FBZ0IsV0FBVyxDQUN6QixZQUFvQixFQUNwQixVQUFnQyxFQUNoQyxVQUFnQztJQUVoQyxNQUFNLENBQUMsS0FBSyxFQUFFLEdBQUcsTUFBTSxDQUFDLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuRCxNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVqRCxJQUFJLFFBQVEsRUFBRSxJQUFJLEtBQUssV0FBVyxJQUFJLFFBQVEsRUFBRSxJQUFJLEtBQUssVUFBVSxFQUFFO1FBQ25FLE1BQU0sSUFBSSxHQUFHLElBQUksVUFBVSxDQUFDLElBQUksSUFBSSxZQUFZLEdBQUcsQ0FBQztRQUVwRCxJQUFJLE9BQWUsQ0FBQztRQUNwQixJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU8sR0FBRyxZQUFZLElBQUksWUFBWSxDQUFDO2FBQ2pELElBQUksUUFBUSxDQUFDLElBQUksS0FBSyxRQUFRO1lBQUUsT0FBTyxHQUFHLEdBQUcsSUFBSSw4QkFBOEIsQ0FBQzs7WUFDaEYsT0FBTyxHQUFHLEdBQUcsSUFBSSwwQ0FBMEMsQ0FBQztRQUVqRSxNQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0tBQzFCO0lBRUQsT0FBTyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUM7UUFDdEIsQ0FBQyxDQUFDLFdBQVcsQ0FDVCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUNoQixVQUFVLEVBQ1YsVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsQ0FDckQ7UUFDSCxDQUFDLENBQUMsUUFBUSxDQUFDO0FBQ2YsQ0FBQztBQTFCRCxrQ0EwQkMifQ==
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mbGF0dGVuLXJlbGF0aW9uL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBT0Esd0RBQXdEO0FBQ3hELFNBQWdCLFdBQVcsQ0FDekIsWUFBb0IsRUFDcEIsVUFBZ0MsRUFDaEMsVUFBZ0M7SUFFaEMsTUFBTSxDQUFDLEtBQUssRUFBRSxHQUFHLE1BQU0sQ0FBQyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkQsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFakQsSUFBSSxRQUFRLEVBQUUsSUFBSSxLQUFLLFdBQVcsSUFBSSxRQUFRLEVBQUUsSUFBSSxLQUFLLFVBQVUsRUFBRTtRQUNuRSxNQUFNLElBQUksR0FBRyxJQUFJLFVBQVUsQ0FBQyxJQUFJLElBQUksWUFBWSxHQUFHLENBQUM7UUFFcEQsSUFBSSxPQUFlLENBQUM7UUFDcEIsSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPLEdBQUcsWUFBWSxJQUFJLFlBQVksQ0FBQzthQUNqRCxJQUFJLFFBQVEsQ0FBQyxJQUFJLEtBQUssUUFBUTtZQUFFLE9BQU8sR0FBRyxHQUFHLElBQUksOEJBQThCLENBQUM7O1lBQ2hGLE9BQU8sR0FBRyxHQUFHLElBQUksMENBQTBDLENBQUM7UUFFakUsTUFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUMxQjtJQUVELE9BQU8sTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxXQUFXLENBQ1QsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFDaEIsVUFBVSxFQUNWLFVBQVUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQ3JEO1FBQ0gsQ0FBQyxDQUFDLFFBQVEsQ0FBQztBQUNmLENBQUM7QUExQkQsa0NBMEJDIn0=
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ const datasource_toolkit_1 = require("@forestadmin/datasource-toolkit");
3
4
  const helpers_1 = require("./helpers");
4
5
  /**
5
6
  * Import all fields of a relation in the current collection.
@@ -20,7 +21,7 @@ async function flattenRelation(dataSource, collection, options) {
20
21
  const { relationName, include, exclude, readonly } = options;
21
22
  const relation = (0, helpers_1.getRelation)(relationName, dataSource, collection);
22
23
  const foreignCollection = dataSource.getCollection(relation.foreignCollection);
23
- const columns = new Set(include?.length > 0 ? include : (0, helpers_1.getColumns)(foreignCollection.schema));
24
+ const columns = new Set(include?.length > 0 ? include : datasource_toolkit_1.SchemaUtils.getColumnNames(foreignCollection.schema));
24
25
  exclude?.forEach(column => columns.delete(column));
25
26
  for (const column of columns) {
26
27
  const path = `${relationName}:${column}`;
@@ -30,4 +31,4 @@ async function flattenRelation(dataSource, collection, options) {
30
31
  return this;
31
32
  }
32
33
  exports.default = flattenRelation;
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmxhdHRlbi1yZWxhdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUtBLHVDQUFvRDtBQUVwRDs7Ozs7Ozs7OztHQVVHO0FBQ1ksS0FBSyxVQUFVLGVBQWUsQ0FDM0MsVUFBZ0MsRUFDaEMsVUFBZ0MsRUFDaEMsT0FLQztJQUVELElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWTtRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQztJQUM1RixJQUFJLENBQUMsVUFBVTtRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsOERBQThELENBQUMsQ0FBQztJQUVqRyxNQUFNLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBQzdELE1BQU0sUUFBUSxHQUFHLElBQUEscUJBQVcsRUFBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ25FLE1BQU0saUJBQWlCLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUUvRSxNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFBLG9CQUFVLEVBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUM5RixPQUFPLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBRW5ELEtBQUssTUFBTSxNQUFNLElBQUksT0FBTyxFQUFFO1FBQzVCLE1BQU0sSUFBSSxHQUFHLEdBQUcsWUFBWSxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ3pDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXhDLFVBQVUsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7S0FDbkQ7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUE1QkQsa0NBNEJDIn0=
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmxhdHRlbi1yZWxhdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUtBLHdFQUE4RDtBQUU5RCx1Q0FBd0M7QUFFeEM7Ozs7Ozs7Ozs7R0FVRztBQUNZLEtBQUssVUFBVSxlQUFlLENBQzNDLFVBQWdDLEVBQ2hDLFVBQWdDLEVBQ2hDLE9BS0M7SUFFRCxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVk7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQUM7SUFDNUYsSUFBSSxDQUFDLFVBQVU7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLDhEQUE4RCxDQUFDLENBQUM7SUFFakcsTUFBTSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUM3RCxNQUFNLFFBQVEsR0FBRyxJQUFBLHFCQUFXLEVBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNuRSxNQUFNLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFFL0UsTUFBTSxPQUFPLEdBQUcsSUFBSSxHQUFHLENBQ3JCLE9BQU8sRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGdDQUFXLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUNyRixDQUFDO0lBQ0YsT0FBTyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUVuRCxLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRTtRQUM1QixNQUFNLElBQUksR0FBRyxHQUFHLFlBQVksSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUN6QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV4QyxVQUFVLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0tBQ25EO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBOUJELGtDQThCQyJ9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forestadmin/plugin-flattener",
3
- "version": "1.2.17",
3
+ "version": "1.3.0",
4
4
  "description": "A plugin that allows to flatten columns and relations in Forest Admin",
5
5
  "main": "dist/index.js",
6
6
  "license": "GPL-3.0",
@@ -24,11 +24,11 @@
24
24
  "test": "jest"
25
25
  },
26
26
  "devDependencies": {
27
- "@forestadmin/datasource-customizer": "1.52.1",
27
+ "@forestadmin/datasource-customizer": "1.53.0",
28
28
  "@types/object-hash": "^3.0.2"
29
29
  },
30
30
  "dependencies": {
31
- "@forestadmin/datasource-toolkit": "1.40.0",
31
+ "@forestadmin/datasource-toolkit": "1.41.0",
32
32
  "object-hash": "^3.0.0"
33
33
  }
34
34
  }