@less-is-more/less-js 1.2.11 → 1.2.15

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.2.11",
3
+ "version": "1.2.15",
4
4
  "description": "Fast develop kit for nodejs",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -12,7 +12,7 @@
12
12
  },
13
13
  "repository": {
14
14
  "type": "git",
15
- "url": "https://gitee.com/lim/less-js.git"
15
+ "url": "https://gitee.com/shengapp/lim-js"
16
16
  },
17
17
  "author": "Less Is More",
18
18
  "license": "MIT",
@@ -21,6 +21,7 @@
21
21
  "ejs": "^3.1.6",
22
22
  "fs-extra": "^10.0.0",
23
23
  "inquirer": "^8.1.2",
24
+ "multiparty": "^4.2.2",
24
25
  "mysql2": "^2.2.5",
25
26
  "pg-hstore": "^2.3.3",
26
27
  "querystring": "^0.2.1",
package/src/db.js CHANGED
@@ -102,7 +102,7 @@ module.exports = class Db {
102
102
  await this.add(model, nNewData);
103
103
  } else {
104
104
  let needUpdate = false;
105
- if ( compareColumn.length > 0) {
105
+ if (compareColumn.length > 0) {
106
106
  const nOldData = oldData[nOldIndex];
107
107
  for (let nColumn of compareColumn) {
108
108
  if (nOldData[nColumn] !== nNewData[nColumn]) {
@@ -164,7 +164,7 @@ module.exports = class Db {
164
164
  * @param {*} attributes 只返回属性
165
165
  * @returns
166
166
  */
167
- static async findAll(
167
+ static async findAll(
168
168
  model,
169
169
  params = {},
170
170
  order = [["id", "desc"]],
@@ -202,10 +202,16 @@ module.exports = class Db {
202
202
  }
203
203
  }
204
204
 
205
- static async sql(sql, values = [], type = this.SQL_TYPE_SELECT) {
206
- return await this.getInstance().query(sql, {
205
+ static async sql(sql, values = [], type = this.SQL_TYPE_SELECT, model) {
206
+ let params = {
207
207
  type: type,
208
208
  replacements: values,
209
- });
209
+ };
210
+ if (model) {
211
+ params.model = model;
212
+ params.mapToModel = true;
213
+ params.type = Sequelize.QueryTypes.RAW;
214
+ }
215
+ return await this.getInstance().query(sql, params);
210
216
  }
211
217
  };
package/src/router.js CHANGED
@@ -2,6 +2,7 @@ const Ret = require("./ret.js");
2
2
  const Param = require("./param.js");
3
3
  const querystring = require("querystring");
4
4
  const body = require("body");
5
+ const multiparty = require("multiparty");
5
6
  const { promisify } = require("util");
6
7
 
7
8
  module.exports = class Router {
@@ -52,8 +53,7 @@ module.exports = class Router {
52
53
  }
53
54
 
54
55
  static _getPath(req) {
55
- console.log("method: " + req.method);
56
- console.log("path: " + req.path);
56
+ console.log("path:", req.method, req.path);
57
57
  const paths = req.path.split("/");
58
58
  const className = paths.length > 2 ? "/" + paths[paths.length - 2] : "/";
59
59
  const methodName = paths[paths.length - 1];
@@ -70,15 +70,17 @@ module.exports = class Router {
70
70
  JSON.stringify(req.headers).includes("multipart/form-data");
71
71
  console.log("multipart:", isFile);
72
72
  if (req.method == "POST") {
73
- let data = await promisify(body)(req);
74
73
  if (isFile) {
75
- req.body = data.toString();
74
+ await this._getFile(req);
75
+ console.log("params:", req.params);
76
+ console.log("files:", req.files);
76
77
  } else {
78
+ const data = await promisify(body)(req);
77
79
  console.log("body: " + decodeURIComponent(data));
78
80
  req.body = querystring.parse(decodeURIComponent(data));
79
81
  }
80
82
  }
81
- req.params = {};
83
+ if (req.params == undefined) req.params = {};
82
84
  if (!Param.isBlank(req.queries)) {
83
85
  Object.keys(req.queries).forEach((n) => (req.params[n] = req.queries[n]));
84
86
  }
@@ -87,14 +89,30 @@ module.exports = class Router {
87
89
  }
88
90
  }
89
91
 
92
+ static _getFile(req) {
93
+ return new Promise((resolve, reject) => {
94
+ const form = new multiparty.Form();
95
+
96
+ form.parse(req, function (err, fields, files) {
97
+ if (err) reject(err);
98
+ req.params = fields;
99
+ req.files = files;
100
+ resolve();
101
+ });
102
+ });
103
+ }
104
+
90
105
  static _handleReturn(result, res) {
91
106
  if (!Param.isBlank(result)) {
92
107
  if (result instanceof Ret) {
108
+ console.log("return:", result.toString());
93
109
  res.send(result.toString());
94
110
  } else {
95
111
  if (typeof result === "string") {
112
+ console.log("return:", result);
96
113
  res.send(result);
97
114
  } else {
115
+ console.log("return:", JSON.stringify(result));
98
116
  res.send(JSON.stringify(result));
99
117
  }
100
118
  }
package/test/test-db.js CHANGED
@@ -114,6 +114,15 @@ describe("db.js", () => {
114
114
  let data = await Db.sql("select * from menu where id=?", [1]);
115
115
  console.log(data);
116
116
  });
117
+ it("to model", async () => {
118
+ let data = await Db.sql(
119
+ "select * from menu",
120
+ [],
121
+ Db.SQL_TYPE_SELECT,
122
+ Menu
123
+ );
124
+ console.log(JSON.stringify(data));
125
+ });
117
126
  it("insert", async () => {
118
127
  let data = await Db.sql(
119
128
  "insert into menu (name) values(?)",
@@ -177,5 +186,5 @@ describe("db.js", () => {
177
186
  console.log(data);
178
187
  assert(data.length > 0, "no data");
179
188
  });
180
- })
189
+ });
181
190
  });