@mlagie/sql-connector 1.4.2 → 1.4.3
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mlagie/sql-connector",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.3",
|
|
4
4
|
"description": "Le module sql-connector permet de gérer les connexions à une base de données MySQL, de définir des schémas de tables, et d'interagir avec les données de manière simple et efficace.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -25,6 +25,6 @@
|
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"@mlagie/logger": "1.0.1",
|
|
27
27
|
"glob": "^11.0.3",
|
|
28
|
-
"mysql2": "3.
|
|
28
|
+
"mysql2": "3.15.1"
|
|
29
29
|
}
|
|
30
30
|
}
|
|
@@ -19,12 +19,14 @@ module.exports = function (filter, isUpdate = false, schema = null) {
|
|
|
19
19
|
const keys = Object.keys(filter);
|
|
20
20
|
const values = Object.values(filter);
|
|
21
21
|
|
|
22
|
+
const filteredKeys = isUpdate ? keys.filter(key => filter[key] !== undefined) : keys;
|
|
23
|
+
const filteredValues = isUpdate ? filteredKeys.map(key => filter[key]) : values;
|
|
24
|
+
|
|
22
25
|
if (!isUpdate && schema && schema.schemaDict) {
|
|
23
|
-
const uniqueKeys =
|
|
26
|
+
const uniqueKeys = filteredKeys.filter(key => {
|
|
24
27
|
const field = schema.schemaDict[key];
|
|
25
28
|
return field && field.unique === true;
|
|
26
29
|
});
|
|
27
|
-
|
|
28
30
|
if (uniqueKeys.length > 0) {
|
|
29
31
|
return uniqueKeys.map(key => {
|
|
30
32
|
const value = filter[key];
|
|
@@ -36,14 +38,14 @@ module.exports = function (filter, isUpdate = false, schema = null) {
|
|
|
36
38
|
return `JSON_CONTAINS(${key}, '${jsonVal}')`;
|
|
37
39
|
}
|
|
38
40
|
if (value === null || value === "null") return `${key} IS NULL`;
|
|
39
|
-
return `${key} = ${typeof value === "string" ? `"${
|
|
41
|
+
return `${key} = ${typeof value === "string" ? `"${v}"` : value}`;
|
|
40
42
|
}).join(" AND ");
|
|
41
43
|
}
|
|
42
44
|
}
|
|
43
45
|
|
|
44
46
|
// Comportement par défaut
|
|
45
|
-
const conditions =
|
|
46
|
-
const value =
|
|
47
|
+
const conditions = filteredKeys.map((key, index) => {
|
|
48
|
+
const value = filteredValues[index];
|
|
47
49
|
|
|
48
50
|
if (Array.isArray(value)) {
|
|
49
51
|
return `${key} IN (${value.map(v => `"${v}"`).join(", ")})`;
|
|
@@ -59,6 +61,5 @@ module.exports = function (filter, isUpdate = false, schema = null) {
|
|
|
59
61
|
if ((value === null || value === "null") && isUpdate == false) return `${key} IS NULL`;
|
|
60
62
|
return `${key} = ${typeof value === "string" ? `"${value}"` : value}`;
|
|
61
63
|
}).join(` ${isUpdate == false ? "AND" : ","} `);
|
|
62
|
-
|
|
63
64
|
return conditions;
|
|
64
65
|
}
|