@less-is-more/less-js 1.4.6 → 1.4.8

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": "@less-is-more/less-js",
3
- "version": "1.4.6",
3
+ "version": "1.4.8",
4
4
  "description": "Fast develop kit for nodejs",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
package/src/db.js CHANGED
@@ -95,15 +95,15 @@ module.exports = class Db {
95
95
  compareColumn = []
96
96
  ) {
97
97
  for (let nNewData of newData) {
98
- let nOldIndex = oldData.findIndex(
98
+ const nOldIndex = oldData.findIndex(
99
99
  (nOld) => nOld[keyColumn] == nNewData[keyColumn]
100
100
  );
101
- if (nOldIndex === -1) {
101
+ if (nOldIndex == -1) {
102
102
  await this.add(model, nNewData);
103
103
  } else {
104
+ const nOldData = oldData[nOldIndex];
104
105
  let needUpdate = false;
105
106
  if (compareColumn.length > 0) {
106
- const nOldData = oldData[nOldIndex];
107
107
  for (let nColumn of compareColumn) {
108
108
  if (nOldData[nColumn] !== nNewData[nColumn]) {
109
109
  console.log("Diff", nOldData[nColumn], nNewData[nColumn]);
@@ -116,15 +116,21 @@ module.exports = class Db {
116
116
  }
117
117
  if (needUpdate) {
118
118
  let where = {};
119
- where[keyColumn] = nNewData[keyColumn];
119
+ // 有主键的话,使用主键
120
+ if (nOldData.id) {
121
+ where.id = nOldData.id;
122
+ } else {
123
+ where[keyColumn] = nNewData[keyColumn];
124
+ }
120
125
  // 只更新指定的字段
121
126
  let setValues = {};
122
127
  for (let nColumn of compareColumn) {
123
128
  setValues[nColumn] = nNewData[nColumn];
124
129
  }
125
130
  await this.update(model, setValues, where);
126
- oldData.splice(nOldIndex, 1);
127
131
  }
132
+ // 剔除已经处理的
133
+ oldData.splice(nOldIndex, 1);
128
134
  }
129
135
  }
130
136
  // 删除旧剩余的
package/src/param.js CHANGED
@@ -37,7 +37,7 @@ module.exports = class Param {
37
37
  }
38
38
  }
39
39
  if (!result) {
40
- throw new Error(nCheck[3]);
40
+ throw new Error("参数:" + nCheck[3]);
41
41
  }
42
42
  });
43
43
  }
package/src/router.js CHANGED
@@ -157,7 +157,13 @@ module.exports = class Router {
157
157
  static _sendError(message, res) {
158
158
  console.log("error:", message);
159
159
  if (this.#defaultFormat) {
160
- res.send(new Ret(false, message, Ret.CODE_SYSTEM).toString());
160
+ res.send(
161
+ new Ret(
162
+ false,
163
+ message,
164
+ message.includes("参数:") ? Ret.CODE_PARAMETER : Ret.CODE_SYSTEM
165
+ ).toString()
166
+ );
161
167
  }
162
168
  return message;
163
169
  }
package/test/data/test.js CHANGED
@@ -22,6 +22,15 @@ module.exports = sequelize => {
22
22
  comment: null,
23
23
  field: "name"
24
24
  },
25
+ value: {
26
+ type: DataTypes.STRING(50),
27
+ allowNull: true,
28
+ defaultValue: null,
29
+ primaryKey: false,
30
+ autoIncrement: false,
31
+ comment: null,
32
+ field: "value"
33
+ },
25
34
  };
26
35
  const options = {
27
36
  tableName: "test",
package/test/test-db.js CHANGED
@@ -7,7 +7,7 @@ const Test = require("./data/test.js");
7
7
  describe("db.js", () => {
8
8
  before(() => {
9
9
  console.log("init");
10
- Db.init("127.0.0.1", "card-test", "dev", "^wXj&CJQfiPP");
10
+ Db.init("127.0.0.1", "sheng-test", "dev", "^wXj&CJQfiPP");
11
11
  });
12
12
  describe("getInstance()", () => {
13
13
  it("connect", async () => {
@@ -167,12 +167,15 @@ describe("db.js", () => {
167
167
  it("success", async () => {
168
168
  let newData = [
169
169
  {
170
- name: 23,
170
+ name: "23",
171
+ value: "3",
171
172
  },
172
173
  ];
173
174
  let oldData = await Db.find(Test);
174
175
  try {
175
- await Db.fullUpdate(Test, newData, oldData.rows, "name", true);
176
+ await Db.fullUpdate(Test, newData, oldData.rows, "name", true, [
177
+ "value",
178
+ ]);
176
179
  } catch (e) {
177
180
  console.error(e);
178
181
  assert(false);
@@ -47,22 +47,22 @@ describe("router.js", () => {
47
47
  };
48
48
  Router.route(targets, req, res);
49
49
  });
50
- it("error", () => {
50
+ it("error", async () => {
51
51
  let targets = {
52
52
  "/": {
53
53
  add: function (req, res) {
54
- throw new Error("出错啦");
54
+ throw new Error("参数:出错啦");
55
55
  },
56
56
  },
57
57
  };
58
- let req = { path: "/add" };
58
+ let req = { path: "/add", headers: [] };
59
59
  let res = {
60
60
  send: function (data) {
61
61
  console.log("send: " + data);
62
62
  assert(JSON.parse(data).success == false);
63
63
  },
64
64
  };
65
- Router.route(targets, req, res);
65
+ await Router.route(targets, req, res);
66
66
  });
67
67
  it("multi controllers", () => {
68
68
  let targets = {