@spinajs/http 1.0.12 → 1.2.103

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.
Files changed (139) hide show
  1. package/README.md +11 -0
  2. package/lib/config/http.js +17 -17
  3. package/lib/config/http.js.map +1 -1
  4. package/lib/controllers.d.ts +6 -4
  5. package/lib/controllers.js +53 -183
  6. package/lib/controllers.js.map +1 -1
  7. package/lib/decorators.d.ts +49 -24
  8. package/lib/decorators.js +97 -40
  9. package/lib/decorators.js.map +1 -1
  10. package/lib/exceptions.d.ts +0 -0
  11. package/lib/exceptions.js +1 -0
  12. package/lib/exceptions.js.map +1 -0
  13. package/lib/http.d.ts +0 -0
  14. package/lib/http.js +1 -0
  15. package/lib/http.js.map +1 -0
  16. package/lib/hydrators/datetime.d.ts +8 -0
  17. package/lib/hydrators/datetime.js +63 -0
  18. package/lib/hydrators/datetime.js.map +1 -0
  19. package/lib/index.d.ts +1 -1
  20. package/lib/index.js +8 -3
  21. package/lib/index.js.map +1 -1
  22. package/lib/interfaces.d.ts +46 -16
  23. package/lib/interfaces.js +31 -12
  24. package/lib/interfaces.js.map +1 -1
  25. package/lib/response-methods/badRequest.d.ts +3 -2
  26. package/lib/response-methods/badRequest.js +1 -1
  27. package/lib/response-methods/badRequest.js.map +1 -1
  28. package/lib/response-methods/conflict.d.ts +3 -2
  29. package/lib/response-methods/conflict.js +1 -1
  30. package/lib/response-methods/conflict.js.map +1 -1
  31. package/lib/response-methods/cookieResponse.d.ts +3 -2
  32. package/lib/response-methods/cookieResponse.js +9 -5
  33. package/lib/response-methods/cookieResponse.js.map +1 -1
  34. package/lib/response-methods/created.d.ts +3 -2
  35. package/lib/response-methods/created.js +1 -1
  36. package/lib/response-methods/created.js.map +1 -1
  37. package/lib/response-methods/file.d.ts +16 -2
  38. package/lib/response-methods/file.js +67 -5
  39. package/lib/response-methods/file.js.map +1 -1
  40. package/lib/response-methods/forbidden.d.ts +3 -2
  41. package/lib/response-methods/forbidden.js +1 -1
  42. package/lib/response-methods/forbidden.js.map +1 -1
  43. package/lib/response-methods/index.js +6 -2
  44. package/lib/response-methods/index.js.map +1 -1
  45. package/lib/response-methods/noContent.d.ts +3 -2
  46. package/lib/response-methods/noContent.js +1 -1
  47. package/lib/response-methods/noContent.js.map +1 -1
  48. package/lib/response-methods/notFound.d.ts +3 -2
  49. package/lib/response-methods/notFound.js +1 -1
  50. package/lib/response-methods/notFound.js.map +1 -1
  51. package/lib/response-methods/ok.d.ts +3 -2
  52. package/lib/response-methods/ok.js +1 -1
  53. package/lib/response-methods/ok.js.map +1 -1
  54. package/lib/response-methods/pug.d.ts +3 -2
  55. package/lib/response-methods/pug.js +1 -1
  56. package/lib/response-methods/pug.js.map +1 -1
  57. package/lib/response-methods/redirect.d.ts +2 -2
  58. package/lib/response-methods/redirect.js +2 -4
  59. package/lib/response-methods/redirect.js.map +1 -1
  60. package/lib/response-methods/serverError.d.ts +3 -2
  61. package/lib/response-methods/serverError.js +1 -1
  62. package/lib/response-methods/serverError.js.map +1 -1
  63. package/lib/response-methods/unauthorized.d.ts +3 -2
  64. package/lib/response-methods/unauthorized.js +1 -1
  65. package/lib/response-methods/unauthorized.js.map +1 -1
  66. package/lib/responses.d.ts +1 -1
  67. package/lib/responses.js +28 -11
  68. package/lib/responses.js.map +1 -1
  69. package/lib/route-args/ArgAsRequest.d.ts +11 -0
  70. package/lib/{transformers/PureFormatter.js → route-args/ArgAsRequest.js} +13 -12
  71. package/lib/route-args/ArgAsRequest.js.map +1 -0
  72. package/lib/route-args/ArgAsResponse.d.ts +10 -0
  73. package/lib/{dto/order-dto.js → route-args/ArgAsResponse.js} +16 -18
  74. package/lib/route-args/ArgAsResponse.js.map +1 -0
  75. package/lib/route-args/ArgHydrator.d.ts +3 -0
  76. package/lib/route-args/ArgHydrator.js +7 -0
  77. package/lib/route-args/ArgHydrator.js.map +1 -0
  78. package/lib/route-args/FromBody.d.ts +10 -0
  79. package/lib/route-args/FromBody.js +44 -0
  80. package/lib/route-args/FromBody.js.map +1 -0
  81. package/lib/route-args/FromCoockie.d.ts +13 -0
  82. package/lib/route-args/FromCoockie.js +71 -0
  83. package/lib/route-args/FromCoockie.js.map +1 -0
  84. package/lib/route-args/FromCookie.d.ts +13 -0
  85. package/lib/route-args/FromCookie.js +74 -0
  86. package/lib/route-args/FromCookie.js.map +1 -0
  87. package/lib/route-args/FromDi.d.ts +14 -0
  88. package/lib/route-args/FromDi.js +36 -0
  89. package/lib/route-args/FromDi.js.map +1 -0
  90. package/lib/route-args/FromForm.d.ts +82 -0
  91. package/lib/route-args/FromForm.js +259 -0
  92. package/lib/route-args/FromForm.js.map +1 -0
  93. package/lib/route-args/FromHeaderArg.d.ts +12 -0
  94. package/lib/route-args/FromHeaderArg.js +30 -0
  95. package/lib/route-args/FromHeaderArg.js.map +1 -0
  96. package/lib/route-args/FromParams.d.ts +10 -0
  97. package/lib/route-args/FromParams.js +25 -0
  98. package/lib/route-args/FromParams.js.map +1 -0
  99. package/lib/route-args/FromQuery.d.ts +10 -0
  100. package/lib/{dto/limit-dto.js → route-args/FromQuery.js} +16 -18
  101. package/lib/route-args/FromQuery.js.map +1 -0
  102. package/lib/route-args/RouteArgs.d.ts +19 -0
  103. package/lib/route-args/RouteArgs.js +64 -0
  104. package/lib/route-args/RouteArgs.js.map +1 -0
  105. package/lib/route-args/index.d.ts +11 -0
  106. package/lib/route-args/index.js +28 -0
  107. package/lib/route-args/index.js.map +1 -0
  108. package/lib/schemas/RouteArgsSchemas.d.ts +15 -0
  109. package/lib/schemas/RouteArgsSchemas.js +19 -0
  110. package/lib/schemas/RouteArgsSchemas.js.map +1 -0
  111. package/lib/server.d.ts +3 -2
  112. package/lib/server.js +30 -14
  113. package/lib/server.js.map +1 -1
  114. package/lib/transformers/PureTransformer.d.ts +1 -1
  115. package/lib/transformers/PureTransformer.js +2 -2
  116. package/lib/transformers/PureTransformer.js.map +1 -1
  117. package/package.json +27 -54
  118. package/lib/dto/index.d.ts +0 -2
  119. package/lib/dto/index.js +0 -15
  120. package/lib/dto/index.js.map +0 -1
  121. package/lib/dto/limit-dto.d.ts +0 -32
  122. package/lib/dto/limit-dto.js.map +0 -1
  123. package/lib/dto/order-dto.d.ts +0 -32
  124. package/lib/dto/order-dto.js.map +0 -1
  125. package/lib/schemas.d.ts +0 -24
  126. package/lib/schemas.js +0 -96
  127. package/lib/schemas.js.map +0 -1
  128. package/lib/static/favicon.ico +0 -0
  129. package/lib/static/style.css +0 -15
  130. package/lib/transformers/PureFormatter.d.ts +0 -7
  131. package/lib/transformers/PureFormatter.js.map +0 -1
  132. package/lib/views/responses/badRequest.pug +0 -13
  133. package/lib/views/responses/conflict.pug +0 -13
  134. package/lib/views/responses/forbidden.pug +0 -13
  135. package/lib/views/responses/noContent.pug +0 -13
  136. package/lib/views/responses/notFound.pug +0 -13
  137. package/lib/views/responses/ok.pug +0 -12
  138. package/lib/views/responses/serverError.pug +0 -13
  139. package/lib/views/responses/unauthorized.pug +0 -13
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ROUTE_ARG_SCHEMA = void 0;
4
+ /**
5
+ * Default schema for common route parameters taken from url
6
+ */
7
+ exports.ROUTE_ARG_SCHEMA = {
8
+ Number: {
9
+ type: 'number',
10
+ },
11
+ String: {
12
+ type: 'string',
13
+ maxLength: 512,
14
+ },
15
+ Boolean: {
16
+ type: 'boolean',
17
+ },
18
+ };
19
+ //# sourceMappingURL=RouteArgsSchemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RouteArgsSchemas.js","sourceRoot":"","sources":["../../src/schemas/RouteArgsSchemas.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,gBAAgB,GAAG;IAC9B,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;KACf;IACD,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,GAAG;KACf;IACD,OAAO,EAAE;QACP,IAAI,EAAE,SAAS;KAChB;CACF,CAAC"}
package/lib/server.d.ts CHANGED
@@ -7,6 +7,7 @@ import { RequestHandler } from 'express';
7
7
  import Express = require('express');
8
8
  export declare class HttpServer extends AsyncModule {
9
9
  protected Configuration: Configuration;
10
+ protected Container: IContainer;
10
11
  /**
11
12
  * Express app instance
12
13
  */
@@ -20,11 +21,11 @@ export declare class HttpServer extends AsyncModule {
20
21
  */
21
22
  protected Log: Log;
22
23
  constructor();
23
- resolveAsync(container: IContainer): Promise<void>;
24
+ resolveAsync(): Promise<void>;
24
25
  /**
25
26
  * Starts http server & express
26
27
  */
27
- start(): Promise<unknown>;
28
+ start(): Promise<void>;
28
29
  stop(): void;
29
30
  /**
30
31
  * Registers global middleware to express app
package/lib/server.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -20,7 +24,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
20
24
  var __importStar = (this && this.__importStar) || function (mod) {
21
25
  if (mod && mod.__esModule) return mod;
22
26
  var result = {};
23
- if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
27
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
24
28
  __setModuleDefault(result, mod);
25
29
  return result;
26
30
  };
@@ -38,29 +42,30 @@ const fs = __importStar(require("fs"));
38
42
  const exceptions_1 = require("@spinajs/exceptions");
39
43
  const response_methods_1 = require("./response-methods");
40
44
  const Express = require("express");
45
+ const validation_1 = require("@spinajs/validation");
41
46
  let HttpServer = class HttpServer extends di_1.AsyncModule {
42
47
  constructor() {
43
48
  super();
44
49
  }
45
- async resolveAsync(container) {
50
+ async resolveAsync() {
46
51
  this.Express = Express();
47
52
  /**
48
53
  * Register default middlewares from cfg
49
54
  */
50
- this.Configuration.get('http.middlewares', []).forEach(m => {
55
+ this.Configuration.get('http.middlewares', []).forEach((m) => {
51
56
  this.use(m);
52
57
  });
53
58
  /**
54
59
  * Server static files
55
60
  */
56
- this.Configuration.get('http.Static', []).forEach(s => {
61
+ this.Configuration.get('http.Static', []).forEach((s) => {
57
62
  if (!fs.existsSync(s.Path)) {
58
63
  this.Log.error(`static file path ${s.Path} not exists`);
59
64
  return;
60
65
  }
61
66
  this.Log.info(`Serving static content from: ${s.Path} at prefix: ${s.Route}`);
62
67
  this.Express.use(s.Route, Express.static(s.Path));
63
- container.register(PureTransformer_1.PureDataTransformer).as(interfaces_1.DataTransformer);
68
+ this.Container.register(PureTransformer_1.PureDataTransformer).as(interfaces_1.DataTransformer);
64
69
  });
65
70
  }
66
71
  /**
@@ -69,12 +74,17 @@ let HttpServer = class HttpServer extends di_1.AsyncModule {
69
74
  start() {
70
75
  // start http server & express
71
76
  const port = this.Configuration.get('http.port', 1337);
72
- return new Promise(res => {
77
+ return new Promise((res, rej) => {
73
78
  this.handleResponse();
74
79
  this.handleErrors();
75
80
  this.Server = this.Express.listen(port, () => {
76
81
  this.Log.info(`Http server started at port ${port}`);
77
82
  res();
83
+ }).on('error', (err) => {
84
+ if (err.errno === 'EADDRINUSE') {
85
+ this.Log.error(`----- Port ${port} is busy -----`);
86
+ }
87
+ rej(err);
78
88
  });
79
89
  });
80
90
  }
@@ -98,7 +108,7 @@ let HttpServer = class HttpServer extends di_1.AsyncModule {
98
108
  handleResponse() {
99
109
  const wrapper = (req, res, next) => {
100
110
  if (!res.locals.response) {
101
- next(new exceptions_1.ResourceNotFound(`Route not found ${req.method}:${req.originalUrl}`));
111
+ next(new exceptions_1.ResourceNotFound(`Resource not found ${req.method}:${req.originalUrl}`));
102
112
  return;
103
113
  }
104
114
  res.locals.response.execute(req, res).then((callback) => {
@@ -122,7 +132,7 @@ let HttpServer = class HttpServer extends di_1.AsyncModule {
122
132
  return next();
123
133
  }
124
134
  this.Log.error(`Route error: ${err}, stack: ${err.stack}`, err.parameter);
125
- const error = Object.assign(Object.assign({}, err), { stack: {} });
135
+ const error = Object.assign(Object.assign({}, err), { message: err.message, stack: {} });
126
136
  if (process.env.NODE_ENV === 'development') {
127
137
  error.stack = err.stack ? err.stack : err.parameter && err.parameter.stack;
128
138
  }
@@ -139,7 +149,7 @@ let HttpServer = class HttpServer extends di_1.AsyncModule {
139
149
  break;
140
150
  case exceptions_1.InvalidArgument:
141
151
  case exceptions_1.BadRequest:
142
- case exceptions_1.ValidationFailed:
152
+ case validation_1.ValidationFailed:
143
153
  case exceptions_1.JsonValidationFailed:
144
154
  case exceptions_1.ExpectedResponseUnacceptable:
145
155
  response = new response_methods_1.BadRequest({ error });
@@ -155,7 +165,9 @@ let HttpServer = class HttpServer extends di_1.AsyncModule {
155
165
  break;
156
166
  }
157
167
  response.execute(req, res).then((callback) => {
158
- callback(req, res);
168
+ if (callback) {
169
+ callback(req, res);
170
+ }
159
171
  });
160
172
  };
161
173
  Object.defineProperty(wrapper, 'name', {
@@ -166,15 +178,19 @@ let HttpServer = class HttpServer extends di_1.AsyncModule {
166
178
  }
167
179
  };
168
180
  __decorate([
169
- di_1.Autoinject(configuration_1.Configuration),
181
+ (0, di_1.Autoinject)(configuration_1.Configuration),
170
182
  __metadata("design:type", configuration_1.Configuration)
171
183
  ], HttpServer.prototype, "Configuration", void 0);
172
184
  __decorate([
173
- log_1.Logger({ module: 'HttpServer' }),
185
+ (0, di_1.Autoinject)(di_1.Container),
174
186
  __metadata("design:type", Object)
187
+ ], HttpServer.prototype, "Container", void 0);
188
+ __decorate([
189
+ (0, log_1.Logger)('http'),
190
+ __metadata("design:type", log_1.Log)
175
191
  ], HttpServer.prototype, "Log", void 0);
176
192
  HttpServer = __decorate([
177
- di_1.Injectable(),
193
+ (0, di_1.Injectable)(),
178
194
  __metadata("design:paramtypes", [])
179
195
  ], HttpServer);
180
196
  exports.HttpServer = HttpServer;
package/lib/server.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { DataTransformer } from "../interfaces";
1
+ import { DataTransformer } from '../interfaces';
2
2
  import * as express from 'express';
3
3
  /**
4
4
  * Default transformer that does nothing. Output data is exacly same as input.
@@ -14,14 +14,14 @@ const di_1 = require("@spinajs/di");
14
14
  */
15
15
  let PureDataTransformer = class PureDataTransformer extends interfaces_1.DataTransformer {
16
16
  get Type() {
17
- return "pure";
17
+ return 'pure';
18
18
  }
19
19
  transform(data, _request) {
20
20
  return data;
21
21
  }
22
22
  };
23
23
  PureDataTransformer = __decorate([
24
- di_1.Singleton()
24
+ (0, di_1.Singleton)()
25
25
  ], PureDataTransformer);
26
26
  exports.PureDataTransformer = PureDataTransformer;
27
27
  //# sourceMappingURL=PureTransformer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PureTransformer.js","sourceRoot":"","sources":["../../src/transformers/PureTransformer.ts"],"names":[],"mappings":";;;;;;;;;AAAA,8CAAgD;AAChD,oCAAwC;AAGxC;;GAEG;AAEH,IAAa,mBAAmB,GAAhC,MAAa,mBAAuB,SAAQ,4BAAoB;IAE5D,IAAW,IAAI;QACX,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,SAAS,CAAC,IAAO,EAAE,QAAyB;QAC/C,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ,CAAA;AATY,mBAAmB;IAD/B,cAAS,EAAE;GACC,mBAAmB,CAS/B;AATY,kDAAmB"}
1
+ {"version":3,"file":"PureTransformer.js","sourceRoot":"","sources":["../../src/transformers/PureTransformer.ts"],"names":[],"mappings":";;;;;;;;;AAAA,8CAAgD;AAChD,oCAAwC;AAGxC;;GAEG;AAEH,IAAa,mBAAmB,GAAhC,MAAa,mBAAuB,SAAQ,4BAAqB;IAC/D,IAAW,IAAI;QACb,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,SAAS,CAAC,IAAO,EAAE,QAAyB;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AARY,mBAAmB;IAD/B,IAAA,cAAS,GAAE;GACC,mBAAmB,CAQ/B;AARY,kDAAmB"}
package/package.json CHANGED
@@ -1,18 +1,20 @@
1
1
  {
2
2
  "name": "@spinajs/http",
3
- "version": "1.0.12",
4
- "description": "framework http & controller module",
3
+ "version": "1.2.103",
4
+ "description": "framework HTTP module base on express.js",
5
5
  "main": "lib/index.js",
6
6
  "private": false,
7
7
  "scripts": {
8
+ "build": "npm run clean && npm run compile",
9
+ "compile": "tsc -p tsconfig.build.json",
10
+ "clean": "",
8
11
  "test": "ts-mocha -p tsconfig.json test/**/*.test.ts",
9
12
  "coverage": "nyc npm run test",
10
13
  "build-docs": "rimraf docs && typedoc --options typedoc.json src/",
11
- "build": "tsc && cpx src/views/**/* lib/views && cpx src/static/**/* lib/static",
12
14
  "prepare": "npm run build",
13
- "format": "prettier --write \"src/**/*.ts\" \"src/**/*.js\"",
14
- "lint": "tslint -p tsconfig.json",
15
- "prepublishOnly": "",
15
+ "format": "prettier --write \"src/**/*.ts\"",
16
+ "lint": "eslint -c .eslintrc.js --ext .ts src --fix",
17
+ "prepublishOnly": "npm test && npm run lint",
16
18
  "preversion": "npm run lint",
17
19
  "version": "npm run format && git add -A src",
18
20
  "postversion": "git push && git push --tags"
@@ -20,73 +22,44 @@
20
22
  "files": [
21
23
  "lib/**/*"
22
24
  ],
25
+ "types": "lib",
23
26
  "repository": {
24
27
  "type": "git",
25
- "url": "git+https://github.com/spinajs/http.git"
28
+ "url": "git+https://github.com/spinajs/main.git"
26
29
  },
27
30
  "keywords": [
28
- "di",
29
- "container",
30
31
  "spinajs",
31
- "di"
32
+ "http"
32
33
  ],
33
- "author": "SpinaJS <spinajs@coderush.pl> (https://github.com/spinajs/core)",
34
+ "author": "SpinaJS <spinajs@coderush.pl> (https://github.com/spinajs/main)",
34
35
  "license": "MIT",
35
36
  "bugs": {
36
- "url": "https://github.com/spinajs/http/issues"
37
+ "url": "https://github.com/spinajs/main/issues"
37
38
  },
38
- "homepage": "https://github.com/spinajs/http#readme",
39
+ "homepage": "https://github.com/spinajs/main#readme",
39
40
  "dependencies": {
40
- "@spinajs/di": "^1.0.19",
41
- "@spinajs/intl": "^1.0.1",
42
- "ajv": "^6.12.2",
43
- "ajv-merge-patch": "^4.1.0",
41
+ "@spinajs/configuration": "^1.2.81",
42
+ "@spinajs/di": "^1.2.81",
43
+ "@spinajs/exceptions": "^1.2.81",
44
+ "@spinajs/internal-logger": "^1.2.81",
45
+ "@spinajs/log": "^1.2.103",
46
+ "@spinajs/reflection": "^1.2.103",
44
47
  "compression": "^1.7.4",
45
48
  "cookie-parser": "^1.4.5",
46
49
  "cookie-signature": "^1.1.0",
47
50
  "cors": "^2.8.5",
48
51
  "express": "^4.17.1",
49
- "formidable": "^1.2.2",
52
+ "fast-csv": "^4.3.6",
53
+ "formidable": "^2.0.1",
50
54
  "glob": "^7.1.4",
51
55
  "helmet": "^3.23.0",
52
56
  "lodash": "^4.17.14",
57
+ "luxon": "^2.3.0",
53
58
  "mime": "^2.4.6",
54
59
  "pug": "^3.0.0",
55
- "randomstring": "^1.1.5"
60
+ "randomstring": "^1.1.5",
61
+ "tempfile": "3.0.0",
62
+ "uuid": "^8.3.2"
56
63
  },
57
- "devDependencies": {
58
- "@types/bunyan": "^1.8.6",
59
- "@types/chai": "^4.1.7",
60
- "@types/chai-as-promised": "^7.1.0",
61
- "@types/compression": "^1.7.0",
62
- "@types/cookie-parser": "^1.4.2",
63
- "@types/cookie-signature": "^1.0.3",
64
- "@types/cors": "^2.8.6",
65
- "@types/express": "^4.17.6",
66
- "@types/formidable": "^1.0.31",
67
- "@types/helmet": "^0.0.47",
68
- "@types/lodash": "^4.14.136",
69
- "@types/mocha": "^5.2.7",
70
- "@types/pug": "^2.0.4",
71
- "@types/randomstring": "^1.1.6",
72
- "@types/sinon": "^7.0.13",
73
- "chai": "^4.2.0",
74
- "chai-as-promised": "^7.1.1",
75
- "chai-dom": "^1.8.2",
76
- "chai-http": "^4.3.0",
77
- "cpx": "^1.5.0",
78
- "mocha": "^6.1.4",
79
- "nyc": "^14.1.1",
80
- "prettier": "^1.18.2",
81
- "sinon": "^7.3.2",
82
- "ts-mocha": "^6.0.0",
83
- "ts-node": "^8.3.0",
84
- "tslint": "^5.20.1",
85
- "tslint-circular-dependencies": "^0.1.0",
86
- "tslint-config-prettier": "^1.18.0",
87
- "tslint-config-standard": "^8.0.1",
88
- "tslint-no-unused-expression-chai": "^0.1.4",
89
- "typedoc": "^0.14.2",
90
- "typescript": "^3.7.3"
91
- }
64
+ "gitHead": "18a08cf4cd3e4d2c728d2d372e3a42ddde071be8"
92
65
  }
@@ -1,2 +0,0 @@
1
- export * from './limit-dto';
2
- export * from './order-dto';
package/lib/dto/index.js DELETED
@@ -1,15 +0,0 @@
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
- __exportStar(require("./limit-dto"), exports);
14
- __exportStar(require("./order-dto"), exports);
15
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dto/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8CAA4B;AAC5B,8CAA4B"}
@@ -1,32 +0,0 @@
1
- export declare const LimitDtoSchema: {
2
- $schema: string;
3
- title: string;
4
- type: string;
5
- properties: ({
6
- Page: {
7
- type: string;
8
- minimum: number;
9
- };
10
- PerPage?: undefined;
11
- } | {
12
- PerPage: {
13
- type: string;
14
- minimum: number;
15
- };
16
- Page?: undefined;
17
- })[];
18
- required: string[];
19
- };
20
- /**
21
- * Limit dto for queries
22
- */
23
- export declare class LimitDto {
24
- /**
25
- * Page to get
26
- */
27
- Page: number;
28
- /**
29
- * How much to take. min is 1
30
- */
31
- PerPage: number;
32
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"limit-dto.js","sourceRoot":"","sources":["../../src/dto/limit-dto.ts"],"names":[],"mappings":";;;;;;;;;AAAA,8CAAuC;AAE1B,QAAA,cAAc,GAAG;IAC5B,OAAO,EAAE,yCAAyC;IAClD,KAAK,EAAE,WAAW;IAClB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;IACnG,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF;;GAEG;AAEH,IAAa,QAAQ,GAArB,MAAa,QAAQ;CAUpB,CAAA;AAVY,QAAQ;IADpB,mBAAM,CAAC,sBAAc,CAAC;GACV,QAAQ,CAUpB;AAVY,4BAAQ"}
@@ -1,32 +0,0 @@
1
- export declare const OrderDtoSchema: {
2
- $schema: string;
3
- title: string;
4
- type: string;
5
- properties: ({
6
- Column: {
7
- type: string;
8
- minLength: number;
9
- };
10
- Order?: undefined;
11
- } | {
12
- Order: {
13
- type: string;
14
- enum: string[];
15
- };
16
- Column?: undefined;
17
- })[];
18
- required: string[];
19
- };
20
- /**
21
- * Order dto for queries
22
- */
23
- export declare class OrderDto {
24
- /**
25
- * Column to sort
26
- */
27
- Column: string;
28
- /**
29
- * Order - asc / desc
30
- */
31
- Order: string;
32
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"order-dto.js","sourceRoot":"","sources":["../../src/dto/order-dto.ts"],"names":[],"mappings":";;;;;;;;;AAAA,8CAAuC;AAE1B,QAAA,cAAc,GAAG;IAC5B,OAAO,EAAE,yCAAyC;IAClD,KAAK,EAAE,WAAW;IAClB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;IAC/G,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF;;GAEG;AAEH,IAAa,QAAQ,GAArB,MAAa,QAAQ;CAUpB,CAAA;AAVY,QAAQ;IADpB,mBAAM,CAAC,sBAAc,CAAC;GACV,QAAQ,CAUpB;AAVY,4BAAQ"}
package/lib/schemas.d.ts DELETED
@@ -1,24 +0,0 @@
1
- import { AsyncModule, IContainer } from "@spinajs/di";
2
- import * as AJV from "ajv";
3
- import { Configuration } from "@spinajs/configuration";
4
- import { Log } from "@spinajs/log";
5
- export interface IValidatorResult {
6
- valid: boolean;
7
- errors?: AJV.ErrorObject[];
8
- }
9
- export declare class DataValidator extends AsyncModule {
10
- protected Validator: AJV.Ajv;
11
- protected Schemas: any[];
12
- protected Configuration: Configuration;
13
- protected Container: IContainer;
14
- protected Log: Log;
15
- resolveAsync(container: IContainer): Promise<void>;
16
- /**
17
- * Validate data using schema
18
- * Schema will be compiled and cached (using serialized JSON as key, [fast-json-stable-stringify](https://github.com/epoberezkin/fast-json-stable-stringify) is used to serialize by default).
19
- * @param {string|object|Boolean} schemaKeyRef key, ref or schema object
20
- * @param {Any} data to be validated
21
- * @return {Boolean} validation result. Errors from the last validation will be available in `ajv.errors` (and also in compiled schema: `schema.errors`).
22
- */
23
- validate(schemaKeyRef: object | string | boolean, data: any): IValidatorResult;
24
- }
package/lib/schemas.js DELETED
@@ -1,96 +0,0 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
15
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
16
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
17
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
18
- return c > 3 && r && Object.defineProperty(target, key, r), r;
19
- };
20
- var __importStar = (this && this.__importStar) || function (mod) {
21
- if (mod && mod.__esModule) return mod;
22
- var result = {};
23
- if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
24
- __setModuleDefault(result, mod);
25
- return result;
26
- };
27
- var __metadata = (this && this.__metadata) || function (k, v) {
28
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
29
- };
30
- Object.defineProperty(exports, "__esModule", { value: true });
31
- exports.DataValidator = void 0;
32
- const di_1 = require("@spinajs/di");
33
- const AJV = __importStar(require("ajv"));
34
- const configuration_1 = require("@spinajs/configuration");
35
- const fs = __importStar(require("fs"));
36
- const glob = __importStar(require("glob"));
37
- const path = __importStar(require("path"));
38
- const log_1 = require("@spinajs/log");
39
- ;
40
- class DataValidator extends di_1.AsyncModule {
41
- async resolveAsync(container) {
42
- this.Container = container;
43
- this.Validator = new AJV.default();
44
- this.Configuration = await container.resolve(configuration_1.Configuration);
45
- // add $merge & $patch for json schema
46
- require("ajv-merge-patch")(this.Validator);
47
- this.Configuration.get("system.dirs.schemas", [])
48
- .filter(dir => fs.existsSync(dir))
49
- .flatMap((d) => glob.sync(path.join(d, "*.json")))
50
- .map(f => {
51
- return {
52
- schema: require(f),
53
- file: path.basename(f)
54
- };
55
- })
56
- .filter(s => {
57
- const isValid = this.Validator.validateSchema(s.schema);
58
- if (!isValid) {
59
- this.Log.warn(`Schema is not valid %s`, s.file);
60
- return false;
61
- }
62
- return true;
63
- })
64
- .forEach(s => {
65
- var _a;
66
- const schemaId = (_a = s.schema.$id) !== null && _a !== void 0 ? _a : path.basename(s.file);
67
- this.Log.trace(`Added schema ${schemaId}`);
68
- this.Validator.addSchema(s.schema, schemaId);
69
- });
70
- }
71
- /**
72
- * Validate data using schema
73
- * Schema will be compiled and cached (using serialized JSON as key, [fast-json-stable-stringify](https://github.com/epoberezkin/fast-json-stable-stringify) is used to serialize by default).
74
- * @param {string|object|Boolean} schemaKeyRef key, ref or schema object
75
- * @param {Any} data to be validated
76
- * @return {Boolean} validation result. Errors from the last validation will be available in `ajv.errors` (and also in compiled schema: `schema.errors`).
77
- */
78
- validate(schemaKeyRef, data) {
79
- const result = this.Validator.validate(schemaKeyRef, data);
80
- if (!result) {
81
- return {
82
- valid: false,
83
- errors: Object.assign({}, this.Validator.errors)
84
- };
85
- }
86
- return {
87
- valid: true
88
- };
89
- }
90
- }
91
- __decorate([
92
- log_1.Logger(),
93
- __metadata("design:type", Object)
94
- ], DataValidator.prototype, "Log", void 0);
95
- exports.DataValidator = DataValidator;
96
- //# sourceMappingURL=schemas.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oCAAsD;AACtD,yCAA2B;AAC3B,0DAAuD;AACvD,uCAAyB;AACzB,2CAA6B;AAC7B,2CAA6B;AAC7B,sCAA2C;AAK1C,CAAC;AAEF,MAAa,aAAc,SAAQ,gBAAW;IAYnC,KAAK,CAAC,YAAY,CAAC,SAAqB;QAE3C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,6BAAa,CAAC,CAAC;QAE5D,sCAAsC;QACtC,OAAO,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE3C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAW,qBAAqB,EAAE,EAAE,CAAC;aACtD,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;aACjC,OAAO,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;aACzD,GAAG,CAAC,CAAC,CAAC,EAAE;YACL,OAAO;gBACH,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;gBAClB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;aACzB,CAAC;QACN,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,CAAC,EAAE;YACR,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAExD,IAAI,CAAC,OAAO,EAAE;gBACV,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;gBAChD,OAAO,KAAK,CAAC;aAChB;YAED,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC;aACD,OAAO,CAAC,CAAC,CAAC,EAAE;;YACT,MAAM,QAAQ,SAAG,CAAC,CAAC,MAAM,CAAC,GAAG,mCAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,QAAQ,EAAE,CAAC,CAAC;YAC3C,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACX,CAAC;IAED;;;;;;OAMG;IACI,QAAQ,CAAC,YAAuC,EAAE,IAAS;QAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;gBACH,KAAK,EAAE,KAAK;gBACZ,MAAM,oBAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAE;aACvC,CAAA;SACJ;QAED,OAAO;YACH,KAAK,EAAE,IAAI;SACd,CAAA;IACL,CAAC;CACJ;AAzDG;IADC,YAAM,EAAE;;0CACU;AAVvB,sCAmEC"}
Binary file
@@ -1,15 +0,0 @@
1
- body {
2
- font-family: "Lucida Console", Monaco, monospace;
3
- }
4
-
5
- .container {
6
- display: flex;
7
- justify-content: center;
8
- height: 100%;
9
- }
10
-
11
- .container > .item {
12
- height: 100%;
13
- display: flex;
14
- align-items: center;
15
- }
@@ -1,7 +0,0 @@
1
- import { DataTransformer } from "../interfaces";
2
- /**
3
- * Default transformer that does nothing. Output data is exacly same as input.
4
- */
5
- export declare class PureDataTransformer<T> extends DataTransformer<T, T> {
6
- transform(data: T): T;
7
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"PureFormatter.js","sourceRoot":"","sources":["../../src/transformers/PureFormatter.ts"],"names":[],"mappings":";;;;;;;;;AAAA,8CAAgD;AAChD,oCAAwC;AAExC;;GAEG;AAEH,IAAa,mBAAmB,GAAhC,MAAa,mBAAuB,SAAQ,4BAAoB;IACrD,SAAS,CAAC,IAAO;QACpB,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ,CAAA;AAJY,mBAAmB;IAD/B,cAAS,EAAE;GACC,mBAAmB,CAI/B;AAJY,kDAAmB"}
@@ -1,13 +0,0 @@
1
- html
2
- head
3
- link(rel="icon", type="image/x-icon", href="/static/favicon.ico")
4
-
5
- title #{__("Bad request")}
6
-
7
- link(href="/static/style.css",rel="stylesheet")
8
- body
9
- div(class="container")
10
- div(class="item")
11
- div(class="entry")
12
- h1 400 - #{__("Bad request")}
13
- div #{__(error.message)}
@@ -1,13 +0,0 @@
1
- html
2
- head
3
- link(rel="icon", type="image/x-icon", href="/static/favicon.ico")
4
-
5
- title #{__("Conflict")}
6
-
7
- link(href="/static/style.css",rel="stylesheet")
8
- body
9
- div(class="container")
10
- div(class="item")
11
- div(class="entry")
12
- h1 409 - #{__("Conflict")}
13
- div #{__(error.message)}