@loopback/sequelize 0.6.0 → 0.6.2
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/sequelize/sequelize.datasource.base.d.ts +22 -0
- package/dist/sequelize/sequelize.datasource.base.js +14 -0
- package/dist/sequelize/sequelize.datasource.base.js.map +1 -1
- package/dist/sequelize/sequelize.repository.base.js +28 -5
- package/dist/sequelize/sequelize.repository.base.js.map +1 -1
- package/package.json +13 -13
- package/src/sequelize/sequelize.datasource.base.ts +32 -0
- package/src/sequelize/sequelize.repository.base.ts +34 -8
|
@@ -12,6 +12,14 @@ export declare class SequelizeDataSource implements LifeCycleObserver {
|
|
|
12
12
|
constructor(config: SequelizeDataSourceConfig);
|
|
13
13
|
sequelize: Sequelize;
|
|
14
14
|
sequelizeConfig: SequelizeOptions;
|
|
15
|
+
/**
|
|
16
|
+
* Gets the flag indicating whether to parse JSON columns.
|
|
17
|
+
* If the `parseJsonColumns` property is set in the configuration, its value will be returned.
|
|
18
|
+
* Otherwise, it returns `true` if the dialect is MySQL, `false` otherwise.
|
|
19
|
+
*
|
|
20
|
+
* @returns {boolean} The flag indicating whether to parse JSON columns.
|
|
21
|
+
*/
|
|
22
|
+
get parseJsonColumns(): boolean;
|
|
15
23
|
init(): Promise<void>;
|
|
16
24
|
start(..._injectedArgs: unknown[]): Promise<void>;
|
|
17
25
|
stop(): Promise<void>;
|
|
@@ -61,6 +69,20 @@ export type SequelizeDataSourceConfig = {
|
|
|
61
69
|
user?: string;
|
|
62
70
|
connector?: SupportedLoopbackConnectors;
|
|
63
71
|
url?: string;
|
|
72
|
+
/**
|
|
73
|
+
* Whether or not to parse the JSON data stored in database columns.
|
|
74
|
+
*
|
|
75
|
+
* For dialects that do not support a native JSON type, we need to parse
|
|
76
|
+
* string column values to JSON objects to preserve backwards compatibility with the Juggler ORM.
|
|
77
|
+
* Example: https://github.com/loopbackio/loopback-connector-mysql/blob/edf176b09234b82796f925203ff006843e045498/lib/mysql.js#L476
|
|
78
|
+
*
|
|
79
|
+
* With Sequelize v6, some of the dialects like MariaDB and SQLite already parse JSON strings to JSON objects by default:
|
|
80
|
+
* - https://github.com/sequelize/sequelize/blob/cb8ea88c9aa37b14c908fd34dff1afc603de2ea7/src/dialects/mariadb/query.js#L191
|
|
81
|
+
* - https://github.com/sequelize/sequelize/blob/cb8ea88c9aa37b14c908fd34dff1afc603de2ea7/src/dialects/sqlite/query.js#L365
|
|
82
|
+
*
|
|
83
|
+
* Defaults to true for MySQL and false for other dialects.
|
|
84
|
+
*/
|
|
85
|
+
parseJsonColumns?: boolean;
|
|
64
86
|
/**
|
|
65
87
|
* Additional sequelize options that are passed directly to
|
|
66
88
|
* Sequelize when initializing the connection.
|
|
@@ -43,6 +43,20 @@ class SequelizeDataSource {
|
|
|
43
43
|
this.sequelize = new sequelize_1.Sequelize(this.sequelizeConfig);
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* Gets the flag indicating whether to parse JSON columns.
|
|
48
|
+
* If the `parseJsonColumns` property is set in the configuration, its value will be returned.
|
|
49
|
+
* Otherwise, it returns `true` if the dialect is MySQL, `false` otherwise.
|
|
50
|
+
*
|
|
51
|
+
* @returns {boolean} The flag indicating whether to parse JSON columns.
|
|
52
|
+
*/
|
|
53
|
+
get parseJsonColumns() {
|
|
54
|
+
var _a;
|
|
55
|
+
if (typeof ((_a = this.config) === null || _a === void 0 ? void 0 : _a.parseJsonColumns) === 'boolean') {
|
|
56
|
+
return this.config.parseJsonColumns;
|
|
57
|
+
}
|
|
58
|
+
return this.sequelizeConfig.dialect === 'mysql';
|
|
59
|
+
}
|
|
46
60
|
async init() {
|
|
47
61
|
await this.sequelize.authenticate();
|
|
48
62
|
debug('Connection has been established successfully.');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sequelize.datasource.base.js","sourceRoot":"","sources":["../../src/sequelize/sequelize.datasource.base.ts"],"names":[],"mappings":";;;;AAQA,0DAAiC;AACjC,yCAOmB;AACnB,2DAQ6B;AAE7B,MAAM,KAAK,GAAG,IAAA,eAAY,EAAC,+BAA+B,CAAC,CAAC;AAC5D,MAAM,YAAY,GAAG,IAAA,eAAY,EAAC,4BAA4B,CAAC,CAAC;AAEhE;;GAEG;AACH,MAAa,mBAAmB;
|
|
1
|
+
{"version":3,"file":"sequelize.datasource.base.js","sourceRoot":"","sources":["../../src/sequelize/sequelize.datasource.base.ts"],"names":[],"mappings":"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"}
|
|
@@ -630,11 +630,16 @@ class SequelizeCrudRepository {
|
|
|
630
630
|
if (definition[propName].type === Array ||
|
|
631
631
|
['Array', 'array'].includes(definition[propName].type.toString())) {
|
|
632
632
|
// Postgres only
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
633
|
+
if (this.dataSource.sequelizeConfig.dialect === 'postgres') {
|
|
634
|
+
const stringTypeArray = definition[propName].itemType === String ||
|
|
635
|
+
['String', 'string'].includes(((_a = definition[propName].itemType) === null || _a === void 0 ? void 0 : _a.toString()) || '');
|
|
636
|
+
dataType = stringTypeArray
|
|
637
|
+
? sequelize_1.DataTypes.ARRAY(sequelize_1.DataTypes.STRING)
|
|
638
|
+
: sequelize_1.DataTypes.ARRAY(sequelize_1.DataTypes.INTEGER);
|
|
639
|
+
}
|
|
640
|
+
else {
|
|
641
|
+
dataType = sequelize_1.DataTypes.JSON;
|
|
642
|
+
}
|
|
638
643
|
}
|
|
639
644
|
if (definition[propName].type === Object ||
|
|
640
645
|
['object', 'Object'].includes(definition[propName].type.toString())) {
|
|
@@ -673,6 +678,24 @@ class SequelizeCrudRepository {
|
|
|
673
678
|
autoIncrement: !!definition[propName].generated,
|
|
674
679
|
});
|
|
675
680
|
}
|
|
681
|
+
// For dialects that do not support a native JSON type, we need to parse
|
|
682
|
+
// string responses to JSON objects to preserve backwards compatibility with the Juggler ORM.
|
|
683
|
+
if (this.dataSource.parseJsonColumns === true &&
|
|
684
|
+
dataType === sequelize_1.DataTypes.JSON) {
|
|
685
|
+
// See: https://sequelize.org/docs/v6/core-concepts/getters-setters-virtuals/
|
|
686
|
+
columnOptions.get = function getValue() {
|
|
687
|
+
const value = this.getDataValue(propName);
|
|
688
|
+
if (typeof value === 'string') {
|
|
689
|
+
try {
|
|
690
|
+
return JSON.parse(value);
|
|
691
|
+
}
|
|
692
|
+
catch (_error) {
|
|
693
|
+
return null;
|
|
694
|
+
}
|
|
695
|
+
}
|
|
696
|
+
return value;
|
|
697
|
+
};
|
|
698
|
+
}
|
|
676
699
|
// TODO: Get the column name casing using actual methods / conventions used in different sql connectors for loopback
|
|
677
700
|
columnOptions.field =
|
|
678
701
|
(_b = definition[propName]['name']) !== null && _b !== void 0 ? _b : propName.toLowerCase();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sequelize.repository.base.js","sourceRoot":"","sources":["../../src/sequelize/sequelize.repository.base.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sequelize.repository.base.js","sourceRoot":"","sources":["../../src/sequelize/sequelize.repository.base.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loopback/sequelize",
|
|
3
3
|
"description": "Loopback 4 Extension That Provides Sequelize Crud Repository Compatible With Default Loopback Models.",
|
|
4
|
-
"version": "0.6.
|
|
4
|
+
"version": "0.6.2",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"loopback-extension",
|
|
7
7
|
"loopback",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"directory": "extensions/sequelize"
|
|
20
20
|
},
|
|
21
21
|
"engines": {
|
|
22
|
-
"node": "18 || 20"
|
|
22
|
+
"node": "18 || 20 || 22"
|
|
23
23
|
},
|
|
24
24
|
"scripts": {
|
|
25
25
|
"build": "lb-tsc",
|
|
@@ -45,22 +45,22 @@
|
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
47
|
"debug": "^4.3.4",
|
|
48
|
-
"sequelize": "^6.37.
|
|
48
|
+
"sequelize": "^6.37.3",
|
|
49
49
|
"tslib": "^2.6.2"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
|
-
"@loopback/boot": "^7.0.
|
|
53
|
-
"@loopback/build": "^11.0.
|
|
54
|
-
"@loopback/core": "^6.0.
|
|
55
|
-
"@loopback/repository": "^7.0.
|
|
56
|
-
"@loopback/rest": "^14.0.
|
|
57
|
-
"@loopback/testlab": "^7.0.
|
|
58
|
-
"@types/node": "^16.18.
|
|
59
|
-
"oracledb": "^6.
|
|
60
|
-
"pg": "^8.11.
|
|
52
|
+
"@loopback/boot": "^7.0.2",
|
|
53
|
+
"@loopback/build": "^11.0.2",
|
|
54
|
+
"@loopback/core": "^6.0.2",
|
|
55
|
+
"@loopback/repository": "^7.0.2",
|
|
56
|
+
"@loopback/rest": "^14.0.2",
|
|
57
|
+
"@loopback/testlab": "^7.0.2",
|
|
58
|
+
"@types/node": "^16.18.96",
|
|
59
|
+
"oracledb": "^6.4.0",
|
|
60
|
+
"pg": "^8.11.5",
|
|
61
61
|
"pg-hstore": "^2.3.4",
|
|
62
62
|
"sqlite3": "5.1.4",
|
|
63
63
|
"typescript": "~5.2.2"
|
|
64
64
|
},
|
|
65
|
-
"gitHead": "
|
|
65
|
+
"gitHead": "06b27e1b47cea48b54280e5590bb165e11fbeb10"
|
|
66
66
|
}
|
|
@@ -34,6 +34,7 @@ const queryLogging = debugFactory('loopback:sequelize:queries');
|
|
|
34
34
|
export class SequelizeDataSource implements LifeCycleObserver {
|
|
35
35
|
name: string;
|
|
36
36
|
settings = {};
|
|
37
|
+
|
|
37
38
|
constructor(public config: SequelizeDataSourceConfig) {
|
|
38
39
|
if (
|
|
39
40
|
this.config.connector &&
|
|
@@ -85,6 +86,22 @@ export class SequelizeDataSource implements LifeCycleObserver {
|
|
|
85
86
|
|
|
86
87
|
sequelize: Sequelize;
|
|
87
88
|
sequelizeConfig: SequelizeOptions;
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Gets the flag indicating whether to parse JSON columns.
|
|
92
|
+
* If the `parseJsonColumns` property is set in the configuration, its value will be returned.
|
|
93
|
+
* Otherwise, it returns `true` if the dialect is MySQL, `false` otherwise.
|
|
94
|
+
*
|
|
95
|
+
* @returns {boolean} The flag indicating whether to parse JSON columns.
|
|
96
|
+
*/
|
|
97
|
+
get parseJsonColumns(): boolean {
|
|
98
|
+
if (typeof this.config?.parseJsonColumns === 'boolean') {
|
|
99
|
+
return this.config.parseJsonColumns;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
return this.sequelizeConfig.dialect === 'mysql';
|
|
103
|
+
}
|
|
104
|
+
|
|
88
105
|
async init(): Promise<void> {
|
|
89
106
|
await this.sequelize.authenticate();
|
|
90
107
|
debug('Connection has been established successfully.');
|
|
@@ -258,6 +275,21 @@ export type SequelizeDataSourceConfig = {
|
|
|
258
275
|
user?: string;
|
|
259
276
|
connector?: SupportedLoopbackConnectors;
|
|
260
277
|
url?: string;
|
|
278
|
+
/**
|
|
279
|
+
* Whether or not to parse the JSON data stored in database columns.
|
|
280
|
+
*
|
|
281
|
+
* For dialects that do not support a native JSON type, we need to parse
|
|
282
|
+
* string column values to JSON objects to preserve backwards compatibility with the Juggler ORM.
|
|
283
|
+
* Example: https://github.com/loopbackio/loopback-connector-mysql/blob/edf176b09234b82796f925203ff006843e045498/lib/mysql.js#L476
|
|
284
|
+
*
|
|
285
|
+
* With Sequelize v6, some of the dialects like MariaDB and SQLite already parse JSON strings to JSON objects by default:
|
|
286
|
+
* - https://github.com/sequelize/sequelize/blob/cb8ea88c9aa37b14c908fd34dff1afc603de2ea7/src/dialects/mariadb/query.js#L191
|
|
287
|
+
* - https://github.com/sequelize/sequelize/blob/cb8ea88c9aa37b14c908fd34dff1afc603de2ea7/src/dialects/sqlite/query.js#L365
|
|
288
|
+
*
|
|
289
|
+
* Defaults to true for MySQL and false for other dialects.
|
|
290
|
+
*/
|
|
291
|
+
parseJsonColumns?: boolean;
|
|
292
|
+
|
|
261
293
|
/**
|
|
262
294
|
* Additional sequelize options that are passed directly to
|
|
263
295
|
* Sequelize when initializing the connection.
|
|
@@ -931,14 +931,18 @@ export class SequelizeCrudRepository<
|
|
|
931
931
|
['Array', 'array'].includes(definition[propName].type.toString())
|
|
932
932
|
) {
|
|
933
933
|
// Postgres only
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
934
|
+
if (this.dataSource.sequelizeConfig.dialect === 'postgres') {
|
|
935
|
+
const stringTypeArray =
|
|
936
|
+
definition[propName].itemType === String ||
|
|
937
|
+
['String', 'string'].includes(
|
|
938
|
+
definition[propName].itemType?.toString() || '',
|
|
939
|
+
);
|
|
940
|
+
dataType = stringTypeArray
|
|
941
|
+
? DataTypes.ARRAY(DataTypes.STRING)
|
|
942
|
+
: DataTypes.ARRAY(DataTypes.INTEGER);
|
|
943
|
+
} else {
|
|
944
|
+
dataType = DataTypes.JSON;
|
|
945
|
+
}
|
|
942
946
|
}
|
|
943
947
|
|
|
944
948
|
if (
|
|
@@ -992,6 +996,28 @@ export class SequelizeCrudRepository<
|
|
|
992
996
|
} as typeof columnOptions);
|
|
993
997
|
}
|
|
994
998
|
|
|
999
|
+
// For dialects that do not support a native JSON type, we need to parse
|
|
1000
|
+
// string responses to JSON objects to preserve backwards compatibility with the Juggler ORM.
|
|
1001
|
+
if (
|
|
1002
|
+
this.dataSource.parseJsonColumns === true &&
|
|
1003
|
+
dataType === DataTypes.JSON
|
|
1004
|
+
) {
|
|
1005
|
+
// See: https://sequelize.org/docs/v6/core-concepts/getters-setters-virtuals/
|
|
1006
|
+
columnOptions.get = function getValue() {
|
|
1007
|
+
const value = this.getDataValue(propName);
|
|
1008
|
+
|
|
1009
|
+
if (typeof value === 'string') {
|
|
1010
|
+
try {
|
|
1011
|
+
return JSON.parse(value);
|
|
1012
|
+
} catch (_error) {
|
|
1013
|
+
return null;
|
|
1014
|
+
}
|
|
1015
|
+
}
|
|
1016
|
+
|
|
1017
|
+
return value;
|
|
1018
|
+
};
|
|
1019
|
+
}
|
|
1020
|
+
|
|
995
1021
|
// TODO: Get the column name casing using actual methods / conventions used in different sql connectors for loopback
|
|
996
1022
|
columnOptions.field =
|
|
997
1023
|
definition[propName]['name'] ?? propName.toLowerCase();
|