@spinajs/http 2.0.146 → 2.0.148
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/bootstrap.d.ts +5 -0
- package/lib/cjs/bootstrap.d.ts.map +1 -0
- package/lib/cjs/bootstrap.js +30 -0
- package/lib/cjs/bootstrap.js.map +1 -0
- package/lib/cjs/controllers.d.ts.map +1 -1
- package/lib/cjs/controllers.js +5 -1
- package/lib/cjs/controllers.js.map +1 -1
- package/lib/cjs/hydrators/DateTimeHydrator.d.ts +6 -0
- package/lib/cjs/hydrators/DateTimeHydrator.d.ts.map +1 -0
- package/lib/cjs/hydrators/DateTimeHydrator.js +37 -0
- package/lib/cjs/hydrators/DateTimeHydrator.js.map +1 -0
- package/lib/cjs/index.d.ts +1 -0
- package/lib/cjs/index.d.ts.map +1 -1
- package/lib/cjs/index.js +1 -0
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/interfaces.d.ts +3 -3
- package/lib/cjs/interfaces.d.ts.map +1 -1
- package/lib/cjs/interfaces.js.map +1 -1
- package/lib/cjs/response-methods/file.d.ts.map +1 -1
- package/lib/cjs/response-methods/file.js +2 -0
- package/lib/cjs/response-methods/file.js.map +1 -1
- package/lib/cjs/response-methods/validationError.d.ts +13 -0
- package/lib/cjs/response-methods/validationError.d.ts.map +1 -0
- package/lib/cjs/response-methods/validationError.js +20 -0
- package/lib/cjs/response-methods/validationError.js.map +1 -0
- package/lib/cjs/route-args/FromForm.d.ts +2 -1
- package/lib/cjs/route-args/FromForm.d.ts.map +1 -1
- package/lib/cjs/route-args/FromForm.js +12 -6
- package/lib/cjs/route-args/FromForm.js.map +1 -1
- package/lib/cjs/route-args/FromHeaderArg.d.ts +0 -2
- package/lib/cjs/route-args/FromHeaderArg.d.ts.map +1 -1
- package/lib/cjs/route-args/FromHeaderArg.js +0 -4
- package/lib/cjs/route-args/FromHeaderArg.js.map +1 -1
- package/lib/cjs/route-args/FromParams.d.ts.map +1 -1
- package/lib/cjs/route-args/FromParams.js +2 -3
- package/lib/cjs/route-args/FromParams.js.map +1 -1
- package/lib/cjs/route-args/FromQuery.d.ts.map +1 -1
- package/lib/cjs/route-args/FromQuery.js +2 -3
- package/lib/cjs/route-args/FromQuery.js.map +1 -1
- package/lib/cjs/route-args/RouteArgs.d.ts +0 -2
- package/lib/cjs/route-args/RouteArgs.d.ts.map +1 -1
- package/lib/cjs/route-args/RouteArgs.js +18 -25
- package/lib/cjs/route-args/RouteArgs.js.map +1 -1
- package/lib/cjs/server.d.ts.map +1 -1
- package/lib/cjs/server.js +10 -7
- package/lib/cjs/server.js.map +1 -1
- package/lib/mjs/bootstrap.d.ts +5 -0
- package/lib/mjs/bootstrap.d.ts.map +1 -0
- package/lib/mjs/bootstrap.js +27 -0
- package/lib/mjs/bootstrap.js.map +1 -0
- package/lib/mjs/controllers.d.ts.map +1 -1
- package/lib/mjs/controllers.js +5 -1
- package/lib/mjs/controllers.js.map +1 -1
- package/lib/mjs/hydrators/DateTimeHydrator.d.ts +6 -0
- package/lib/mjs/hydrators/DateTimeHydrator.d.ts.map +1 -0
- package/lib/mjs/hydrators/DateTimeHydrator.js +31 -0
- package/lib/mjs/hydrators/DateTimeHydrator.js.map +1 -0
- package/lib/mjs/index.d.ts +1 -0
- package/lib/mjs/index.d.ts.map +1 -1
- package/lib/mjs/index.js +1 -0
- package/lib/mjs/index.js.map +1 -1
- package/lib/mjs/interfaces.d.ts +3 -3
- package/lib/mjs/interfaces.d.ts.map +1 -1
- package/lib/mjs/interfaces.js.map +1 -1
- package/lib/mjs/response-methods/file.d.ts.map +1 -1
- package/lib/mjs/response-methods/file.js +2 -0
- package/lib/mjs/response-methods/file.js.map +1 -1
- package/lib/mjs/response-methods/validationError.d.ts +13 -0
- package/lib/mjs/response-methods/validationError.d.ts.map +1 -0
- package/lib/mjs/response-methods/validationError.js +16 -0
- package/lib/mjs/response-methods/validationError.js.map +1 -0
- package/lib/mjs/route-args/FromForm.d.ts +2 -1
- package/lib/mjs/route-args/FromForm.d.ts.map +1 -1
- package/lib/mjs/route-args/FromForm.js +12 -6
- package/lib/mjs/route-args/FromForm.js.map +1 -1
- package/lib/mjs/route-args/FromHeaderArg.d.ts +0 -2
- package/lib/mjs/route-args/FromHeaderArg.d.ts.map +1 -1
- package/lib/mjs/route-args/FromHeaderArg.js +0 -4
- package/lib/mjs/route-args/FromHeaderArg.js.map +1 -1
- package/lib/mjs/route-args/FromParams.d.ts.map +1 -1
- package/lib/mjs/route-args/FromParams.js +2 -3
- package/lib/mjs/route-args/FromParams.js.map +1 -1
- package/lib/mjs/route-args/FromQuery.d.ts.map +1 -1
- package/lib/mjs/route-args/FromQuery.js +2 -3
- package/lib/mjs/route-args/FromQuery.js.map +1 -1
- package/lib/mjs/route-args/RouteArgs.d.ts +0 -2
- package/lib/mjs/route-args/RouteArgs.d.ts.map +1 -1
- package/lib/mjs/route-args/RouteArgs.js +18 -25
- package/lib/mjs/route-args/RouteArgs.js.map +1 -1
- package/lib/mjs/server.d.ts.map +1 -1
- package/lib/mjs/server.js +10 -7
- package/lib/mjs/server.js.map +1 -1
- package/lib/tsconfig.cjs.tsbuildinfo +1 -1
- package/lib/tsconfig.mjs.tsbuildinfo +1 -1
- package/lib/views/responses/validationError.pug +16 -0
- package/package.json +10 -10
|
@@ -10,12 +10,12 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
import { RouteArgs } from './RouteArgs.js';
|
|
11
11
|
import { ParameterType } from '../interfaces.js';
|
|
12
12
|
import { IncomingForm } from 'formidable';
|
|
13
|
+
import { Config } from '@spinajs/configuration';
|
|
13
14
|
import { DI, Injectable, NewInstance } from '@spinajs/di';
|
|
14
15
|
import { parse } from 'csv';
|
|
15
16
|
import { basename } from 'path';
|
|
16
17
|
import { createReadStream, promises, unlink } from 'fs';
|
|
17
18
|
export class FromFormBase extends RouteArgs {
|
|
18
|
-
;
|
|
19
19
|
async parseForm(callData, param, req) {
|
|
20
20
|
if (callData && callData.Payload && callData.Payload.Form) {
|
|
21
21
|
this.Data = callData.Payload.Form;
|
|
@@ -25,7 +25,6 @@ export class FromFormBase extends RouteArgs {
|
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
async parse(req, options) {
|
|
28
|
-
this.FileService = await DI.resolve('__file_provider__', [options?.fileProvider]);
|
|
29
28
|
if (!this.Data) {
|
|
30
29
|
let opts = options || { multiples: true };
|
|
31
30
|
this.Data = await this._parse(req, opts);
|
|
@@ -57,6 +56,9 @@ let FromFile = class FromFile extends FromFormBase {
|
|
|
57
56
|
if (!this.Data) {
|
|
58
57
|
await this.parseForm(callData, param, req);
|
|
59
58
|
}
|
|
59
|
+
if (!this.FileService) {
|
|
60
|
+
this.FileService = await DI.resolve('__file_provider__', [param.Options?.fileProvider ?? this.DefaultFsProviderName]);
|
|
61
|
+
}
|
|
60
62
|
// map from formidable to our object
|
|
61
63
|
// of type IUploadedFile
|
|
62
64
|
const formFiles = this.Data.Files[param.Name];
|
|
@@ -71,10 +73,10 @@ let FromFile = class FromFile extends FromFormBase {
|
|
|
71
73
|
if (Array.isArray(formFiles)) {
|
|
72
74
|
for (const f of formFiles) {
|
|
73
75
|
await copy(f.filepath);
|
|
74
|
-
return Object.assign(data, {
|
|
75
|
-
Args: formFiles.map(mf),
|
|
76
|
-
});
|
|
77
76
|
}
|
|
77
|
+
return Object.assign(data, {
|
|
78
|
+
Args: param.RuntimeType.name === 'Array' ? formFiles.map(mf) : mf(formFiles[0]),
|
|
79
|
+
});
|
|
78
80
|
}
|
|
79
81
|
else {
|
|
80
82
|
await copy(formFiles.filepath);
|
|
@@ -118,6 +120,10 @@ let FromFile = class FromFile extends FromFormBase {
|
|
|
118
120
|
}
|
|
119
121
|
}
|
|
120
122
|
};
|
|
123
|
+
__decorate([
|
|
124
|
+
Config('fs.defaultProvider'),
|
|
125
|
+
__metadata("design:type", String)
|
|
126
|
+
], FromFile.prototype, "DefaultFsProviderName", void 0);
|
|
121
127
|
FromFile = __decorate([
|
|
122
128
|
Injectable(),
|
|
123
129
|
NewInstance(),
|
|
@@ -245,7 +251,7 @@ let FromForm = class FromForm extends FromFormBase {
|
|
|
245
251
|
if (!this.Data) {
|
|
246
252
|
await this.parseForm(callData, param, req);
|
|
247
253
|
}
|
|
248
|
-
// todo
|
|
254
|
+
// todo
|
|
249
255
|
// refactor to support arrays in object
|
|
250
256
|
// and array of objects
|
|
251
257
|
const data = Object.fromEntries(Object.entries(this.Data.Fields).map(([key, value]) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FromForm.js","sourceRoot":"","sources":["../../../src/route-args/FromForm.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAmB,aAAa,EAAuB,MAAM,kBAAkB,CAAC;AAEvF,OAAO,EAAuB,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"FromForm.js","sourceRoot":"","sources":["../../../src/route-args/FromForm.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
import { RouteArgs } from './RouteArgs.js';
|
|
2
2
|
import { IRouteParameter, ParameterType, IRouteCall, IRoute } from '../interfaces.js';
|
|
3
3
|
import * as express from 'express';
|
|
4
|
-
import { DateTime } from 'luxon';
|
|
5
4
|
export declare class FromHeader extends RouteArgs {
|
|
6
5
|
get SupportedType(): ParameterType;
|
|
7
6
|
extract(callData: IRouteCall, param: IRouteParameter, req: express.Request, _res: express.Response, route: IRoute): Promise<{
|
|
8
7
|
CallData: IRouteCall;
|
|
9
8
|
Args: any;
|
|
10
9
|
}>;
|
|
11
|
-
protected handleDate(arg: any): DateTime;
|
|
12
10
|
}
|
|
13
11
|
//# sourceMappingURL=FromHeaderArg.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FromHeaderArg.d.ts","sourceRoot":"","sources":["../../../src/route-args/FromHeaderArg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACtF,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"FromHeaderArg.d.ts","sourceRoot":"","sources":["../../../src/route-args/FromHeaderArg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACtF,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAInC,qBACa,UAAW,SAAQ,SAAS;IACvC,IAAW,aAAa,IAAI,aAAa,CAExC;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM;;;;CAK/H"}
|
|
@@ -7,7 +7,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
import { RouteArgs } from './RouteArgs.js';
|
|
8
8
|
import { ParameterType } from '../interfaces.js';
|
|
9
9
|
import { Injectable } from '@spinajs/di';
|
|
10
|
-
import { DateTime } from 'luxon';
|
|
11
10
|
let FromHeader = class FromHeader extends RouteArgs {
|
|
12
11
|
get SupportedType() {
|
|
13
12
|
return ParameterType.FromHeader;
|
|
@@ -16,9 +15,6 @@ let FromHeader = class FromHeader extends RouteArgs {
|
|
|
16
15
|
let arg = param.Options && param.Options.key ? req.headers[param.Options.key] : req.headers[param.Name.toLowerCase()];
|
|
17
16
|
return { CallData: callData, Args: await this.tryHydrateParam(arg, param, route) };
|
|
18
17
|
}
|
|
19
|
-
handleDate(arg) {
|
|
20
|
-
return DateTime.fromHTTP(arg.startsWith('Date:') ? arg.substring(5).trim() : arg.trim());
|
|
21
|
-
}
|
|
22
18
|
};
|
|
23
19
|
FromHeader = __decorate([
|
|
24
20
|
Injectable()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FromHeaderArg.js","sourceRoot":"","sources":["../../../src/route-args/FromHeaderArg.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAmB,aAAa,EAAsB,MAAM,kBAAkB,CAAC;AAEtF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"FromHeaderArg.js","sourceRoot":"","sources":["../../../src/route-args/FromHeaderArg.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAmB,aAAa,EAAsB,MAAM,kBAAkB,CAAC;AAEtF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIlC,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,SAAS;IACvC,IAAW,aAAa;QACtB,OAAO,aAAa,CAAC,UAAU,CAAC;IAClC,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAE,KAAsB,EAAE,GAAoB,EAAE,IAAsB,EAAE,KAAa;QAC5H,IAAI,GAAG,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACtH,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;IACrF,CAAC;CAEF,CAAA;AAVY,UAAU;IADtB,UAAU,EAAE;GACA,UAAU,CAUtB;SAVY,UAAU"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FromParams.d.ts","sourceRoot":"","sources":["../../../src/route-args/FromParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACtF,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAGnC,qBACa,UAAW,SAAQ,SAAS;IACvC,IAAW,aAAa,IAAI,aAAa,CAExC;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM;;;;
|
|
1
|
+
{"version":3,"file":"FromParams.d.ts","sourceRoot":"","sources":["../../../src/route-args/FromParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACtF,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAGnC,qBACa,UAAW,SAAQ,SAAS;IACvC,IAAW,aAAa,IAAI,aAAa,CAExC;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM;;;;CAM/H"}
|
|
@@ -13,9 +13,8 @@ let FromParams = class FromParams extends RouteArgs {
|
|
|
13
13
|
}
|
|
14
14
|
async extract(callData, param, req, _res, route) {
|
|
15
15
|
return {
|
|
16
|
-
CallData: callData,
|
|
17
|
-
|
|
18
|
-
: req.params[param.Name], param, route)
|
|
16
|
+
CallData: callData,
|
|
17
|
+
Args: await this.tryHydrateParam(req.params[param.Name], param, route),
|
|
19
18
|
};
|
|
20
19
|
}
|
|
21
20
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FromParams.js","sourceRoot":"","sources":["../../../src/route-args/FromParams.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAmB,aAAa,EAAsB,MAAM,kBAAkB,CAAC;AAEtF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGlC,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,SAAS;IACvC,IAAW,aAAa;QACtB,OAAO,aAAa,CAAC,UAAU,CAAC;IAClC,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAE,KAAsB,EAAE,GAAoB,EAAE,IAAsB,EAAE,KAAa;
|
|
1
|
+
{"version":3,"file":"FromParams.js","sourceRoot":"","sources":["../../../src/route-args/FromParams.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAmB,aAAa,EAAsB,MAAM,kBAAkB,CAAC;AAEtF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGlC,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,SAAS;IACvC,IAAW,aAAa;QACtB,OAAO,aAAa,CAAC,UAAU,CAAC;IAClC,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAE,KAAsB,EAAE,GAAoB,EAAE,IAAsB,EAAE,KAAa;QAC5H,OAAO;YACL,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC;SACvE,CAAC;IACJ,CAAC;CACF,CAAA;AAXY,UAAU;IADtB,UAAU,EAAE;GACA,UAAU,CAWtB;SAXY,UAAU"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FromQuery.d.ts","sourceRoot":"","sources":["../../../src/route-args/FromQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACtF,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAInC,qBACa,SAAU,SAAQ,SAAS;IACtC,IAAW,aAAa,IAAI,aAAa,CAExC;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM;;;;
|
|
1
|
+
{"version":3,"file":"FromQuery.d.ts","sourceRoot":"","sources":["../../../src/route-args/FromQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACtF,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAInC,qBACa,SAAU,SAAQ,SAAS;IACtC,IAAW,aAAa,IAAI,aAAa,CAExC;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM;;;;CAM/H"}
|
|
@@ -13,9 +13,8 @@ let FromQuery = class FromQuery extends RouteArgs {
|
|
|
13
13
|
}
|
|
14
14
|
async extract(callData, param, req, _res, route) {
|
|
15
15
|
return {
|
|
16
|
-
CallData: callData,
|
|
17
|
-
|
|
18
|
-
: req.query[param.Name], param, route)
|
|
16
|
+
CallData: callData,
|
|
17
|
+
Args: await this.tryHydrateParam(req.query[param.Name], param, route),
|
|
19
18
|
};
|
|
20
19
|
}
|
|
21
20
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FromQuery.js","sourceRoot":"","sources":["../../../src/route-args/FromQuery.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAmB,aAAa,EAAsB,MAAM,kBAAkB,CAAC;AAEtF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIlC,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,SAAS;IACtC,IAAW,aAAa;QACtB,OAAO,aAAa,CAAC,SAAS,CAAC;IACjC,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAE,KAAsB,EAAE,GAAoB,EAAE,IAAsB,EAAE,KAAa;QAC5H,OAAO;YACL,QAAQ,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"FromQuery.js","sourceRoot":"","sources":["../../../src/route-args/FromQuery.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAmB,aAAa,EAAsB,MAAM,kBAAkB,CAAC;AAEtF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIlC,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,SAAS;IACtC,IAAW,aAAa;QACtB,OAAO,aAAa,CAAC,SAAS,CAAC;IACjC,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAE,KAAsB,EAAE,GAAoB,EAAE,IAAsB,EAAE,KAAa;QAC5H,OAAO;YACL,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC;SACtE,CAAC;IACJ,CAAC;CACF,CAAA;AAXY,SAAS;IADrB,UAAU,EAAE;GACA,SAAS,CAWrB;SAXY,SAAS"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { ParameterType, IRouteParameter, IRouteCall, IRoute, Request } from './../interfaces.js';
|
|
2
2
|
import * as express from 'express';
|
|
3
|
-
import { DateTime } from 'luxon';
|
|
4
3
|
import { DataValidator } from '@spinajs/validation';
|
|
5
4
|
export interface IRouteArgsResult {
|
|
6
5
|
CallData: IRouteCall;
|
|
@@ -14,7 +13,6 @@ export declare abstract class RouteArgs implements IRouteArgs {
|
|
|
14
13
|
protected Validator: DataValidator;
|
|
15
14
|
abstract get SupportedType(): ParameterType | string;
|
|
16
15
|
abstract extract(callData: IRouteCall, routeParameter: IRouteParameter, req: Request, res: express.Response, route?: IRoute): Promise<IRouteArgsResult>;
|
|
17
|
-
protected handleDate(arg: any): DateTime;
|
|
18
16
|
protected tryHydrateParam(arg: any, routeParameter: IRouteParameter, route: IRoute): Promise<any>;
|
|
19
17
|
protected tryHydrateObject(arg: any, param: IRouteParameter): Promise<any>;
|
|
20
18
|
protected fromRuntimeType(param: IRouteParameter, arg: any): any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RouteArgs.d.ts","sourceRoot":"","sources":["../../../src/route-args/RouteArgs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACjG,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"RouteArgs.d.ts","sourceRoot":"","sources":["../../../src/route-args/RouteArgs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACjG,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAGnC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,UAAU,CAAC;IACrB,IAAI,EAAE,GAAG,CAAC;CACX;AAED,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,aAAa,GAAG,MAAM,CAAC;IAEtC,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAChJ;AAED,8BAAsB,SAAU,YAAW,UAAU;IAEnD,SAAS,CAAC,SAAS,EAAE,aAAa,CAAC;IAEnC,QAAQ,KAAK,aAAa,IAAI,aAAa,GAAG,MAAM,CAAC;aAErC,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;cAE9I,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,cAAc,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM;cAgCxE,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,eAAe;IAwBjE,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG;CAoB3D"}
|
|
@@ -7,22 +7,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
9
|
};
|
|
10
|
-
import { Autoinject, TypedArray } from '@spinajs/di';
|
|
11
|
-
import { DI } from '@spinajs/di';
|
|
10
|
+
import { DI, Autoinject, TypedArray, isClass } from '@spinajs/di';
|
|
12
11
|
import _ from 'lodash';
|
|
13
|
-
import { DateTime } from 'luxon';
|
|
14
12
|
import { DataValidator } from '@spinajs/validation';
|
|
15
13
|
export class RouteArgs {
|
|
16
|
-
handleDate(arg) {
|
|
17
|
-
const milis = Number(arg);
|
|
18
|
-
if (!Number.isNaN(milis)) {
|
|
19
|
-
return DateTime.fromSeconds(milis);
|
|
20
|
-
}
|
|
21
|
-
if (_.isString(arg)) {
|
|
22
|
-
return DateTime.fromISO(arg);
|
|
23
|
-
}
|
|
24
|
-
return DateTime.invalid('no iso or unix timestamp');
|
|
25
|
-
}
|
|
26
14
|
async tryHydrateParam(arg, routeParameter, route) {
|
|
27
15
|
let result = null;
|
|
28
16
|
let schema = null;
|
|
@@ -36,16 +24,18 @@ export class RouteArgs {
|
|
|
36
24
|
else if (routeParameter.RouteParamSchema) {
|
|
37
25
|
schema = routeParameter.RouteParamSchema;
|
|
38
26
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
schema = this.Validator.extractSchema(result);
|
|
27
|
+
else {
|
|
28
|
+
schema = this.Validator.extractSchema(routeParameter.RuntimeType);
|
|
29
|
+
if (!schema) {
|
|
30
|
+
schema = this.Validator.extractSchema(routeParameter.RuntimeType.prototype);
|
|
31
|
+
}
|
|
45
32
|
}
|
|
33
|
+
// validate if schema is avaible
|
|
34
|
+
// raw data
|
|
46
35
|
if (schema) {
|
|
47
36
|
this.Validator.validate(schema, arg);
|
|
48
37
|
}
|
|
38
|
+
result = await this.tryHydrateObject(arg, routeParameter);
|
|
49
39
|
if (!result) {
|
|
50
40
|
result = this.fromRuntimeType(routeParameter, arg);
|
|
51
41
|
}
|
|
@@ -63,20 +53,17 @@ export class RouteArgs {
|
|
|
63
53
|
const hInstance = await DI.resolve(hydrator.hydrator, hydrator.options);
|
|
64
54
|
return await hInstance.hydrate(arg, param);
|
|
65
55
|
}
|
|
56
|
+
else if (isClass(param.RuntimeType)) {
|
|
57
|
+
return new param.RuntimeType(_.isString(arg) ? JSON.parse(arg) : arg);
|
|
58
|
+
}
|
|
66
59
|
else if (param.RuntimeType.name === 'Object' || param.RuntimeType.name === 'Array') {
|
|
67
60
|
return _.isString(arg) ? JSON.parse(arg) : arg;
|
|
68
61
|
}
|
|
69
|
-
else if (param.RuntimeType.name === 'DateTime') {
|
|
70
|
-
return this.handleDate(arg);
|
|
71
|
-
}
|
|
72
62
|
else if (param.RuntimeType instanceof TypedArray) {
|
|
73
63
|
const type = param.RuntimeType.Type;
|
|
74
64
|
const arrData = _.isString(arg) ? JSON.parse(arg) : arg;
|
|
75
65
|
return arrData ? arrData.map((x) => new type(x)) : [];
|
|
76
66
|
}
|
|
77
|
-
else if (['Number', 'String', 'Boolean', 'Null', 'Undefined', 'BigInt', 'Symbol'].indexOf(param.RuntimeType.name) === -1) {
|
|
78
|
-
return new param.RuntimeType(_.isString(arg) ? JSON.parse(arg) : arg);
|
|
79
|
-
}
|
|
80
67
|
return undefined;
|
|
81
68
|
}
|
|
82
69
|
fromRuntimeType(param, arg) {
|
|
@@ -87,8 +74,14 @@ export class RouteArgs {
|
|
|
87
74
|
return arg;
|
|
88
75
|
case 'Number':
|
|
89
76
|
return arg ? Number(arg) : undefined;
|
|
77
|
+
case 'BigInt':
|
|
78
|
+
return BigInt(arg);
|
|
90
79
|
case 'Boolean':
|
|
91
80
|
return arg ? (arg === 1 ? true : arg.toLowerCase() === 'true' ? true : false) : false;
|
|
81
|
+
case 'Undefined':
|
|
82
|
+
return undefined;
|
|
83
|
+
case 'Null':
|
|
84
|
+
return null;
|
|
92
85
|
default:
|
|
93
86
|
return new param.RuntimeType(_.isString(arg) ? JSON.parse(arg) : arg);
|
|
94
87
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RouteArgs.js","sourceRoot":"","sources":["../../../src/route-args/RouteArgs.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"RouteArgs.js","sourceRoot":"","sources":["../../../src/route-args/RouteArgs.ts"],"names":[],"mappings":"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"}
|
package/lib/mjs/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAiD,MAAM,aAAa,CAAC;AACtG,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAU,GAAG,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAgC,gBAAgB,EAAyD,MAAM,iBAAiB,CAAC;AAMxI,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,yBAAyB,CAAC;AACjC,OAAO,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAiD,MAAM,aAAa,CAAC;AACtG,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAU,GAAG,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAgC,gBAAgB,EAAyD,MAAM,iBAAiB,CAAC;AAMxI,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,yBAAyB,CAAC;AACjC,OAAO,wBAAwB,CAAC;AAMhC,qBAEa,UAAW,SAAQ,YAAY;IAE1C,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IAGvC,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC;IAGhC,SAAS,CAAC,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAE1C;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;IAEnC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IAEzB;;OAEG;IAEH,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;;IAMN,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAwErC;;OAEG;IACI,KAAK;IA0BL,IAAI;IAOX;;;;OAIG;IACI,GAAG,CAAC,UAAU,EAAE,cAAc,GAAG,IAAI;IAI5C;;OAEG;IACH,SAAS,CAAC,cAAc;IA2BxB;;OAEG;IACH,SAAS,CAAC,YAAY;CAkFvB"}
|
package/lib/mjs/server.js
CHANGED
|
@@ -22,6 +22,7 @@ import '@spinajs/templates-pug';
|
|
|
22
22
|
import { Templates } from '@spinajs/templates';
|
|
23
23
|
import _ from 'lodash';
|
|
24
24
|
import randomstring from 'randomstring';
|
|
25
|
+
import { ValidationError } from './response-methods/validationError.js';
|
|
25
26
|
let HttpServer = class HttpServer extends AsyncService {
|
|
26
27
|
constructor() {
|
|
27
28
|
super();
|
|
@@ -178,29 +179,31 @@ let HttpServer = class HttpServer extends AsyncService {
|
|
|
178
179
|
let response = null;
|
|
179
180
|
switch (err.constructor) {
|
|
180
181
|
case AuthenticationFailed:
|
|
181
|
-
response = new Unauthorized(
|
|
182
|
+
response = new Unauthorized(error);
|
|
182
183
|
break;
|
|
183
184
|
case Forbidden:
|
|
184
|
-
response = new ForbiddenResponse(
|
|
185
|
+
response = new ForbiddenResponse(error);
|
|
185
186
|
break;
|
|
186
187
|
case ResourceDuplicated:
|
|
187
|
-
response = new Conflict(
|
|
188
|
+
response = new Conflict(error);
|
|
189
|
+
break;
|
|
190
|
+
case ValidationFailed:
|
|
191
|
+
response = new ValidationError(error);
|
|
188
192
|
break;
|
|
189
193
|
case InvalidArgument:
|
|
190
194
|
case BadRequest:
|
|
191
|
-
case ValidationFailed:
|
|
192
195
|
case JsonValidationFailed:
|
|
193
196
|
case ExpectedResponseUnacceptable:
|
|
194
|
-
response = new BadRequestResponse(
|
|
197
|
+
response = new BadRequestResponse(error);
|
|
195
198
|
break;
|
|
196
199
|
case ResourceNotFound:
|
|
197
|
-
response = new NotFound(
|
|
200
|
+
response = new NotFound(error);
|
|
198
201
|
break;
|
|
199
202
|
case UnexpectedServerError:
|
|
200
203
|
case IOFail:
|
|
201
204
|
case MethodNotImplemented:
|
|
202
205
|
default:
|
|
203
|
-
response = new ServerError(
|
|
206
|
+
response = new ServerError(error);
|
|
204
207
|
break;
|
|
205
208
|
}
|
|
206
209
|
response
|
package/lib/mjs/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,YAAY,EAAc,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACtG,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAG3C,OAAO,EAAgC,gBAAgB,EAAoB,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACxI,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAEhC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,MAAM,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAClP,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,IAAI,kBAAkB,EAAE,SAAS,IAAI,iBAAiB,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC9J,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,yBAAyB,CAAC;AACjC,OAAO,wBAAwB,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,CAAC,MAAM,QAAQ,CAAC;AACvB,OAAO,YAAY,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
|