itrm-tools 1.0.0 → 1.0.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/README.md +1 -1
- package/dist/api/APIService.d.ts +6 -1
- package/dist/api/APIService.js +7 -5
- package/dist/api/APIService.js.map +1 -1
- package/dist/api/ExpressConfiguration.d.ts +4 -0
- package/dist/api/{APIChecker.js → ExpressConfiguration.js} +1 -1
- package/dist/api/ExpressConfiguration.js.map +1 -0
- package/dist/api/express/ExpressStandardConfiguration.d.ts +5 -0
- package/dist/api/express/ExpressStandardConfiguration.js +26 -0
- package/dist/api/express/ExpressStandardConfiguration.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/package.json +6 -4
- package/dist/api/APIChecker.d.ts +0 -3
- package/dist/api/APIChecker.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
# itrm-tools
|
|
2
|
-
Library
|
|
2
|
+
Library design for developing API Services
|
package/dist/api/APIService.d.ts
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import { Express } from 'express';
|
|
2
2
|
import { APIRequest } from './APIRequest';
|
|
3
|
+
import { ExpressConfiguration } from './ExpressConfiguration';
|
|
3
4
|
export declare namespace ITRMAPIServiceGlobal {
|
|
4
5
|
var memory: any;
|
|
5
6
|
var service: APIService | undefined;
|
|
6
7
|
var requests: any;
|
|
8
|
+
var whitelist: string[];
|
|
7
9
|
}
|
|
8
10
|
export interface APIServiceConfig {
|
|
9
11
|
name: string;
|
|
10
12
|
port: string | number;
|
|
13
|
+
express: ExpressConfiguration;
|
|
11
14
|
}
|
|
12
15
|
export interface APIServiceResponse {
|
|
13
16
|
status: string;
|
|
@@ -15,9 +18,11 @@ export interface APIServiceResponse {
|
|
|
15
18
|
error?: any;
|
|
16
19
|
}
|
|
17
20
|
export declare class APIService {
|
|
18
|
-
protected config: APIServiceConfig;
|
|
19
21
|
protected server: any;
|
|
20
22
|
protected app: Express;
|
|
23
|
+
protected name: string;
|
|
24
|
+
protected port: number | string;
|
|
25
|
+
protected config: ExpressConfiguration;
|
|
21
26
|
constructor(config: APIServiceConfig);
|
|
22
27
|
init(): void;
|
|
23
28
|
addRequest(request: APIRequest): Promise<void>;
|
package/dist/api/APIService.js
CHANGED
|
@@ -19,17 +19,19 @@ var ITRMAPIServiceGlobal;
|
|
|
19
19
|
ITRMAPIServiceGlobal.memory = {};
|
|
20
20
|
ITRMAPIServiceGlobal.service = undefined;
|
|
21
21
|
ITRMAPIServiceGlobal.requests = {};
|
|
22
|
+
ITRMAPIServiceGlobal.whitelist = [];
|
|
22
23
|
})(ITRMAPIServiceGlobal = exports.ITRMAPIServiceGlobal || (exports.ITRMAPIServiceGlobal = {}));
|
|
23
24
|
class APIService {
|
|
24
25
|
constructor(config) {
|
|
25
26
|
this.server = undefined;
|
|
26
27
|
this.app = (0, express_1.default)();
|
|
27
|
-
this.
|
|
28
|
-
this.
|
|
28
|
+
this.name = config.name;
|
|
29
|
+
this.port = config.port;
|
|
30
|
+
this.config = config.express;
|
|
29
31
|
}
|
|
30
32
|
init() {
|
|
31
33
|
ITRMAPIServiceGlobal.service = this;
|
|
32
|
-
this.
|
|
34
|
+
this.config.apply(this.app);
|
|
33
35
|
this.app.get('/', (req, res) => {
|
|
34
36
|
return res.send('Server working!');
|
|
35
37
|
});
|
|
@@ -42,8 +44,8 @@ class APIService {
|
|
|
42
44
|
}
|
|
43
45
|
run(init) {
|
|
44
46
|
return new Promise((resolve, reject) => {
|
|
45
|
-
this.server = this.app.listen(this.
|
|
46
|
-
console.log(`⚡️[server]: Server is running at http://localhost:${this.
|
|
47
|
+
this.server = this.app.listen(this.port, () => __awaiter(this, void 0, void 0, function* () {
|
|
48
|
+
console.log(`⚡️[server]: Server is running at http://localhost:${this.port}`);
|
|
47
49
|
try {
|
|
48
50
|
yield init();
|
|
49
51
|
resolve({ status: 'Ok', message: 'Server has been Initialized' });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"APIService.js","sourceRoot":"","sources":["../../src/api/APIService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,sDAA8D;
|
|
1
|
+
{"version":3,"file":"APIService.js","sourceRoot":"","sources":["../../src/api/APIService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExpressConfiguration.js","sourceRoot":"","sources":["../../src/api/ExpressConfiguration.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ExpressStandardConfiguration = void 0;
|
|
7
|
+
const cors_1 = __importDefault(require("cors"));
|
|
8
|
+
const body_parser_1 = __importDefault(require("body-parser"));
|
|
9
|
+
const APIService_1 = require("../APIService");
|
|
10
|
+
class ExpressStandardConfiguration {
|
|
11
|
+
apply(app) {
|
|
12
|
+
app.use((0, cors_1.default)({
|
|
13
|
+
origin: function (origin, callback) {
|
|
14
|
+
let whitelist = APIService_1.ITRMAPIServiceGlobal.whitelist;
|
|
15
|
+
if (whitelist.length == 0 || (origin && whitelist.indexOf(origin) !== -1))
|
|
16
|
+
callback(null, true);
|
|
17
|
+
else
|
|
18
|
+
callback(new Error('Not allowed by CORS'), false);
|
|
19
|
+
}
|
|
20
|
+
}));
|
|
21
|
+
app.use(body_parser_1.default.json({ limit: '50mb' }));
|
|
22
|
+
app.use(body_parser_1.default.urlencoded({ limit: '50mb', extended: true }));
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.ExpressStandardConfiguration = ExpressStandardConfiguration;
|
|
26
|
+
//# sourceMappingURL=ExpressStandardConfiguration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExpressStandardConfiguration.js","sourceRoot":"","sources":["../../../src/api/express/ExpressStandardConfiguration.ts"],"names":[],"mappings":";;;;;;AACA,gDAAwB;AACxB,8DAAqC;AAErC,8CAAqD;AAErD,MAAa,4BAA4B;IAC9B,KAAK,CAAC,GAAY;QACrB,GAAG,CAAC,GAAG,CAAC,IAAA,cAAI,EAAC;YACT,MAAM,EAAE,UAAU,MAAM,EAAE,QAAQ;gBAC9B,IAAI,SAAS,GAAG,iCAAoB,CAAC,SAAS,CAAC;gBAC/C,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;oBACrE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;;oBAErB,QAAQ,CAAC,IAAI,KAAK,CAAC,qBAAqB,CAAC,EAAE,KAAK,CAAC,CAAC;YAC1D,CAAC;SACJ,CAAC,CAAC,CAAC;QACJ,GAAG,CAAC,GAAG,CAAC,qBAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAC5C,GAAG,CAAC,GAAG,CAAC,qBAAU,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACtE,CAAC;CACJ;AAdD,oEAcC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { ExpressConfiguration as ExpressConfiguration } from './api/ExpressConfiguration';
|
|
2
|
+
export { ExpressStandardConfiguration as ExpressStandardConfiguration } from './api/express/ExpressStandardConfiguration';
|
|
2
3
|
export { APIRequest as APIRequest, RequestMethod as RequestMethod, RequestContext as RequestContext, GroupedParameters as GroupedParameters, APIRequestConfig as APIRequestConfig } from './api/APIRequest';
|
|
3
4
|
export { APIServiceConfig as APIServiceConfig, APIService as APIService, APIServiceResponse as APIServiceResponse } from './api/APIService';
|
|
4
5
|
export { GetRequest as GetRequest } from './api/request/GetRequest';
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DeleteRequest = exports.PutRequest = exports.PostRequest = exports.GetRequest = exports.APIService = exports.RequestContext = exports.RequestMethod = exports.APIRequest = void 0;
|
|
3
|
+
exports.DeleteRequest = exports.PutRequest = exports.PostRequest = exports.GetRequest = exports.APIService = exports.RequestContext = exports.RequestMethod = exports.APIRequest = exports.ExpressStandardConfiguration = void 0;
|
|
4
|
+
var ExpressStandardConfiguration_1 = require("./api/express/ExpressStandardConfiguration");
|
|
5
|
+
Object.defineProperty(exports, "ExpressStandardConfiguration", { enumerable: true, get: function () { return ExpressStandardConfiguration_1.ExpressStandardConfiguration; } });
|
|
4
6
|
var APIRequest_1 = require("./api/APIRequest");
|
|
5
7
|
Object.defineProperty(exports, "APIRequest", { enumerable: true, get: function () { return APIRequest_1.APIRequest; } });
|
|
6
8
|
Object.defineProperty(exports, "RequestMethod", { enumerable: true, get: function () { return APIRequest_1.RequestMethod; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,+CAA4M;AAAnM,wGAAA,UAAU,OAAc;AAAE,2GAAA,aAAa,OAAiB;AAAE,4GAAA,cAAc,OAAkB;AACnG,+CAA4I;AAA7F,wGAAA,UAAU,OAAc;AACvE,uDAAoE;AAA3D,wGAAA,UAAU,OAAc;AACjC,yDAAuE;AAA9D,0GAAA,WAAW,OAAe;AACnC,uDAAoE;AAA3D,wGAAA,UAAU,OAAc;AACjC,6DAA6E;AAApE,8GAAA,aAAa,OAAiB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,2FAA0H;AAAjH,4IAAA,4BAA4B,OAAgC;AACrE,+CAA4M;AAAnM,wGAAA,UAAU,OAAc;AAAE,2GAAA,aAAa,OAAiB;AAAE,4GAAA,cAAc,OAAkB;AACnG,+CAA4I;AAA7F,wGAAA,UAAU,OAAc;AACvE,uDAAoE;AAA3D,wGAAA,UAAU,OAAc;AACjC,yDAAuE;AAA9D,0GAAA,WAAW,OAAe;AACnC,uDAAoE;AAA3D,wGAAA,UAAU,OAAc;AACjC,6DAA6E;AAApE,8GAAA,aAAa,OAAiB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "itrm-tools",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -17,16 +17,17 @@
|
|
|
17
17
|
},
|
|
18
18
|
"repository": {
|
|
19
19
|
"type": "git",
|
|
20
|
-
"url": "git+https://github.com/
|
|
20
|
+
"url": "git+https://github.com/ITRMachines/itrm-tools.git"
|
|
21
21
|
},
|
|
22
22
|
"keywords": [],
|
|
23
23
|
"author": "",
|
|
24
24
|
"license": "ISC",
|
|
25
25
|
"bugs": {
|
|
26
|
-
"url": "https://github.com/
|
|
26
|
+
"url": "https://github.com/ITRMachines/itrm-tools/issues"
|
|
27
27
|
},
|
|
28
|
-
"homepage": "https://github.com/
|
|
28
|
+
"homepage": "https://github.com/ITRMachines/itrm-tools#readme",
|
|
29
29
|
"devDependencies": {
|
|
30
|
+
"@types/cors": "^2.8.13",
|
|
30
31
|
"@types/jest": "^29.2.5",
|
|
31
32
|
"jest": "^29.3.1",
|
|
32
33
|
"ts-jest": "^29.0.3"
|
|
@@ -35,6 +36,7 @@
|
|
|
35
36
|
"@types/express": "^4.17.15",
|
|
36
37
|
"@types/node": "^18.11.18",
|
|
37
38
|
"axios": "^1.2.2",
|
|
39
|
+
"body-parser": "^1.20.1",
|
|
38
40
|
"cors": "^2.8.5",
|
|
39
41
|
"express": "^4.18.2",
|
|
40
42
|
"rimraf": "^3.0.2",
|
package/dist/api/APIChecker.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"APIChecker.js","sourceRoot":"","sources":["../../src/api/APIChecker.ts"],"names":[],"mappings":""}
|