itrm-tools 1.0.2 → 1.0.3
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/api/check/CheckableAPIRequest.d.ts +6 -3
- package/dist/api/check/CheckableAPIRequest.js +33 -23
- package/dist/api/check/CheckableAPIRequest.js.map +1 -1
- package/dist/api/check/request/CheckableDeleteRequest.d.ts +1 -2
- package/dist/api/check/request/CheckableDeleteRequest.js +2 -2
- package/dist/api/check/request/CheckableDeleteRequest.js.map +1 -1
- package/dist/api/check/request/CheckableGetRequest.d.ts +1 -2
- package/dist/api/check/request/CheckableGetRequest.js +2 -2
- package/dist/api/check/request/CheckableGetRequest.js.map +1 -1
- package/dist/api/check/request/CheckablePostRequest.d.ts +1 -2
- package/dist/api/check/request/CheckablePostRequest.js +2 -2
- package/dist/api/check/request/CheckablePostRequest.js.map +1 -1
- package/dist/api/check/request/CheckablePutRequest.d.ts +1 -2
- package/dist/api/check/request/CheckablePutRequest.js +2 -2
- package/dist/api/check/request/CheckablePutRequest.js.map +1 -1
- package/package.json +1 -1
|
@@ -3,8 +3,11 @@ import { APIRequest, APIRequestConfig, RequestMethod } from "../APIRequest";
|
|
|
3
3
|
import { APIChecker, APICheckResult } from "./APIChecker";
|
|
4
4
|
export declare abstract class CheckableAPIRequest extends APIRequest {
|
|
5
5
|
private checkers;
|
|
6
|
-
constructor(method: RequestMethod, config: APIRequestConfig
|
|
6
|
+
constructor(method: RequestMethod, config: APIRequestConfig);
|
|
7
|
+
addChecker(checker: APIChecker): void;
|
|
7
8
|
check(req: Request, res: Response, next: NextFunction): Promise<void | Response<any, Record<string, any>>>;
|
|
8
|
-
|
|
9
|
-
|
|
9
|
+
private reject;
|
|
10
|
+
protected applyChecks(req: Request): Promise<APICheckResult>;
|
|
11
|
+
private applyCheck;
|
|
12
|
+
protected abstract getCheckConfiguration(): any;
|
|
10
13
|
}
|
|
@@ -13,41 +13,51 @@ exports.CheckableAPIRequest = void 0;
|
|
|
13
13
|
const APIRequest_1 = require("../APIRequest");
|
|
14
14
|
const APIService_1 = require("../APIService");
|
|
15
15
|
class CheckableAPIRequest extends APIRequest_1.APIRequest {
|
|
16
|
-
constructor(method, config
|
|
16
|
+
constructor(method, config) {
|
|
17
17
|
super(method, config);
|
|
18
|
-
this.checkers =
|
|
18
|
+
this.checkers = [];
|
|
19
|
+
}
|
|
20
|
+
addChecker(checker) {
|
|
21
|
+
this.checkers.push(checker);
|
|
19
22
|
}
|
|
20
23
|
check(req, res, next) {
|
|
21
24
|
return __awaiter(this, void 0, void 0, function* () {
|
|
22
25
|
let request = APIService_1.ITRMAPIServiceGlobal.requests[req.method + "_" + req.route.path];
|
|
23
|
-
let result = yield request.applyChecks(
|
|
26
|
+
let result = yield request.applyChecks(req);
|
|
24
27
|
if (result.approved)
|
|
25
|
-
return next();
|
|
26
|
-
|
|
27
|
-
return res.status(result.rejection.code).json(result.rejection.payload);
|
|
28
|
-
return res.status(401).json({ message: 'Unknown reason' });
|
|
28
|
+
return yield next();
|
|
29
|
+
return yield request.reject(res, result);
|
|
29
30
|
});
|
|
30
31
|
}
|
|
31
|
-
|
|
32
|
+
reject(res, result) {
|
|
33
|
+
if (result.rejection)
|
|
34
|
+
return res.status(result.rejection.code).json(result.rejection.payload);
|
|
35
|
+
return res.status(401).json({ message: 'Unknown reason' });
|
|
36
|
+
}
|
|
37
|
+
applyChecks(req) {
|
|
32
38
|
return __awaiter(this, void 0, void 0, function* () {
|
|
33
|
-
let
|
|
34
|
-
|
|
35
|
-
if (
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
return result;
|
|
39
|
-
}
|
|
40
|
-
else
|
|
41
|
-
return {
|
|
42
|
-
approved: false,
|
|
43
|
-
rejection: {
|
|
44
|
-
code: 500,
|
|
45
|
-
payload: { message: 'Invalid check configuration' }
|
|
46
|
-
}
|
|
47
|
-
};
|
|
39
|
+
for (let checker of this.checkers) {
|
|
40
|
+
let result = yield this.applyCheck(checker, req);
|
|
41
|
+
if (!result.approved)
|
|
42
|
+
return result;
|
|
43
|
+
}
|
|
48
44
|
return { approved: true };
|
|
49
45
|
});
|
|
50
46
|
}
|
|
47
|
+
applyCheck(checker, req) {
|
|
48
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
49
|
+
let config = this.getCheckConfiguration();
|
|
50
|
+
if (checker.isValidConfiguration(config))
|
|
51
|
+
return yield checker.apply(config, req);
|
|
52
|
+
return {
|
|
53
|
+
approved: false,
|
|
54
|
+
rejection: {
|
|
55
|
+
code: 500,
|
|
56
|
+
payload: { message: 'Invalid check configuration' }
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
});
|
|
60
|
+
}
|
|
51
61
|
}
|
|
52
62
|
exports.CheckableAPIRequest = CheckableAPIRequest;
|
|
53
63
|
//# sourceMappingURL=CheckableAPIRequest.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckableAPIRequest.js","sourceRoot":"","sources":["../../../src/api/check/CheckableAPIRequest.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,8CAA4E;AAC5E,8CAAqD;AAGrD,MAAsB,mBAAoB,SAAQ,uBAAU;IAGxD,YAAY,MAAqB,EAAE,MAAwB
|
|
1
|
+
{"version":3,"file":"CheckableAPIRequest.js","sourceRoot":"","sources":["../../../src/api/check/CheckableAPIRequest.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,8CAA4E;AAC5E,8CAAqD;AAGrD,MAAsB,mBAAoB,SAAQ,uBAAU;IAGxD,YAAY,MAAqB,EAAE,MAAwB;QACvD,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAHlB,aAAQ,GAAiB,EAAE,CAAC;IAIpC,CAAC;IAEM,UAAU,CAAC,OAAmB;QACjC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAEY,KAAK,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;;YAC9D,IAAI,OAAO,GAAwB,iCAAoB,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACpG,IAAI,MAAM,GAAmB,MAAM,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;YAC3D,IAAI,MAAM,CAAC,QAAQ;gBACf,OAAO,MAAM,IAAI,EAAE,CAAC;YACxB,OAAO,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC7C,CAAC;KAAA;IAEO,MAAM,CAAC,GAAa,EAAE,MAAsB;QAChD,IAAI,MAAM,CAAC,SAAS;YAChB,OAAO,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC5E,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC/D,CAAC;IAEe,WAAW,CAAC,GAAY;;YACpC,KAAK,IAAI,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAC/B,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBACjD,IAAI,CAAC,MAAM,CAAC,QAAQ;oBAChB,OAAO,MAAM,CAAC;aACrB;YACD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC9B,CAAC;KAAA;IAEa,UAAU,CAAC,OAAmB,EAAE,GAAY;;YACtD,IAAI,MAAM,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC1C,IAAI,OAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC;gBACpC,OAAO,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC5C,OAAO;gBACH,QAAQ,EAAE,KAAK;gBACf,SAAS,EAAE;oBACP,IAAI,EAAE,GAAG;oBACT,OAAO,EAAE,EAAE,OAAO,EAAE,6BAA6B,EAAE;iBACtD;aACJ,CAAC;QACN,CAAC;KAAA;CAGJ;AAhDD,kDAgDC"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { Express } from "express";
|
|
2
2
|
import { APIRequestConfig } from "../../APIRequest";
|
|
3
|
-
import { APIChecker } from "../APIChecker";
|
|
4
3
|
import { CheckableAPIRequest } from "../CheckableAPIRequest";
|
|
5
4
|
export declare abstract class CheckableDeleteRequest extends CheckableAPIRequest {
|
|
6
|
-
constructor(config: APIRequestConfig
|
|
5
|
+
constructor(config: APIRequestConfig);
|
|
7
6
|
init(app: Express): void;
|
|
8
7
|
}
|
|
@@ -4,8 +4,8 @@ exports.CheckableDeleteRequest = void 0;
|
|
|
4
4
|
const APIRequest_1 = require("../../APIRequest");
|
|
5
5
|
const CheckableAPIRequest_1 = require("../CheckableAPIRequest");
|
|
6
6
|
class CheckableDeleteRequest extends CheckableAPIRequest_1.CheckableAPIRequest {
|
|
7
|
-
constructor(config
|
|
8
|
-
super(APIRequest_1.RequestMethod.DELETE, config
|
|
7
|
+
constructor(config) {
|
|
8
|
+
super(APIRequest_1.RequestMethod.DELETE, config);
|
|
9
9
|
}
|
|
10
10
|
init(app) {
|
|
11
11
|
app.delete(this.path, this.check, this.process);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckableDeleteRequest.js","sourceRoot":"","sources":["../../../../src/api/check/request/CheckableDeleteRequest.ts"],"names":[],"mappings":";;;AACA,iDAAmE;
|
|
1
|
+
{"version":3,"file":"CheckableDeleteRequest.js","sourceRoot":"","sources":["../../../../src/api/check/request/CheckableDeleteRequest.ts"],"names":[],"mappings":";;;AACA,iDAAmE;AACnE,gEAA6D;AAE7D,MAAsB,sBAAuB,SAAQ,yCAAmB;IACpE,YAAY,MAAwB;QAChC,KAAK,CAAC,0BAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;IAEM,IAAI,CAAC,GAAY;QACpB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;CACJ;AARD,wDAQC"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { Express } from "express";
|
|
2
2
|
import { APIRequestConfig } from "../../APIRequest";
|
|
3
|
-
import { APIChecker } from "../APIChecker";
|
|
4
3
|
import { CheckableAPIRequest } from "../CheckableAPIRequest";
|
|
5
4
|
export declare abstract class CheckableGetRequest extends CheckableAPIRequest {
|
|
6
|
-
constructor(config: APIRequestConfig
|
|
5
|
+
constructor(config: APIRequestConfig);
|
|
7
6
|
init(app: Express): void;
|
|
8
7
|
}
|
|
@@ -4,8 +4,8 @@ exports.CheckableGetRequest = void 0;
|
|
|
4
4
|
const APIRequest_1 = require("../../APIRequest");
|
|
5
5
|
const CheckableAPIRequest_1 = require("../CheckableAPIRequest");
|
|
6
6
|
class CheckableGetRequest extends CheckableAPIRequest_1.CheckableAPIRequest {
|
|
7
|
-
constructor(config
|
|
8
|
-
super(APIRequest_1.RequestMethod.GET, config
|
|
7
|
+
constructor(config) {
|
|
8
|
+
super(APIRequest_1.RequestMethod.GET, config);
|
|
9
9
|
}
|
|
10
10
|
init(app) {
|
|
11
11
|
app.get(this.path, this.check, this.process);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckableGetRequest.js","sourceRoot":"","sources":["../../../../src/api/check/request/CheckableGetRequest.ts"],"names":[],"mappings":";;;AACA,iDAAmE;
|
|
1
|
+
{"version":3,"file":"CheckableGetRequest.js","sourceRoot":"","sources":["../../../../src/api/check/request/CheckableGetRequest.ts"],"names":[],"mappings":";;;AACA,iDAAmE;AACnE,gEAA6D;AAE7D,MAAsB,mBAAoB,SAAQ,yCAAmB;IACjE,YAAY,MAAwB;QAChC,KAAK,CAAC,0BAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IAEM,IAAI,CAAC,GAAY;QACpB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;CACJ;AARD,kDAQC"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { Express } from "express";
|
|
2
2
|
import { APIRequestConfig } from "../../APIRequest";
|
|
3
|
-
import { APIChecker } from "../APIChecker";
|
|
4
3
|
import { CheckableAPIRequest } from "../CheckableAPIRequest";
|
|
5
4
|
export declare abstract class CheckablePostRequest extends CheckableAPIRequest {
|
|
6
|
-
constructor(config: APIRequestConfig
|
|
5
|
+
constructor(config: APIRequestConfig);
|
|
7
6
|
init(app: Express): void;
|
|
8
7
|
}
|
|
@@ -4,8 +4,8 @@ exports.CheckablePostRequest = void 0;
|
|
|
4
4
|
const APIRequest_1 = require("../../APIRequest");
|
|
5
5
|
const CheckableAPIRequest_1 = require("../CheckableAPIRequest");
|
|
6
6
|
class CheckablePostRequest extends CheckableAPIRequest_1.CheckableAPIRequest {
|
|
7
|
-
constructor(config
|
|
8
|
-
super(APIRequest_1.RequestMethod.POST, config
|
|
7
|
+
constructor(config) {
|
|
8
|
+
super(APIRequest_1.RequestMethod.POST, config);
|
|
9
9
|
}
|
|
10
10
|
init(app) {
|
|
11
11
|
app.post(this.path, this.check, this.process);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckablePostRequest.js","sourceRoot":"","sources":["../../../../src/api/check/request/CheckablePostRequest.ts"],"names":[],"mappings":";;;AACA,iDAAmE;
|
|
1
|
+
{"version":3,"file":"CheckablePostRequest.js","sourceRoot":"","sources":["../../../../src/api/check/request/CheckablePostRequest.ts"],"names":[],"mappings":";;;AACA,iDAAmE;AACnE,gEAA6D;AAE7D,MAAsB,oBAAqB,SAAQ,yCAAmB;IAClE,YAAY,MAAwB;QAChC,KAAK,CAAC,0BAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAEM,IAAI,CAAC,GAAY;QACpB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;CACJ;AARD,oDAQC"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { Express } from "express";
|
|
2
2
|
import { APIRequestConfig } from "../../APIRequest";
|
|
3
|
-
import { APIChecker } from "../APIChecker";
|
|
4
3
|
import { CheckableAPIRequest } from "../CheckableAPIRequest";
|
|
5
4
|
export declare abstract class CheckablePutRequest extends CheckableAPIRequest {
|
|
6
|
-
constructor(config: APIRequestConfig
|
|
5
|
+
constructor(config: APIRequestConfig);
|
|
7
6
|
init(app: Express): void;
|
|
8
7
|
}
|
|
@@ -4,8 +4,8 @@ exports.CheckablePutRequest = void 0;
|
|
|
4
4
|
const APIRequest_1 = require("../../APIRequest");
|
|
5
5
|
const CheckableAPIRequest_1 = require("../CheckableAPIRequest");
|
|
6
6
|
class CheckablePutRequest extends CheckableAPIRequest_1.CheckableAPIRequest {
|
|
7
|
-
constructor(config
|
|
8
|
-
super(APIRequest_1.RequestMethod.PUT, config
|
|
7
|
+
constructor(config) {
|
|
8
|
+
super(APIRequest_1.RequestMethod.PUT, config);
|
|
9
9
|
}
|
|
10
10
|
init(app) {
|
|
11
11
|
app.put(this.path, this.check, this.process);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckablePutRequest.js","sourceRoot":"","sources":["../../../../src/api/check/request/CheckablePutRequest.ts"],"names":[],"mappings":";;;AACA,iDAAmE;
|
|
1
|
+
{"version":3,"file":"CheckablePutRequest.js","sourceRoot":"","sources":["../../../../src/api/check/request/CheckablePutRequest.ts"],"names":[],"mappings":";;;AACA,iDAAmE;AACnE,gEAA6D;AAE7D,MAAsB,mBAAoB,SAAQ,yCAAmB;IACjE,YAAY,MAAwB;QAChC,KAAK,CAAC,0BAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IAEM,IAAI,CAAC,GAAY;QACpB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;CACJ;AARD,kDAQC"}
|