@golemio/core 1.2.0-dev.472230924 → 1.2.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.
@@ -0,0 +1,7 @@
1
+ import { NextFunction, Request, Response } from "express";
2
+ /**
3
+ * Error-handling middleware preprocessor
4
+ * HttpError based exceptions with pregenarated error status code are mapped to preferred CustomError type.
5
+ * Result is send to express.js next function with other custom or default error handler.
6
+ */
7
+ export declare const mapErrorsToCustomType: (err: any, _request: Request, _response: Response, next: NextFunction) => void;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mapErrorsToCustomType = void 0;
4
+ const errors_1 = require("@golemio/errors");
5
+ /**
6
+ * Error-handling middleware preprocessor
7
+ * HttpError based exceptions with pregenarated error status code are mapped to preferred CustomError type.
8
+ * Result is send to express.js next function with other custom or default error handler.
9
+ */
10
+ const mapErrorsToCustomType = (err, _request, _response, next) => {
11
+ if (!(err instanceof errors_1.CustomError) && Number.isInteger(err.status)) {
12
+ let isClientError = err.status >= 400 && err.status < 500;
13
+ next(new errors_1.CustomError(err.message, isClientError, undefined, err.status, err));
14
+ }
15
+ else {
16
+ next(err);
17
+ }
18
+ };
19
+ exports.mapErrorsToCustomType = mapErrorsToCustomType;
20
+ //# sourceMappingURL=ErrorPreprocessorMiddleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorPreprocessorMiddleware.js","sourceRoot":"","sources":["../../../src/input-gateway/helpers/ErrorPreprocessorMiddleware.ts"],"names":[],"mappings":";;;AAAA,4CAA8C;AAG9C;;;;GAIG;AACI,MAAM,qBAAqB,GAAG,CAAC,GAAQ,EAAE,QAAiB,EAAE,SAAmB,EAAE,IAAkB,EAAE,EAAE;IAC1G,IAAI,CAAC,CAAC,GAAG,YAAY,oBAAW,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;QAC/D,IAAI,aAAa,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC;QAC1D,IAAI,CAAC,IAAI,oBAAW,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;KACjF;SAAM;QACH,IAAI,CAAC,GAAG,CAAC,CAAC;KACb;AACL,CAAC,CAAC;AAPW,QAAA,qBAAqB,yBAOhC"}
@@ -1,5 +1,6 @@
1
- export * from "./Logger";
2
1
  export * from "./CheckContentTypeMiddleware";
3
2
  export * from "./ContentTypeHelper";
3
+ export * from "./ErrorPreprocessorMiddleware";
4
+ export * from "./Logger";
4
5
  export * from "./ResponseTimeMiddleware";
5
6
  export * from "./SaveRawDataMiddleware";
@@ -11,9 +11,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  /* ig/helpers/index.ts */
14
- __exportStar(require("./Logger"), exports);
15
14
  __exportStar(require("./CheckContentTypeMiddleware"), exports);
16
15
  __exportStar(require("./ContentTypeHelper"), exports);
16
+ __exportStar(require("./ErrorPreprocessorMiddleware"), exports);
17
+ __exportStar(require("./Logger"), exports);
17
18
  __exportStar(require("./ResponseTimeMiddleware"), exports);
18
19
  __exportStar(require("./SaveRawDataMiddleware"), exports);
19
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/input-gateway/helpers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yBAAyB;AACzB,2CAAyB;AACzB,+DAA6C;AAC7C,sDAAoC;AACpC,2DAAyC;AACzC,0DAAwC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/input-gateway/helpers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yBAAyB;AACzB,+DAA6C;AAC7C,sDAAoC;AACpC,gEAA8C;AAC9C,2CAAyB;AACzB,2DAAyC;AACzC,0DAAwC"}
package/package.json CHANGED
@@ -1,128 +1,129 @@
1
1
  {
2
- "name": "@golemio/core",
3
- "version": "1.2.0-dev.472230924",
4
- "description": "Golemio Core Module",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
7
- "bin": {
8
- "golemio-import-test-data": "bin/import-test-data.js"
9
- },
10
- "scripts": {
11
- "build": "rimraf ./dist && ttsc -p ./tsconfig.build.json",
12
- "build-minimal": "run-s 'build --sourceMap false --declaration false'",
13
- "build-watch": "run-s 'build --watch --preserveWatchOutput'",
14
- "test": "cross-env NODE_ENV=test TS_NODE_COMPILER='ttypescript' mocha --exit --check-leaks --timeout 120000 -r ts-node/register -r dotenv/config 'test/**/*.test.ts'",
15
- "test-debug": "run-s 'test --inspect-brk=9230'",
16
- "code-coverage": "nyc run-s 'test -r source-map-support/register'",
17
- "generate-docs": "typedoc --out docs/typedoc src",
18
- "lint": "eslint '{src,test}/**/*.ts'"
19
- },
20
- "keywords": [
21
- "golemio"
22
- ],
23
- "author": "Operator ICT, a.s.",
24
- "license": "MIT",
25
- "repository": {
26
- "type": "git",
27
- "url": "https://gitlab.com/operator-ict/golemio/code/modules/core"
28
- },
29
- "devDependencies": {
30
- "@commitlint/cli": "^11.0.0",
31
- "@commitlint/config-conventional": "^11.0.0",
32
- "@golemio/eslint-config": "^1.0.2",
33
- "@types/amqplib": "^0.5.17",
34
- "@types/apicache": "^1.2.3",
35
- "@types/chai": "4.2.3",
36
- "@types/chai-as-promised": "7.1.2",
37
- "@types/content-type": "^1.1.3",
38
- "@types/debug": "0.0.31",
39
- "@types/decompress": "^4.2.3",
40
- "@types/ioredis": "^4.17.10",
41
- "@types/lodash": "^4.14.165",
42
- "@types/mocha": "^8.2.0",
43
- "@types/morgan": "^1.9.2",
44
- "@types/node": "^14.14.20",
45
- "@types/redis": "^2.8.28",
46
- "@types/sinon": "7.0.13",
47
- "@types/ssh2-sftp-client": "^5.3.1",
48
- "@types/supertest": "^2.0.11",
49
- "@zerollup/ts-transform-paths": "^1.7.18",
50
- "chai": "4.2.0",
51
- "chai-as-promised": "7.1.1",
52
- "cross-env": "^7.0.3",
53
- "eslint": "^7.17.0",
54
- "husky": "^4.3.7",
55
- "mocha": "^9.1.2",
56
- "nock": "^13.0.5",
57
- "npm-run-all": "^4.1.5",
58
- "nyc": "^15.1.0",
59
- "prettier": "^2.2.1",
60
- "pretty-quick": "^3.1.0",
61
- "rimraf": "^3.0.2",
62
- "sinon": "7.1.1",
63
- "source-map-support": "0.5.9",
64
- "supertest": "^6.1.6",
65
- "ts-node": "^9.1.1",
66
- "ttypescript": "^1.5.12",
67
- "typedoc": "^0.21.4",
68
- "typescript": "^4.1.3"
69
- },
70
- "dependencies": {
71
- "@golemio/errors": "^1.0.1",
72
- "@golemio/utils": "^1.0.0",
73
- "@golemio/validator": "0.2.0",
74
- "@google-cloud/storage": "^5.18.0",
75
- "@opentelemetry/api": "^1.0.2",
76
- "@opentelemetry/exporter-jaeger": "^0.24.0",
77
- "@opentelemetry/instrumentation-express": "^0.24.0",
78
- "@opentelemetry/instrumentation-http": "^0.24.0",
79
- "@opentelemetry/instrumentation-ioredis": "^0.24.0",
80
- "@opentelemetry/node": "^0.24.0",
81
- "@opentelemetry/resources": "^0.24.0",
82
- "@opentelemetry/tracing": "^0.24.0",
83
- "@sentry/node": "^6.11.0",
84
- "@sentry/tracing": "^6.11.0",
85
- "@types/express": "^4.16.0",
86
- "@types/request-promise": "^4.1.45",
87
- "amqplib": "^0.7.1",
88
- "apicache": "^1.6.3",
89
- "aws-sdk": "^2.823.0",
90
- "axios": "^0.24.0",
91
- "basic-ftp": "^4.6.6",
92
- "content-type": "^1.0.4",
93
- "debug": "3.1.0",
94
- "decompress": "^4.2.1",
95
- "dotenv": "^8.2.0",
96
- "express": "^4.16.4",
97
- "express-validator": "^5.3.1",
98
- "fast-csv": "^4.3.6",
99
- "fast-glob": "^3.2.5",
100
- "iconv-lite": "^0.6.2",
101
- "influx": "^5.6.3",
102
- "ioredis": "^4.19.4",
103
- "lightship": "^6.7.2",
104
- "lodash": "^4.17.21",
105
- "moment-timezone": "^0.5.26",
106
- "mongodb-restore-dump": "1.0.1",
107
- "mongoose": "^5.3.6",
108
- "morgan": "^1.10.0",
109
- "opentelemetry-instrumentation-amqplib": "^0.24.0",
110
- "opentelemetry-instrumentation-aws-sdk": "^0.24.1",
111
- "opentelemetry-instrumentation-mongoose": "^0.24.0",
112
- "opentelemetry-instrumentation-sequelize": "^0.24.0",
113
- "path-to-regexp": "^6.2.0",
114
- "pg": "^8.6.0",
115
- "prom-client": "^14.0.0",
116
- "redis": "^3.1.1",
117
- "request": "2.88.0",
118
- "request-promise": "^4.2.5",
119
- "sequelize": "^6.6.5",
120
- "ssh2-sftp-client": "^7.1.0",
121
- "winston": "^3.3.3",
122
- "xml2js-es6-promise": "^1.1.1"
123
- },
124
- "resolutions": {
125
- "mpath": "^0.8.4",
126
- "**/axios/follow-redirects": "^1.14.7"
127
- }
2
+ "name": "@golemio/core",
3
+ "version": "1.2.1",
4
+ "description": "Golemio Core Module",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "bin": {
8
+ "golemio-import-test-data": "bin/import-test-data.js"
9
+ },
10
+ "scripts": {
11
+ "build": "rimraf ./dist && ttsc -p ./tsconfig.build.json",
12
+ "build-minimal": "run-s 'build --sourceMap false --declaration false'",
13
+ "build-watch": "run-s 'build --watch --preserveWatchOutput'",
14
+ "test": "cross-env NODE_ENV=test TS_NODE_COMPILER='ttypescript' mocha --exit --check-leaks --timeout 120000 -r ts-node/register -r dotenv/config 'test/**/*.test.ts'",
15
+ "test-debug": "run-s 'test --inspect-brk=9230'",
16
+ "code-coverage": "nyc run-s 'test -r source-map-support/register'",
17
+ "generate-docs": "typedoc --out docs/typedoc src",
18
+ "lint": "eslint \"{src,test}/**/*.ts\""
19
+ },
20
+ "keywords": [
21
+ "golemio"
22
+ ],
23
+ "author": "Operator ICT, a.s.",
24
+ "license": "MIT",
25
+ "repository": {
26
+ "type": "git",
27
+ "url": "https://gitlab.com/operator-ict/golemio/code/modules/core"
28
+ },
29
+ "devDependencies": {
30
+ "@commitlint/cli": "^11.0.0",
31
+ "@commitlint/config-conventional": "^11.0.0",
32
+ "@golemio/eslint-config": "^1.0.2",
33
+ "@types/amqplib": "^0.5.17",
34
+ "@types/apicache": "^1.2.3",
35
+ "@types/chai": "4.2.3",
36
+ "@types/chai-as-promised": "7.1.2",
37
+ "@types/content-type": "^1.1.3",
38
+ "@types/debug": "0.0.31",
39
+ "@types/decompress": "^4.2.3",
40
+ "@types/ioredis": "^4.17.10",
41
+ "@types/lodash": "^4.14.165",
42
+ "@types/mocha": "^8.2.0",
43
+ "@types/morgan": "^1.9.2",
44
+ "@types/node": "^14.14.20",
45
+ "@types/redis": "^2.8.28",
46
+ "@types/sinon": "7.0.13",
47
+ "@types/ssh2-sftp-client": "^5.3.1",
48
+ "@types/supertest": "^2.0.11",
49
+ "@zerollup/ts-transform-paths": "^1.7.18",
50
+ "chai": "4.2.0",
51
+ "chai-as-promised": "7.1.1",
52
+ "cross-env": "^7.0.3",
53
+ "eslint": "^7.17.0",
54
+ "husky": "^4.3.7",
55
+ "mocha": "^9.1.2",
56
+ "nock": "^13.0.5",
57
+ "npm-run-all": "^4.1.5",
58
+ "nyc": "^15.1.0",
59
+ "prettier": "^2.2.1",
60
+ "pretty-quick": "^3.1.0",
61
+ "rimraf": "^3.0.2",
62
+ "sinon": "7.1.1",
63
+ "source-map-support": "0.5.9",
64
+ "supertest": "^6.1.6",
65
+ "ts-node": "^9.1.1",
66
+ "ttypescript": "^1.5.12",
67
+ "typedoc": "^0.21.4",
68
+ "typescript": "^4.1.3"
69
+ },
70
+ "dependencies": {
71
+ "@golemio/errors": "^1.0.1",
72
+ "@golemio/utils": "^1.0.0",
73
+ "@golemio/validator": "0.2.0",
74
+ "@google-cloud/storage": "^5.18.0",
75
+ "@opentelemetry/api": "^1.0.2",
76
+ "@opentelemetry/exporter-jaeger": "^0.24.0",
77
+ "@opentelemetry/instrumentation-express": "^0.24.0",
78
+ "@opentelemetry/instrumentation-http": "^0.24.0",
79
+ "@opentelemetry/instrumentation-ioredis": "^0.24.0",
80
+ "@opentelemetry/node": "^0.24.0",
81
+ "@opentelemetry/resources": "^0.24.0",
82
+ "@opentelemetry/tracing": "^0.24.0",
83
+ "@sentry/node": "^6.11.0",
84
+ "@sentry/tracing": "^6.11.0",
85
+ "@types/express": "^4.16.0",
86
+ "@types/request-promise": "^4.1.45",
87
+ "amqplib": "^0.7.1",
88
+ "apicache": "^1.6.3",
89
+ "aws-sdk": "^2.823.0",
90
+ "axios": "^0.24.0",
91
+ "basic-ftp": "^4.6.6",
92
+ "content-type": "^1.0.4",
93
+ "debug": "3.1.0",
94
+ "decompress": "^4.2.1",
95
+ "dotenv": "^8.2.0",
96
+ "express": "^4.16.4",
97
+ "express-validator": "^5.3.1",
98
+ "fast-csv": "^4.3.6",
99
+ "fast-glob": "^3.2.5",
100
+ "iconv-lite": "^0.6.2",
101
+ "influx": "^5.6.3",
102
+ "ioredis": "^4.19.4",
103
+ "lightship": "^6.7.2",
104
+ "lodash": "^4.17.21",
105
+ "moment-timezone": "^0.5.26",
106
+ "mongodb-restore-dump": "1.0.1",
107
+ "mongoose": "^5.3.6",
108
+ "morgan": "^1.10.0",
109
+ "opentelemetry-instrumentation-amqplib": "^0.24.0",
110
+ "opentelemetry-instrumentation-aws-sdk": "^0.24.1",
111
+ "opentelemetry-instrumentation-mongoose": "^0.24.0",
112
+ "opentelemetry-instrumentation-sequelize": "^0.24.0",
113
+ "path-to-regexp": "^6.2.0",
114
+ "pg": "^8.6.0",
115
+ "prom-client": "^14.0.0",
116
+ "redis": "^3.1.1",
117
+ "request": "2.88.0",
118
+ "request-promise": "^4.2.5",
119
+ "sequelize": "^6.6.5",
120
+ "ssh2-sftp-client": "^7.1.0",
121
+ "winston": "^3.3.3",
122
+ "xml2js-es6-promise": "^1.1.1"
123
+ },
124
+ "resolutions": {
125
+ "mpath": "^0.8.4",
126
+ "**/axios/follow-redirects": "^1.14.7",
127
+ "url-parse": "^1.5.6"
128
+ }
128
129
  }