@alanszp/express-common-fn 10.0.1 → 10.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/node_modules/@alanszp/audit/dist/interfaces.d.ts +3 -0
- package/node_modules/@alanszp/audit/dist/interfaces.js.map +1 -1
- package/node_modules/@alanszp/audit/package.json +2 -3
- package/node_modules/@alanszp/audit/src/interfaces.ts +5 -0
- package/node_modules/@alanszp/errors/package.json +1 -2
- package/node_modules/@alanszp/express/dist/middlewares/auditLog.js +2 -1
- package/node_modules/@alanszp/express/dist/middlewares/auditLog.js.map +1 -1
- package/node_modules/@alanszp/express/dist/middlewares/createContext.d.ts +1 -1
- package/node_modules/@alanszp/express/dist/middlewares/createContext.js +6 -7
- package/node_modules/@alanszp/express/dist/middlewares/createContext.js.map +1 -1
- package/node_modules/@alanszp/express/package.json +5 -5
- package/node_modules/@alanszp/express/src/middlewares/auditLog.ts +3 -0
- package/node_modules/@alanszp/express/src/middlewares/createContext.ts +7 -4
- package/node_modules/@alanszp/jwt/package.json +1 -2
- package/node_modules/@alanszp/logger/package.json +1 -2
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":";;;AAoBA,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,iDAA2B,CAAA;IAC3B,mDAA6B,CAAA;IAC7B,yCAAmB,CAAA;IACnB,qCAAe,CAAA;AACjB,CAAC,EALW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAK7B;AAMY,QAAA,eAAe,GAAG;IAC7B,UAAU;IACV,QAAQ;IACR,IAAI;IACJ,QAAQ;IACR,SAAS;CACV,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alanszp/audit",
|
|
3
|
-
"version": "10.0.
|
|
3
|
+
"version": "10.0.2",
|
|
4
4
|
"description": "Alan's audit util.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"typings": "dist/index.d.ts",
|
|
@@ -25,6 +25,5 @@
|
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@types/node": "^20.11.17"
|
|
28
|
-
}
|
|
29
|
-
"gitHead": "43e1ad79adf9f06c314132d67495cee96dd82612"
|
|
28
|
+
}
|
|
30
29
|
}
|
|
@@ -17,6 +17,7 @@ const getIp_1 = require("../helpers/getIp");
|
|
|
17
17
|
function auditLog(action, bodyModifier) {
|
|
18
18
|
return function writeAuditLogMiddleware(req, res, next) {
|
|
19
19
|
res.on("finish", function writeAuditLog() {
|
|
20
|
+
var _a, _b, _c;
|
|
20
21
|
return __awaiter(this, void 0, void 0, function* () {
|
|
21
22
|
try {
|
|
22
23
|
const audit = req.context.audit;
|
|
@@ -29,7 +30,7 @@ function auditLog(action, bodyModifier) {
|
|
|
29
30
|
}
|
|
30
31
|
partialBody.ip = (0, getIp_1.getIp)(req) || "no-ip";
|
|
31
32
|
audit.log(Object.assign(Object.assign({ succeed: res.statusCode === 304 ||
|
|
32
|
-
(res.statusCode >= 200 && res.statusCode < 300) }, partialBody), { action }));
|
|
33
|
+
(res.statusCode >= 200 && res.statusCode < 300) }, partialBody), { lid: (_a = req.context.lifecycleId) !== null && _a !== void 0 ? _a : undefined, lch: (_b = req.context.lifecycleChain) !== null && _b !== void 0 ? _b : undefined, cid: (_c = req.context.contextId) !== null && _c !== void 0 ? _c : undefined, action }));
|
|
33
34
|
}
|
|
34
35
|
catch (error) {
|
|
35
36
|
req.context.log.error("auditLog.writeLog.error", { action, error });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auditLog.js","sourceRoot":"","sources":["../../src/middlewares/auditLog.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,4CAAyC;AAQzC;;GAEG;AACH,SAAgB,QAAQ,CAAC,MAAc,EAAE,YAAgC;IACvE,OAAO,SAAS,uBAAuB,CACrC,GAAmB,EACnB,GAAa,EACb,IAAkB;QAElB,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAe,aAAa
|
|
1
|
+
{"version":3,"file":"auditLog.js","sourceRoot":"","sources":["../../src/middlewares/auditLog.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,4CAAyC;AAQzC;;GAEG;AACH,SAAgB,QAAQ,CAAC,MAAc,EAAE,YAAgC;IACvE,OAAO,SAAS,uBAAuB,CACrC,GAAmB,EACnB,GAAa,EACb,IAAkB;QAElB,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAe,aAAa;;;gBAC3C,IAAI;oBACF,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;oBAEhC,MAAM,WAAW,GAAG,YAAY;wBAC9B,CAAC,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;wBAC/C,CAAC,CAAE,EAAyB,CAAC;oBAE/B,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE;wBACvB,WAAW,CAAC,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC;wBAC/D,WAAW,CAAC,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;qBAC/C;oBAED,WAAW,CAAC,EAAE,GAAG,IAAA,aAAK,EAAC,GAAG,CAAC,IAAI,OAAO,CAAC;oBAEvC,KAAK,CAAC,GAAG,+BACP,OAAO,EACL,GAAG,CAAC,UAAU,KAAK,GAAG;4BACtB,CAAC,GAAG,CAAC,UAAU,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,IAC9C,WAAW,KACd,GAAG,EAAE,MAAA,GAAG,CAAC,OAAO,CAAC,WAAW,mCAAI,SAAS,EACzC,GAAG,EAAE,MAAA,GAAG,CAAC,OAAO,CAAC,cAAc,mCAAI,SAAS,EAC5C,GAAG,EAAE,MAAA,GAAG,CAAC,OAAO,CAAC,SAAS,mCAAI,SAAS,EACvC,MAAM,IACN,CAAC;iBACJ;gBAAC,OAAO,KAAc,EAAE;oBACvB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,yBAAyB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;iBACrE;;SACF,CAAC,CAAC;QAEH,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC;AAtCD,4BAsCC"}
|
|
@@ -3,4 +3,4 @@ import { ILogger } from "@alanszp/logger";
|
|
|
3
3
|
import { Audit } from "@alanszp/audit";
|
|
4
4
|
import { GenericRequest } from "../types/GenericRequest";
|
|
5
5
|
import { SharedContext } from "@alanszp/shared-context";
|
|
6
|
-
export declare function createContext(sharedContext: SharedContext, baseLogger: ILogger, audit: Audit): (req: GenericRequest,
|
|
6
|
+
export declare function createContext(sharedContext: SharedContext, baseLogger: ILogger, audit: Audit): (req: GenericRequest, res: Response, next: NextFunction) => void;
|
|
@@ -1,20 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.createContext = void 0;
|
|
7
|
-
const
|
|
4
|
+
const cuid2_1 = require("@paralleldrive/cuid2");
|
|
8
5
|
const appIdentifier_1 = require("../helpers/appIdentifier");
|
|
9
6
|
const lodash_1 = require("lodash");
|
|
10
7
|
function createContext(sharedContext, baseLogger, audit) {
|
|
11
|
-
return (req,
|
|
8
|
+
return (req, res, next) => {
|
|
12
9
|
var _a, _b, _c, _d;
|
|
13
10
|
req.context = req.context || {};
|
|
14
11
|
const receivedChain = req.header("x-lifecycle-chain") || ((_b = (_a = req.body) === null || _a === void 0 ? void 0 : _a.detail) === null || _b === void 0 ? void 0 : _b.lch);
|
|
15
12
|
const lifecycleChain = (0, lodash_1.compact)([receivedChain, (0, appIdentifier_1.appIdentifier)()]).join(",");
|
|
16
|
-
const lifecycleId = req.header("x-lifecycle-id") || ((_d = (_c = req.body) === null || _c === void 0 ? void 0 : _c.detail) === null || _d === void 0 ? void 0 : _d.lid) || (0,
|
|
17
|
-
const contextId = (0,
|
|
13
|
+
const lifecycleId = req.header("x-lifecycle-id") || ((_d = (_c = req.body) === null || _c === void 0 ? void 0 : _c.detail) === null || _d === void 0 ? void 0 : _d.lid) || (0, cuid2_1.createId)();
|
|
14
|
+
const contextId = (0, cuid2_1.createId)();
|
|
15
|
+
res.setHeader("x-lifecycle-id", lifecycleId);
|
|
16
|
+
res.setHeader("x-context-id", contextId);
|
|
18
17
|
sharedContext.run((context) => {
|
|
19
18
|
req.context.authenticated = [];
|
|
20
19
|
req.context.lifecycleId = context.lifecycleId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createContext.js","sourceRoot":"","sources":["../../src/middlewares/createContext.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createContext.js","sourceRoot":"","sources":["../../src/middlewares/createContext.ts"],"names":[],"mappings":";;;AAAA,gDAAgD;AAIhD,4DAAyD;AAGzD,mCAAiC;AAEjC,SAAgB,aAAa,CAC3B,aAA4B,EAC5B,UAAmB,EACnB,KAAY;IAEZ,OAAO,CAAC,GAAmB,EAAE,GAAa,EAAE,IAAkB,EAAQ,EAAE;;QACtE,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;QAEhC,MAAM,aAAa,GACjB,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAI,MAAA,MAAA,GAAG,CAAC,IAAI,0CAAE,MAAM,0CAAE,GAAG,CAAA,CAAC;QAC3D,MAAM,cAAc,GAAG,IAAA,gBAAO,EAAC,CAAC,aAAa,EAAE,IAAA,6BAAa,GAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE3E,MAAM,WAAW,GACf,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAI,MAAA,MAAA,GAAG,CAAC,IAAI,0CAAE,MAAM,0CAAE,GAAG,CAAA,IAAI,IAAA,gBAAQ,GAAE,CAAC;QAEtE,MAAM,SAAS,GAAG,IAAA,gBAAQ,GAAE,CAAC;QAE7B,GAAG,CAAC,SAAS,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;QAC7C,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;QAEzC,aAAa,CAAC,GAAG,CACf,CAAC,OAAO,EAAE,EAAE;YACV,GAAG,CAAC,OAAO,CAAC,aAAa,GAAG,EAAE,CAAC;YAC/B,GAAG,CAAC,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;YAC9C,GAAG,CAAC,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;YACpD,GAAG,CAAC,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;YAC1C,GAAG,CAAC,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;YACjC,GAAG,CAAC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YAClC,IAAI,EAAE,CAAC;QACT,CAAC,EACD;YACE,MAAM,EAAE,UAAU;YAClB,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE;YACxB,WAAW;YACX,cAAc;YACd,SAAS;SACV,CACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAvCD,sCAuCC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alanszp/express",
|
|
3
|
-
"version": "10.0.
|
|
3
|
+
"version": "10.0.3",
|
|
4
4
|
"description": "Alan's express utils and middlewares.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"typings": "dist/index.d.ts",
|
|
@@ -35,15 +35,15 @@
|
|
|
35
35
|
"typescript": "^4.3.4"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@alanszp/audit": "^10.0.
|
|
38
|
+
"@alanszp/audit": "^10.0.2",
|
|
39
39
|
"@alanszp/errors": "^10.0.1",
|
|
40
40
|
"@alanszp/jwt": "^10.0.1",
|
|
41
41
|
"@alanszp/logger": "^10.0.1",
|
|
42
|
-
"@alanszp/shared-context": "^10.0.
|
|
42
|
+
"@alanszp/shared-context": "^10.0.2",
|
|
43
43
|
"@babel/core": "^7.23.9",
|
|
44
|
+
"@paralleldrive/cuid2": "^2.2.2",
|
|
44
45
|
"body-parser": "^1.20.2",
|
|
45
|
-
"cuid": "^2.1.8",
|
|
46
46
|
"lodash": "^4.17.21"
|
|
47
47
|
},
|
|
48
|
-
"gitHead": "
|
|
48
|
+
"gitHead": "701d6cc7bd3a51a8b297903e7b2fff9c1b830da6"
|
|
49
49
|
}
|
|
@@ -37,6 +37,9 @@ export function auditLog(action: string, bodyModifier?: AuditBodyModifier) {
|
|
|
37
37
|
res.statusCode === 304 ||
|
|
38
38
|
(res.statusCode >= 200 && res.statusCode < 300),
|
|
39
39
|
...partialBody,
|
|
40
|
+
lid: req.context.lifecycleId ?? undefined,
|
|
41
|
+
lch: req.context.lifecycleChain ?? undefined,
|
|
42
|
+
cid: req.context.contextId ?? undefined,
|
|
40
43
|
action,
|
|
41
44
|
});
|
|
42
45
|
} catch (error: unknown) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { createId } from "@paralleldrive/cuid2";
|
|
2
2
|
import { NextFunction, Response } from "express";
|
|
3
3
|
import { ILogger } from "@alanszp/logger";
|
|
4
4
|
import { Audit } from "@alanszp/audit";
|
|
@@ -12,7 +12,7 @@ export function createContext(
|
|
|
12
12
|
baseLogger: ILogger,
|
|
13
13
|
audit: Audit
|
|
14
14
|
) {
|
|
15
|
-
return (req: GenericRequest,
|
|
15
|
+
return (req: GenericRequest, res: Response, next: NextFunction): void => {
|
|
16
16
|
req.context = req.context || {};
|
|
17
17
|
|
|
18
18
|
const receivedChain =
|
|
@@ -20,9 +20,12 @@ export function createContext(
|
|
|
20
20
|
const lifecycleChain = compact([receivedChain, appIdentifier()]).join(",");
|
|
21
21
|
|
|
22
22
|
const lifecycleId =
|
|
23
|
-
req.header("x-lifecycle-id") || req.body?.detail?.lid ||
|
|
23
|
+
req.header("x-lifecycle-id") || req.body?.detail?.lid || createId();
|
|
24
24
|
|
|
25
|
-
const contextId =
|
|
25
|
+
const contextId = createId();
|
|
26
|
+
|
|
27
|
+
res.setHeader("x-lifecycle-id", lifecycleId);
|
|
28
|
+
res.setHeader("x-context-id", contextId);
|
|
26
29
|
|
|
27
30
|
sharedContext.run(
|
|
28
31
|
(context) => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alanszp/express-common-fn",
|
|
3
|
-
"version": "10.0.
|
|
3
|
+
"version": "10.0.3",
|
|
4
4
|
"description": "Alan's express function to handle common errors and format uniformly.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"typings": "dist/index.d.ts",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"@alanszp/errors": "^10.0.1",
|
|
23
|
-
"@alanszp/express": "^10.0.
|
|
23
|
+
"@alanszp/express": "^10.0.3",
|
|
24
24
|
"@alanszp/logger": "^10.0.1",
|
|
25
25
|
"@alanszp/validations": "^10.0.1"
|
|
26
26
|
},
|
|
@@ -34,5 +34,5 @@
|
|
|
34
34
|
"typeorm": "^0.2.34",
|
|
35
35
|
"typescript": "4.7.4"
|
|
36
36
|
},
|
|
37
|
-
"gitHead": "
|
|
37
|
+
"gitHead": "701d6cc7bd3a51a8b297903e7b2fff9c1b830da6"
|
|
38
38
|
}
|