@forklaunch/core 0.1.0 → 0.1.1
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/dist/cache/redisTtlCache.js.map +1 -1
- package/dist/entityMapper/models/baseEntityMapper.model.js +2 -2
- package/dist/entityMapper/models/baseEntityMapper.model.js.map +1 -1
- package/dist/entityMapper/models/requestEntityMapper.model.d.ts +2 -2
- package/dist/entityMapper/models/requestEntityMapper.model.js +2 -2
- package/dist/entityMapper/models/requestEntityMapper.model.js.map +1 -1
- package/dist/entityMapper/models/responseEntityMapper.model.js.map +1 -1
- package/dist/http/middlewares/request.middleware.d.ts +7 -7
- package/dist/http/middlewares/request.middleware.js +9 -10
- package/dist/http/middlewares/request.middleware.js.map +1 -1
- package/dist/http/middlewares/response.middleware.d.ts +2 -1
- package/dist/http/middlewares/response.middleware.js +2 -3
- package/dist/http/middlewares/response.middleware.js.map +1 -1
- package/dist/http/types/api.types.d.ts +0 -1
- package/entityMapper/models/requestEntityMapper.model.ts +2 -3
- package/http/middlewares/request.middleware.ts +26 -18
- package/http/middlewares/response.middleware.ts +4 -3
- package/package.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"redisTtlCache.js","sourceRoot":"","sources":["../../cache/redisTtlCache.ts"],"names":[],"mappings":";;;AAAA,iCAAqC;AAIrC;;;GAGG;AACH,MAAa,aAAa;IAQJ;IAPZ,MAAM,CAAC;IAEf;;;;OAIG;IACH,YAAoB,eAAuB;QAAvB,oBAAe,GAAf,eAAe,CAAQ;QACzC,wCAAwC;QACxC,0EAA0E;QAC1E,IAAI,CAAC,MAAM,GAAG,IAAA,oBAAY,GAAE,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC,CAAC;QACzE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YAC7B,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,iCAAiC,CAAC,CAAC,CAAE,aAAa;QACrF,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC,eAAe,EAAkB;QACpF,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAChD,EAAE,EAAE,eAAe;SACpB,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAAC,cAAsB;QACvC,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACxC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,UAAU,CAAC,cAAsB;QACrC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACpD,IAAI,KAAK,KAAK,IAAI,EAAE;
|
1
|
+
{"version":3,"file":"redisTtlCache.js","sourceRoot":"","sources":["../../cache/redisTtlCache.ts"],"names":[],"mappings":";;;AAAA,iCAAqC;AAIrC;;;GAGG;AACH,MAAa,aAAa;IAQJ;IAPZ,MAAM,CAAC;IAEf;;;;OAIG;IACH,YAAoB,eAAuB;QAAvB,oBAAe,GAAf,eAAe,CAAQ;QACzC,wCAAwC;QACxC,0EAA0E;QAC1E,IAAI,CAAC,MAAM,GAAG,IAAA,oBAAY,GAAE,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC,CAAC;QACzE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YAC7B,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,iCAAiC,CAAC,CAAC,CAAE,aAAa;QACrF,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC,eAAe,EAAkB;QACpF,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAChD,EAAE,EAAE,eAAe;SACpB,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAAC,cAAsB;QACvC,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACxC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,UAAU,CAAC,cAAsB;QACrC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACpD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,6BAA6B,cAAc,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,uBAAuB;QAC1E,OAAO;YACL,GAAG,EAAE,cAAc;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YACxB,eAAe,EAAE,GAAG,GAAG,IAAI;SAC5B,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CAAC,cAAsB;QACnC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CAAC,cAAsB;QACrC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACxD,OAAO,MAAM,KAAK,CAAC,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACH,kBAAkB;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;CACF;AApGD,sCAoGC"}
|
@@ -1,6 +1,7 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.BaseEntityMapper =
|
3
|
+
exports.BaseEntityMapper = void 0;
|
4
|
+
exports.construct = construct;
|
4
5
|
/**
|
5
6
|
* Constructs an instance of a EntityMapperType.
|
6
7
|
*
|
@@ -12,7 +13,6 @@ exports.BaseEntityMapper = exports.construct = void 0;
|
|
12
13
|
function construct(self, schemaValidator) {
|
13
14
|
return new self(schemaValidator || {});
|
14
15
|
}
|
15
|
-
exports.construct = construct;
|
16
16
|
/**
|
17
17
|
* Abstract class representing a base entityMapper.
|
18
18
|
*
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"baseEntityMapper.model.js","sourceRoot":"","sources":["../../../entityMapper/models/baseEntityMapper.model.ts"],"names":[],"mappings":";;;
|
1
|
+
{"version":3,"file":"baseEntityMapper.model.js","sourceRoot":"","sources":["../../../entityMapper/models/baseEntityMapper.model.ts"],"names":[],"mappings":";;;AAYA,8BAEC;AAVD;;;;;;;GAOG;AACH,SAAgB,SAAS,CAA+C,IAAmD,EAAE,eAAoB;IAC7I,OAAO,IAAI,IAAI,CAAC,eAAe,IAAI,EAAQ,CAAC,CAAC;AACjD,CAAC;AAED;;;;GAIG;AACH,MAAsB,gBAAgB;IACjC;;;;MAIE;IACH,GAAG,CAAM;IAET;;;;OAIG;IACO,eAAe,CAAK;IAS9B;;;;OAIG;IACH,IAAI,GAA2C,EAAuD,CAAC;IAEvG;;;;OAIG;IACH,YAAY,eAAmB;QAC3B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IAC3C,CAAC;IAED;;;;;OAKG;IACH,IAAI,GAAG,CAAC,IAAkB;QACtB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;YACnF,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,IAAyD,CAAC;IAC1E,CAAC;IAED;;;;;OAKG;IACH,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,IAA+B,CAAC;IAChD,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,MAAM;QACT,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IAClC,CAAC;CACJ;AAvED,4CAuEC"}
|
@@ -51,7 +51,7 @@ export declare abstract class RequestEntityMapper<Entity extends BaseEntity | un
|
|
51
51
|
* @template EntityMapperType - A type that extends RequestEntityMapper.
|
52
52
|
* @param {EntityMapperConstructor<EntityMapperType>} this - The constructor of the EntityMapperType.
|
53
53
|
* @param {EntityMapperType['_SV']} schemaValidator - The schema provider.
|
54
|
-
* @param {
|
54
|
+
* @param {EntityMapperType['_dto']} json - The JSON object.
|
55
55
|
* @returns {EntityMapperType} - An instance of the EntityMapperType.
|
56
56
|
*/
|
57
57
|
static fromJson<EntityMapperType extends RequestEntityMapper<unknown, any>>(this: EntityMapperConstructor<EntityMapperType, EntityMapperType['_SV']>, schemaValidator: EntityMapperType['_SV'], json: EntityMapperType['_dto']): EntityMapperType;
|
@@ -61,7 +61,7 @@ export declare abstract class RequestEntityMapper<Entity extends BaseEntity | un
|
|
61
61
|
* @template EntityMapperType - A type that extends RequestEntityMapper.
|
62
62
|
* @param {EntityMapperConstructor<EntityMapperType>} this - The constructor of the EntityMapperType.
|
63
63
|
* @param {EntityMapperType['_SV']} schemaValidator - The schema provider.
|
64
|
-
* @param {
|
64
|
+
* @param {EntityMapperType['_dto']} json - The JSON object.
|
65
65
|
* @param {...unknown[]} additionalArgs - Additional arguments.
|
66
66
|
* @returns {EntityMapperType['_Entity']} - The entity.
|
67
67
|
*/
|
@@ -53,7 +53,7 @@ class RequestEntityMapper extends baseEntityMapper_model_1.BaseEntityMapper {
|
|
53
53
|
* @template EntityMapperType - A type that extends RequestEntityMapper.
|
54
54
|
* @param {EntityMapperConstructor<EntityMapperType>} this - The constructor of the EntityMapperType.
|
55
55
|
* @param {EntityMapperType['_SV']} schemaValidator - The schema provider.
|
56
|
-
* @param {
|
56
|
+
* @param {EntityMapperType['_dto']} json - The JSON object.
|
57
57
|
* @returns {EntityMapperType} - An instance of the EntityMapperType.
|
58
58
|
*/
|
59
59
|
static fromJson(schemaValidator, json) {
|
@@ -65,7 +65,7 @@ class RequestEntityMapper extends baseEntityMapper_model_1.BaseEntityMapper {
|
|
65
65
|
* @template EntityMapperType - A type that extends RequestEntityMapper.
|
66
66
|
* @param {EntityMapperConstructor<EntityMapperType>} this - The constructor of the EntityMapperType.
|
67
67
|
* @param {EntityMapperType['_SV']} schemaValidator - The schema provider.
|
68
|
-
* @param {
|
68
|
+
* @param {EntityMapperType['_dto']} json - The JSON object.
|
69
69
|
* @param {...unknown[]} additionalArgs - Additional arguments.
|
70
70
|
* @returns {EntityMapperType['_Entity']} - The entity.
|
71
71
|
*/
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"requestEntityMapper.model.js","sourceRoot":"","sources":["../../../entityMapper/models/requestEntityMapper.model.ts"],"names":[],"mappings":";;;
|
1
|
+
{"version":3,"file":"requestEntityMapper.model.js","sourceRoot":"","sources":["../../../entityMapper/models/requestEntityMapper.model.ts"],"names":[],"mappings":";;;AAGA,qEAAuE;AAEvE;;;;;;GAMG;AACH,MAAsB,mBAAqF,SAAQ,yCAAoB;IACnI;;;;OAIG;IACH,OAAO,CAAU;IAEjB;;;;OAIG;IACH,YAAY,eAAmB;QAC3B,KAAK,CAAC,eAAe,CAAC,CAAC;IAC3B,CAAC;IAWD;;;;;OAKG;IACH,QAAQ,CAAC,IAAkB;QACvB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;YACnF,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;QAChB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACH,uBAAuB,CAAC,IAAkB,EAAE,GAAG,cAAyB;QACpE,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,cAAc,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,QAAQ,CAAuI,eAAwC,EAAE,IAA8B;QAC1N,OAAO,IAAA,kCAAS,EAAC,IAAI,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,IAA2C,CAAC,CAAC;IAClG,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,uBAAuB,CAAuI,eAAwC,EAAE,IAA8B,EAAE,GAAG,cAAyB;QACvQ,OAAO,IAAA,kCAAS,EAAC,IAAI,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,IAAgC,CAAC,CAAC,QAAQ,CAAC,GAAG,cAAc,CAAC,CAAC;IACnH,CAAC;CACJ;AA7ED,kDA6EC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"responseEntityMapper.model.js","sourceRoot":"","sources":["../../../entityMapper/models/responseEntityMapper.model.ts"],"names":[],"mappings":";;;AAIA,qEAAuE;AAEvE;;;;;;GAMG;AACH,MAAsB,oBAAsF,SAAQ,yCAAoB;IACpI;;;;OAIG;IACH,OAAO,CAAU;IAWjB;;;;;OAKG;IACH,MAAM;QACF,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE;
|
1
|
+
{"version":3,"file":"responseEntityMapper.model.js","sourceRoot":"","sources":["../../../entityMapper/models/responseEntityMapper.model.ts"],"names":[],"mappings":";;;AAIA,qEAAuE;AAEvE;;;;;;GAMG;AACH,MAAsB,oBAAsF,SAAQ,yCAAoB;IACpI;;;;OAIG;IACH,OAAO,CAAU;IAWjB;;;;;OAKG;IACH,MAAM;QACF,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACvF,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC;IACpB,CAAC;IAED;;;;;OAKG;IACH,qBAAqB,CAAC,MAAc;QAChC,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;IAC5C,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CAAwI,eAAwC,EAAE,MAAmC;QAClO,OAAO,IAAA,kCAAS,EAAC,IAAI,EAAE,eAAe,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,qBAAqB,CAAwI,eAAwC,EAAE,MAAmC;QAC7O,OAAO,IAAA,kCAAS,EAAC,IAAI,EAAE,eAAe,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAA+C,CAAC;IACxH,CAAC;CACJ;AA/DD,oDA+DC"}
|
@@ -1,11 +1,11 @@
|
|
1
1
|
import { SchemaValidator } from "@forklaunch/validator/interfaces";
|
2
2
|
import { ForklaunchNextFunction, ForklaunchRequest, ForklaunchResponse } from "../types/api.types";
|
3
3
|
import { HttpContractDetails, PathParamHttpContractDetails, StringOnlyObject } from "../types/primitive.types";
|
4
|
-
export declare function createRequestContext<
|
5
|
-
export declare function enrichRequestDetails<SV extends SchemaValidator, Request extends ForklaunchRequest<
|
4
|
+
export declare function createRequestContext<SV extends SchemaValidator, Request extends ForklaunchRequest<SV>, Response extends ForklaunchResponse, NextFunction extends ForklaunchNextFunction>(schemaValidator: SV): (req: Request, res: Response, next?: NextFunction) => void;
|
5
|
+
export declare function enrichRequestDetails<SV extends SchemaValidator, Request extends ForklaunchRequest<SV>, Response extends ForklaunchResponse, NextFunction extends ForklaunchNextFunction>(contractDetails: PathParamHttpContractDetails<SV> | HttpContractDetails<SV>): (req: Request, _res: Response, next?: NextFunction) => void;
|
6
6
|
export declare function preHandlerParse<SV extends SchemaValidator>(schemaValidator: SV, object: unknown, schemaInput?: StringOnlyObject<SV>): 400 | undefined;
|
7
|
-
export declare function parseRequestParams<
|
8
|
-
export declare function parseRequestBody<
|
9
|
-
export declare function parseRequestHeaders<
|
10
|
-
export declare function parseRequestQuery<
|
11
|
-
export declare function parseRequestAuth<
|
7
|
+
export declare function parseRequestParams<SV extends SchemaValidator, Request extends ForklaunchRequest<SV>, Response extends ForklaunchResponse, NextFunction extends ForklaunchNextFunction>(req: Request, res: Response, next?: NextFunction): void;
|
8
|
+
export declare function parseRequestBody<SV extends SchemaValidator, Request extends ForklaunchRequest<SV>, Response extends ForklaunchResponse, NextFunction extends ForklaunchNextFunction>(req: Request, res: Response, next?: NextFunction): void;
|
9
|
+
export declare function parseRequestHeaders<SV extends SchemaValidator, Request extends ForklaunchRequest<SV>, Response extends ForklaunchResponse, NextFunction extends ForklaunchNextFunction>(req: Request, res: Response, next?: NextFunction): void;
|
10
|
+
export declare function parseRequestQuery<SV extends SchemaValidator, Request extends ForklaunchRequest<SV>, Response extends ForklaunchResponse, NextFunction extends ForklaunchNextFunction>(req: Request, res: Response, next?: NextFunction): void;
|
11
|
+
export declare function parseRequestAuth<SV extends SchemaValidator, Request extends ForklaunchRequest<SV>, Response extends ForklaunchResponse, NextFunction extends ForklaunchNextFunction>(req: Request, res: Response, next?: NextFunction): Promise<void>;
|
@@ -23,7 +23,14 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
23
23
|
return result;
|
24
24
|
};
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
26
|
-
exports.
|
26
|
+
exports.createRequestContext = createRequestContext;
|
27
|
+
exports.enrichRequestDetails = enrichRequestDetails;
|
28
|
+
exports.preHandlerParse = preHandlerParse;
|
29
|
+
exports.parseRequestParams = parseRequestParams;
|
30
|
+
exports.parseRequestBody = parseRequestBody;
|
31
|
+
exports.parseRequestHeaders = parseRequestHeaders;
|
32
|
+
exports.parseRequestQuery = parseRequestQuery;
|
33
|
+
exports.parseRequestAuth = parseRequestAuth;
|
27
34
|
const jose = __importStar(require("jose"));
|
28
35
|
const uuid_1 = require("uuid");
|
29
36
|
function createRequestContext(schemaValidator) {
|
@@ -42,7 +49,6 @@ function createRequestContext(schemaValidator) {
|
|
42
49
|
}
|
43
50
|
};
|
44
51
|
}
|
45
|
-
exports.createRequestContext = createRequestContext;
|
46
52
|
function enrichRequestDetails(contractDetails) {
|
47
53
|
return (req, _res, next) => {
|
48
54
|
req.contractDetails = contractDetails;
|
@@ -51,7 +57,6 @@ function enrichRequestDetails(contractDetails) {
|
|
51
57
|
}
|
52
58
|
};
|
53
59
|
}
|
54
|
-
exports.enrichRequestDetails = enrichRequestDetails;
|
55
60
|
function preHandlerParse(schemaValidator, object, schemaInput) {
|
56
61
|
if (!schemaInput) {
|
57
62
|
return;
|
@@ -61,7 +66,6 @@ function preHandlerParse(schemaValidator, object, schemaInput) {
|
|
61
66
|
return 400;
|
62
67
|
}
|
63
68
|
}
|
64
|
-
exports.preHandlerParse = preHandlerParse;
|
65
69
|
function parseRequestParams(req, res, next) {
|
66
70
|
const params = req.contractDetails.params;
|
67
71
|
if (preHandlerParse(req.schemaValidator, req.params, params) === 400) {
|
@@ -75,7 +79,6 @@ function parseRequestParams(req, res, next) {
|
|
75
79
|
next();
|
76
80
|
}
|
77
81
|
}
|
78
|
-
exports.parseRequestParams = parseRequestParams;
|
79
82
|
function parseRequestBody(req, res, next) {
|
80
83
|
if (req.headers['content-type'] === 'application/json') {
|
81
84
|
const body = (req.schemaValidator, req.contractDetails).body;
|
@@ -90,7 +93,6 @@ function parseRequestBody(req, res, next) {
|
|
90
93
|
next();
|
91
94
|
}
|
92
95
|
}
|
93
|
-
exports.parseRequestBody = parseRequestBody;
|
94
96
|
function parseRequestHeaders(req, res, next) {
|
95
97
|
const headers = req.contractDetails.requestHeaders;
|
96
98
|
if (preHandlerParse(req.schemaValidator, req.headers, headers) === 400) {
|
@@ -103,10 +105,9 @@ function parseRequestHeaders(req, res, next) {
|
|
103
105
|
next();
|
104
106
|
}
|
105
107
|
}
|
106
|
-
exports.parseRequestHeaders = parseRequestHeaders;
|
107
108
|
function parseRequestQuery(req, res, next) {
|
108
109
|
const query = req.contractDetails.query;
|
109
|
-
if (preHandlerParse(req.query, query) === 400) {
|
110
|
+
if (preHandlerParse(req.schemaValidator, req.query, query) === 400) {
|
110
111
|
res.status(400).send("Invalid request query.");
|
111
112
|
if (next) {
|
112
113
|
next(new Error("Invalid request query."));
|
@@ -116,7 +117,6 @@ function parseRequestQuery(req, res, next) {
|
|
116
117
|
next();
|
117
118
|
}
|
118
119
|
}
|
119
|
-
exports.parseRequestQuery = parseRequestQuery;
|
120
120
|
async function checkAuthorizationToken(authorizationMethod, authorizationString) {
|
121
121
|
if (!authorizationString) {
|
122
122
|
return [401, "No Authorization token provided."];
|
@@ -183,5 +183,4 @@ async function parseRequestAuth(req, res, next) {
|
|
183
183
|
// next();
|
184
184
|
// }
|
185
185
|
}
|
186
|
-
exports.parseRequestAuth = parseRequestAuth;
|
187
186
|
//# sourceMappingURL=request.middleware.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"request.middleware.js","sourceRoot":"","sources":["../../../http/middlewares/request.middleware.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"request.middleware.js","sourceRoot":"","sources":["../../../http/middlewares/request.middleware.ts"],"names":[],"mappings":"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"}
|
@@ -1,2 +1,3 @@
|
|
1
|
+
import { SchemaValidator } from "@forklaunch/validator/interfaces";
|
1
2
|
import { ForklaunchNextFunction, ForklaunchRequest, ForklaunchResponse } from "../types/api.types";
|
2
|
-
export declare function parseResponse<
|
3
|
+
export declare function parseResponse<SV extends SchemaValidator, Request extends ForklaunchRequest<SV>, Response extends ForklaunchResponse, NextFunction extends ForklaunchNextFunction>(req: Request, res: Response, next?: NextFunction): void;
|
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.parseResponse =
|
3
|
+
exports.parseResponse = parseResponse;
|
4
4
|
function checkAnyValidation(contractDetails) {
|
5
5
|
return contractDetails.body || contractDetails.params || contractDetails.requestHeaders || contractDetails.query;
|
6
6
|
}
|
@@ -14,7 +14,7 @@ function parseResponse(req, res, next) {
|
|
14
14
|
(req.contractDetails.auth && (res.statusCode === 401 || res.statusCode === 403))) {
|
15
15
|
return;
|
16
16
|
}
|
17
|
-
if (!req.contractDetails.responses
|
17
|
+
if (Object.prototype.hasOwnProperty.call(!req.contractDetails.responses, res.statusCode)) {
|
18
18
|
if (next) {
|
19
19
|
next(new Error(`Response code ${res.statusCode} not defined in contract.`));
|
20
20
|
}
|
@@ -26,5 +26,4 @@ function parseResponse(req, res, next) {
|
|
26
26
|
next();
|
27
27
|
}
|
28
28
|
}
|
29
|
-
exports.parseResponse = parseResponse;
|
30
29
|
//# sourceMappingURL=response.middleware.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"response.middleware.js","sourceRoot":"","sources":["../../../http/middlewares/response.middleware.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"response.middleware.js","sourceRoot":"","sources":["../../../http/middlewares/response.middleware.ts"],"names":[],"mappings":";;AAQA,sCA6BC;AAjCD,SAAS,kBAAkB,CAA6B,eAAwC;IAC5F,OAAO,eAAe,CAAC,IAAI,IAAI,eAAe,CAAC,MAAM,IAAI,eAAe,CAAC,cAAc,IAAI,eAAe,CAAC,KAAK,CAAC;AACrH,CAAC;AAED,SAAgB,aAAa,CAK1B,GAAY,EAAE,GAAa,EAAE,IAAmB;IAC/C,IAAI,GAAG,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;QACjF,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG;QACtB,CAAC,kBAAkB,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC;QACnE,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,KAAK,GAAG,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC,EAClF,CAAC;QACC,OAAO;IACX,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,EAAE,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QACvF,IAAI,IAAI,EAAE,CAAC;YACP,IAAI,CAAC,IAAI,KAAK,CAAC,iBAAiB,GAAG,CAAC,UAAU,2BAA2B,CAAC,CAAC,CAAC;QAChF,CAAC;QAAA,CAAC;IACN,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;IAC3F,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAEnD,IAAI,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,CAAC;IACX,CAAC;AACL,CAAC"}
|
@@ -1,7 +1,6 @@
|
|
1
1
|
import { SchemaValidator } from "@forklaunch/validator/interfaces";
|
2
2
|
import { BaseEntity } from "../../database/mikro/models/entities/base.entity";
|
3
3
|
import { EntityMapperConstructor } from "../interfaces/entityMapper.interface";
|
4
|
-
import { EntityMapperStaticSchema } from "../types/entityMapper.types";
|
5
4
|
import { BaseEntityMapper, construct } from "./baseEntityMapper.model";
|
6
5
|
|
7
6
|
/**
|
@@ -68,7 +67,7 @@ export abstract class RequestEntityMapper<Entity extends BaseEntity | unknown, S
|
|
68
67
|
* @template EntityMapperType - A type that extends RequestEntityMapper.
|
69
68
|
* @param {EntityMapperConstructor<EntityMapperType>} this - The constructor of the EntityMapperType.
|
70
69
|
* @param {EntityMapperType['_SV']} schemaValidator - The schema provider.
|
71
|
-
* @param {
|
70
|
+
* @param {EntityMapperType['_dto']} json - The JSON object.
|
72
71
|
* @returns {EntityMapperType} - An instance of the EntityMapperType.
|
73
72
|
*/
|
74
73
|
static fromJson<EntityMapperType extends RequestEntityMapper<unknown, any>>(this: EntityMapperConstructor<EntityMapperType, EntityMapperType['_SV']>, schemaValidator: EntityMapperType['_SV'], json: EntityMapperType['_dto']): EntityMapperType {
|
@@ -81,7 +80,7 @@ export abstract class RequestEntityMapper<Entity extends BaseEntity | unknown, S
|
|
81
80
|
* @template EntityMapperType - A type that extends RequestEntityMapper.
|
82
81
|
* @param {EntityMapperConstructor<EntityMapperType>} this - The constructor of the EntityMapperType.
|
83
82
|
* @param {EntityMapperType['_SV']} schemaValidator - The schema provider.
|
84
|
-
* @param {
|
83
|
+
* @param {EntityMapperType['_dto']} json - The JSON object.
|
85
84
|
* @param {...unknown[]} additionalArgs - Additional arguments.
|
86
85
|
* @returns {EntityMapperType['_Entity']} - The entity.
|
87
86
|
*/
|
@@ -5,10 +5,12 @@ import { ForklaunchNextFunction, ForklaunchRequest, ForklaunchResponse } from ".
|
|
5
5
|
import { AuthMethod, HttpContractDetails, PathParamHttpContractDetails, StringOnlyObject } from "../types/primitive.types";
|
6
6
|
|
7
7
|
export function createRequestContext<
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
8
|
+
SV extends SchemaValidator,
|
9
|
+
Request extends ForklaunchRequest<SV>,
|
10
|
+
Response extends ForklaunchResponse,
|
11
|
+
NextFunction extends ForklaunchNextFunction
|
12
|
+
>(schemaValidator: SV) {
|
13
|
+
return (req: Request, res: Response, next?: NextFunction) => {
|
12
14
|
req.schemaValidator = schemaValidator;
|
13
15
|
|
14
16
|
let correlationId = v4();
|
@@ -31,10 +33,11 @@ export function createRequestContext<
|
|
31
33
|
|
32
34
|
export function enrichRequestDetails<
|
33
35
|
SV extends SchemaValidator,
|
34
|
-
Request extends ForklaunchRequest<
|
35
|
-
Response extends ForklaunchResponse
|
36
|
+
Request extends ForklaunchRequest<SV>,
|
37
|
+
Response extends ForklaunchResponse,
|
38
|
+
NextFunction extends ForklaunchNextFunction
|
36
39
|
>(contractDetails: PathParamHttpContractDetails<SV> | HttpContractDetails<SV>) {
|
37
|
-
return (req: Request, _res: Response, next?:
|
40
|
+
return (req: Request, _res: Response, next?: NextFunction) => {
|
38
41
|
req.contractDetails = contractDetails;
|
39
42
|
|
40
43
|
if (next) {
|
@@ -55,8 +58,9 @@ export function preHandlerParse<SV extends SchemaValidator>(schemaValidator: SV,
|
|
55
58
|
}
|
56
59
|
|
57
60
|
export function parseRequestParams<
|
58
|
-
|
59
|
-
|
61
|
+
SV extends SchemaValidator,
|
62
|
+
Request extends ForklaunchRequest<SV>,
|
63
|
+
Response extends ForklaunchResponse,
|
60
64
|
NextFunction extends ForklaunchNextFunction
|
61
65
|
>(req: Request, res: Response, next?: NextFunction) {
|
62
66
|
const params = req.contractDetails.params;
|
@@ -72,8 +76,9 @@ export function parseRequestParams<
|
|
72
76
|
}
|
73
77
|
|
74
78
|
export function parseRequestBody<
|
75
|
-
|
76
|
-
|
79
|
+
SV extends SchemaValidator,
|
80
|
+
Request extends ForklaunchRequest<SV>,
|
81
|
+
Response extends ForklaunchResponse,
|
77
82
|
NextFunction extends ForklaunchNextFunction
|
78
83
|
>(req: Request, res: Response, next?: NextFunction) {
|
79
84
|
if (req.headers['content-type'] === 'application/json') {
|
@@ -91,8 +96,9 @@ export function parseRequestBody<
|
|
91
96
|
}
|
92
97
|
|
93
98
|
export function parseRequestHeaders<
|
94
|
-
|
95
|
-
|
99
|
+
SV extends SchemaValidator,
|
100
|
+
Request extends ForklaunchRequest<SV>,
|
101
|
+
Response extends ForklaunchResponse,
|
96
102
|
NextFunction extends ForklaunchNextFunction
|
97
103
|
> (req: Request, res: Response, next?: NextFunction) {
|
98
104
|
const headers = req.contractDetails.requestHeaders;
|
@@ -108,12 +114,13 @@ export function parseRequestHeaders<
|
|
108
114
|
}
|
109
115
|
|
110
116
|
export function parseRequestQuery<
|
111
|
-
|
112
|
-
|
117
|
+
SV extends SchemaValidator,
|
118
|
+
Request extends ForklaunchRequest<SV>,
|
119
|
+
Response extends ForklaunchResponse,
|
113
120
|
NextFunction extends ForklaunchNextFunction
|
114
121
|
>(req: Request, res: Response, next?: NextFunction) {
|
115
122
|
const query = req.contractDetails.query;
|
116
|
-
if (preHandlerParse(req.query, query) === 400) {
|
123
|
+
if (preHandlerParse(req.schemaValidator, req.query, query) === 400) {
|
117
124
|
res.status(400).send("Invalid request query.");
|
118
125
|
if (next) {
|
119
126
|
next(new Error("Invalid request query."));
|
@@ -154,8 +161,9 @@ function mapPermissions(authorizationType?: AuthMethod, authorizationToken?: str
|
|
154
161
|
}
|
155
162
|
|
156
163
|
export async function parseRequestAuth<
|
157
|
-
|
158
|
-
|
164
|
+
SV extends SchemaValidator,
|
165
|
+
Request extends ForklaunchRequest<SV>,
|
166
|
+
Response extends ForklaunchResponse,
|
159
167
|
NextFunction extends ForklaunchNextFunction
|
160
168
|
>(req: Request, res: Response, next?: NextFunction) {
|
161
169
|
const auth = req.contractDetails.auth;
|
@@ -7,8 +7,9 @@ function checkAnyValidation<SV extends SchemaValidator>(contractDetails: HttpCon
|
|
7
7
|
}
|
8
8
|
|
9
9
|
export function parseResponse<
|
10
|
-
|
11
|
-
|
10
|
+
SV extends SchemaValidator,
|
11
|
+
Request extends ForklaunchRequest<SV>,
|
12
|
+
Response extends ForklaunchResponse,
|
12
13
|
NextFunction extends ForklaunchNextFunction
|
13
14
|
> (req: Request, res: Response, next?: NextFunction) {
|
14
15
|
if (req.contractDetails.responseHeaders) {
|
@@ -22,7 +23,7 @@ export function parseResponse<
|
|
22
23
|
) {
|
23
24
|
return;
|
24
25
|
}
|
25
|
-
if (!req.contractDetails.responses
|
26
|
+
if (Object.prototype.hasOwnProperty.call(!req.contractDetails.responses, res.statusCode)) {
|
26
27
|
if (next) {
|
27
28
|
next(new Error(`Response code ${res.statusCode} not defined in contract.`));
|
28
29
|
};
|