@spinajs/http 1.0.14 → 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.
- package/README.md +11 -0
- package/lib/config/http.js +17 -17
- package/lib/config/http.js.map +1 -1
- package/lib/controllers.d.ts +6 -4
- package/lib/controllers.js +53 -184
- package/lib/controllers.js.map +1 -1
- package/lib/decorators.d.ts +49 -24
- package/lib/decorators.js +97 -40
- package/lib/decorators.js.map +1 -1
- package/lib/exceptions.d.ts +0 -0
- package/lib/exceptions.js +1 -0
- package/lib/exceptions.js.map +1 -0
- package/lib/http.d.ts +0 -0
- package/lib/http.js +1 -0
- package/lib/http.js.map +1 -0
- package/lib/hydrators/datetime.d.ts +8 -0
- package/lib/hydrators/datetime.js +63 -0
- package/lib/hydrators/datetime.js.map +1 -0
- package/lib/index.d.ts +1 -1
- package/lib/index.js +8 -3
- package/lib/index.js.map +1 -1
- package/lib/interfaces.d.ts +44 -15
- package/lib/interfaces.js +31 -12
- package/lib/interfaces.js.map +1 -1
- package/lib/response-methods/badRequest.d.ts +3 -2
- package/lib/response-methods/badRequest.js +1 -1
- package/lib/response-methods/badRequest.js.map +1 -1
- package/lib/response-methods/conflict.d.ts +3 -2
- package/lib/response-methods/conflict.js +1 -1
- package/lib/response-methods/conflict.js.map +1 -1
- package/lib/response-methods/cookieResponse.d.ts +3 -2
- package/lib/response-methods/cookieResponse.js +9 -5
- package/lib/response-methods/cookieResponse.js.map +1 -1
- package/lib/response-methods/created.d.ts +3 -2
- package/lib/response-methods/created.js +1 -1
- package/lib/response-methods/created.js.map +1 -1
- package/lib/response-methods/file.d.ts +16 -2
- package/lib/response-methods/file.js +67 -5
- package/lib/response-methods/file.js.map +1 -1
- package/lib/response-methods/forbidden.d.ts +3 -2
- package/lib/response-methods/forbidden.js +1 -1
- package/lib/response-methods/forbidden.js.map +1 -1
- package/lib/response-methods/index.js +6 -2
- package/lib/response-methods/index.js.map +1 -1
- package/lib/response-methods/noContent.d.ts +3 -2
- package/lib/response-methods/noContent.js +1 -1
- package/lib/response-methods/noContent.js.map +1 -1
- package/lib/response-methods/notFound.d.ts +3 -2
- package/lib/response-methods/notFound.js +1 -1
- package/lib/response-methods/notFound.js.map +1 -1
- package/lib/response-methods/ok.d.ts +3 -2
- package/lib/response-methods/ok.js +1 -1
- package/lib/response-methods/ok.js.map +1 -1
- package/lib/response-methods/pug.d.ts +3 -2
- package/lib/response-methods/pug.js +1 -1
- package/lib/response-methods/pug.js.map +1 -1
- package/lib/response-methods/redirect.d.ts +2 -2
- package/lib/response-methods/redirect.js +2 -4
- package/lib/response-methods/redirect.js.map +1 -1
- package/lib/response-methods/serverError.d.ts +3 -2
- package/lib/response-methods/serverError.js +1 -1
- package/lib/response-methods/serverError.js.map +1 -1
- package/lib/response-methods/unauthorized.d.ts +3 -2
- package/lib/response-methods/unauthorized.js +1 -1
- package/lib/response-methods/unauthorized.js.map +1 -1
- package/lib/responses.d.ts +1 -1
- package/lib/responses.js +28 -11
- package/lib/responses.js.map +1 -1
- package/lib/route-args/ArgAsRequest.d.ts +11 -0
- package/lib/{transformers/PureFormatter.js → route-args/ArgAsRequest.js} +13 -12
- package/lib/route-args/ArgAsRequest.js.map +1 -0
- package/lib/route-args/ArgAsResponse.d.ts +10 -0
- package/lib/{dto/order-dto.js → route-args/ArgAsResponse.js} +16 -18
- package/lib/route-args/ArgAsResponse.js.map +1 -0
- package/lib/route-args/ArgHydrator.d.ts +3 -0
- package/lib/route-args/ArgHydrator.js +7 -0
- package/lib/route-args/ArgHydrator.js.map +1 -0
- package/lib/route-args/FromBody.d.ts +10 -0
- package/lib/route-args/FromBody.js +44 -0
- package/lib/route-args/FromBody.js.map +1 -0
- package/lib/route-args/FromCoockie.d.ts +13 -0
- package/lib/route-args/FromCoockie.js +71 -0
- package/lib/route-args/FromCoockie.js.map +1 -0
- package/lib/route-args/FromCookie.d.ts +13 -0
- package/lib/route-args/FromCookie.js +74 -0
- package/lib/route-args/FromCookie.js.map +1 -0
- package/lib/route-args/FromDi.d.ts +14 -0
- package/lib/route-args/FromDi.js +36 -0
- package/lib/route-args/FromDi.js.map +1 -0
- package/lib/route-args/FromForm.d.ts +82 -0
- package/lib/route-args/FromForm.js +259 -0
- package/lib/route-args/FromForm.js.map +1 -0
- package/lib/route-args/FromHeaderArg.d.ts +12 -0
- package/lib/route-args/FromHeaderArg.js +30 -0
- package/lib/route-args/FromHeaderArg.js.map +1 -0
- package/lib/route-args/FromParams.d.ts +10 -0
- package/lib/route-args/FromParams.js +25 -0
- package/lib/route-args/FromParams.js.map +1 -0
- package/lib/route-args/FromQuery.d.ts +10 -0
- package/lib/{dto/limit-dto.js → route-args/FromQuery.js} +16 -18
- package/lib/route-args/FromQuery.js.map +1 -0
- package/lib/route-args/RouteArgs.d.ts +19 -0
- package/lib/route-args/RouteArgs.js +64 -0
- package/lib/route-args/RouteArgs.js.map +1 -0
- package/lib/route-args/index.d.ts +11 -0
- package/lib/route-args/index.js +28 -0
- package/lib/route-args/index.js.map +1 -0
- package/lib/schemas/RouteArgsSchemas.d.ts +15 -0
- package/lib/schemas/RouteArgsSchemas.js +19 -0
- package/lib/schemas/RouteArgsSchemas.js.map +1 -0
- package/lib/server.d.ts +3 -2
- package/lib/server.js +30 -14
- package/lib/server.js.map +1 -1
- package/lib/transformers/PureTransformer.d.ts +1 -1
- package/lib/transformers/PureTransformer.js +2 -2
- package/lib/transformers/PureTransformer.js.map +1 -1
- package/package.json +27 -54
- package/lib/dto/index.d.ts +0 -2
- package/lib/dto/index.js +0 -15
- package/lib/dto/index.js.map +0 -1
- package/lib/dto/limit-dto.d.ts +0 -32
- package/lib/dto/limit-dto.js.map +0 -1
- package/lib/dto/order-dto.d.ts +0 -32
- package/lib/dto/order-dto.js.map +0 -1
- package/lib/schemas.d.ts +0 -24
- package/lib/schemas.js +0 -96
- package/lib/schemas.js.map +0 -1
- package/lib/static/favicon.ico +0 -0
- package/lib/static/style.css +0 -15
- package/lib/transformers/PureFormatter.d.ts +0 -7
- package/lib/transformers/PureFormatter.js.map +0 -1
- package/lib/views/responses/badRequest.pug +0 -13
- package/lib/views/responses/conflict.pug +0 -13
- package/lib/views/responses/forbidden.pug +0 -13
- package/lib/views/responses/noContent.pug +0 -13
- package/lib/views/responses/notFound.pug +0 -13
- package/lib/views/responses/ok.pug +0 -12
- package/lib/views/responses/serverError.pug +0 -13
- package/lib/views/responses/unauthorized.pug +0 -13
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.
|
|
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(
|
|
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
|
-
|
|
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(`
|
|
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
|
|
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
|
|
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
|
-
|
|
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":"
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
|
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,
|
|
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.
|
|
4
|
-
"description": "framework
|
|
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\"
|
|
14
|
-
"lint": "
|
|
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/
|
|
28
|
+
"url": "git+https://github.com/spinajs/main.git"
|
|
26
29
|
},
|
|
27
30
|
"keywords": [
|
|
28
|
-
"di",
|
|
29
|
-
"container",
|
|
30
31
|
"spinajs",
|
|
31
|
-
"
|
|
32
|
+
"http"
|
|
32
33
|
],
|
|
33
|
-
"author": "SpinaJS <spinajs@coderush.pl> (https://github.com/spinajs/
|
|
34
|
+
"author": "SpinaJS <spinajs@coderush.pl> (https://github.com/spinajs/main)",
|
|
34
35
|
"license": "MIT",
|
|
35
36
|
"bugs": {
|
|
36
|
-
"url": "https://github.com/spinajs/
|
|
37
|
+
"url": "https://github.com/spinajs/main/issues"
|
|
37
38
|
},
|
|
38
|
-
"homepage": "https://github.com/spinajs/
|
|
39
|
+
"homepage": "https://github.com/spinajs/main#readme",
|
|
39
40
|
"dependencies": {
|
|
40
|
-
"@spinajs/
|
|
41
|
-
"@spinajs/
|
|
42
|
-
"
|
|
43
|
-
"
|
|
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
|
-
"
|
|
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
|
-
"
|
|
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
|
}
|
package/lib/dto/index.d.ts
DELETED
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
|
package/lib/dto/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dto/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8CAA4B;AAC5B,8CAA4B"}
|
package/lib/dto/limit-dto.d.ts
DELETED
|
@@ -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
|
-
}
|
package/lib/dto/limit-dto.js.map
DELETED
|
@@ -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"}
|
package/lib/dto/order-dto.d.ts
DELETED
|
@@ -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
|
-
}
|
package/lib/dto/order-dto.js.map
DELETED
|
@@ -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
|
package/lib/schemas.js.map
DELETED
|
@@ -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"}
|
package/lib/static/favicon.ico
DELETED
|
Binary file
|
package/lib/static/style.css
DELETED
|
@@ -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)}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
html
|
|
2
|
-
head
|
|
3
|
-
link(rel="icon", type="image/x-icon", href="/static/favicon.ico")
|
|
4
|
-
|
|
5
|
-
title #{__("Forbidden")}
|
|
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 403 - #{__("Forbidden")}
|
|
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 #{__("No content")}
|
|
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 204 - #{__("No content")}
|
|
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 #{__("Not found")}
|
|
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 404 - #{__("Not found")}
|
|
13
|
-
div #{__(error.message)}
|