@6thbridge/utils 1.8.3 → 1.9.0-2

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.
@@ -2,9 +2,28 @@ import { RequestUserEntity } from './user.entity';
2
2
  import { RequestClientEntity } from './client.entity';
3
3
  import express from 'express';
4
4
  import { LoggerInterface } from '../logger';
5
+ import { z } from 'zod';
5
6
  import { RabbitMQClient } from '../index';
6
7
  import { AuthorizationClientResponse, AuthorizationUserResponse, ValidateUserAccessResponseDTO } from "./authentication.entity";
7
8
  export declare const INTERNAL_REQUEST_SOURCE = "internal";
9
+ declare const partnerDataSchema: z.ZodObject<{
10
+ partnerId: z.ZodString;
11
+ name: z.ZodString;
12
+ provider: z.ZodString;
13
+ status: z.ZodString;
14
+ }, z.core.$strip>;
15
+ export type PartnerEntity = z.infer<typeof partnerDataSchema>;
16
+ export declare class PartnerContextEntity {
17
+ partner: PartnerEntity;
18
+ logger: LoggerInterface;
19
+ request: express.Request;
20
+ requestId: string;
21
+ requestSource?: string;
22
+ ip?: string;
23
+ locale: string;
24
+ constructor();
25
+ static fromRequest(req: express.Request): PartnerContextEntity;
26
+ }
8
27
  export declare class ContextEntity {
9
28
  requestSource?: string;
10
29
  clientId?: string;
@@ -37,3 +56,4 @@ export declare class ContextEntity {
37
56
  static fromAuthorizationResult(req: express.Request, result: ValidateUserAccessResponseDTO): ContextEntity;
38
57
  clone(): this;
39
58
  }
59
+ export {};
@@ -33,11 +33,57 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.ContextEntity = exports.INTERNAL_REQUEST_SOURCE = void 0;
36
+ exports.ContextEntity = exports.PartnerContextEntity = exports.INTERNAL_REQUEST_SOURCE = void 0;
37
37
  const _ = __importStar(require("lodash"));
38
38
  const crypto_1 = require("crypto");
39
39
  const logger_1 = require("../logger/logger");
40
+ const zod_1 = require("zod");
41
+ const custom_exception_1 = require("./custom.exception");
40
42
  exports.INTERNAL_REQUEST_SOURCE = 'internal';
43
+ const partnerDataSchema = zod_1.z.object({
44
+ partnerId: zod_1.z.string().regex(/\S/),
45
+ name: zod_1.z.string().regex(/\S/),
46
+ provider: zod_1.z.string().regex(/\S/),
47
+ status: zod_1.z.string().regex(/\S/),
48
+ });
49
+ class PartnerContextEntity {
50
+ constructor() {
51
+ this.logger = new logger_1.Logger({});
52
+ }
53
+ static fromRequest(req) {
54
+ let partner;
55
+ try {
56
+ const header = req.headers['x-partner-data'];
57
+ if (typeof header !== 'string')
58
+ throw new Error('Missing partner data');
59
+ partner = partnerDataSchema.parse(JSON.parse(header));
60
+ }
61
+ catch (_a) {
62
+ throw new custom_exception_1.CustomException({
63
+ message: "You don't have permission to access this service. ",
64
+ statusCode: 403,
65
+ errorCode: 'InvalidAuthorization',
66
+ });
67
+ }
68
+ const context = new PartnerContextEntity();
69
+ context.partner = partner;
70
+ context.request = req;
71
+ context.requestId = req.headers['x-request-id'] || (0, crypto_1.randomUUID)();
72
+ context.requestSource = (req.headers['x-request-source'] || req.headers.source);
73
+ context.ip = req.headers['cf-connecting-ip'] || req.ip;
74
+ context.locale = req.headers['x-locale-id'] || 'en';
75
+ context.logger.setProps({
76
+ requestId: context.requestId,
77
+ requestSource: context.requestSource,
78
+ ip: context.ip,
79
+ url: req.originalUrl,
80
+ partnerId: context.partner.partnerId,
81
+ provider: context.partner.provider,
82
+ });
83
+ return context;
84
+ }
85
+ }
86
+ exports.PartnerContextEntity = PartnerContextEntity;
41
87
  class ContextEntity {
42
88
  constructor() {
43
89
  this.logger = new logger_1.Logger({});
@@ -1 +1 @@
1
- {"version":3,"file":"context.entity.js","sourceRoot":"","sources":["../../src/types/context.entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.entity.js","sourceRoot":"","sources":["../../src/types/context.entity.ts"],"names":[],"mappings":"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"}
@@ -12,10 +12,6 @@ export interface FormattedAxiosError {
12
12
  trace?: string | undefined;
13
13
  [x: string]: any;
14
14
  }
15
- export declare class AxiosClass {
16
- static resolveAxiosError(error: Error | AxiosError | any): FormattedAxiosError;
17
- static getAxiosInstance(config?: CreateAxiosDefaults): import("axios").AxiosInstance;
18
- }
19
15
  export declare class HttpUtil {
20
16
  private static getRequestTag;
21
17
  private static getLoggableRequestData;
package/lib/utils/http.js CHANGED
@@ -3,20 +3,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.HttpUtil = exports.AxiosClass = void 0;
6
+ exports.HttpUtil = void 0;
7
7
  const axios_1 = __importDefault(require("axios"));
8
8
  const axios_better_stacktrace_1 = __importDefault(require("axios-better-stacktrace"));
9
9
  const logger_1 = require("../logger");
10
10
  const storage_1 = require("./storage");
11
- class AxiosClass {
12
- static resolveAxiosError(error) {
13
- return HttpUtil.resolveAxiosError(error);
14
- }
15
- static getAxiosInstance(config) {
16
- return HttpUtil.getAxiosInstance(config);
17
- }
18
- }
19
- exports.AxiosClass = AxiosClass;
20
11
  class HttpUtil {
21
12
  static getRequestTag(headers) {
22
13
  var _a;
@@ -77,12 +68,17 @@ class HttpUtil {
77
68
  return headerSource === 'internal' || String((config === null || config === void 0 ? void 0 : config.url) || '').includes('/v1/logs');
78
69
  }
79
70
  static buildRequestLog(config) {
71
+ var _a;
72
+ const endpoint = ((_a = axios_1.default.getUri(Object.assign(Object.assign({}, config), { params: null }))) !== null && _a !== void 0 ? _a : '')
73
+ .replace(/^(?:[a-z][a-z\d+.-]*:)?\/\/[^/?#]*/i, '')
74
+ .split(/[?#]/, 1)[0];
80
75
  return {
81
76
  requestId: HttpUtil.getRequestIdHeader(config === null || config === void 0 ? void 0 : config.headers),
82
77
  requestTag: HttpUtil.getRequestTag(config === null || config === void 0 ? void 0 : config.headers),
83
78
  method: config === null || config === void 0 ? void 0 : config.method,
84
79
  baseURL: config === null || config === void 0 ? void 0 : config.baseURL,
85
80
  url: config === null || config === void 0 ? void 0 : config.url,
81
+ endpoint: endpoint.startsWith('/') ? endpoint : `/${endpoint}`,
86
82
  headers: config === null || config === void 0 ? void 0 : config.headers,
87
83
  params: config === null || config === void 0 ? void 0 : config.params,
88
84
  data: HttpUtil.getLoggableRequestData(config === null || config === void 0 ? void 0 : config.data),
@@ -149,6 +145,7 @@ class HttpUtil {
149
145
  const durationMs = typeof start === 'number' ? performance.now() - start : undefined;
150
146
  if (!HttpUtil.shouldSkipLogging(response === null || response === void 0 ? void 0 : response.config)) {
151
147
  requestLogger.info(HttpUtil.withRequestTag(requestTag, 'HTTP Response Received'), {
148
+ logType: 'http-metrics',
152
149
  durationMs,
153
150
  request: HttpUtil.buildRequestLog(response === null || response === void 0 ? void 0 : response.config),
154
151
  response: {
@@ -175,7 +172,7 @@ class HttpUtil {
175
172
  const durationMs = typeof start === 'number' ? performance.now() - start : undefined;
176
173
  const requestLogger = ((_c = config === null || config === void 0 ? void 0 : config.__meta) === null || _c === void 0 ? void 0 : _c.logger) || logger_1.logger;
177
174
  const timedOut = (error === null || error === void 0 ? void 0 : error.code) === 'ECONNABORTED' || (error === null || error === void 0 ? void 0 : error.code) === 'ETIMEDOUT' || /timeout/i.test((error === null || error === void 0 ? void 0 : error.message) || '');
178
- requestLogger.error(HttpUtil.withRequestTag(requestTag, timedOut ? 'HTTP Request Timed Out' : 'HTTP Request Failed'), Object.assign(Object.assign({ durationMs, request: HttpUtil.buildRequestLog(config) }, ((error === null || error === void 0 ? void 0 : error.response) ? { response: {
175
+ requestLogger.error(HttpUtil.withRequestTag(requestTag, timedOut ? 'HTTP Request Timed Out' : 'HTTP Request Failed'), Object.assign(Object.assign({ logType: 'http-metrics', durationMs, request: HttpUtil.buildRequestLog(config) }, ((error === null || error === void 0 ? void 0 : error.response) ? { response: {
179
176
  status: error.response.status,
180
177
  statusText: error.response.statusText,
181
178
  headers: error.response.headers,
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/utils/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/utils/http.ts"],"names":[],"mappings":"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"}
@@ -47,6 +47,8 @@ describe('HttpUtil', () => {
47
47
  expect(logger_1.logger.info).toHaveBeenCalledTimes(2);
48
48
  expect(logger_1.logger.info.mock.calls[0][0]).toContain('HTTP Request Started');
49
49
  expect(logger_1.logger.info.mock.calls[1][0]).toContain('HTTP Response Received');
50
+ expect(logger_1.logger.info.mock.calls[0][1]).not.toHaveProperty('logType');
51
+ expect(logger_1.logger.info.mock.calls[1][1].logType).toBe('http-metrics');
50
52
  }));
51
53
  it('logs timeout failures without a response event', () => __awaiter(void 0, void 0, void 0, function* () {
52
54
  const instance = http_1.HttpUtil.getMonitoredAxios({
@@ -61,6 +63,7 @@ describe('HttpUtil', () => {
61
63
  expect(logger_1.logger.info.mock.calls[0][0]).toContain('HTTP Request Started');
62
64
  expect(logger_1.logger.error.mock.calls[0][0]).toContain('HTTP Request Timed Out');
63
65
  expect(logger_1.logger.error.mock.calls[0][1]).not.toHaveProperty('response');
66
+ expect(logger_1.logger.error.mock.calls[0][1].logType).toBe('http-metrics');
64
67
  }));
65
68
  it('logs non-timeout rejections as failed requests', () => __awaiter(void 0, void 0, void 0, function* () {
66
69
  const instance = http_1.HttpUtil.getMonitoredAxios({
@@ -68,8 +71,23 @@ describe('HttpUtil', () => {
68
71
  });
69
72
  yield expect(instance.request(requestConfig)).rejects.toThrow('connection refused');
70
73
  expect(logger_1.logger.error.mock.calls[0][0]).toContain('HTTP Request Failed');
74
+ expect(logger_1.logger.error.mock.calls[0][1].logType).toBe('http-metrics');
71
75
  }));
72
76
  describe('buildRequestLog', () => {
77
+ it.each([
78
+ ['https://example.com/api', '/Payments/123/?q=1#detail', '/api/Payments/123/'],
79
+ ['https://example.com/api', 'https://other.example/a%2Fb?q=1#detail', '/a%2Fb'],
80
+ [undefined, 'relative/path?q=1#detail', '/relative/path'],
81
+ [undefined, '//example.com/path?q=1', '/path'],
82
+ [undefined, 'https://example.com', '/'],
83
+ [undefined, undefined, '/'],
84
+ ])('derives endpoint from Axios (%s, %s)', (baseURL, url, endpoint) => {
85
+ const requestLog = http_1.HttpUtil.buildRequestLog({
86
+ baseURL, url, httpLogContext: { endpoint: '/ignored' },
87
+ });
88
+ expect(requestLog.endpoint).toBe(endpoint);
89
+ expect(requestLog.url).toBe(url);
90
+ });
73
91
  it('parses stringified JSON request bodies before logging', () => {
74
92
  const requestLog = http_1.HttpUtil.buildRequestLog({
75
93
  method: 'post',
@@ -1 +1 @@
1
- {"version":3,"file":"http.spec.js","sourceRoot":"","sources":["../../src/utils/http.spec.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1B,MAAM,EAAE;QACJ,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;QACf,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE;QAChB,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE;KACnB;CACJ,CAAC,CAAC,CAAC;AAEJ,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;AAEtD,iCAAkC;AAClC,sCAAmC;AAEnC,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACtB,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IAEvC,MAAM,aAAa,GAAG;QAClB,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,UAAU;QACf,OAAO,EAAE;YACL,cAAc,EAAE,WAAW;YAC3B,eAAe,EAAE,cAAc;YAC/B,aAAa,EAAE,eAAe;SACjC;QACD,IAAI,EAAE,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAC;KACnC,CAAC;IAEF,EAAE,CAAC,4DAA4D,EAAE,GAAS,EAAE;QACxE,MAAM,QAAQ,GAAG,eAAQ,CAAC,iBAAiB,CAAC;YACxC,OAAO,EAAE,CAAM,MAAM,EAAC,EAAE;gBAAC,OAAA,CAAC;oBACtB,IAAI,EAAE,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAC;oBACjC,MAAM,EAAE,GAAG;oBACX,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,EAAE;oBACX,MAAM;iBACT,CAAC,CAAA;cAAA;SACL,CAAC,CAAC;QAEH,MAAM,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAEtC,MAAM,CAAC,eAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAE,eAAM,CAAC,IAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QACtF,MAAM,CAAE,eAAM,CAAC,IAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;IAC5F,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAS,EAAE;QAC5D,MAAM,QAAQ,GAAG,eAAQ,CAAC,iBAAiB,CAAC;YACxC,OAAO,EAAE,GAAS,EAAE;gBAChB,MAAM,KAAK,GAAQ,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;gBAC1D,KAAK,CAAC,IAAI,GAAG,cAAc,CAAC;gBAC5B,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC,CAAA;SACJ,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEzE,MAAM,CAAC,eAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAE,eAAM,CAAC,IAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QACtF,MAAM,CAAE,eAAM,CAAC,KAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;QACzF,MAAM,CAAE,eAAM,CAAC,KAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IACxF,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAS,EAAE;QAC5D,MAAM,QAAQ,GAAG,eAAQ,CAAC,iBAAiB,CAAC;YACxC,OAAO,EAAE,GAAS,EAAE,kDAAC,OAAA,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAA,GAAA;SACvE,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAEpF,MAAM,CAAE,eAAM,CAAC,KAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAC1F,CAAC,CAAA,CAAC,CAAC;IAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;YAC7D,MAAM,UAAU,GAAI,eAAgB,CAAC,eAAe,CAAC;gBACjD,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,qBAAqB;gBAC9B,GAAG,EAAE,UAAU;gBACf,OAAO,EAAE,EAAC,cAAc,EAAE,kBAAkB,EAAC;gBAC7C,MAAM,EAAE,EAAC,IAAI,EAAE,CAAC,EAAC;gBACjB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACjB,MAAM,EAAE,IAAI;oBACZ,QAAQ,EAAE,KAAK;iBAClB,CAAC;aACL,CAAC,CAAC;YAEH,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;gBAC5B,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,KAAK;aAClB,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACtD,MAAM,UAAU,GAAI,eAAgB,CAAC,eAAe,CAAC;gBACjD,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,qBAAqB;gBAC9B,GAAG,EAAE,UAAU;gBACf,OAAO,EAAE,EAAC,cAAc,EAAE,YAAY,EAAC;gBACvC,MAAM,EAAE,EAAE;gBACV,IAAI,EAAE,gBAAgB;aACzB,CAAC,CAAC;YAEH,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"http.spec.js","sourceRoot":"","sources":["../../src/utils/http.spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@6thbridge/utils",
3
- "version": "1.8.3",
3
+ "version": "1.9.0-2",
4
4
  "description": "simple interface for the our commonly used functions",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -9,11 +9,9 @@
9
9
  ],
10
10
  "scripts": {
11
11
  "test": "jest --verbose -c jest.config.ts",
12
+ "test:logger": "ts-node src/logger/logger-test.ts",
12
13
  "build": "rm -rf lib && tsc -p tsconfig.json",
13
14
  "prepare": "npm run build",
14
- "format": "",
15
- "version": "npm run format && git add -A src",
16
- "postversion": "git push && git push --tags",
17
15
  "bump-patch": "npm version patch",
18
16
  "bump-minor": "npm version minor",
19
17
  "bump-alpha": "npm --no-git-tag-version version prerelease"
@@ -63,5 +61,9 @@
63
61
  },
64
62
  "resolutions": {
65
63
  "minimatch": "^10.2.5"
64
+ },
65
+ "repository": {
66
+ "type": "git",
67
+ "url": "git+https://github.com/DexlerNG/bridge-utils-package.git"
66
68
  }
67
69
  }
package/readme.md CHANGED
@@ -7,7 +7,6 @@ A comprehensive TypeScript utility library for Node.js applications, providing r
7
7
  - [Core Modules](#core-modules)
8
8
  - [API Reference](#api-reference)
9
9
  - [Examples](#examples)
10
- - [Pipelines](#pipelines)
11
10
  - [Testing](#testing)
12
11
  - [Contributing](#contributing)
13
12
  - [License](#license)
@@ -291,93 +290,6 @@ LOG_OUT=1
291
290
  # Service URLs
292
291
  USER_SERVICE_URL=http://user-service:3000
293
292
  ```
294
- ## Pipelines
295
-
296
- `SerialPipeline` passes each executed step's result to the next step. `ParallelPipeline`
297
- runs independent steps concurrently with the same initial input and returns named results.
298
- Both accept the existing `ContextEntity` as the first argument on every invocation; the
299
- pipeline never stores context.
300
-
301
- Every step must provide `shouldRun(contextEntity, input): Promise<boolean>` and
302
- `run(contextEntity, input): Promise<Result>`. Implementers choose the result type.
303
- Register objects or class instances with `.pipe(name, step)`. Names must be unique.
304
- Registration returns a new pipeline, so retain the returned instance or chain calls.
305
-
306
- ### Serial transformations and skipped steps
307
-
308
- ```typescript
309
- import { ContextEntity, PipelineStep, SerialPipeline } from '@6thbridge/utils';
310
-
311
- class MeasureText implements PipelineStep<string, number> {
312
- constructor(private minimumLength: number) {}
313
-
314
- async shouldRun(contextEntity: ContextEntity, input: string): Promise<boolean> {
315
- return input.length >= this.minimumLength;
316
- }
317
-
318
- async run(contextEntity: ContextEntity, input: string): Promise<number> {
319
- return input.length;
320
- }
321
- }
322
-
323
- const pipeline = new SerialPipeline<string>()
324
- .pipe('measure', new MeasureText(3))
325
- .pipe('describe', {
326
- async shouldRun(contextEntity, input) {
327
- return true;
328
- },
329
- async run(contextEntity, input) {
330
- // input is string | number: skipped measurement forwards the original string.
331
- return typeof input === 'number' ? `Length: ${input}` : `Unmeasured: ${input}`;
332
- },
333
- });
334
-
335
- const contextEntity = new ContextEntity();
336
- await pipeline.run(contextEntity, 'hello'); // "Length: 5"
337
- await pipeline.run(new ContextEntity(), 'hi'); // "Unmeasured: hi"
338
- ```
339
-
340
- Serial execution awaits each predicate and result in registration order. A skipped step
341
- forwards its input unchanged, so downstream input and the final result include the types
342
- of values that may pass through skipped steps. Class instance methods retain their `this`.
343
-
344
- ### Named parallel results
345
-
346
- ```typescript
347
- import { ContextEntity, ParallelPipeline } from '@6thbridge/utils';
348
-
349
- const pipeline = new ParallelPipeline<string>()
350
- .pipe('length', {
351
- async shouldRun(contextEntity, input) {
352
- return true;
353
- },
354
- async run(contextEntity, input) {
355
- return input.length;
356
- },
357
- })
358
- .pipe('uppercase', {
359
- async shouldRun(contextEntity, input) {
360
- return input.length > 0;
361
- },
362
- async run(contextEntity, input) {
363
- return input.toUpperCase();
364
- },
365
- });
366
-
367
- const results = await pipeline.run(new ContextEntity(), 'hello');
368
- // { length: 5, uppercase: 'HELLO' }
369
- // Inferred properties: length?: number; uppercase?: string.
370
- ```
371
-
372
- Parallel predicates and executions run independently. Skipped steps are omitted from the
373
- result object; executed steps returning `undefined` still have a result property. Result
374
- keys follow registration order regardless of completion order.
375
-
376
- Both pipelines reject errors from `shouldRun` or `run`. Serial execution stops before the
377
- next step; already started parallel work continues. Empty serial pipelines return their
378
- input, and empty parallel pipelines return `{}`. Pipelines can be reused concurrently
379
- with different contexts and inputs; callers manage any mutable state inside their steps.
380
-
381
293
  ## Testing
382
294
  The library includes comprehensive test suites using Jest:
383
295
  ``` bash
@@ -446,7 +358,7 @@ try {
446
358
  ### Development Setup
447
359
  ``` bash
448
360
  # Clone repository
449
- git clone https://github.com/6thbridge/utils.git
361
+ git clone https://github.com/DexlerNG/bridge-utils-package.git
450
362
 
451
363
  # Install dependencies
452
364
  yarn install
@@ -464,23 +376,39 @@ This project is licensed under the ISC License.
464
376
 
465
377
  ## Support
466
378
  For support and questions, please open an issue on the GitHub repository.
467
- **Note**: This library is actively maintained and used in production environments. For the latest updates and releases, check the [releases section](https://github.com/6thbridge/utils/releases).
379
+ **Note**: This library is actively maintained and used in production environments. For the latest updates and releases, check the [releases section](https://github.com/DexlerNG/bridge-utils-package/releases).
380
+
381
+ ## Publishing
382
+
383
+ Merging a pull request into `main` publishes the package to npm and GitHub Packages, unless the pull request has the `skip-publish` label. Bump the version before merging. Add `publish-test-version` to a pull request from this repository to publish a test version to GitHub Packages.
384
+
385
+ Repository Actions secrets required:
386
+
387
+ - `NPM_TOKEN`: npm token with permission to publish `@6thbridge/utils`.
388
+ - `GH_PACKAGES_TOKEN`: GitHub personal access token (classic) with `write:packages` permission for the `6thbridge` package namespace. The repository currently belongs to `DexlerNG`, so its automatic `GITHUB_TOKEN` cannot publish to that separate namespace.
389
+
390
+ To install the GitHub Packages copy, authenticate to `npm.pkg.github.com` and configure `@6thbridge:registry=https://npm.pkg.github.com` in your npm configuration. The normal `npm install @6thbridge/utils` command uses npm.
468
391
 
469
- ## Lock and database transaction actions
392
+ ## Log batching
470
393
 
471
- Create these actions with dependencies owned by the consuming service. The package does not create Redis or MongoDB connections.
394
+ Keep calling `logger.info()`, `logger.error()`, etc. Logs share an array and flush
395
+ at 100 messages or after 1 second. `configureLogBatching({ batchSize: 100,
396
+ flushIntervalMs: 1000 })` changes those defaults. Each flush sends a plain array
397
+ to the existing RabbitMQ instance, or to `POST /v1/logs` when none exists.
398
+ Transport selection happens during flushing. Transport failures are reported to
399
+ stderr; there is no background retry mechanism.
472
400
 
473
- ```ts
474
- import { DatabaseSessionAction, LockAction } from '@6thbridge/utils';
401
+ Call `registerLoggingShutdown()` once to register SIGTERM/SIGINT flushing, or
402
+ `await flushLogs()` explicitly before closing transports or exiting. Registration
403
+ only flushes the library buffer; it does not close providers or exit the process.
404
+ There are no automatic signal listeners when shutdown is not registered.
405
+ Deploy array support in utility-service before releasing the updated logger.
475
406
 
476
- LockAction.configure(redisClient);
477
- DatabaseSessionAction.configure(transactionRepository.getModel());
407
+ To send 10,000 test logs to your utility service:
478
408
 
479
- await DatabaseSessionAction.withTransaction(
480
- context,
481
- async (session) => transactionRepository.updateMany(filter, update, { session }),
482
- { lockKey: ['wallet:123'], lockTTLInSeconds: 10 },
483
- );
409
+ ```bash
410
+ UTILITY_SERVICE_URL=https://your-utility-service yarn test:logger
484
411
  ```
485
412
 
486
- `redisClient` must be an initialized `RedisClient`; `LockAction.configure` creates Redlock with the package retry settings. Every action method takes a `ContextEntity` first and uses its logger. Database sessions run only when `NODE_ENV` is `production`; callbacks receive `null` for the session in other environments. Returned locks need `release()`; sessions need the MongoDB transaction methods.
413
+ The script uses two logger instances and batches of 100. It does not start a
414
+ server or verify receipt; check utility-service for the received logs.