@forestadmin/datasource-sql 1.7.48 → 1.8.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.
package/dist/index.d.ts CHANGED
@@ -1,14 +1,14 @@
1
- import type { Table } from './introspection/types';
1
+ import type { Introspection, Table } from './introspection/types';
2
2
  import type { PlainConnectionOptions, PlainConnectionOptionsOrUri, SslMode } from './types';
3
3
  import type { DataSourceFactory, Logger } from '@forestadmin/datasource-toolkit';
4
4
  import { Sequelize } from 'sequelize';
5
- export declare function introspect(uriOrOptions: PlainConnectionOptionsOrUri, logger?: Logger): Promise<Table[]>;
6
- export declare function buildSequelizeInstance(uriOrOptions: PlainConnectionOptionsOrUri, logger: Logger, introspection?: Table[]): Promise<Sequelize>;
5
+ export declare function introspect(uriOrOptions: PlainConnectionOptionsOrUri, logger?: Logger): Promise<Introspection>;
6
+ export declare function buildSequelizeInstance(uriOrOptions: PlainConnectionOptionsOrUri, logger: Logger, introspection?: Table[] | Introspection): Promise<Sequelize>;
7
7
  export declare function createSqlDataSource(uriOrOptions: PlainConnectionOptionsOrUri, options?: {
8
- introspection: Table[];
8
+ introspection: Table[] | Introspection;
9
9
  }): DataSourceFactory;
10
10
  /** Preprocess the connection options so that they can be cached for faster connections */
11
11
  export declare function preprocessOptions(uriOrOptions: PlainConnectionOptionsOrUri): Promise<PlainConnectionOptions>;
12
12
  export * from './connection/errors';
13
- export type { PlainConnectionOptionsOrUri as ConnectionOptions, Table, SslMode };
13
+ export type { PlainConnectionOptionsOrUri as ConnectionOptions, Table, SslMode, Introspection };
14
14
  //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -41,7 +41,8 @@ async function buildSequelizeInstance(uriOrOptions, logger, introspection) {
41
41
  let sequelize;
42
42
  try {
43
43
  sequelize = await (0, connection_1.default)(options);
44
- const tables = introspection ?? (await introspector_1.default.introspect(sequelize, logger));
44
+ const { tables } = introspector_1.default.getIntrospectionInLatestFormat(introspection) ??
45
+ (await introspector_1.default.introspect(sequelize, logger));
45
46
  model_1.default.defineModels(sequelize, logger, tables);
46
47
  relations_1.default.defineRelations(sequelize, logger, tables);
47
48
  }
@@ -54,7 +55,8 @@ async function buildSequelizeInstance(uriOrOptions, logger, introspection) {
54
55
  exports.buildSequelizeInstance = buildSequelizeInstance;
55
56
  function createSqlDataSource(uriOrOptions, options) {
56
57
  return async (logger) => {
57
- const sequelize = await buildSequelizeInstance(uriOrOptions, logger, options?.introspection);
58
+ const introspection = introspector_1.default.getIntrospectionInLatestFormat(options?.introspection);
59
+ const sequelize = await buildSequelizeInstance(uriOrOptions, logger, introspection);
58
60
  return new datasource_sequelize_1.SequelizeDataSource(sequelize, logger);
59
61
  };
60
62
  }
@@ -65,4 +67,4 @@ async function preprocessOptions(uriOrOptions) {
65
67
  }
66
68
  exports.preprocessOptions = preprocessOptions;
67
69
  __exportStar(require("./connection/errors"), exports);
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJQSw0RUFBd0U7QUFHeEUsOERBQW1DO0FBQ25DLHlGQUFnRTtBQUNoRSxnRkFBd0Q7QUFDeEQsZ0VBQStDO0FBQy9DLHdFQUFzRDtBQUUvQyxLQUFLLFVBQVUsVUFBVSxDQUM5QixZQUF5QyxFQUN6QyxNQUFlO0lBRWYsTUFBTSxPQUFPLEdBQUcsSUFBSSw0QkFBaUIsQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDNUQsSUFBSSxTQUFvQixDQUFDO0lBRXpCLElBQUk7UUFDRixTQUFTLEdBQUcsTUFBTSxJQUFBLG9CQUFPLEVBQUMsT0FBTyxDQUFDLENBQUM7UUFFbkMsT0FBTyxNQUFNLHNCQUFZLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztLQUN6RDtZQUFTO1FBQ1IsTUFBTSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7S0FDMUI7QUFDSCxDQUFDO0FBZEQsZ0NBY0M7QUFFTSxLQUFLLFVBQVUsc0JBQXNCLENBQzFDLFlBQXlDLEVBQ3pDLE1BQWMsRUFDZCxhQUF1QjtJQUV2QixNQUFNLE9BQU8sR0FBRyxJQUFJLDRCQUFpQixDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM1RCxJQUFJLFNBQW9CLENBQUM7SUFFekIsSUFBSTtRQUNGLFNBQVMsR0FBRyxNQUFNLElBQUEsb0JBQU8sRUFBQyxPQUFPLENBQUMsQ0FBQztRQUNuQyxNQUFNLE1BQU0sR0FBRyxhQUFhLElBQUksQ0FBQyxNQUFNLHNCQUFZLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ25GLGVBQVksQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNyRCxtQkFBZSxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0tBQzVEO0lBQUMsT0FBTyxLQUFLLEVBQUU7UUFDZCxNQUFNLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUN6QixNQUFNLEtBQUssQ0FBQztLQUNiO0lBRUQsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQW5CRCx3REFtQkM7QUFFRCxTQUFnQixtQkFBbUIsQ0FDakMsWUFBeUMsRUFDekMsT0FBb0M7SUFFcEMsT0FBTyxLQUFLLEVBQUUsTUFBYyxFQUFFLEVBQUU7UUFDOUIsTUFBTSxTQUFTLEdBQUcsTUFBTSxzQkFBc0IsQ0FBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQztRQUU3RixPQUFPLElBQUksMENBQW1CLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3BELENBQUMsQ0FBQztBQUNKLENBQUM7QUFURCxrREFTQztBQUVELDBGQUEwRjtBQUNuRixLQUFLLFVBQVUsaUJBQWlCLENBQ3JDLFlBQXlDO0lBRXpDLE9BQU8sSUFBSSw0QkFBaUIsQ0FBQyxZQUFZLENBQUMsQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO0FBQ3hFLENBQUM7QUFKRCw4Q0FJQztBQUVELHNEQUFvQyJ9
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJQSw0RUFBd0U7QUFHeEUsOERBQW1DO0FBQ25DLHlGQUFnRTtBQUNoRSxnRkFBd0Q7QUFDeEQsZ0VBQStDO0FBQy9DLHdFQUFzRDtBQUUvQyxLQUFLLFVBQVUsVUFBVSxDQUM5QixZQUF5QyxFQUN6QyxNQUFlO0lBRWYsTUFBTSxPQUFPLEdBQUcsSUFBSSw0QkFBaUIsQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDNUQsSUFBSSxTQUFvQixDQUFDO0lBRXpCLElBQUk7UUFDRixTQUFTLEdBQUcsTUFBTSxJQUFBLG9CQUFPLEVBQUMsT0FBTyxDQUFDLENBQUM7UUFFbkMsT0FBTyxNQUFNLHNCQUFZLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztLQUN6RDtZQUFTO1FBQ1IsTUFBTSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7S0FDMUI7QUFDSCxDQUFDO0FBZEQsZ0NBY0M7QUFFTSxLQUFLLFVBQVUsc0JBQXNCLENBQzFDLFlBQXlDLEVBQ3pDLE1BQWMsRUFDZCxhQUF1QztJQUV2QyxNQUFNLE9BQU8sR0FBRyxJQUFJLDRCQUFpQixDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM1RCxJQUFJLFNBQW9CLENBQUM7SUFFekIsSUFBSTtRQUNGLFNBQVMsR0FBRyxNQUFNLElBQUEsb0JBQU8sRUFBQyxPQUFPLENBQUMsQ0FBQztRQUNuQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQ2Qsc0JBQVksQ0FBQyw4QkFBOEIsQ0FBQyxhQUFhLENBQUM7WUFDMUQsQ0FBQyxNQUFNLHNCQUFZLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3JELGVBQVksQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNyRCxtQkFBZSxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0tBQzVEO0lBQUMsT0FBTyxLQUFLLEVBQUU7UUFDZCxNQUFNLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUN6QixNQUFNLEtBQUssQ0FBQztLQUNiO0lBRUQsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQXJCRCx3REFxQkM7QUFFRCxTQUFnQixtQkFBbUIsQ0FDakMsWUFBeUMsRUFDekMsT0FBb0Q7SUFFcEQsT0FBTyxLQUFLLEVBQUUsTUFBYyxFQUFFLEVBQUU7UUFDOUIsTUFBTSxhQUFhLEdBQUcsc0JBQVksQ0FBQyw4QkFBOEIsQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDMUYsTUFBTSxTQUFTLEdBQUcsTUFBTSxzQkFBc0IsQ0FBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBRXBGLE9BQU8sSUFBSSwwQ0FBbUIsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDcEQsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQVZELGtEQVVDO0FBRUQsMEZBQTBGO0FBQ25GLEtBQUssVUFBVSxpQkFBaUIsQ0FDckMsWUFBeUM7SUFFekMsT0FBTyxJQUFJLDRCQUFpQixDQUFDLFlBQVksQ0FBQyxDQUFDLHdCQUF3QixFQUFFLENBQUM7QUFDeEUsQ0FBQztBQUpELDhDQUlDO0FBRUQsc0RBQW9DIn0=
@@ -37,15 +37,17 @@ class PostgreSQLDialect {
37
37
  || (CASE WHEN c.character_maximum_length IS NOT NULL
38
38
  THEN '(' || c.character_maximum_length || ')'
39
39
  ELSE '' END) as "Type",
40
- (SELECT array_agg(e.enumlabel)
41
- FROM pg_catalog.pg_type t JOIN pg_catalog.pg_enum e ON t.oid=e.enumtypid
42
- WHERE t.typname=c.udt_name
43
- ) AS "Special",
40
+ (SELECT array_agg(en.enumlabel)
41
+ FROM pg_catalog.pg_type t JOIN pg_catalog.pg_enum en ON t.oid = en.enumtypid
42
+ WHERE t.typname = c.udt_name OR t.typname = e.udt_name
43
+ ) AS "Special",
44
44
  (SELECT pgd.description
45
45
  FROM pg_catalog.pg_statio_all_tables AS st
46
46
  INNER JOIN pg_catalog.pg_description pgd on (pgd.objoid=st.relid)
47
47
  WHERE c.ordinal_position=pgd.objsubid AND c.table_name=st.relname
48
- ) AS "Comment"
48
+ ) AS "Comment",
49
+ e.data_type AS "ElementType",
50
+ e.udt_name AS "TechnicalElementType"
49
51
  FROM
50
52
  information_schema.columns c
51
53
  LEFT JOIN (
@@ -61,6 +63,13 @@ class PostgreSQLDialect {
61
63
  ) pk ON pk.table_schema=c.table_schema
62
64
  AND pk.table_name=c.table_name
63
65
  AND pk.column_name=c.column_name
66
+ LEFT JOIN INFORMATION_SCHEMA.element_types e ON (
67
+ c.table_catalog = e.object_catalog AND
68
+ c.table_schema = e.object_schema AND
69
+ c.table_name = e.object_name AND
70
+ 'TABLE' = e.object_type AND
71
+ c.dtd_identifier = e.collection_type_identifier
72
+ )
64
73
  WHERE c.table_catalog = :database
65
74
  AND ${conditions}
66
75
  ORDER BY c.table_schema, c.table_name, c.ordinal_position;
@@ -86,8 +95,12 @@ class PostgreSQLDialect {
86
95
  }
87
96
  getColumnDescription(dbColumn) {
88
97
  const type = dbColumn.Type.toUpperCase();
98
+ const elementType = dbColumn.ElementType?.toUpperCase() === 'USER-DEFINED'
99
+ ? dbColumn.TechnicalElementType
100
+ : dbColumn.ElementType?.toUpperCase();
89
101
  const sequelizeColumn = {
90
102
  type,
103
+ elementType,
91
104
  allowNull: dbColumn.Null === 'YES',
92
105
  comment: dbColumn.Comment,
93
106
  special: (0, parse_array_1.default)(dbColumn.Special),
@@ -156,4 +169,4 @@ class PostgreSQLDialect {
156
169
  }
157
170
  }
158
171
  exports.default = PostgreSQLDialect;
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaW50cm9zcGVjdGlvbi9kaWFsZWN0cy9wb3N0Z3Jlc3FsLWRpYWxlY3QvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx5Q0FBa0Q7QUFFbEQsZ0VBQXVDO0FBaUJ2QyxNQUFxQixpQkFBaUI7SUFDcEMsZ0JBQWdCO1FBQ2QsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVELGtCQUFrQixDQUFDLGVBQXlDO1FBQzFELE9BQU8sZUFBZSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxLQUFLLENBQUMsV0FBVyxDQUNmLFVBQXNDLEVBQ3RDLFNBQW9CO1FBRXBCLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxFQUFFO1lBQzlCLE1BQU0sSUFBSSxLQUFLLENBQUMsbUVBQW1FLENBQUMsQ0FBQztRQUN2RixJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU07WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUVuQyxNQUFNLFVBQVUsR0FBRyxJQUFJLFVBQVU7YUFDOUIsR0FBRyxDQUNGLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQ1gsZ0NBQWdDLEtBQUs7MkNBQ0osS0FBSztjQUNsQyxDQUNQO2FBQ0EsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7UUFFbkIsK0RBQStEO1FBQy9ELG9DQUFvQztRQUNwQyxNQUFNLEtBQUssR0FBRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Y0FzQ0osVUFBVTs7S0FFbkIsQ0FBQztRQUVGLE1BQU0sWUFBWSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQ3BDLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDMUIsR0FBRyxHQUFHO1lBQ04sQ0FBQyxZQUFZLEtBQUssRUFBRSxDQUFDLEVBQUUsU0FBUyxDQUFDLFNBQVM7WUFDMUMsQ0FBQyxh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
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaW50cm9zcGVjdGlvbi9kaWFsZWN0cy9wb3N0Z3Jlc3FsLWRpYWxlY3QvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx5Q0FBa0Q7QUFFbEQsZ0VBQXVDO0FBbUJ2QyxNQUFxQixpQkFBaUI7SUFDcEMsZ0JBQWdCO1FBQ2QsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVELGtCQUFrQixDQUFDLGVBQXlDO1FBQzFELE9BQU8sZUFBZSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxLQUFLLENBQUMsV0FBVyxDQUNmLFVBQXNDLEVBQ3RDLFNBQW9CO1FBRXBCLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxFQUFFO1lBQzlCLE1BQU0sSUFBSSxLQUFLLENBQUMsbUVBQW1FLENBQUMsQ0FBQztRQUN2RixJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU07WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUVuQyxNQUFNLFVBQVUsR0FBRyxJQUFJLFVBQVU7YUFDOUIsR0FBRyxDQUNGLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQ1gsZ0NBQWdDLEtBQUs7MkNBQ0osS0FBSztjQUNsQyxDQUNQO2FBQ0EsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7UUFFbkIsK0RBQStEO1FBQy9ELG9DQUFvQztRQUNwQyxNQUFNLEtBQUssR0FBRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Y0ErQ0osVUFBVTs7S0FFbkIsQ0FBQztRQUVGLE1BQU0sWUFBWSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQ3BDLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDMUIsR0FBRyxHQUFHO1lBQ04sQ0FBQyxZQUFZLEtBQUssRUFBRSxDQUFDLEVBQUUsU0FBUyxDQUFDLFNBQVM7WUFD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
@@ -28,10 +28,14 @@ class DefaultValueParser {
28
28
  case 'BIGINT':
29
29
  case 'FLOAT':
30
30
  case 'DOUBLE':
31
+ case 'INTEGER':
32
+ case 'DECIMAL':
33
+ case 'REAL':
31
34
  return this.parseNumber(column.defaultValue);
32
35
  case 'DATE':
33
36
  case 'DATEONLY':
34
37
  case 'STRING':
38
+ case 'TEXT':
35
39
  return column.defaultValue;
36
40
  case 'JSON':
37
41
  case 'JSONB':
@@ -46,4 +50,4 @@ class DefaultValueParser {
46
50
  }
47
51
  }
48
52
  exports.default = DefaultValueParser;
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC12YWx1ZS1wYXJzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW50cm9zcGVjdGlvbi9oZWxwZXJzL2RlZmF1bHQtdmFsdWUtcGFyc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEseUNBQW9DO0FBS3BDLE1BQXFCLGtCQUFrQjtJQUNyQyxNQUFNLENBQUMsS0FBSyxDQUNWLE1BQXdGLEVBQ3hGLFVBQXNCO1FBRXRCLElBQUksTUFBTSxDQUFDLFlBQVksS0FBSyxJQUFJLElBQUksTUFBTSxDQUFDLFlBQVksS0FBSyxTQUFTO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFFeEYsSUFBSSxVQUFVLENBQUMsSUFBSSxLQUFLLE9BQU87WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUVsRCxJQUFJLE1BQU0sQ0FBQyxxQkFBcUI7WUFBRSxPQUFPLElBQUEsbUJBQU8sRUFBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFdEUsSUFBSTtZQUNGLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBRXJELE9BQU8sTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFBLG1CQUFPLEVBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ3JFO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixPQUFPLElBQUEsbUJBQU8sRUFBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDckM7SUFDSCxDQUFDO0lBRU8sTUFBTSxDQUFDLFlBQVksQ0FDekIsTUFBd0YsRUFDeEYsVUFBc0I7UUFFdEIsSUFBSSxVQUFVLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRTtZQUM5QixPQUFPLE1BQU0sQ0FBQyxZQUFZLENBQUM7U0FDNUI7UUFFRCxRQUFRLFVBQVUsQ0FBQyxPQUFPLEVBQUU7WUFDMUIsS0FBSyxTQUFTO2dCQUNaLE9BQU8sQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUUzRSxLQUFLLFFBQVEsQ0FBQztZQUNkLEtBQUssUUFBUSxDQUFDO1lBQ2QsS0FBSyxPQUFPLENBQUM7WUFDYixLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUUvQyxLQUFLLE1BQU0sQ0FBQztZQUNaLEtBQUssVUFBVSxDQUFDO1lBQ2hCLEtBQUssUUFBUTtnQkFDWCxPQUFPLE1BQU0sQ0FBQyxZQUFZLENBQUM7WUFFN0IsS0FBSyxNQUFNLENBQUM7WUFDWixLQUFLLE9BQU87Z0JBQ1YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUV6QztnQkFDRSxPQUFPLFNBQVMsQ0FBQztTQUNwQjtJQUNILENBQUM7SUFFTyxNQUFNLENBQUMsV0FBVyxDQUFDLFVBQWtCO1FBQzNDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFN0MsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFBLG1CQUFPLEVBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUM3RCxDQUFDO0NBQ0Y7QUF6REQscUNBeURDIn0=
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC12YWx1ZS1wYXJzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW50cm9zcGVjdGlvbi9oZWxwZXJzL2RlZmF1bHQtdmFsdWUtcGFyc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEseUNBQW9DO0FBS3BDLE1BQXFCLGtCQUFrQjtJQUNyQyxNQUFNLENBQUMsS0FBSyxDQUNWLE1BQXdGLEVBQ3hGLFVBQXNCO1FBRXRCLElBQUksTUFBTSxDQUFDLFlBQVksS0FBSyxJQUFJLElBQUksTUFBTSxDQUFDLFlBQVksS0FBSyxTQUFTO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFFeEYsSUFBSSxVQUFVLENBQUMsSUFBSSxLQUFLLE9BQU87WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUVsRCxJQUFJLE1BQU0sQ0FBQyxxQkFBcUI7WUFBRSxPQUFPLElBQUEsbUJBQU8sRUFBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFdEUsSUFBSTtZQUNGLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBRXJELE9BQU8sTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFBLG1CQUFPLEVBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ3JFO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixPQUFPLElBQUEsbUJBQU8sRUFBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDckM7SUFDSCxDQUFDO0lBRU8sTUFBTSxDQUFDLFlBQVksQ0FDekIsTUFBd0YsRUFDeEYsVUFBc0I7UUFFdEIsSUFBSSxVQUFVLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRTtZQUM5QixPQUFPLE1BQU0sQ0FBQyxZQUFZLENBQUM7U0FDNUI7UUFFRCxRQUFRLFVBQVUsQ0FBQyxPQUFPLEVBQUU7WUFDMUIsS0FBSyxTQUFTO2dCQUNaLE9BQU8sQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUUzRSxLQUFLLFFBQVEsQ0FBQztZQUNkLEtBQUssUUFBUSxDQUFDO1lBQ2QsS0FBSyxPQUFPLENBQUM7WUFDYixLQUFLLFFBQVEsQ0FBQztZQUNkLEtBQUssU0FBUyxDQUFDO1lBQ2YsS0FBSyxTQUFTLENBQUM7WUFDZixLQUFLLE1BQU07Z0JBQ1QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUUvQyxLQUFLLE1BQU0sQ0FBQztZQUNaLEtBQUssVUFBVSxDQUFDO1lBQ2hCLEtBQUssUUFBUSxDQUFDO1lBQ2QsS0FBSyxNQUFNO2dCQUNULE9BQU8sTUFBTSxDQUFDLFlBQVksQ0FBQztZQUU3QixLQUFLLE1BQU0sQ0FBQztZQUNaLEtBQUssT0FBTztnQkFDVixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBRXpDO2dCQUNFLE9BQU8sU0FBUyxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQztJQUVPLE1BQU0sQ0FBQyxXQUFXLENBQUMsVUFBa0I7UUFDM0MsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUU3QyxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUEsbUJBQU8sRUFBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQzdELENBQUM7Q0FDRjtBQTdERCxxQ0E2REMifQ==
@@ -1,23 +1,20 @@
1
- import { Sequelize } from 'sequelize';
2
1
  import { ColumnDescription } from '../dialects/dialect.interface';
3
2
  import { SequelizeTableIdentifier } from '../type-overrides';
4
3
  import { ColumnType } from '../types';
5
4
  export default class SqlTypeConverter {
6
5
  private static readonly enumRegex;
7
- private readonly sequelize;
8
- constructor(sequelize: Sequelize);
9
- convert(tableIdentifier: SequelizeTableIdentifier, columnName: string, columnInfo: ColumnDescription): Promise<ColumnType>;
6
+ static convert(tableIdentifier: SequelizeTableIdentifier, columnInfo: ColumnDescription): Promise<ColumnType>;
10
7
  /** Get the type of an enum from sequelize column description */
11
- private getEnumType;
8
+ private static getEnumType;
12
9
  /**
13
10
  * Get the type of an array from sequelize column description
14
11
  * Note that we don't need to write multiple SQL queries, because arrays are only supported by
15
12
  * Postgres
16
13
  */
17
- private getArrayType;
18
- private getScalarType;
19
- private typeMatch;
20
- private typeStartsWith;
21
- private typeContains;
14
+ private static getArrayType;
15
+ private static getScalarType;
16
+ private static typeMatch;
17
+ private static typeStartsWith;
18
+ private static typeContains;
22
19
  }
23
20
  //# sourceMappingURL=sql-type-converter.d.ts.map
@@ -1,14 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const sequelize_1 = require("sequelize");
4
3
  class SqlTypeConverter {
5
- constructor(sequelize) {
6
- this.sequelize = sequelize;
7
- }
8
- async convert(tableIdentifier, columnName, columnInfo) {
4
+ static async convert(tableIdentifier, columnInfo) {
9
5
  switch (columnInfo.type) {
10
6
  case 'ARRAY':
11
- return this.getArrayType(tableIdentifier, columnName);
7
+ return this.getArrayType(tableIdentifier, columnInfo);
12
8
  case 'USER-DEFINED':
13
9
  case this.typeMatch(columnInfo.type, SqlTypeConverter.enumRegex):
14
10
  return this.getEnumType(columnInfo);
@@ -17,7 +13,7 @@ class SqlTypeConverter {
17
13
  }
18
14
  }
19
15
  /** Get the type of an enum from sequelize column description */
20
- getEnumType(columnInfo) {
16
+ static getEnumType(columnInfo) {
21
17
  return columnInfo.enumValues?.length > 0
22
18
  ? { type: 'enum', values: columnInfo.enumValues }
23
19
  : // User-defined enum with no values will default to string
@@ -28,53 +24,25 @@ class SqlTypeConverter {
28
24
  * Note that we don't need to write multiple SQL queries, because arrays are only supported by
29
25
  * Postgres
30
26
  */
31
- async getArrayType(tableIdentifier, columnName) {
32
- // Get the type of the elements in the array from the database
33
- const [{ udtName, dataType, charLength, schema, rawEnumValues }] = await this.sequelize.query(`SELECT
34
- e.udt_name AS "udtName",
35
- e.data_type AS "dataType",
36
- e.character_maximum_length as "charLength",
37
- (
38
- SELECT ns.nspname
39
- FROM pg_catalog.pg_namespace ns JOIN pg_catalog.pg_type t ON ns.oid = t.typnamespace
40
- WHERE t.typname = e.udt_name
41
- ) as "schema",
42
- (
43
- SELECT array_agg(en.enumlabel)
44
- FROM pg_catalog.pg_type t JOIN pg_catalog.pg_enum en ON t.oid = en.enumtypid
45
- WHERE t.typname = e.udt_name
46
- ) AS "rawEnumValues"
47
- FROM INFORMATION_SCHEMA.columns c
48
- LEFT JOIN INFORMATION_SCHEMA.element_types e ON (
49
- c.table_catalog = e.object_catalog AND
50
- c.table_schema = e.object_schema AND
51
- c.table_name = e.object_name AND
52
- 'TABLE' = e.object_type AND
53
- (:schema IS NULL OR c.table_schema = :schema) AND
54
- c.dtd_identifier = e.collection_type_identifier
55
- )
56
- WHERE table_name = :tableName AND c.column_name = :columnName;`.replace(/\s+/g, ' '), {
57
- replacements: {
58
- tableName: tableIdentifier.tableName,
59
- schema: tableIdentifier.schema || null,
60
- columnName,
61
- },
62
- type: sequelize_1.QueryTypes.SELECT,
63
- });
27
+ static async getArrayType(tableIdentifier, columnDescription) {
64
28
  let subType;
65
- if (rawEnumValues !== null) {
66
- const queryInterface = this.sequelize.getQueryInterface();
67
- const queryGen = queryInterface.queryGenerator;
68
- const enumValues = queryGen.fromArray(rawEnumValues);
69
- subType = { type: 'enum', schema, name: udtName, values: [...enumValues].sort() };
29
+ if (columnDescription.enumValues?.length) {
30
+ subType = {
31
+ type: 'enum',
32
+ schema: tableIdentifier.schema,
33
+ name: columnDescription.elementType,
34
+ values: columnDescription.enumValues.sort(),
35
+ };
70
36
  }
71
37
  else {
72
- const dataTypeWithLength = charLength ? `${dataType}(${charLength})` : dataType;
73
- subType = { type: 'scalar', subType: this.getScalarType(dataTypeWithLength) };
38
+ subType = {
39
+ type: 'scalar',
40
+ subType: this.getScalarType(columnDescription.elementType),
41
+ };
74
42
  }
75
43
  return { type: 'array', subType };
76
44
  }
77
- getScalarType(type) {
45
+ static getScalarType(type) {
78
46
  const upType = type.toUpperCase();
79
47
  switch (upType) {
80
48
  case 'JSON':
@@ -84,8 +52,9 @@ class SqlTypeConverter {
84
52
  case 'BIT': // MSSQL type.
85
53
  case 'BOOLEAN':
86
54
  return 'BOOLEAN';
87
- case 'CHARACTER VARYING':
88
55
  case 'TEXT':
56
+ return 'TEXT';
57
+ case 'CHARACTER VARYING':
89
58
  case 'NTEXT': // MSSQL type
90
59
  case this.typeContains(upType, 'TEXT'):
91
60
  case this.typeContains(upType, 'VARCHAR'):
@@ -106,22 +75,25 @@ class SqlTypeConverter {
106
75
  case 'JSONB':
107
76
  return 'JSONB';
108
77
  case 'INTEGER':
109
- case 'SERIAL':
110
- case 'BIGSERIAL':
111
78
  case this.typeStartsWith(upType, 'INT'):
112
79
  case this.typeStartsWith(upType, 'SMALLINT'):
113
80
  case this.typeStartsWith(upType, 'TINYINT'):
114
81
  case this.typeStartsWith(upType, 'MEDIUMINT'):
82
+ return 'INTEGER';
83
+ case 'SERIAL':
84
+ case 'BIGSERIAL':
115
85
  return 'NUMBER';
116
86
  case this.typeStartsWith(upType, 'BIGINT'):
117
87
  return 'BIGINT';
118
88
  case this.typeContains(upType, 'FLOAT'):
119
89
  return 'FLOAT';
120
- case 'NUMERIC':
121
90
  case 'REAL':
91
+ return 'REAL';
92
+ case 'NUMERIC':
93
+ case this.typeContains(upType, 'DECIMAL'):
94
+ return 'DECIMAL';
122
95
  case 'DOUBLE':
123
96
  case 'DOUBLE PRECISION':
124
- case this.typeContains(upType, 'DECIMAL'):
125
97
  return 'DOUBLE';
126
98
  case 'DATE':
127
99
  return 'DATEONLY';
@@ -137,16 +109,16 @@ class SqlTypeConverter {
137
109
  throw new Error(`Unsupported type: ${type}`);
138
110
  }
139
111
  }
140
- typeMatch(type, value) {
112
+ static typeMatch(type, value) {
141
113
  return (type.match(value) || {}).input;
142
114
  }
143
- typeStartsWith(type, value) {
115
+ static typeStartsWith(type, value) {
144
116
  return this.typeMatch(type, new RegExp(`^${value}.*`, 'i'));
145
117
  }
146
- typeContains(type, value) {
118
+ static typeContains(type, value) {
147
119
  return this.typeMatch(type, new RegExp(`${value}.*`, 'i'));
148
120
  }
149
121
  }
150
122
  exports.default = SqlTypeConverter;
151
123
  SqlTypeConverter.enumRegex = /ENUM\((.*)\)/i;
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3FsLXR5cGUtY29udmVydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ludHJvc3BlY3Rpb24vaGVscGVycy9zcWwtdHlwZS1jb252ZXJ0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSx5Q0FBa0Q7QUFNbEQsTUFBcUIsZ0JBQWdCO0lBSW5DLFlBQVksU0FBb0I7UUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7SUFDN0IsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLENBQ1gsZUFBeUMsRUFDekMsVUFBa0IsRUFDbEIsVUFBNkI7UUFFN0IsUUFBUSxVQUFVLENBQUMsSUFBSSxFQUFFO1lBQ3ZCLEtBQUssT0FBTztnQkFDVixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBRXhELEtBQUssY0FBYyxDQUFDO1lBQ3BCLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLGdCQUFnQixDQUFDLFNBQVMsQ0FBQztnQkFDOUQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBRXRDO2dCQUNFLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1NBQzNFO0lBQ0gsQ0FBQztJQUVELGdFQUFnRTtJQUN4RCxXQUFXLENBQUMsVUFBNkI7UUFDL0MsT0FBTyxVQUFVLENBQUMsVUFBVSxFQUFFLE1BQU0sR0FBRyxDQUFDO1lBQ3RDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFVBQVUsQ0FBQyxVQUFVLEVBQUU7WUFDakQsQ0FBQyxDQUFDLDBEQUEwRDtnQkFDMUQsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsQ0FBQztJ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
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3FsLXR5cGUtY29udmVydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ludHJvc3BlY3Rpb24vaGVscGVycy9zcWwtdHlwZS1jb252ZXJ0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFJQSxNQUFxQixnQkFBZ0I7SUFHbkMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQ2xCLGVBQXlDLEVBQ3pDLFVBQTZCO1FBRTdCLFFBQVEsVUFBVSxDQUFDLElBQUksRUFBRTtZQUN2QixLQUFLLE9BQU87Z0JBQ1YsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUV4RCxLQUFLLGNBQWMsQ0FBQztZQUNwQixLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxTQUFTLENBQUM7Z0JBQzlELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUV0QztnQkFDRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztTQUMzRTtJQUNILENBQUM7SUFFRCxnRUFBZ0U7SUFDeEQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxVQUE2QjtRQUN0RCxPQUFPLFVBQVUsQ0FBQyxVQUFVLEVBQUUsTUFBTSxHQUFHLENBQUM7WUFDdEMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVSxDQUFDLFVBQVUsRUFBRTtZQUNqRCxDQUFDLENBQUMsMERBQTBEO2dCQUMxRCxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssTUFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQy9CLGVBQXlDLEVB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
@@ -1,8 +1,9 @@
1
1
  import { Logger } from '@forestadmin/datasource-toolkit';
2
2
  import { Sequelize } from 'sequelize';
3
- import { Table } from './types';
3
+ import { Introspection, Table } from './types';
4
4
  export default class Introspector {
5
- static introspect(sequelize: Sequelize, logger?: Logger): Promise<Table[]>;
5
+ static introspect(sequelize: Sequelize, logger?: Logger): Promise<Introspection>;
6
+ static getIntrospectionInLatestFormat(introspection?: Table[] | Introspection): Introspection | null;
6
7
  /** Get names of all tables in the public schema of the db */
7
8
  private static getTableNames;
8
9
  private static getTables;
@@ -6,13 +6,30 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const dialect_factory_1 = __importDefault(require("./dialects/dialect-factory"));
7
7
  const default_value_parser_1 = __importDefault(require("./helpers/default-value-parser"));
8
8
  const sql_type_converter_1 = __importDefault(require("./helpers/sql-type-converter"));
9
+ const INTROSPECTION_FORMAT_VERSION = 1;
9
10
  class Introspector {
10
11
  static async introspect(sequelize, logger) {
11
12
  const dialect = (0, dialect_factory_1.default)(sequelize.getDialect());
12
13
  const tableNames = await this.getTableNames(dialect, sequelize);
13
14
  const tables = await this.getTables(dialect, tableNames, sequelize, logger);
14
15
  this.sanitizeInPlace(tables, logger);
15
- return tables;
16
+ return { tables, version: INTROSPECTION_FORMAT_VERSION };
17
+ }
18
+ static getIntrospectionInLatestFormat(introspection) {
19
+ const formattedIntrospection = Array.isArray(introspection)
20
+ ? { tables: introspection, version: INTROSPECTION_FORMAT_VERSION }
21
+ : introspection;
22
+ if (formattedIntrospection && formattedIntrospection.version > INTROSPECTION_FORMAT_VERSION) {
23
+ /* This can only occur in CLOUD version, either:
24
+ - cloud-toolkit does not have the same version of datasource-sql
25
+ as cloud-agent-manager & forestadmin-server (We need to fix)
26
+ - datasource-sql should be updated in the local repository
27
+ of the client. He should be prompted to update cloud-toolkit.
28
+ */
29
+ throw new Error('This version of introspection is newer than this package version. ' +
30
+ 'Please update @forestadmin/datasource-sql');
31
+ }
32
+ return formattedIntrospection;
16
33
  }
17
34
  /** Get names of all tables in the public schema of the db */
18
35
  static async getTableNames(dialect, sequelize) {
@@ -85,9 +102,8 @@ class Introspector {
85
102
  }
86
103
  static async getColumn(sequelize, logger, tableIdentifier, options) {
87
104
  const { name, description, references } = options;
88
- const typeConverter = new sql_type_converter_1.default(sequelize);
89
105
  try {
90
- const type = await typeConverter.convert(tableIdentifier, name, description);
106
+ const type = await sql_type_converter_1.default.convert(tableIdentifier, description);
91
107
  return {
92
108
  type,
93
109
  autoIncrement: description.autoIncrement,
@@ -138,4 +154,4 @@ class Introspector {
138
154
  }
139
155
  }
140
156
  exports.default = Introspector;
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50cm9zcGVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludHJvc3BlY3Rpb24vaW50cm9zcGVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBR0EsaUZBQXFFO0FBRXJFLDBGQUFnRTtBQUNoRSxzRkFBNEQ7QUFTNUQsTUFBcUIsWUFBWTtJQUMvQixNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFvQixFQUFFLE1BQWU7UUFDM0QsTUFBTSxPQUFPLEdBQUcsSUFBQSx5QkFBMkIsRUFBQyxTQUFTLENBQUMsVUFBVSxFQUFhLENBQUMsQ0FBQztRQUUvRSxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLFNBQWlDLENBQUMsQ0FBQztRQUN4RixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFNUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFckMsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELDZEQUE2RDtJQUNyRCxNQUFNLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FDaEMsT0FBNkIsRUFDN0IsU0FBK0I7UUFFL0IsTUFBTSxnQkFBZ0IsR0FBdUMsTUFBTSxTQUFTO2FBQ3pFLGlCQUFpQixFQUFFO2FBQ25CLGFBQWEsRUFBRSxDQUFDO1FBRW5CLE1BQU0sZUFBZSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUV4Riw0Q0FBNEM7UUFDNUMsOERBQThEO1FBQzlELDJGQUEyRjtRQUMzRixPQUFPLENBQ0wsZ0JBQWdCO2FBQ2IsR0FBRyxDQUFDLENBQUMsZUFBa0QsRUFBRSxFQUFFLENBQzFELE9BQU8sZUFBZSxL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
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50cm9zcGVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludHJvc3BlY3Rpb24vaW50cm9zcGVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBR0EsaUZBQXFFO0FBRXJFLDBGQUFnRTtBQUNoRSxzRkFBNEQ7QUFTNUQsTUFBTSw0QkFBNEIsR0FBRyxDQUFDLENBQUM7QUFFdkMsTUFBcUIsWUFBWTtJQUMvQixNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFvQixFQUFFLE1BQWU7UUFDM0QsTUFBTSxPQUFPLEdBQUcsSUFBQSx5QkFBMkIsRUFBQyxTQUFTLENBQUMsVUFBVSxFQUFhLENBQUMsQ0FBQztRQUUvRSxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLFNBQWlDLENBQUMsQ0FBQztRQUN4RixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFNUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFckMsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsQ0FBQztJQUMzRCxDQUFDO0lBRUQsTUFBTSxDQUFDLDhCQUE4QixDQUNuQyxhQUF1QztRQUV2QyxNQUFNLHNCQUFzQixHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDO1lBQ3pELENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLDRCQUE0QixFQUFFO1lBQ2xFLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFFbEIsSUFBSSxzQkFBc0IsSUFBSSxzQkFBc0IsQ0FBQyxPQUFPLEdBQUcsNEJBQTRCLEVBQUU7WUFDM0Y7Ozs7O2NBS0U7WUFDRixNQUFNLElBQUksS0FBSyxDQUNiLG9FQUFvRTtnQkFDbEUsMkNBQTJDLENBQzlDLENBQUM7U0FDSDtRQUVELE9BQU8sc0JBQXNCLENBQUM7SUFDaEMsQ0FBQztJQUVELDZEQUE2RDtJQUNyRCxNQUFNLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FDaEMsT0FBNkIsRUFDN0IsU0FBK0I7UUFFL0IsTUFBTSxnQkFBZ0IsR0FBdUMsTUFBTSxTQUFTO2FBQ3pFLGlCQUFpQixFQUFFO2FBQ25CLGFBQWEsRUFBRSxDQUFDO1FBRW5CLE1BQU0sZUFBZSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUV4Riw0Q0FBNEM7UUFDNUMsOERBQThEO1FBQzlELDJGQUEyRjtRQUMzRixPQUFPLENBQ0wsZ0JBQWdCO2FBQ2IsR0FBRyxDQUFDLENBQUMsZUFBa0QsRUFBRSxFQUFFLENBQzFELE9BQU8sZUFBZSxLQUFLLFFBQVE7WUFDakMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFO1lBQ3pELENBQUMsQ0FBQztnQkFDRSxNQUFNLEVBQUUsZUFBZSxDQUFDLE1BQU0sSUFBSSxlQUFlO2dCQUNqRCxTQUFTLEVBQUUsZUFBZSxDQUFDLFNBQVM7YUFDckMsQ0FDTjtZQUNELG1EQUFtRDthQUNsRCxNQUFNLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsTUFBTSxLQUFLLGVBQWUsQ0FBQyxDQUMvRCxDQUFDO0lBQ0osQ0FBQztJQUVPLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUM1QixPQUE2QixFQUM3QixVQUFzQyxFQUN0QyxTQUFvQixFQUNwQixNQUFjO1FBRWQsTUFBTSxhQUFhLEdBQUcsTUFBTSxPQUFPLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUV2RSxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQ2hCLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxlQUFlLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDeEMsTUFBTSxrQkFBa0IsR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFaEQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3hGLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsaUNBQWlDO0lBQ3pCLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUMzQixPQUE2QixFQUM3QixTQUFvQixFQUNwQixlQUF5QyxFQUN6QyxrQkFBdUMsRUFDdkMsTUFBYztRQUVkLE1BQU0sY0FBYyxHQUFHLFNBQVMsQ0FBQyxpQkFBaUIsRUFBdUIsQ0FBQztRQUMxRSw2RkFBNkY7UUFDN0YsdUVBQXVFO1FBQ3ZFLDBGQUEwRjtRQUMxRiw4Q0FBOEM7UUFDOUMsTUFBTSx1QkFBdUIsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFNUUsTUFBTSxDQUFDLFlBQVksRUFBRSxlQUFlLENBQUMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFDeEQsY0FBYyxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQztZQUNqRCxjQUFjLENBQUMsK0JBQStCLENBQUMsdUJBQXVCLENBQUM7U0FDeEUsQ0FBQyxDQUFDO1FBRUgsTUFBTSxVQUFVLEdBQUcsZUFBZTthQUMvQixHQUFHLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3RCLEdBQUcsY0FBYztZQUNqQixTQUFTLEVBQ1AsT0FBTyxjQUFjLENBQUMsU0FBUyxLQUFLLFFBQVE7Z0JBQzFDLENBQUMsQ0FBQyxjQUFjLENBQUMsU0FBUztnQkFDMUIsQ0FBQyxDQUFDLDZFQUE2RTtvQkFDN0UsY0FBYyxDQUFDLFNBQVMsQ0FBQyxTQUFTO1NBQ3pDLENBQUMsQ0FBQzthQUNGLE1BQU07UUFDTCw4RUFBOEU7UUFDOUUsc0VBQXNFO1FBQ3RFLG9DQUFvQztRQUNwQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEtBQUssZUFBZSxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsV0FBVyxLQUFLLGVBQWUsQ0FBQyxNQUFNLENBQzNGLENBQUM7UUFFSixNQUFNLE9BQU8sR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQy9CLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUMsaUJBQWlCLEVBQUMsRUFBRTtZQUMvQyxNQUFNLGdCQUFnQixHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxLQUFLLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1lBRXpGLE1BQU0sT0FBTyxHQUFHO2dCQUNkLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2dCQUM1QixXQUFXLEVBQUUsaUJBQWlCO2dCQUM5QixVQUFVLEVBQUUsZ0JBQWdCO2FBQzdCLENBQUM7WUFFRixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxlQUFlLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDckUsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUVGLE9BQU87WUFDTCxJQUFJLEVBQUUsdUJBQXVCLENBQUMsU0FBUztZQUN2QyxNQUFNLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtZQUN0QyxPQUFPLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7WUFDaEMsTUFBTSxFQUFFLFlBQVk7aUJBQ2pCLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQztpQkFDbEMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDNUMsQ0FBQztJQUNKLENBQUM7SUFFTyxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FDNUIsU0FBb0IsRUFDcEIsTUFBYyxFQUNkLGVBQXlDLEVBQ3pDLE9BSUM7UUFFRCxNQUFNLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFFbEQsSUFBSTtZQUNGLE1BQU0sSUFBSSxHQUFHLE1BQU0sNEJBQWdCLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxXQUFXLENBQUMsQ0FBQztZQUUxRSxPQUFPO2dCQUNMLElBQUk7Z0JBQ0osYUFBYSxFQUFFLFdBQVcsQ0FBQyxhQUFhO2dCQUN4QyxZQUFZLEVBQUUsV0FBVyxDQUFDLGFBQWE7b0JBQ3JDLENBQUMsQ0FBQyxJQUFJO29CQUNOLENBQUMsQ0FBQyw4QkFBa0IsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQztnQkFDL0MscUJBQXFCLEVBQUUsV0FBVyxDQUFDLHFCQUFxQjtnQkFDeEQsSUFBSTtnQkFDSixTQUFTLEVBQUUsV0FBVyxDQUFDLFNBQVM7Z0JBQ2hDLFVBQVUsRUFBRSxXQUFXLENBQUMsVUFBVTtnQkFDbEMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUNoQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLG1CQUFtQjtvQkFDNUIsTUFBTSxFQUFFLENBQUMsQ0FBQyxvQkFBb0I7aUJBQy9CLENBQUMsQ0FBQzthQUNKLENBQUM7U0FDSDtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLG1CQUFtQixlQUFlLENBQUMsU0FBUyxJQUFJLElBQUksS0FBSyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztTQUN6RjtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSyxNQUFNLENBQUMsZUFBZSxDQUFDLE1BQWUsRUFBRSxNQUFlO1FBQzdELEtBQUssTUFBTSxLQUFLLElBQUksTUFBTSxFQUFFO1lBQzFCLG9GQUFvRjtZQUNwRixLQUFLLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQzFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FDbkUsQ0FBQztZQUVGLEtBQUssTUFBTSxNQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRTtnQkFDbEMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUM7Z0JBQzVDLGtFQUFrRTtnQkFDbEUsTUFBTSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFO29CQUNsRCxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQy9ELE1BQU0sU0FBUyxHQUFHLFFBQVEsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBRTVFLE9BQU8sUUFBUSxJQUFJLFNBQVMsQ0FBQztnQkFDL0IsQ0FBQyxDQUFDLENBQUM7Z0JBRUgsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7YUFDaEY7U0FDRjtJQUNILENBQUM7SUFFTyxNQUFNLENBQUMscUJBQXFCLENBQ2xDLGNBQXVELEVBQ3ZELG9CQUE2RCxFQUM3RCxTQUFpQixFQUNqQixNQUFjO1FBRWQsTUFBTSxrQkFBa0IsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUM5QyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUN6RCxDQUFDO1FBRUYsa0JBQWtCLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3RDLE1BQU0sRUFBRSxDQUNOLE9BQU87WUFDUCxtQ0FBbUM7WUFDbkMsb0RBQW9ELFNBQVMsa0JBQWtCLFVBQVUsQ0FBQyxLQUFLLElBQUksVUFBVSxDQUFDLE1BQU0sa0NBQWtDLENBQ3ZKLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQTVORCwrQkE0TkMifQ==
@@ -11,6 +11,7 @@ export interface SequelizeIndex {
11
11
  }
12
12
  export interface SequelizeColumn extends ColumnDescription {
13
13
  special?: string[];
14
+ elementType?: string | null;
14
15
  }
15
16
  export interface SequelizeTableIdentifier {
16
17
  tableName: string;
@@ -1,4 +1,4 @@
1
- export type ScalarSubType = 'BIGINT' | 'BLOB' | 'BOOLEAN' | 'DATE' | 'DATEONLY' | 'DOUBLE' | 'FLOAT' | 'INET' | 'JSON' | 'JSONB' | 'NUMBER' | 'STRING' | 'TIME' | 'UUID';
1
+ export type ScalarSubType = 'BIGINT' | 'BLOB' | 'BOOLEAN' | 'DATE' | 'DATEONLY' | 'DECIMAL' | 'DOUBLE' | 'FLOAT' | 'INET' | 'INTEGER' | 'JSON' | 'JSONB' | 'NUMBER' | 'REAL' | 'STRING' | 'TEXT' | 'TIME' | 'UUID';
2
2
  export type ColumnType = {
3
3
  type: 'scalar';
4
4
  subType: ScalarSubType;
@@ -38,4 +38,8 @@ export type Table = {
38
38
  }[];
39
39
  }[];
40
40
  };
41
+ export type Introspection = {
42
+ tables: Table[];
43
+ version: number;
44
+ };
41
45
  //# sourceMappingURL=types.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forestadmin/datasource-sql",
3
- "version": "1.7.48",
3
+ "version": "1.8.0",
4
4
  "main": "dist/index.js",
5
5
  "license": "GPL-3.0",
6
6
  "publishConfig": {
@@ -12,7 +12,7 @@
12
12
  "directory": "packages/datasource-sql"
13
13
  },
14
14
  "dependencies": {
15
- "@forestadmin/datasource-sequelize": "1.6.3",
15
+ "@forestadmin/datasource-sequelize": "1.6.4",
16
16
  "@forestadmin/datasource-toolkit": "1.32.0",
17
17
  "pluralize": "^8.0.0",
18
18
  "sequelize": "^6.28.0",