express-ext 0.4.1 → 0.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.
@@ -1,4 +1,4 @@
1
- 'use strict';
1
+ "use strict"
2
2
  var __extends =
3
3
  (this && this.__extends) ||
4
4
  (function () {
@@ -7,246 +7,242 @@ var __extends =
7
7
  Object.setPrototypeOf ||
8
8
  ({ __proto__: [] } instanceof Array &&
9
9
  function (d, b) {
10
- d.__proto__ = b;
10
+ d.__proto__ = b
11
11
  }) ||
12
12
  function (d, b) {
13
- for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
14
- };
15
- return extendStatics(d, b);
16
- };
13
+ for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]
14
+ }
15
+ return extendStatics(d, b)
16
+ }
17
17
  return function (d, b) {
18
- extendStatics(d, b);
18
+ extendStatics(d, b)
19
19
  function __() {
20
- this.constructor = d;
20
+ this.constructor = d
21
21
  }
22
- d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());
23
- };
24
- })();
25
- Object.defineProperty(exports, '__esModule', { value: true });
26
- var edit_1 = require('./edit');
27
- var http_1 = require('./http');
28
- var LoadController_1 = require('./LoadController');
29
- var resources_1 = require('./resources');
30
- var view_1 = require('./view');
22
+ d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __())
23
+ }
24
+ })()
25
+ Object.defineProperty(exports, "__esModule", { value: true })
26
+ var edit_1 = require("./edit")
27
+ var http_1 = require("./http")
28
+ var LoadController_1 = require("./LoadController")
29
+ var resources_1 = require("./resources")
30
+ var view_1 = require("./view")
31
31
  var GenericController = (function (_super) {
32
- __extends(GenericController, _super);
32
+ __extends(GenericController, _super)
33
33
  function GenericController(log, service, build, validate, returnNumber) {
34
- var _this = _super.call(this, log, service) || this;
35
- _this.service = service;
36
- _this.build = build;
37
- _this.validate = validate;
38
- _this.returnNumber = returnNumber;
34
+ var _this = _super.call(this, log, service) || this
35
+ _this.service = service
36
+ _this.build = build
37
+ _this.validate = validate
38
+ _this.returnNumber = returnNumber
39
39
  if (service.metadata) {
40
- var m = service.metadata();
40
+ var m = service.metadata()
41
41
  if (m) {
42
- _this.metadata = m;
42
+ _this.metadata = m
43
43
  }
44
44
  }
45
- _this.create = _this.create.bind(_this);
46
- _this.update = _this.update.bind(_this);
47
- _this.patch = _this.patch.bind(_this);
48
- _this.delete = _this.delete.bind(_this);
45
+ _this.create = _this.create.bind(_this)
46
+ _this.update = _this.update.bind(_this)
47
+ _this.patch = _this.patch.bind(_this)
48
+ _this.delete = _this.delete.bind(_this)
49
49
  if (!validate && resources_1.resources.createValidator && _this.metadata) {
50
- var v = resources_1.resources.createValidator(_this.metadata);
51
- _this.validate = v.validate;
50
+ var v = resources_1.resources.createValidator(_this.metadata)
51
+ _this.validate = v.validate
52
52
  }
53
- return _this;
53
+ return _this
54
54
  }
55
55
  GenericController.prototype.create = function (req, res) {
56
- validateAndCreate(req, res, this.service.create, this.log, this.validate, this.build);
57
- };
56
+ validateAndCreate(req, res, this.service.create, this.log, this.validate, this.build)
57
+ }
58
58
  GenericController.prototype.update = function (req, res) {
59
- var id = buildAndCheckIdWithBody(req, res, this.keys, this.service.update);
59
+ var id = buildAndCheckIdWithBody(req, res, this.keys, this.service.update)
60
60
  if (id) {
61
- validateAndUpdate(res, req.body, false, this.service.update, this.log, this.validate, undefined, this.build);
61
+ validateAndUpdate(res, req.body, false, this.service.update, this.log, this.validate, undefined, this.build)
62
62
  }
63
- };
63
+ }
64
64
  GenericController.prototype.patch = function (req, res) {
65
- var id = buildAndCheckIdWithBody(req, res, this.keys, this.service.patch);
65
+ var id = buildAndCheckIdWithBody(req, res, this.keys, this.service.patch)
66
66
  if (id && this.service.patch) {
67
- validateAndUpdate(res, req.body, true, this.service.patch, this.log, this.validate, undefined, this.build);
67
+ validateAndUpdate(res, req.body, true, this.service.patch, this.log, this.validate, undefined, this.build)
68
68
  }
69
- };
69
+ }
70
70
  GenericController.prototype.delete = function (req, res) {
71
- var _this = this;
72
- var id = view_1.buildAndCheckId(req, res, this.keys);
71
+ var _this = this
72
+ var id = view_1.buildAndCheckId(req, res, this.keys)
73
73
  if (id) {
74
74
  if (!this.service.delete) {
75
- res.status(405).end('Method Not Allowed');
75
+ res.status(405).end("Method Not Allowed")
76
76
  } else {
77
77
  this.service
78
78
  .delete(id)
79
79
  .then(function (count) {
80
- res.status(getDeleteStatus(count)).json(count).end();
80
+ res.status(getDeleteStatus(count)).json(count).end()
81
81
  })
82
82
  .catch(function (err) {
83
- return http_1.handleError(err, res, _this.log);
84
- });
83
+ return http_1.handleError(err, res, _this.log)
84
+ })
85
85
  }
86
86
  }
87
- };
88
- return GenericController;
89
- })(LoadController_1.LoadController);
90
- exports.GenericController = GenericController;
87
+ }
88
+ return GenericController
89
+ })(LoadController_1.LoadController)
90
+ exports.GenericController = GenericController
91
91
  function validateAndCreate(req, res, save, log, validate, build, returnNumber) {
92
- var obj = req.body;
93
- if (!obj || obj === '') {
94
- res.status(400).end('The request body cannot be empty.');
92
+ var obj = req.body
93
+ if (!obj || obj === "") {
94
+ res.status(400).end("The request body cannot be empty.")
95
95
  } else {
96
96
  if (validate) {
97
97
  validate(obj)
98
98
  .then(function (errors) {
99
99
  if (errors && errors.length > 0) {
100
- res.status(getStatusCode(errors)).json(errors).end();
100
+ res.status(edit_1.getStatusCode(errors)).json(errors).end()
101
101
  } else {
102
102
  if (build) {
103
- build(res, obj, true);
103
+ build(res, obj, true)
104
104
  }
105
- edit_1.create(res, obj, save, log, returnNumber);
105
+ edit_1.create(res, obj, save, log, returnNumber)
106
106
  }
107
107
  })
108
108
  .catch(function (err) {
109
- return http_1.handleError(err, res, log);
110
- });
109
+ return http_1.handleError(err, res, log)
110
+ })
111
111
  } else {
112
- edit_1.create(res, obj, save, log, returnNumber);
112
+ edit_1.create(res, obj, save, log, returnNumber)
113
113
  }
114
114
  }
115
115
  }
116
- exports.validateAndCreate = validateAndCreate;
116
+ exports.validateAndCreate = validateAndCreate
117
117
  function validateAndUpdate(res, obj, isPatch, save, log, validate, resource, build, returnNumber) {
118
118
  if (validate) {
119
119
  validate(obj, resource, isPatch)
120
120
  .then(function (errors) {
121
121
  if (errors && errors.length > 0) {
122
- res.status(getStatusCode(errors)).json(errors).end();
122
+ res.status(edit_1.getStatusCode(errors)).json(errors).end()
123
123
  } else {
124
124
  if (build) {
125
- build(res, obj, false, isPatch);
125
+ build(res, obj, false, isPatch)
126
126
  }
127
- edit_1.update(res, obj, save, log, returnNumber);
127
+ edit_1.update(res, obj, save, log, returnNumber)
128
128
  }
129
129
  })
130
130
  .catch(function (err) {
131
- return http_1.handleError(err, res, log);
132
- });
131
+ return http_1.handleError(err, res, log)
132
+ })
133
133
  } else {
134
- edit_1.update(res, obj, save, log, returnNumber);
134
+ edit_1.update(res, obj, save, log, returnNumber)
135
135
  }
136
136
  }
137
- exports.validateAndUpdate = validateAndUpdate;
137
+ exports.validateAndUpdate = validateAndUpdate
138
138
  function buildAndCheckIdWithBody(req, res, keys, patch) {
139
- var obj = req.body;
140
- if (!obj || obj === '') {
141
- res.status(400).end('The request body cannot be empty.');
142
- return undefined;
139
+ var obj = req.body
140
+ if (!obj || obj === "") {
141
+ res.status(400).end("The request body cannot be empty.")
142
+ return undefined
143
143
  }
144
144
  if (!patch) {
145
- res.status(405).end('Method Not Allowed');
146
- return undefined;
145
+ res.status(405).end("Method Not Allowed")
146
+ return undefined
147
147
  }
148
- var id = view_1.buildId(req, keys);
148
+ var id = view_1.buildId(req, keys)
149
149
  if (!id) {
150
- res.status(400).end('Invalid parameters');
151
- return undefined;
150
+ res.status(400).end("Invalid parameters")
151
+ return undefined
152
152
  }
153
- var ok = edit_1.checkId(obj, id, keys);
153
+ var ok = edit_1.checkId(obj, id, keys)
154
154
  if (!ok) {
155
- res.status(400).end('body and url are not matched');
156
- return undefined;
155
+ res.status(400).end("body and url are not matched")
156
+ return undefined
157
157
  }
158
- return id;
158
+ return id
159
159
  }
160
- exports.buildAndCheckIdWithBody = buildAndCheckIdWithBody;
160
+ exports.buildAndCheckIdWithBody = buildAndCheckIdWithBody
161
161
  function getDeleteStatus(count) {
162
162
  if (count > 0) {
163
- return 200;
163
+ return 200
164
164
  } else if (count === 0) {
165
- return 404;
165
+ return 404
166
166
  } else {
167
- return 409;
167
+ return 409
168
168
  }
169
169
  }
170
- exports.getDeleteStatus = getDeleteStatus;
171
- function getStatusCode(errs) {
172
- return edit_1.isTypeError(errs) ? 400 : 422;
173
- }
174
- exports.getStatusCode = getStatusCode;
170
+ exports.getDeleteStatus = getDeleteStatus
175
171
  function useBuild(c, generate) {
176
172
  var b = new Builder(
177
173
  generate,
178
- c.id ? c.id : '',
179
- c.payload ? c.payload : '',
180
- c.user ? c.user : '',
181
- c.updatedBy ? c.updatedBy : '',
182
- c.updatedAt ? c.updatedAt : '',
183
- c.createdBy ? c.createdBy : '',
184
- c.createdAt ? c.createdAt : '',
185
- c.version ? c.version : '',
186
- );
187
- return b.build;
174
+ c.id ? c.id : "",
175
+ c.payload ? c.payload : "",
176
+ c.user ? c.user : "",
177
+ c.updatedBy ? c.updatedBy : "",
178
+ c.updatedAt ? c.updatedAt : "",
179
+ c.createdBy ? c.createdBy : "",
180
+ c.createdAt ? c.createdAt : "",
181
+ c.version ? c.version : "",
182
+ )
183
+ return b.build
188
184
  }
189
- exports.useBuild = useBuild;
185
+ exports.useBuild = useBuild
190
186
  var Builder = (function () {
191
187
  function Builder(generate, id, payload, user, updatedBy, updatedAt, createdBy, createdAt, version) {
192
- this.generate = generate;
193
- this.id = id;
194
- this.payload = payload;
195
- this.user = user;
196
- this.updatedBy = updatedBy;
197
- this.updatedAt = updatedAt;
198
- this.createdBy = createdBy;
199
- this.createdAt = createdAt;
200
- this.version = version;
201
- this.build = this.build.bind(this);
188
+ this.generate = generate
189
+ this.id = id
190
+ this.payload = payload
191
+ this.user = user
192
+ this.updatedBy = updatedBy
193
+ this.updatedAt = updatedAt
194
+ this.createdBy = createdBy
195
+ this.createdAt = createdAt
196
+ this.version = version
197
+ this.build = this.build.bind(this)
202
198
  }
203
199
  Builder.prototype.build = function (res, obj, isCreate, isPatch) {
204
- var o = obj;
205
- var usr = '';
200
+ var o = obj
201
+ var usr = ""
206
202
  if (this.user.length > 0) {
207
203
  if (this.payload.length > 0) {
208
- var payload = res.locals[this.payload];
204
+ var payload = res.locals[this.payload]
209
205
  if (payload) {
210
- usr = payload[this.user];
206
+ usr = payload[this.user]
211
207
  }
212
208
  } else {
213
- usr = res.locals[this.user];
209
+ usr = res.locals[this.user]
214
210
  }
215
211
  }
216
212
  if (!usr) {
217
- usr = '';
213
+ usr = ""
218
214
  }
219
- var now = new Date();
215
+ var now = new Date()
220
216
  if (isCreate) {
221
217
  if (this.generate && this.id.length > 0) {
222
- o[this.id] = this.generate();
218
+ o[this.id] = this.generate()
223
219
  }
224
220
  if (usr.length > 0) {
225
221
  if (this.createdAt.length > 0) {
226
- o[this.createdAt] = now;
222
+ o[this.createdAt] = now
227
223
  }
228
224
  if (this.createdBy.length > 0) {
229
- o[this.createdBy] = usr;
225
+ o[this.createdBy] = usr
230
226
  }
231
227
  }
232
228
  if (this.version.length > 0) {
233
- o[this.version] = 1;
229
+ o[this.version] = 1
234
230
  }
235
231
  } else if (isPatch) {
236
- var keys = Object.keys(o);
232
+ var keys = Object.keys(o)
237
233
  if (keys.length === 0) {
238
- return;
234
+ return
239
235
  }
240
236
  }
241
237
  if (usr.length > 0) {
242
238
  if (this.updatedAt.length > 0) {
243
- o[this.updatedAt] = now;
239
+ o[this.updatedAt] = now
244
240
  }
245
241
  if (this.updatedBy.length > 0) {
246
- o[this.updatedBy] = usr;
242
+ o[this.updatedBy] = usr
247
243
  }
248
244
  }
249
- };
250
- return Builder;
251
- })();
252
- exports.Builder = Builder;
245
+ }
246
+ return Builder
247
+ })()
248
+ exports.Builder = Builder
@@ -23,9 +23,9 @@ var __extends =
23
23
  }
24
24
  })()
25
25
  Object.defineProperty(exports, "__esModule", { value: true })
26
- var resources_1 = require("resources")
27
26
  var http_1 = require("./http")
28
27
  var LoadController_1 = require("./LoadController")
28
+ var resources_1 = require("./resources")
29
29
  var search_1 = require("./search")
30
30
  function useSearchController(log, find, viewService, array, dates, numbers, keys, config) {
31
31
  var c = new LoadSearchController(log, find, viewService, keys, config, dates, numbers)
@@ -1,7 +1,7 @@
1
1
  "use strict"
2
2
  Object.defineProperty(exports, "__esModule", { value: true })
3
- var resources_1 = require("resources")
4
3
  var http_1 = require("./http")
4
+ var resources_1 = require("./resources")
5
5
  var search_1 = require("./search")
6
6
  var SearchController = (function () {
7
7
  function SearchController(log, find, config, dates, numbers) {
package/lib/edit.js CHANGED
@@ -1,108 +1,116 @@
1
- 'use strict';
2
- Object.defineProperty(exports, '__esModule', { value: true });
3
- var http_1 = require('./http');
1
+ "use strict"
2
+ Object.defineProperty(exports, "__esModule", { value: true })
3
+ var http_1 = require("./http")
4
4
  function checkId(obj, id, keys) {
5
- var n = keys && keys.length === 1 && keys[0].name ? keys[0].name : 'id';
6
- var o = obj;
7
- var i = id;
5
+ var n = keys && keys.length === 1 && keys[0].name ? keys[0].name : "id"
6
+ var o = obj
7
+ var i = id
8
8
  if (!keys || keys.length === 1) {
9
- var v = o[n];
9
+ var v = o[n]
10
10
  if (!v) {
11
- o[n] = i;
12
- return true;
11
+ o[n] = i
12
+ return true
13
13
  }
14
14
  if (v != i) {
15
- return false;
15
+ return false
16
16
  }
17
- return true;
17
+ return true
18
18
  }
19
- var ks = Object.keys(i);
19
+ var ks = Object.keys(i)
20
20
  for (var _i = 0, ks_1 = ks; _i < ks_1.length; _i++) {
21
- var k = ks_1[_i];
22
- var v = o[k];
21
+ var k = ks_1[_i]
22
+ var v = o[k]
23
23
  if (!v) {
24
- o[k] = i[k];
24
+ o[k] = i[k]
25
25
  } else {
26
26
  if (v != i[k]) {
27
- return false;
27
+ return false
28
28
  }
29
29
  }
30
- o[k] = i[k];
30
+ o[k] = i[k]
31
31
  }
32
- return true;
32
+ return true
33
33
  }
34
- exports.checkId = checkId;
34
+ exports.checkId = checkId
35
35
  function create(res, obj, insert, log, returnNumber) {
36
36
  insert(obj)
37
37
  .then(function (result) {
38
- if (typeof result === 'number') {
38
+ if (typeof result === "number") {
39
39
  if (result >= 1) {
40
40
  res
41
41
  .status(201)
42
42
  .json(returnNumber ? result : obj)
43
- .end();
43
+ .end()
44
44
  } else {
45
- res.status(409).json(result).end();
45
+ res.status(409).json(result).end()
46
46
  }
47
47
  } else if (Array.isArray(result)) {
48
- res.status(422).json(result).end();
48
+ res.status(422).json(result).end()
49
49
  } else {
50
- res.status(201).json(result).end();
50
+ res.status(201).json(result).end()
51
51
  }
52
52
  })
53
53
  .catch(function (err) {
54
- return http_1.handleError(err, res, log);
55
- });
54
+ return http_1.handleError(err, res, log)
55
+ })
56
56
  }
57
- exports.create = create;
57
+ exports.create = create
58
58
  function update(res, obj, save, log, returnNumber) {
59
59
  save(obj)
60
60
  .then(function (result) {
61
- if (typeof result === 'number') {
61
+ if (typeof result === "number") {
62
62
  if (result >= 1) {
63
63
  res
64
64
  .status(200)
65
65
  .json(returnNumber ? result : obj)
66
- .end();
66
+ .end()
67
67
  } else if (result === 0) {
68
- res.status(404).json(result).end();
68
+ res.status(404).json(result).end()
69
69
  } else {
70
- res.status(409).json(result).end();
70
+ res.status(409).json(result).end()
71
71
  }
72
72
  } else if (Array.isArray(result)) {
73
- res.status(422).json(result).end();
73
+ res.status(422).json(result).end()
74
74
  } else {
75
- res.status(200).json(result).end();
75
+ res.status(200).json(result).end()
76
76
  }
77
77
  })
78
78
  .catch(function (err) {
79
- return http_1.handleError(err, res, log);
80
- });
79
+ return http_1.handleError(err, res, log)
80
+ })
81
81
  }
82
- exports.update = update;
82
+ exports.update = update
83
83
  function isTypeError(errs) {
84
84
  if (!errs) {
85
- return false;
85
+ return false
86
86
  }
87
87
  for (var _i = 0, errs_1 = errs; _i < errs_1.length; _i++) {
88
- var err = errs_1[_i];
89
- var c = err.code;
88
+ var err = errs_1[_i]
89
+ var c = err.code
90
90
  if (
91
- c === 'type' ||
92
- c === 'string' ||
93
- c === 'number' ||
94
- c === 'date' ||
95
- c === 'boolean' ||
96
- c === 'strings' ||
97
- c === 'numbers' ||
98
- c === 'integers' ||
99
- c === 'dates' ||
100
- c === 'datetimes' ||
101
- c === 'booleans'
91
+ c === "type" ||
92
+ c === "string" ||
93
+ c === "number" ||
94
+ c === "date" ||
95
+ c === "boolean" ||
96
+ c === "strings" ||
97
+ c === "numbers" ||
98
+ c === "integers" ||
99
+ c === "dates" ||
100
+ c === "datetimes" ||
101
+ c === "booleans"
102
102
  ) {
103
- return true;
103
+ return true
104
104
  }
105
105
  }
106
- return false;
106
+ return false
107
+ }
108
+ exports.isTypeError = isTypeError
109
+ function getStatusCode(errs) {
110
+ return isTypeError(errs) ? 400 : 422
111
+ }
112
+ exports.getStatusCode = getStatusCode
113
+ function respondError(res, errors) {
114
+ res.status(getStatusCode(errors)).json(errors).end()
107
115
  }
108
- exports.isTypeError = isTypeError;
116
+ exports.respondError = respondError