@mlagie/sql-connector 1.4.2 → 1.4.4

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.2",
3
+ "version": "1.4.4",
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.14.5"
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 = keys.filter(key => {
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];
@@ -42,8 +44,8 @@ module.exports = function (filter, isUpdate = false, schema = null) {
42
44
  }
43
45
 
44
46
  // Comportement par défaut
45
- const conditions = keys.map((key, index) => {
46
- const value = values[index];
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
  }