express-ext 0.5.18 → 0.6.1

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/lib/http.js CHANGED
@@ -1,310 +1,316 @@
1
- 'use strict';
2
- Object.defineProperty(exports, '__esModule', { value: true });
3
- Object.defineProperty(Error.prototype, 'toJSON', {
1
+ "use strict"
2
+ Object.defineProperty(exports, "__esModule", { value: true })
3
+ var resources_1 = require("./resources")
4
+ Object.defineProperty(Error.prototype, "toJSON", {
4
5
  value: function () {
5
- var alt = {};
6
+ var alt = {}
6
7
  Object.getOwnPropertyNames(this).forEach(function (key) {
7
- alt[key] = this[key];
8
- }, this);
9
- return alt;
8
+ alt[key] = this[key]
9
+ }, this)
10
+ return alt
10
11
  },
11
12
  configurable: true,
12
13
  writable: true,
13
- });
14
- function handleError(err, res, log) {
15
- if (log) {
16
- log(toString(err));
17
- res.status(500).end('Internal Server Error');
14
+ })
15
+ function handleError(err, res) {
16
+ if (resources_1.resources.log) {
17
+ resources_1.resources.log(toString(err))
18
+ res.status(500).end("Internal Server Error")
18
19
  } else {
19
- res.status(500).end(toString(err));
20
+ if (resources_1.resources.returnServerError) {
21
+ res.status(500).end(toString(err))
22
+ } else {
23
+ console.error(toString(err))
24
+ res.status(500).end("Internal Server Error")
25
+ }
20
26
  }
21
27
  }
22
- exports.handleError = handleError;
23
- exports.error = handleError;
28
+ exports.handleError = handleError
29
+ exports.error = handleError
24
30
  function toString(v) {
25
- if (typeof v === 'string') {
26
- return v;
31
+ if (typeof v === "string") {
32
+ return v
27
33
  } else {
28
- return JSON.stringify(v);
34
+ return JSON.stringify(v)
29
35
  }
30
36
  }
31
- exports.toString = toString;
37
+ exports.toString = toString
32
38
  function attr(name) {
33
- return { name: name, type: 'string' };
39
+ return { name: name, type: "string" }
34
40
  }
35
- exports.attr = attr;
41
+ exports.attr = attr
36
42
  function attrs(keys) {
37
- var atts = [];
43
+ var atts = []
38
44
  for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {
39
- var str = keys_1[_i];
40
- var at = { name: str, type: 'string' };
41
- atts.push(at);
45
+ var str = keys_1[_i]
46
+ var at = { name: str, type: "string" }
47
+ atts.push(at)
42
48
  }
43
- return atts;
49
+ return atts
44
50
  }
45
- exports.attrs = attrs;
51
+ exports.attrs = attrs
46
52
  function respondModel(obj, res) {
47
53
  if (obj) {
48
- res.status(200).json(obj).end();
54
+ res.status(200).json(obj).end()
49
55
  } else {
50
- res.status(404).json(null).end();
56
+ res.status(404).json(null).end()
51
57
  }
52
58
  }
53
- exports.respondModel = respondModel;
59
+ exports.respondModel = respondModel
54
60
  function queryRequiredParams(req, res, name, split) {
55
- var v = req.query[name];
61
+ var v = req.query[name]
56
62
  if (!v) {
57
- res.status(400).end("'" + name + "' cannot be empty");
58
- return undefined;
63
+ res.status(400).end("'" + name + "' cannot be empty")
64
+ return undefined
59
65
  }
60
- var v2 = v.toString();
66
+ var v2 = v.toString()
61
67
  if (v2.length === 0) {
62
- res.status(400).end("'" + name + "' cannot be empty");
63
- return undefined;
68
+ res.status(400).end("'" + name + "' cannot be empty")
69
+ return undefined
64
70
  }
65
71
  if (!split) {
66
- split = ',';
72
+ split = ","
67
73
  }
68
- return v2.split(split);
74
+ return v2.split(split)
69
75
  }
70
- exports.queryRequiredParams = queryRequiredParams;
76
+ exports.queryRequiredParams = queryRequiredParams
71
77
  function queryParams(req, name, d, split) {
72
- var q = req.query[name];
78
+ var q = req.query[name]
73
79
  if (!q) {
74
- return d;
80
+ return d
75
81
  }
76
- var v = q.toString();
82
+ var v = q.toString()
77
83
  if (!v || v.length === 0) {
78
- return d;
84
+ return d
79
85
  }
80
86
  if (!split) {
81
- split = ',';
87
+ split = ","
82
88
  }
83
- return v.split(split);
89
+ return v.split(split)
84
90
  }
85
- exports.queryParams = queryParams;
91
+ exports.queryParams = queryParams
86
92
  function queryParam(req, res, name) {
87
- var v = req.query[name];
93
+ var v = req.query[name]
88
94
  if (!v) {
89
- res.status(400).end("'" + name + "' cannot be empty");
90
- return undefined;
95
+ res.status(400).end("'" + name + "' cannot be empty")
96
+ return undefined
91
97
  } else {
92
- var v1 = v.toString();
98
+ var v1 = v.toString()
93
99
  if (v1.length === 0) {
94
- res.status(400).end("'" + name + "' cannot be empty");
95
- return undefined;
100
+ res.status(400).end("'" + name + "' cannot be empty")
101
+ return undefined
96
102
  } else {
97
- return v1;
103
+ return v1
98
104
  }
99
105
  }
100
106
  }
101
- exports.queryParam = queryParam;
107
+ exports.queryParam = queryParam
102
108
  function query(req, name, d) {
103
- var p = req.query[name];
109
+ var p = req.query[name]
104
110
  if (!p || p.toString().length === 0) {
105
- return d;
111
+ return d
106
112
  }
107
- return p.toString();
113
+ return p.toString()
108
114
  }
109
- exports.query = query;
115
+ exports.query = query
110
116
  function queryRequiredNumber(req, res, name) {
111
- var field = req.query[name];
117
+ var field = req.query[name]
112
118
  if (!field) {
113
- return undefined;
119
+ return undefined
114
120
  }
115
- var v = field.toString();
121
+ var v = field.toString()
116
122
  if (!v || v.length === 0) {
117
- res.status(400).end("'" + name + "' cannot be empty");
118
- return undefined;
123
+ res.status(400).end("'" + name + "' cannot be empty")
124
+ return undefined
119
125
  }
120
126
  if (isNaN(v)) {
121
- res.status(400).end("'" + name + "' is not a valid number");
122
- return undefined;
127
+ res.status(400).end("'" + name + "' is not a valid number")
128
+ return undefined
123
129
  }
124
- var n = parseFloat(v);
125
- return n;
130
+ var n = parseFloat(v)
131
+ return n
126
132
  }
127
- exports.queryRequiredNumber = queryRequiredNumber;
133
+ exports.queryRequiredNumber = queryRequiredNumber
128
134
  function queryNumber(req, name, d) {
129
- var field = req.query[name];
130
- var v = field ? field.toString() : undefined;
135
+ var field = req.query[name]
136
+ var v = field ? field.toString() : undefined
131
137
  if (!v || v.length === 0) {
132
- return d;
138
+ return d
133
139
  }
134
140
  if (isNaN(v)) {
135
- return d;
141
+ return d
136
142
  }
137
- var n = parseFloat(v);
138
- return n;
143
+ var n = parseFloat(v)
144
+ return n
139
145
  }
140
- exports.queryNumber = queryNumber;
146
+ exports.queryNumber = queryNumber
141
147
  function queryRequiredDate(req, res, name) {
142
- var field = req.query[name];
148
+ var field = req.query[name]
143
149
  if (!field) {
144
- return undefined;
150
+ return undefined
145
151
  }
146
- var v = field.toString();
152
+ var v = field.toString()
147
153
  if (!v || v.length === 0) {
148
- res.status(400).end("'" + name + "' cannot be empty");
149
- return undefined;
154
+ res.status(400).end("'" + name + "' cannot be empty")
155
+ return undefined
150
156
  }
151
- var date = new Date(v);
152
- if (date.toString() === 'Invalid Date') {
153
- res.status(400).end("'" + name + "' is not a valid date");
154
- return undefined;
157
+ var date = new Date(v)
158
+ if (date.toString() === "Invalid Date") {
159
+ res.status(400).end("'" + name + "' is not a valid date")
160
+ return undefined
155
161
  }
156
- return date;
162
+ return date
157
163
  }
158
- exports.queryRequiredDate = queryRequiredDate;
164
+ exports.queryRequiredDate = queryRequiredDate
159
165
  function queryDate(req, name, d) {
160
- var field = req.query[name];
166
+ var field = req.query[name]
161
167
  if (field) {
162
- var v = field.toString();
168
+ var v = field.toString()
163
169
  if (!v || v.length === 0) {
164
- return d;
170
+ return d
165
171
  }
166
- var date = new Date(v);
167
- if (date.toString() === 'Invalid Date') {
168
- return d;
172
+ var date = new Date(v)
173
+ if (date.toString() === "Invalid Date") {
174
+ return d
169
175
  }
170
- return date;
176
+ return date
171
177
  }
172
- return undefined;
178
+ return undefined
173
179
  }
174
- exports.queryDate = queryDate;
180
+ exports.queryDate = queryDate
175
181
  function param(req, res, name) {
176
- var v = req.params[name];
182
+ var v = req.params[name]
177
183
  if (!v || v.length === 0) {
178
- res.status(400).end("'" + name + "' cannot be empty");
179
- return undefined;
184
+ res.status(400).end("'" + name + "' cannot be empty")
185
+ return undefined
180
186
  }
181
- return v;
187
+ return v
182
188
  }
183
- exports.param = param;
184
- exports.getParam = param;
189
+ exports.param = param
190
+ exports.getParam = param
185
191
  function params(req, name, d, split) {
186
- var v = req.params[name];
192
+ var v = req.params[name]
187
193
  if (!v || v.length === 0) {
188
- return d;
194
+ return d
189
195
  }
190
196
  if (!split) {
191
- split = ',';
197
+ split = ","
192
198
  }
193
- return v.split(split);
199
+ return v.split(split)
194
200
  }
195
- exports.params = params;
196
- exports.getParams = params;
201
+ exports.params = params
202
+ exports.getParams = params
197
203
  function getRequiredParameters(req, res, name, split) {
198
- var v = req.params[name];
204
+ var v = req.params[name]
199
205
  if (!v || v.length === 0) {
200
- res.status(400).end("'" + name + "' cannot be empty");
201
- return undefined;
206
+ res.status(400).end("'" + name + "' cannot be empty")
207
+ return undefined
202
208
  }
203
209
  if (!split) {
204
- split = ',';
210
+ split = ","
205
211
  }
206
- return v.split(split);
212
+ return v.split(split)
207
213
  }
208
- exports.getRequiredParameters = getRequiredParameters;
214
+ exports.getRequiredParameters = getRequiredParameters
209
215
  function getRequiredNumber(req, res, name) {
210
- var v = req.params[name];
216
+ var v = req.params[name]
211
217
  if (!v || v.length === 0) {
212
- res.status(400).end("'" + name + "' cannot be empty");
213
- return undefined;
218
+ res.status(400).end("'" + name + "' cannot be empty")
219
+ return undefined
214
220
  }
215
221
  if (isNaN(v)) {
216
- res.status(400).end("'" + name + "' must be a number");
217
- return undefined;
222
+ res.status(400).end("'" + name + "' must be a number")
223
+ return undefined
218
224
  }
219
- var n = parseFloat(v);
220
- return n;
225
+ var n = parseFloat(v)
226
+ return n
221
227
  }
222
- exports.getRequiredNumber = getRequiredNumber;
228
+ exports.getRequiredNumber = getRequiredNumber
223
229
  function getNumber(req, name, d) {
224
- var v = req.params[name];
230
+ var v = req.params[name]
225
231
  if (!v || v.length === 0) {
226
- return d;
232
+ return d
227
233
  }
228
234
  if (isNaN(v)) {
229
- return d;
235
+ return d
230
236
  }
231
- var n = parseFloat(v);
232
- return n;
237
+ var n = parseFloat(v)
238
+ return n
233
239
  }
234
- exports.getNumber = getNumber;
240
+ exports.getNumber = getNumber
235
241
  function getInteger(req, name, d) {
236
- var v = req.params[name];
242
+ var v = req.params[name]
237
243
  if (!v || v.length === 0) {
238
- return d;
244
+ return d
239
245
  }
240
246
  if (isNaN(v)) {
241
- return d;
247
+ return d
242
248
  }
243
- var n = parseFloat(v);
244
- var s = n.toFixed(0);
245
- return parseFloat(s);
249
+ var n = parseFloat(v)
250
+ var s = n.toFixed(0)
251
+ return parseFloat(s)
246
252
  }
247
- exports.getInteger = getInteger;
253
+ exports.getInteger = getInteger
248
254
  function getRequiredDate(req, res, name) {
249
- var v = req.params[name];
255
+ var v = req.params[name]
250
256
  if (!v || v.length === 0) {
251
- res.status(400).end("'" + name + "' cannot be empty");
252
- return undefined;
257
+ res.status(400).end("'" + name + "' cannot be empty")
258
+ return undefined
253
259
  }
254
- var date = new Date(v);
255
- if (date.toString() === 'Invalid Date') {
256
- res.status(400).end("'" + name + "' must be a date");
257
- return undefined;
260
+ var date = new Date(v)
261
+ if (date.toString() === "Invalid Date") {
262
+ res.status(400).end("'" + name + "' must be a date")
263
+ return undefined
258
264
  }
259
- return date;
265
+ return date
260
266
  }
261
- exports.getRequiredDate = getRequiredDate;
267
+ exports.getRequiredDate = getRequiredDate
262
268
  function getDate(req, name, d) {
263
- var v = req.params[name];
269
+ var v = req.params[name]
264
270
  if (!v || v.length === 0) {
265
- return d;
271
+ return d
266
272
  }
267
- var date = new Date(v);
268
- if (date.toString() === 'Invalid Date') {
269
- return d;
273
+ var date = new Date(v)
274
+ if (date.toString() === "Invalid Date") {
275
+ return d
270
276
  }
271
- return date;
277
+ return date
272
278
  }
273
- exports.getDate = getDate;
274
- var o = 'object';
279
+ exports.getDate = getDate
280
+ var o = "object"
275
281
  function minimize(obj) {
276
282
  if (!obj || typeof obj !== o) {
277
- return obj;
283
+ return obj
278
284
  }
279
- var keys = Object.keys(obj);
285
+ var keys = Object.keys(obj)
280
286
  for (var _i = 0, keys_2 = keys; _i < keys_2.length; _i++) {
281
- var key = keys_2[_i];
282
- var v = obj[key];
287
+ var key = keys_2[_i]
288
+ var v = obj[key]
283
289
  if (v == null) {
284
- delete obj[key];
290
+ delete obj[key]
285
291
  } else if (Array.isArray(v) && v.length > 0) {
286
- var v1 = v[0];
292
+ var v1 = v[0]
287
293
  if (typeof v1 === o && !(v1 instanceof Date)) {
288
294
  for (var _a = 0, v_1 = v; _a < v_1.length; _a++) {
289
- var item = v_1[_a];
290
- minimize(item);
295
+ var item = v_1[_a]
296
+ minimize(item)
291
297
  }
292
298
  }
293
299
  }
294
300
  }
295
- return obj;
301
+ return obj
296
302
  }
297
- exports.minimize = minimize;
303
+ exports.minimize = minimize
298
304
  function minimizeArray(arrs) {
299
305
  if (!arrs) {
300
- return arrs;
306
+ return arrs
301
307
  }
302
308
  if (arrs.length > 0) {
303
309
  for (var _i = 0, arrs_1 = arrs; _i < arrs_1.length; _i++) {
304
- var obj = arrs_1[_i];
305
- minimize(obj);
310
+ var obj = arrs_1[_i]
311
+ minimize(obj)
306
312
  }
307
313
  }
308
- return arrs;
314
+ return arrs
309
315
  }
310
- exports.minimizeArray = minimizeArray;
316
+ exports.minimizeArray = minimizeArray
package/lib/index.js CHANGED
@@ -40,16 +40,14 @@ __export(require("./search"))
40
40
  __export(require("./SearchController"))
41
41
  __export(require("./view"))
42
42
  var SavedController = (function () {
43
- function SavedController(savedService, log, id, userId) {
43
+ function SavedController(savedService, id, userId) {
44
44
  this.savedService = savedService
45
- this.log = log
46
45
  this.userId = userId && userId.length > 0 ? userId : "userId"
47
46
  this.id = id && id.length > 0 ? id : "id"
48
47
  this.save = this.save.bind(this)
49
48
  this.remove = this.remove.bind(this)
50
49
  }
51
50
  SavedController.prototype.save = function (req, res) {
52
- var _this = this
53
51
  var userId = res.locals[this.userId]
54
52
  var id = req.params[this.id]
55
53
  if (!id || id.length === 0) {
@@ -67,11 +65,10 @@ var SavedController = (function () {
67
65
  res.status(status).json(result).end()
68
66
  })
69
67
  .catch(function (err) {
70
- return http_1.handleError(err, res, _this.log)
68
+ return http_1.handleError(err, res)
71
69
  })
72
70
  }
73
71
  SavedController.prototype.remove = function (req, res) {
74
- var _this = this
75
72
  var userId = res.locals[this.userId]
76
73
  var id = req.params[this.id]
77
74
  if (!id || id.length === 0) {
@@ -89,23 +86,21 @@ var SavedController = (function () {
89
86
  res.status(status).json(result).end()
90
87
  })
91
88
  .catch(function (err) {
92
- return http_1.handleError(err, res, _this.log)
89
+ return http_1.handleError(err, res)
93
90
  })
94
91
  }
95
92
  return SavedController
96
93
  })()
97
94
  exports.SavedController = SavedController
98
95
  var FollowController = (function () {
99
- function FollowController(service, log, id, userId) {
96
+ function FollowController(service, id, userId) {
100
97
  this.service = service
101
- this.log = log
102
98
  this.userId = userId && userId.length > 0 ? userId : "userId"
103
99
  this.id = id && id.length > 0 ? id : "id"
104
100
  this.follow = this.follow.bind(this)
105
101
  this.unfollow = this.unfollow.bind(this)
106
102
  }
107
103
  FollowController.prototype.follow = function (req, res) {
108
- var _this = this
109
104
  var userId = res.locals[this.userId]
110
105
  var id = req.params[this.id]
111
106
  if (!id || id.length === 0) {
@@ -123,11 +118,10 @@ var FollowController = (function () {
123
118
  res.status(status).json(result).end()
124
119
  })
125
120
  .catch(function (err) {
126
- return http_1.handleError(err, res, _this.log)
121
+ return http_1.handleError(err, res)
127
122
  })
128
123
  }
129
124
  FollowController.prototype.unfollow = function (req, res) {
130
- var _this = this
131
125
  var userId = res.locals[this.userId]
132
126
  var id = req.params[this.id]
133
127
  if (!id || id.length === 0) {
@@ -145,15 +139,14 @@ var FollowController = (function () {
145
139
  res.status(status).json(result).end()
146
140
  })
147
141
  .catch(function (err) {
148
- return http_1.handleError(err, res, _this.log)
142
+ return http_1.handleError(err, res)
149
143
  })
150
144
  }
151
145
  return FollowController
152
146
  })()
153
147
  exports.FollowController = FollowController
154
148
  var UserReactionController = (function () {
155
- function UserReactionController(log, service, author, id, reaction) {
156
- this.log = log
149
+ function UserReactionController(service, author, id, reaction) {
157
150
  this.service = service
158
151
  this.author = author
159
152
  this.reaction = reaction
@@ -163,7 +156,6 @@ var UserReactionController = (function () {
163
156
  this.checkReaction = this.checkReaction.bind(this)
164
157
  }
165
158
  UserReactionController.prototype.react = function (req, res) {
166
- var _this = this
167
159
  var id = req.params.id
168
160
  var author = req.params.author
169
161
  var reaction = req.params.reaction
@@ -185,11 +177,10 @@ var UserReactionController = (function () {
185
177
  res.status(200).json(count).end()
186
178
  })
187
179
  .catch(function (err) {
188
- return http_1.handleError(err, res, _this.log)
180
+ return http_1.handleError(err, res)
189
181
  })
190
182
  }
191
183
  UserReactionController.prototype.unreact = function (req, res) {
192
- var _this = this
193
184
  var id = req.params.id
194
185
  var author = req.params.author
195
186
  var reaction = req.params.reaction
@@ -211,11 +202,10 @@ var UserReactionController = (function () {
211
202
  res.status(200).json(count).end()
212
203
  })
213
204
  .catch(function (err) {
214
- return http_1.handleError(err, res, _this.log)
205
+ return http_1.handleError(err, res)
215
206
  })
216
207
  }
217
208
  UserReactionController.prototype.checkReaction = function (req, res) {
218
- var _this = this
219
209
  var id = req.params.id
220
210
  var author = req.params.author
221
211
  if (!id || id.length === 0) {
@@ -232,7 +222,7 @@ var UserReactionController = (function () {
232
222
  res.status(200).json(count).end()
233
223
  })
234
224
  .catch(function (err) {
235
- return http_1.handleError(err, res, _this.log)
225
+ return http_1.handleError(err, res)
236
226
  })
237
227
  }
238
228
  return UserReactionController
@@ -321,7 +311,7 @@ function respond(res, result, returnObject) {
321
311
  }
322
312
  }
323
313
  exports.respond = respond
324
- function save(isEdit, res, obj, service, log, returnNumber) {
314
+ function save(isEdit, res, obj, service, returnNumber) {
325
315
  if (!isEdit) {
326
316
  service
327
317
  .create(obj)
@@ -335,7 +325,7 @@ function save(isEdit, res, obj, service, log, returnNumber) {
335
325
  }
336
326
  })
337
327
  .catch(function (err) {
338
- return http_1.handleError(err, res, log)
328
+ return http_1.handleError(err, res)
339
329
  })
340
330
  } else {
341
331
  service
@@ -355,7 +345,7 @@ function save(isEdit, res, obj, service, log, returnNumber) {
355
345
  }
356
346
  })
357
347
  .catch(function (err) {
358
- return http_1.handleError(err, res, log)
348
+ return http_1.handleError(err, res)
359
349
  })
360
350
  }
361
351
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "express-ext",
3
- "version": "0.5.18",
3
+ "version": "0.6.1",
4
4
  "description": "express-ext",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./src/index.ts",