@6thbridge/utils 1.9.0-2 → 1.9.0-4

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.
@@ -1,4 +1,4 @@
1
- import { ContextEntity, PFunctionResult } from '../types';
1
+ import { ContextEntity, PartnerContextEntity, PFunctionResult } from '../types';
2
2
  import { ResourcePermission } from '../types';
3
3
  import express from "express";
4
4
  import { ValidateUserAccessResponseDTO } from "../types/authentication.entity";
@@ -10,6 +10,7 @@ export declare const AUTHENTICATION_TYPES: {
10
10
  export declare function emptyMiddleware(req: any, res: any, next: any): any;
11
11
  export declare function unless(middlewareName: string, paths: string[], middleware: any): typeof emptyMiddleware;
12
12
  export declare class CommonMiddleware {
13
+ static getPartnerRequestContext(req: express.Request): PFunctionResult<PartnerContextEntity>;
13
14
  static processAuthorizationCheck(req: express.Request): PFunctionResult<ValidateUserAccessResponseDTO>;
14
15
  static getRequestContext(req: express.Request, supportedAuthenticationType?: string[], permissions?: ResourcePermission[]): Promise<{
15
16
  data: ContextEntity;
@@ -49,6 +49,29 @@ function unless(middlewareName, paths, middleware) {
49
49
  };
50
50
  }
51
51
  class CommonMiddleware {
52
+ static getPartnerRequestContext(req) {
53
+ return __awaiter(this, void 0, void 0, function* () {
54
+ const failure = {
55
+ error: "You don't have permission to access this service. ",
56
+ statusCode: 403,
57
+ errorCode: "Forbidden"
58
+ };
59
+ try {
60
+ if (req.headers['x-partner-data'] !== undefined) {
61
+ return { data: types_1.PartnerContextEntity.fromRequest(req) };
62
+ }
63
+ const apiKey = req.headers['x-partner-api-key'];
64
+ if (typeof apiKey !== 'string' || !apiKey.trim())
65
+ return failure;
66
+ const response = yield _axios.post('/internal/v1/partners/validate-api-key', { apiKey });
67
+ return { data: types_1.PartnerContextEntity.fromRequest(req, response.data.data) };
68
+ }
69
+ catch (_a) {
70
+ // Axios errors can contain the API key in their request configuration.
71
+ return failure;
72
+ }
73
+ });
74
+ }
52
75
  static processAuthorizationCheck(req) {
53
76
  return __awaiter(this, void 0, void 0, function* () {
54
77
  var _a, _b, _c, _d, _e;
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/middlewares/common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/middlewares/common.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { Response, Request, NextFunction } from 'express';
2
2
  import { ResourcePermission } from '../types/permission';
3
- export declare const partnerContext: (req: Request, res: Response, next: NextFunction) => void | Promise<Response<any, Record<string, any>>>;
3
+ export declare const partnerContext: (req: Request, res: Response, next: NextFunction) => Promise<void | Response<any, Record<string, any>>>;
4
4
  export declare function internalOnly(req: Request, res: Response, next: NextFunction): void | Promise<Response<any, Record<string, any>>>;
5
5
  export declare const can: (supportedAuthenticationType: string[], permissions: ResourcePermission[], options?: any) => (req: Request, res: Response, next: NextFunction) => Promise<void | Response<any, Record<string, any>>>;
6
6
  export declare const registerLogger: (req: Request, res: Response, next: NextFunction) => void;
@@ -48,29 +48,19 @@ const response = __importStar(require("../responses/express"));
48
48
  const common_1 = require("./common");
49
49
  const logger_1 = require("../logger/logger");
50
50
  const utils_1 = require("../utils");
51
- const context_entity_1 = require("../types/context.entity");
52
- const custom_exception_1 = require("../types/custom.exception");
53
- const partnerContext = (req, res, next) => {
54
- let context;
55
- try {
56
- context = context_entity_1.PartnerContextEntity.fromRequest(req);
57
- }
58
- catch (error) {
59
- logger_1.logger.exception(error, {
60
- payload: req.headers["x-partner-data"]
61
- });
62
- if (!(error instanceof custom_exception_1.CustomException))
63
- return next(error);
51
+ const partnerContext = (req, res, next) => __awaiter(void 0, void 0, void 0, function* () {
52
+ const { data: context, error, statusCode, errorCode } = yield common_1.CommonMiddleware.getPartnerRequestContext(req);
53
+ if (error || !context) {
64
54
  return response.failed(res, {
65
- error: "You don't have permission to access this service. ",
66
- statusCode: 403,
67
- errorCode: 'InvalidAuthorization',
55
+ error: error || "You don't have permission to access this service. ",
56
+ statusCode: statusCode || 403,
57
+ errorCode: errorCode || 'InvalidAuthorization',
68
58
  });
69
59
  }
70
60
  res.locals = context;
71
61
  res.setHeader('x-request-id', context.requestId);
72
62
  return next();
73
- };
63
+ });
74
64
  exports.partnerContext = partnerContext;
75
65
  function internalOnly(req, res, next) {
76
66
  var _a;
@@ -1 +1 @@
1
- {"version":3,"file":"express.js","sourceRoot":"","sources":["../../src/middlewares/express.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"express.js","sourceRoot":"","sources":["../../src/middlewares/express.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const http_1 = require("../utils/http");
13
+ const logger_1 = require("../logger/logger");
14
+ const context_entity_1 = require("../types/context.entity");
15
+ const express_1 = require("./express");
16
+ const common_1 = require("./common");
17
+ jest.mock('../utils/http', () => {
18
+ return { HttpUtil: { getAxiosInstance: jest.fn().mockReturnValue({ post: jest.fn() }) } };
19
+ });
20
+ const post = http_1.HttpUtil.getAxiosInstance().post;
21
+ const partner = { partnerId: '6ad13d858feb60cd7900aa63', name: 'AKI Angola', provider: 'aki-angola', status: 'active' };
22
+ const failure = {
23
+ error: "You don't have permission to access this service. ",
24
+ statusCode: 403,
25
+ errorCode: 'InvalidAuthorization',
26
+ };
27
+ function request(headers) {
28
+ return { headers, ip: '127.0.0.1', originalUrl: '/partners' };
29
+ }
30
+ function run(headers) {
31
+ return __awaiter(this, void 0, void 0, function* () {
32
+ const res = { locals: {}, setHeader: jest.fn(), status: jest.fn(), json: jest.fn() };
33
+ res.status.mockReturnValue(res);
34
+ res.json.mockReturnValue(res);
35
+ const next = jest.fn();
36
+ yield (0, express_1.partnerContext)(request(headers), res, next);
37
+ return { res, next };
38
+ });
39
+ }
40
+ describe('partner API key fallback', () => {
41
+ beforeEach(() => post.mockReset());
42
+ it('uses valid partner data without validating a supplied key', () => __awaiter(void 0, void 0, void 0, function* () {
43
+ const { res, next } = yield run({ 'x-partner-data': JSON.stringify(partner), 'x-partner-api-key': 'ignored', 'x-request-id': 'header-123' });
44
+ const context = res.locals;
45
+ expect(context.partner).toEqual(partner);
46
+ expect(res.setHeader).toHaveBeenCalledWith('x-request-id', 'header-123');
47
+ expect(context.logger.getProps()).toMatchObject({ partnerId: partner.partnerId, provider: partner.provider, requestId: 'header-123' });
48
+ expect(post).not.toHaveBeenCalled();
49
+ expect(next).toHaveBeenCalledTimes(1);
50
+ }));
51
+ it('validates the partner API key and initializes the context and logger', () => __awaiter(void 0, void 0, void 0, function* () {
52
+ post.mockResolvedValue({ data: { data: partner } });
53
+ const { res, next } = yield run({ 'x-partner-api-key': 'partner-secret', 'x-request-id': 'req-123' });
54
+ expect(post).toHaveBeenCalledWith('/internal/v1/partners/validate-api-key', { apiKey: 'partner-secret' });
55
+ expect(res.locals).toBeInstanceOf(context_entity_1.PartnerContextEntity);
56
+ const context = res.locals;
57
+ expect(context.partner).toEqual(partner);
58
+ expect(context.requestId).toBe('req-123');
59
+ expect(context.logger.getProps()).toMatchObject({ partnerId: partner.partnerId, provider: partner.provider, requestId: 'req-123' });
60
+ expect(res.setHeader).toHaveBeenCalledWith('x-request-id', 'req-123');
61
+ expect(next).toHaveBeenCalledTimes(1);
62
+ }));
63
+ it.each([undefined, '', ' ', ['one', 'two']])('rejects missing or invalid keys: %p', (key) => __awaiter(void 0, void 0, void 0, function* () {
64
+ const { res, next } = yield run({ 'x-partner-api-key': key });
65
+ expect(post).not.toHaveBeenCalled();
66
+ expect(res.status).toHaveBeenCalledWith(403);
67
+ expect(res.json).toHaveBeenCalledWith(failure);
68
+ expect(next).not.toHaveBeenCalled();
69
+ }));
70
+ it.each(['', '{bad', 'null', '{}', '[]'])('rejects malformed partner data without fallback: %p', (header) => __awaiter(void 0, void 0, void 0, function* () {
71
+ const { res, next } = yield run({ 'x-partner-data': header, 'x-partner-api-key': 'secret' });
72
+ expect(post).not.toHaveBeenCalled();
73
+ expect(res.json).toHaveBeenCalledWith(failure);
74
+ expect(next).not.toHaveBeenCalled();
75
+ }));
76
+ it.each([undefined, null, {}, Object.assign(Object.assign({}, partner), { partnerId: 42 }), Object.assign(Object.assign({}, partner), { provider: '' })])('rejects invalid service data: %p', (data) => __awaiter(void 0, void 0, void 0, function* () {
77
+ post.mockResolvedValue({ data: { data } });
78
+ const { res, next } = yield run({ 'x-partner-api-key': 'secret' });
79
+ expect(post).toHaveBeenCalledTimes(1);
80
+ expect(res.json).toHaveBeenCalledWith(failure);
81
+ expect(next).not.toHaveBeenCalled();
82
+ }));
83
+ it.each([401, 503])('rejects service errors without logging credentials: %p', (status) => __awaiter(void 0, void 0, void 0, function* () {
84
+ const exception = jest.spyOn(logger_1.Logger.prototype, 'exception').mockImplementation();
85
+ try {
86
+ post.mockRejectedValue(Object.assign(new Error('partner-secret'), {
87
+ config: { data: '{"apiKey":"partner-secret"}' },
88
+ response: { status, data: { error: 'partner-secret' } },
89
+ }));
90
+ const { res, next } = yield run({ 'x-partner-api-key': 'partner-secret' });
91
+ expect(post).toHaveBeenCalledTimes(1);
92
+ expect(res.json).toHaveBeenCalledWith(failure);
93
+ expect(next).not.toHaveBeenCalled();
94
+ expect(JSON.stringify(exception.mock.calls)).not.toContain('partner-secret');
95
+ }
96
+ finally {
97
+ exception.mockRestore();
98
+ }
99
+ }));
100
+ it('returns a function result from the common context helper', () => __awaiter(void 0, void 0, void 0, function* () {
101
+ var _a, _b, _c;
102
+ post.mockResolvedValue({ data: { data: partner } });
103
+ const result = yield common_1.CommonMiddleware.getPartnerRequestContext(request({ 'x-partner-api-key': 'secret' }));
104
+ expect((_a = result.data) === null || _a === void 0 ? void 0 : _a.partner).toEqual(partner);
105
+ expect((_b = result.data) === null || _b === void 0 ? void 0 : _b.requestId).toMatch(/^[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}$/);
106
+ expect((_c = result.data) === null || _c === void 0 ? void 0 : _c.locale).toBe('en');
107
+ }));
108
+ });
109
+ //# sourceMappingURL=partner-context.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partner-context.test.js","sourceRoot":"","sources":["../../src/middlewares/partner-context.test.ts"],"names":[],"mappings":"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"}