@forestadmin/datasource-sql 1.9.5 → 1.11.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 +4 -2
- package/dist/index.js +4 -2
- package/dist/introspection/introspector.d.ts +5 -2
- package/dist/introspection/introspector.js +33 -7
- package/dist/introspection/list-collections-from-introspection.d.ts +3 -0
- package/dist/introspection/list-collections-from-introspection.js +12 -0
- package/dist/introspection/types.d.ts +4 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import type { Introspection, Table } from './introspection/types';
|
|
1
|
+
import type { Introspection, IntrospectionWithoutSource, 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
|
+
import listCollectionsFromIntrospection from './introspection/list-collections-from-introspection';
|
|
5
6
|
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
|
+
export declare function buildSequelizeInstance(uriOrOptions: PlainConnectionOptionsOrUri, logger: Logger, introspection?: Table[] | IntrospectionWithoutSource | Introspection): Promise<Sequelize>;
|
|
7
8
|
export declare function createSqlDataSource(uriOrOptions: PlainConnectionOptionsOrUri, options?: {
|
|
8
9
|
introspection: Table[] | Introspection;
|
|
9
10
|
}): DataSourceFactory;
|
|
@@ -11,4 +12,5 @@ export declare function createSqlDataSource(uriOrOptions: PlainConnectionOptions
|
|
|
11
12
|
export declare function preprocessOptions(uriOrOptions: PlainConnectionOptionsOrUri): Promise<PlainConnectionOptions>;
|
|
12
13
|
export * from './connection/errors';
|
|
13
14
|
export type { PlainConnectionOptionsOrUri as ConnectionOptions, Table, SslMode, Introspection };
|
|
15
|
+
export { listCollectionsFromIntrospection };
|
|
14
16
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
CHANGED
|
@@ -17,11 +17,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
17
17
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
18
|
};
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.preprocessOptions = exports.createSqlDataSource = exports.buildSequelizeInstance = exports.introspect = void 0;
|
|
20
|
+
exports.listCollectionsFromIntrospection = exports.preprocessOptions = exports.createSqlDataSource = exports.buildSequelizeInstance = exports.introspect = void 0;
|
|
21
21
|
const datasource_sequelize_1 = require("@forestadmin/datasource-sequelize");
|
|
22
22
|
const connection_1 = __importDefault(require("./connection"));
|
|
23
23
|
const connection_options_1 = __importDefault(require("./connection/connection-options"));
|
|
24
24
|
const introspector_1 = __importDefault(require("./introspection/introspector"));
|
|
25
|
+
const list_collections_from_introspection_1 = __importDefault(require("./introspection/list-collections-from-introspection"));
|
|
26
|
+
exports.listCollectionsFromIntrospection = list_collections_from_introspection_1.default;
|
|
25
27
|
const model_1 = __importDefault(require("./orm-builder/model"));
|
|
26
28
|
const relations_1 = __importDefault(require("./orm-builder/relations"));
|
|
27
29
|
async function introspect(uriOrOptions, logger) {
|
|
@@ -67,4 +69,4 @@ async function preprocessOptions(uriOrOptions) {
|
|
|
67
69
|
}
|
|
68
70
|
exports.preprocessOptions = preprocessOptions;
|
|
69
71
|
__exportStar(require("./connection/errors"), exports);
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJQSw0RUFBd0U7QUFHeEUsOERBQW1DO0FBQ25DLHlGQUFnRTtBQUNoRSxnRkFBd0Q7QUFDeEQsOEhBQW1HO0FBZ0UxRiwyQ0FoRUYsNkNBQWdDLENBZ0VFO0FBL0R6QyxnRUFBK0M7QUFDL0Msd0VBQXNEO0FBRS9DLEtBQUssVUFBVSxVQUFVLENBQzlCLFlBQXlDLEVBQ3pDLE1BQWU7SUFFZixNQUFNLE9BQU8sR0FBRyxJQUFJLDRCQUFpQixDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM1RCxJQUFJLFNBQW9CLENBQUM7SUFFekIsSUFBSTtRQUNGLFNBQVMsR0FBRyxNQUFNLElBQUEsb0JBQU8sRUFBQyxPQUFPLENBQUMsQ0FBQztRQUVuQyxPQUFPLE1BQU0sc0JBQVksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0tBQ3pEO1lBQVM7UUFDUixNQUFNLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQztLQUMxQjtBQUNILENBQUM7QUFkRCxnQ0FjQztBQUVNLEtBQUssVUFBVSxzQkFBc0IsQ0FDMUMsWUFBeUMsRUFDekMsTUFBYyxFQUNkLGFBQW9FO0lBRXBFLE1BQU0sT0FBTyxHQUFHLElBQUksNEJBQWlCLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzVELElBQUksU0FBb0IsQ0FBQztJQUV6QixJQUFJO1FBQ0YsU0FBUyxHQUFHLE1BQU0sSUFBQSxvQkFBTyxFQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25DLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FDZCxzQkFBWSxDQUFDLDhCQUE4QixDQUFDLGFBQWEsQ0FBQztZQUMxRCxDQUFDLE1BQU0sc0JBQVksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDckQsZUFBWSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3JELG1CQUFlLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7S0FDNUQ7SUFBQyxPQUFPLEtBQUssRUFBRTtRQUNkLE1BQU0sU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQ3pCLE1BQU0sS0FBSyxDQUFDO0tBQ2I7SUFFRCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDO0FBckJELHdEQXFCQztBQUVELFNBQWdCLG1CQUFtQixDQUNqQyxZQUF5QyxFQUN6QyxPQUFvRDtJQUVwRCxPQUFPLEtBQUssRUFBRSxNQUFjLEVBQUUsRUFBRTtRQUM5QixNQUFNLGFBQWEsR0FBRyxzQkFBWSxDQUFDLDhCQUE4QixDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQztRQUMxRixNQUFNLFNBQVMsR0FBRyxNQUFNLHNCQUFzQixDQUFDLFlBQVksRUFBRSxNQUFNLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFFcEYsT0FBTyxJQUFJLDBDQUFtQixDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNwRCxDQUFDLENBQUM7QUFDSixDQUFDO0FBVkQsa0RBVUM7QUFFRCwwRkFBMEY7QUFDbkYsS0FBSyxVQUFVLGlCQUFpQixDQUNyQyxZQUF5QztJQUV6QyxPQUFPLElBQUksNEJBQWlCLENBQUMsWUFBWSxDQUFDLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztBQUN4RSxDQUFDO0FBSkQsOENBSUM7QUFFRCxzREFBb0MifQ==
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { Logger } from '@forestadmin/datasource-toolkit';
|
|
2
2
|
import { Sequelize } from 'sequelize';
|
|
3
|
-
import { Introspection, Table } from './types';
|
|
3
|
+
import { Introspection, IntrospectionWithoutSource, Table } from './types';
|
|
4
4
|
export default class Introspector {
|
|
5
|
+
static readonly FORMAT_VERSION = 1;
|
|
6
|
+
static readonly SOURCE = "@forestadmin/datasource-sql";
|
|
5
7
|
static introspect(sequelize: Sequelize, logger?: Logger): Promise<Introspection>;
|
|
6
|
-
static getIntrospectionInLatestFormat(introspection?: Table[] | Introspection): Introspection |
|
|
8
|
+
static getIntrospectionInLatestFormat(introspection?: Table[] | Introspection | IntrospectionWithoutSource): Introspection | undefined;
|
|
9
|
+
private static migrateIntrospectionInLatestFormat;
|
|
7
10
|
/** Get names of all tables in the public schema of the db */
|
|
8
11
|
private static getTableNames;
|
|
9
12
|
private static getTables;
|
|
@@ -6,20 +6,22 @@ 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;
|
|
10
9
|
class Introspector {
|
|
11
10
|
static async introspect(sequelize, logger) {
|
|
12
11
|
const dialect = (0, dialect_factory_1.default)(sequelize.getDialect());
|
|
13
12
|
const tableNames = await this.getTableNames(dialect, sequelize);
|
|
14
13
|
const tables = await this.getTables(dialect, tableNames, sequelize, logger);
|
|
15
14
|
this.sanitizeInPlace(tables, logger);
|
|
16
|
-
return { tables, version:
|
|
15
|
+
return { tables, version: this.FORMAT_VERSION, source: this.SOURCE };
|
|
17
16
|
}
|
|
18
17
|
static getIntrospectionInLatestFormat(introspection) {
|
|
19
|
-
const formattedIntrospection =
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
18
|
+
const formattedIntrospection = this.migrateIntrospectionInLatestFormat(introspection);
|
|
19
|
+
if (formattedIntrospection && formattedIntrospection.source !== this.SOURCE) {
|
|
20
|
+
throw new Error(
|
|
21
|
+
// eslint-disable-next-line max-len
|
|
22
|
+
`This introspection has not been generated by the package @forestadmin/datasource-sql, but with ${formattedIntrospection.source}.`);
|
|
23
|
+
}
|
|
24
|
+
if (formattedIntrospection && formattedIntrospection.version > this.FORMAT_VERSION) {
|
|
23
25
|
/* This can only occur in CLOUD version, either:
|
|
24
26
|
- forest-cloud does not have the same version of datasource-sql
|
|
25
27
|
as cloud-agent-manager & forestadmin-server (We need to fix)
|
|
@@ -31,6 +33,28 @@ class Introspector {
|
|
|
31
33
|
}
|
|
32
34
|
return formattedIntrospection;
|
|
33
35
|
}
|
|
36
|
+
static migrateIntrospectionInLatestFormat(introspection) {
|
|
37
|
+
if (!introspection) {
|
|
38
|
+
return undefined;
|
|
39
|
+
}
|
|
40
|
+
// First version of introspection: just an array of tables
|
|
41
|
+
if (Array.isArray(introspection)) {
|
|
42
|
+
return {
|
|
43
|
+
tables: introspection,
|
|
44
|
+
version: this.FORMAT_VERSION,
|
|
45
|
+
source: this.SOURCE,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
// Second version of introspection: did not include the source,
|
|
49
|
+
// but was always generated by datasource-sql
|
|
50
|
+
if (!Object.prototype.hasOwnProperty.call(introspection, 'source')) {
|
|
51
|
+
return {
|
|
52
|
+
...introspection,
|
|
53
|
+
source: this.SOURCE,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
return introspection;
|
|
57
|
+
}
|
|
34
58
|
/** Get names of all tables in the public schema of the db */
|
|
35
59
|
static async getTableNames(dialect, sequelize) {
|
|
36
60
|
const tableIdentifiers = await sequelize
|
|
@@ -154,4 +178,6 @@ class Introspector {
|
|
|
154
178
|
}
|
|
155
179
|
}
|
|
156
180
|
exports.default = Introspector;
|
|
157
|
-
|
|
181
|
+
Introspector.FORMAT_VERSION = 1;
|
|
182
|
+
Introspector.SOURCE = '@forestadmin/datasource-sql';
|
|
183
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50cm9zcGVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludHJvc3BlY3Rpb24vaW50cm9zcGVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBR0EsaUZBQXFFO0FBRXJFLDBGQUFnRTtBQUNoRSxzRkFBNEQ7QUFTNUQsTUFBcUIsWUFBWTtJQUkvQixNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFvQixFQUFFLE1BQWU7UUFDM0QsTUFBTSxPQUFPLEdBQUcsSUFBQSx5QkFBMkIsRUFBQyxTQUFTLENBQUMsVUFBVSxFQUFhLENBQUMsQ0FBQztRQUUvRSxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLFNBQWlDLENBQUMsQ0FBQztRQUN4RixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFNUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFckMsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxNQUFNLENBQUMsOEJBQThCLENBQ25DLGFBQW9FO1FBRXBFLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxDQUFDLGtDQUFrQyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXRGLElBQUksc0JBQXNCLElBQUksc0JBQXNCLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDM0UsTUFBTSxJQUFJLEtBQUs7WUFDYixtQ0FBbUM7WUFDbkMsa0dBQWtHLHNCQUFzQixDQUFDLE1BQU0sR0FBRyxDQUNuSSxDQUFDO1NBQ0g7UUFFRCxJQUFJLHNCQUFzQixJQUFJLHNCQUFzQixD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
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
function listCollectionsFromIntrospection(introspection) {
|
|
4
|
+
if (!introspection) {
|
|
5
|
+
return [];
|
|
6
|
+
}
|
|
7
|
+
// Support the previous format of introspection
|
|
8
|
+
const tables = Array.isArray(introspection) ? introspection : introspection.tables;
|
|
9
|
+
return tables.map(table => table.name);
|
|
10
|
+
}
|
|
11
|
+
exports.default = listCollectionsFromIntrospection;
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1jb2xsZWN0aW9ucy1mcm9tLWludHJvc3BlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50cm9zcGVjdGlvbi9saXN0LWNvbGxlY3Rpb25zLWZyb20taW50cm9zcGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBLFNBQXdCLGdDQUFnQyxDQUN0RCxhQUFzRDtJQUV0RCxJQUFJLENBQUMsYUFBYSxFQUFFO1FBQ2xCLE9BQU8sRUFBRSxDQUFDO0tBQ1g7SUFFRCwrQ0FBK0M7SUFDL0MsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO0lBRW5GLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN6QyxDQUFDO0FBWEQsbURBV0MifQ==
|
|
@@ -38,8 +38,11 @@ export type Table = {
|
|
|
38
38
|
}[];
|
|
39
39
|
}[];
|
|
40
40
|
};
|
|
41
|
-
export type
|
|
41
|
+
export type IntrospectionWithoutSource = {
|
|
42
42
|
tables: Table[];
|
|
43
43
|
version: number;
|
|
44
44
|
};
|
|
45
|
+
export type Introspection = IntrospectionWithoutSource & {
|
|
46
|
+
source: '@forestadmin/datasource-sql';
|
|
47
|
+
};
|
|
45
48
|
//# sourceMappingURL=types.d.ts.map
|