express-ext 0.1.5 → 0.1.10

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.
@@ -13,7 +13,6 @@ var __extends = (this && this.__extends) || (function () {
13
13
  };
14
14
  })();
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.getStatusCode = exports.getDeleteStatus = exports.buildAndCheckIdWithBody = exports.validateAndUpdate = exports.validateAndCreate = exports.GenericController = void 0;
17
16
  var edit_1 = require("./edit");
18
17
  var http_1 = require("./http");
19
18
  var LoadController_1 = require("./LoadController");
@@ -50,14 +49,14 @@ var GenericController = (function (_super) {
50
49
  validateAndCreate(req, res, this.status, this.service.insert, this.log, this.validate);
51
50
  };
52
51
  GenericController.prototype.update = function (req, res) {
53
- var id = buildAndCheckIdWithBody(req, res, this.keys);
52
+ var id = buildAndCheckIdWithBody(req, res, this.keys, this.service.update);
54
53
  if (id) {
55
54
  validateAndUpdate(res, this.status, req.body, false, this.service.update, this.log, this.validate);
56
55
  }
57
56
  };
58
57
  GenericController.prototype.patch = function (req, res) {
59
- var id = buildAndCheckIdWithBody(req, res, this.keys);
60
- if (id) {
58
+ var id = buildAndCheckIdWithBody(req, res, this.keys, this.service.patch);
59
+ if (id && this.service.patch) {
61
60
  validateAndUpdate(res, this.status, req.body, true, this.service.patch, this.log, this.validate);
62
61
  }
63
62
  };
@@ -65,9 +64,14 @@ var GenericController = (function (_super) {
65
64
  var _this = this;
66
65
  var id = view_1.buildAndCheckId(req, res, this.keys);
67
66
  if (id) {
68
- this.service.delete(id).then(function (count) {
69
- res.status(getDeleteStatus(count)).json(count).end();
70
- }).catch(function (err) { return http_1.handleError(err, res, _this.log); });
67
+ if (!this.service.delete) {
68
+ res.status(405).end('Method Not Allowed');
69
+ }
70
+ else {
71
+ this.service.delete(id).then(function (count) {
72
+ res.status(getDeleteStatus(count)).json(count).end();
73
+ }).catch(function (err) { return http_1.handleError(err, res, _this.log); });
74
+ }
71
75
  }
72
76
  };
73
77
  return GenericController;
@@ -111,12 +115,16 @@ function validateAndUpdate(res, status, obj, isPatch, save, log, validate) {
111
115
  }
112
116
  }
113
117
  exports.validateAndUpdate = validateAndUpdate;
114
- function buildAndCheckIdWithBody(req, res, keys) {
118
+ function buildAndCheckIdWithBody(req, res, keys, patch) {
115
119
  var obj = req.body;
116
120
  if (!obj || obj === '') {
117
121
  res.status(400).end('The request body cannot be empty.');
118
122
  return undefined;
119
123
  }
124
+ if (!patch) {
125
+ res.status(405).end('Method Not Allowed');
126
+ return undefined;
127
+ }
120
128
  var id = view_1.buildId(req, keys);
121
129
  if (!id) {
122
130
  res.status(400).end('Invalid parameters');
@@ -13,7 +13,6 @@ var __extends = (this && this.__extends) || (function () {
13
13
  };
14
14
  })();
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.GenericSearchController = void 0;
17
16
  var GenericController_1 = require("./GenericController");
18
17
  var http_1 = require("./http");
19
18
  var search_1 = require("./search");
@@ -1,42 +1,5 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
2
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.HealthController = void 0;
40
3
  var health_1 = require("./health");
41
4
  var HealthController = (function () {
42
5
  function HealthController(checkers) {
@@ -44,18 +7,13 @@ var HealthController = (function () {
44
7
  this.check = this.check.bind(this);
45
8
  }
46
9
  HealthController.prototype.check = function (req, res) {
47
- return __awaiter(this, void 0, void 0, function () {
48
- return __generator(this, function (_a) {
49
- health_1.check(this.checkers).then(function (heath) {
50
- if (heath.status === 'UP') {
51
- return res.status(200).json(heath).end();
52
- }
53
- else {
54
- return res.status(500).json(heath).end();
55
- }
56
- });
57
- return [2];
58
- });
10
+ health_1.check(this.checkers).then(function (heath) {
11
+ if (heath.status === 'UP') {
12
+ return res.status(200).json(heath).end();
13
+ }
14
+ else {
15
+ return res.status(500).json(heath).end();
16
+ }
59
17
  });
60
18
  };
61
19
  return HealthController;
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LoadController = void 0;
4
3
  var http_1 = require("./http");
5
4
  var view_1 = require("./view");
6
5
  function getViewFunc(viewService) {
@@ -13,7 +13,6 @@ var __extends = (this && this.__extends) || (function () {
13
13
  };
14
14
  })();
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.LoadSearchController = void 0;
17
16
  var http_1 = require("./http");
18
17
  var LoadController_1 = require("./LoadController");
19
18
  var search_1 = require("./search");
@@ -13,7 +13,6 @@ var __extends = (this && this.__extends) || (function () {
13
13
  };
14
14
  })();
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.LowCodeController = void 0;
17
16
  var GenericController_1 = require("./GenericController");
18
17
  var http_1 = require("./http");
19
18
  var search_1 = require("./search");
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SearchController = void 0;
4
3
  var http_1 = require("./http");
5
4
  var search_1 = require("./search");
6
5
  var SearchController = (function () {
package/lib/edit.js CHANGED
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isTypeError = exports.update = exports.create = exports.checkId = exports.initializeStatus = void 0;
4
3
  var http_1 = require("./http");
5
4
  function initializeStatus(s) {
6
5
  if (s) {
@@ -11,40 +10,40 @@ function initializeStatus(s) {
11
10
  not_found: 0,
12
11
  success: 1,
13
12
  version_error: 2,
13
+ validation_error: 4,
14
14
  error: 4
15
15
  };
16
16
  return s1;
17
17
  }
18
18
  exports.initializeStatus = initializeStatus;
19
19
  function checkId(obj, id, keys) {
20
- var n = 'id';
21
- if (keys && keys.length === 1) {
22
- n = keys[0].name;
23
- }
20
+ var n = (keys && keys.length === 1 && keys[0].name ? keys[0].name : 'id');
21
+ var o = obj;
22
+ var i = id;
24
23
  if (!keys || keys.length === 1) {
25
- var v = obj[n];
24
+ var v = o[n];
26
25
  if (!v) {
27
- obj[n] = id;
26
+ o[n] = i;
28
27
  return true;
29
28
  }
30
- if (v != id) {
29
+ if (v != i) {
31
30
  return false;
32
31
  }
33
32
  return true;
34
33
  }
35
- var ks = Object.keys(id);
34
+ var ks = Object.keys(i);
36
35
  for (var _i = 0, ks_1 = ks; _i < ks_1.length; _i++) {
37
36
  var k = ks_1[_i];
38
- var v = obj[k];
37
+ var v = o[k];
39
38
  if (!v) {
40
- obj[k] = id[k];
39
+ o[k] = i[k];
41
40
  }
42
41
  else {
43
- if (v != id[k]) {
42
+ if (v != i[k]) {
44
43
  return false;
45
44
  }
46
45
  }
47
- obj[k] = id[k];
46
+ o[k] = i[k];
48
47
  }
49
48
  return true;
50
49
  }
package/lib/health.js CHANGED
@@ -9,8 +9,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
12
+ var _ = { label: 0, sent: function () { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g;
14
14
  function verb(n) { return function (v) { return step([n, v]); }; }
15
15
  function step(op) {
16
16
  if (f) throw new TypeError("Generator is already executing.");
@@ -36,19 +36,16 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
36
36
  }
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.check = void 0;
40
39
  function check(checkers) {
41
40
  return __awaiter(this, void 0, void 0, function () {
42
41
  var p, total, count, _i, checkers_1, checker, sub, r, err_1;
43
42
  return __generator(this, function (_a) {
44
43
  switch (_a.label) {
45
44
  case 0:
46
- p = {
47
- status: 'UP',
48
- details: {},
49
- };
45
+ p = { status: 'UP' };
50
46
  total = checkers.length - 1;
51
47
  count = 0;
48
+ p.details = {};
52
49
  _i = 0, checkers_1 = checkers;
53
50
  _a.label = 1;
54
51
  case 1:
@@ -88,7 +85,7 @@ function check(checkers) {
88
85
  case 5:
89
86
  _i++;
90
87
  return [3, 1];
91
- case 6: return [2];
88
+ case 6: return [2, p];
92
89
  }
93
90
  });
94
91
  });
package/lib/http.js CHANGED
@@ -1,16 +1,24 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getDate = exports.getRequiredDate = exports.getInteger = exports.getNumber = exports.getRequiredNumber = exports.getRequiredParameters = exports.params = exports.param = exports.queryDate = exports.queryRequiredDate = exports.queryNumber = exports.queryRequiredNumber = exports.query = exports.queryParam = exports.queryParams = exports.queryRequiredParams = exports.respondModel = exports.attrs = exports.attr = exports.handleError = void 0;
4
3
  function handleError(err, res, log) {
5
4
  if (log) {
6
- log(JSON.stringify(err));
5
+ log(toString(err));
7
6
  res.status(500).end('Internal Server Error');
8
7
  }
9
8
  else {
10
- res.status(500).end(JSON.stringify(err));
9
+ res.status(500).end(toString(err));
11
10
  }
12
11
  }
13
12
  exports.handleError = handleError;
13
+ function toString(v) {
14
+ if (typeof v === 'string') {
15
+ return v;
16
+ }
17
+ else {
18
+ return JSON.stringify(v);
19
+ }
20
+ }
21
+ exports.toString = toString;
14
22
  function attr(name) {
15
23
  return { name: name, type: 'string' };
16
24
  }
@@ -53,7 +61,10 @@ function queryRequiredParams(req, res, name, split) {
53
61
  exports.queryRequiredParams = queryRequiredParams;
54
62
  function queryParams(req, name, d, split) {
55
63
  var q = req.query[name];
56
- var v = q && q.toString();
64
+ if (!q) {
65
+ return d;
66
+ }
67
+ var v = q.toString();
57
68
  if (!v || v.length === 0) {
58
69
  return d;
59
70
  }
@@ -64,12 +75,21 @@ function queryParams(req, name, d, split) {
64
75
  }
65
76
  exports.queryParams = queryParams;
66
77
  function queryParam(req, res, name) {
67
- var v = req.query[name].toString();
68
- if (!v || v.length === 0) {
78
+ var v = req.query[name];
79
+ if (!v) {
69
80
  res.status(400).end("'" + name + "' cannot be empty");
70
81
  return undefined;
71
82
  }
72
- return v;
83
+ else {
84
+ var v1 = v.toString();
85
+ if (v1.length === 0) {
86
+ res.status(400).end("'" + name + "' cannot be empty");
87
+ return undefined;
88
+ }
89
+ else {
90
+ return v1;
91
+ }
92
+ }
73
93
  }
74
94
  exports.queryParam = queryParam;
75
95
  function query(req, name, d) {
@@ -82,6 +102,9 @@ function query(req, name, d) {
82
102
  exports.query = query;
83
103
  function queryRequiredNumber(req, res, name) {
84
104
  var field = req.query[name];
105
+ if (!field) {
106
+ return undefined;
107
+ }
85
108
  var v = field.toString();
86
109
  if (!v || v.length === 0) {
87
110
  res.status(400).end("'" + name + "' cannot be empty");
@@ -110,6 +133,9 @@ function queryNumber(req, name, d) {
110
133
  exports.queryNumber = queryNumber;
111
134
  function queryRequiredDate(req, res, name) {
112
135
  var field = req.query[name];
136
+ if (!field) {
137
+ return undefined;
138
+ }
113
139
  var v = field.toString();
114
140
  if (!v || v.length === 0) {
115
141
  res.status(400).end("'" + name + "' cannot be empty");
package/lib/index.js CHANGED
@@ -1,41 +1,2 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
11
- };
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.LowCodeHandler = exports.GenericSearchHandler = exports.LoadSearchHandler = exports.SearchHandler = exports.GenericHandler = exports.LoadHandler = exports.HealthHandler = void 0;
14
- var GenericController_1 = require("./GenericController");
15
- Object.defineProperty(exports, "GenericHandler", { enumerable: true, get: function () { return GenericController_1.GenericController; } });
16
- var GenericSearchController_1 = require("./GenericSearchController");
17
- Object.defineProperty(exports, "GenericSearchHandler", { enumerable: true, get: function () { return GenericSearchController_1.GenericSearchController; } });
18
- var HealthController_1 = require("./HealthController");
19
- Object.defineProperty(exports, "HealthHandler", { enumerable: true, get: function () { return HealthController_1.HealthController; } });
20
- var LoadController_1 = require("./LoadController");
21
- Object.defineProperty(exports, "LoadHandler", { enumerable: true, get: function () { return LoadController_1.LoadController; } });
22
- var LoadSearchController_1 = require("./LoadSearchController");
23
- Object.defineProperty(exports, "LoadSearchHandler", { enumerable: true, get: function () { return LoadSearchController_1.LoadSearchController; } });
24
- var LowCodeController_1 = require("./LowCodeController");
25
- Object.defineProperty(exports, "LowCodeHandler", { enumerable: true, get: function () { return LowCodeController_1.LowCodeController; } });
26
- var SearchController_1 = require("./SearchController");
27
- Object.defineProperty(exports, "SearchHandler", { enumerable: true, get: function () { return SearchController_1.SearchController; } });
28
- __exportStar(require("./health"), exports);
29
- __exportStar(require("./HealthController"), exports);
30
- __exportStar(require("./http"), exports);
31
- __exportStar(require("./view"), exports);
32
- __exportStar(require("./LoadController"), exports);
33
- __exportStar(require("./search_func"), exports);
34
- __exportStar(require("./search"), exports);
35
- __exportStar(require("./SearchController"), exports);
36
- __exportStar(require("./LoadSearchController"), exports);
37
- __exportStar(require("./resources"), exports);
38
- __exportStar(require("./edit"), exports);
39
- __exportStar(require("./GenericController"), exports);
40
- __exportStar(require("./GenericSearchController"), exports);
41
- __exportStar(require("./LowCodeController"), exports);
1
+ "use strict";function __export(m){for(var p in m)if(!exports.hasOwnProperty(p))exports[p]=m[p]}
2
+ Object.defineProperty(exports,"__esModule",{value:!0});var GenericController_1=require("./GenericController");exports.GenericHandler=GenericController_1.GenericController;var GenericSearchController_1=require("./GenericSearchController");exports.GenericSearchHandler=GenericSearchController_1.GenericSearchController;var HealthController_1=require("./HealthController");exports.HealthHandler=HealthController_1.HealthController;var LoadController_1=require("./LoadController");exports.LoadHandler=LoadController_1.LoadController;exports.ViewHandler=LoadController_1.LoadController;exports.ViewController=LoadController_1.LoadController;var LoadSearchController_1=require("./LoadSearchController");exports.LoadSearchHandler=LoadSearchController_1.LoadSearchController;var LowCodeController_1=require("./LowCodeController");exports.LowCodeHandler=LowCodeController_1.LowCodeController;exports.Handler=LowCodeController_1.LowCodeController;exports.Controller=LowCodeController_1.LowCodeController;var SearchController_1=require("./SearchController");exports.SearchHandler=SearchController_1.SearchController;__export(require("./health"));__export(require("./HealthController"));__export(require("./http"));__export(require("./view"));__export(require("./LoadController"));__export(require("./search_func"));__export(require("./search"));__export(require("./SearchController"));__export(require("./LoadSearchController"));__export(require("./resources"));__export(require("./edit"));__export(require("./GenericController"));__export(require("./GenericSearchController"));__export(require("./LowCodeController"))
package/lib/resources.js CHANGED
@@ -1,9 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resources = void 0;
4
- var resources = (function () {
5
- function resources() {
6
- }
7
- return resources;
8
- }());
9
- exports.resources = resources;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var resources=(function(){function resources(){}
2
+ return resources}());exports.resources=resources