@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.
- package/lib/middlewares/common.d.ts +2 -1
- package/lib/middlewares/common.js +23 -0
- package/lib/middlewares/common.js.map +1 -1
- package/lib/middlewares/express.d.ts +1 -1
- package/lib/middlewares/express.js +7 -17
- package/lib/middlewares/express.js.map +1 -1
- package/lib/middlewares/partner-context.test.d.ts +1 -0
- package/lib/middlewares/partner-context.test.js +109 -0
- package/lib/middlewares/partner-context.test.js.map +1 -0
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/types/context.entity.d.ts +7 -11
- package/lib/types/context.entity.js +41 -39
- package/lib/types/context.entity.js.map +1 -1
- package/package.json +1 -1
|
@@ -13,17 +13,6 @@ declare const partnerDataSchema: z.ZodObject<{
|
|
|
13
13
|
status: z.ZodString;
|
|
14
14
|
}, z.core.$strip>;
|
|
15
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
|
-
}
|
|
27
16
|
export declare class ContextEntity {
|
|
28
17
|
requestSource?: string;
|
|
29
18
|
clientId?: string;
|
|
@@ -56,4 +45,11 @@ export declare class ContextEntity {
|
|
|
56
45
|
static fromAuthorizationResult(req: express.Request, result: ValidateUserAccessResponseDTO): ContextEntity;
|
|
57
46
|
clone(): this;
|
|
58
47
|
}
|
|
48
|
+
export declare class PartnerContextEntity extends ContextEntity {
|
|
49
|
+
partner: PartnerEntity;
|
|
50
|
+
request: express.Request;
|
|
51
|
+
requestId: string;
|
|
52
|
+
locale: string;
|
|
53
|
+
static fromRequest(req: express.Request, resolvedPartner?: PartnerEntity): PartnerContextEntity;
|
|
54
|
+
}
|
|
59
55
|
export {};
|
|
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.
|
|
36
|
+
exports.PartnerContextEntity = exports.ContextEntity = 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");
|
|
@@ -46,44 +46,6 @@ const partnerDataSchema = zod_1.z.object({
|
|
|
46
46
|
provider: zod_1.z.string().regex(/\S/),
|
|
47
47
|
status: zod_1.z.string().regex(/\S/),
|
|
48
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;
|
|
87
49
|
class ContextEntity {
|
|
88
50
|
constructor() {
|
|
89
51
|
this.logger = new logger_1.Logger({});
|
|
@@ -162,4 +124,44 @@ class ContextEntity {
|
|
|
162
124
|
}
|
|
163
125
|
}
|
|
164
126
|
exports.ContextEntity = ContextEntity;
|
|
127
|
+
class PartnerContextEntity extends ContextEntity {
|
|
128
|
+
static fromRequest(req, resolvedPartner) {
|
|
129
|
+
let partner;
|
|
130
|
+
try {
|
|
131
|
+
if (resolvedPartner !== undefined) {
|
|
132
|
+
partner = partnerDataSchema.parse(resolvedPartner);
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
const header = req.headers['x-partner-data'];
|
|
136
|
+
if (typeof header !== 'string')
|
|
137
|
+
throw new Error('Missing partner data');
|
|
138
|
+
partner = partnerDataSchema.parse(JSON.parse(header));
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
catch (_a) {
|
|
142
|
+
throw new custom_exception_1.CustomException({
|
|
143
|
+
message: "You don't have permission to access this service. ",
|
|
144
|
+
statusCode: 403,
|
|
145
|
+
errorCode: 'InvalidAuthorization',
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
const context = new PartnerContextEntity();
|
|
149
|
+
context.partner = partner;
|
|
150
|
+
context.request = req;
|
|
151
|
+
context.requestId = req.headers['x-request-id'] || (0, crypto_1.randomUUID)();
|
|
152
|
+
context.requestSource = (req.headers['x-request-source'] || req.headers.source);
|
|
153
|
+
context.ip = req.headers['cf-connecting-ip'] || req.ip;
|
|
154
|
+
context.locale = req.headers['x-locale-id'] || 'en';
|
|
155
|
+
context.logger.setProps({
|
|
156
|
+
requestId: context.requestId,
|
|
157
|
+
requestSource: context.requestSource,
|
|
158
|
+
ip: context.ip,
|
|
159
|
+
url: req.originalUrl,
|
|
160
|
+
partnerId: context.partner.partnerId,
|
|
161
|
+
provider: context.partner.provider,
|
|
162
|
+
});
|
|
163
|
+
return context;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
exports.PartnerContextEntity = PartnerContextEntity;
|
|
165
167
|
//# sourceMappingURL=context.entity.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.entity.js","sourceRoot":"","sources":["../../src/types/context.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAA4B;AAK5B,mCAAoC;AACpC,6CAA0C;AAC1C,6BAAwB;AACxB,yDAAqD;AAOxC,QAAA,uBAAuB,GAAG,UAAU,CAAC;AAElD,MAAM,iBAAiB,GAAG,OAAC,CAAC,MAAM,CAAC;IACjC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;IACjC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;IAC5B,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;IAChC,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;CAC/B,CAAC,CAAC;AAIH,MAAa,
|
|
1
|
+
{"version":3,"file":"context.entity.js","sourceRoot":"","sources":["../../src/types/context.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAA4B;AAK5B,mCAAoC;AACpC,6CAA0C;AAC1C,6BAAwB;AACxB,yDAAqD;AAOxC,QAAA,uBAAuB,GAAG,UAAU,CAAC;AAElD,MAAM,iBAAiB,GAAG,OAAC,CAAC,MAAM,CAAC;IACjC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;IACjC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;IAC5B,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;IAChC,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;CAC/B,CAAC,CAAC;AAIH,MAAa,aAAa;IA4BxB;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,GAAoB;;QACrC,MAAM,OAAO,GAAG,IAAI,aAAa,EAAE,CAAC;QACpC,OAAO,CAAC,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,MAAgB,CAAC;QACrD,OAAO,CAAC,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAAC,qBAAqB,CAAW,CAAC;QAC1E,OAAO,CAAC,QAAQ,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAW,CAAC;QAC5F,OAAO,CAAC,eAAe,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC;YACzD,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAW,CAAC;QACtC,OAAO,CAAC,eAAe,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC;YACzD,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAW,CAAC;QACtC,OAAO,CAAC,MAAM,GAAG,CAAA,MAAA,GAAG,CAAC,MAAM,0CAAE,MAAM,MAAI,MAAA,GAAG,CAAC,IAAI,0CAAE,MAAM,CAAA,KAAI,MAAA,GAAG,CAAC,KAAK,0CAAE,MAAM,CAAA,CAAC;QAC7E,OAAO,CAAC,SAAS,GAAI,GAAG,CAAC,OAAO,CAAC,cAAc,CAAY,IAAI,IAAA,mBAAU,GAAE,CAAC;QAC5E,OAAO,CAAC,EAAE,GAAI,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAY,IAAI,GAAG,CAAC,EAAE,CAAC;QACnE,OAAO,CAAC,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,EAAY,CAAC;QACtC,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,QAAkB,CAAC;QAClD,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,OAAiB,CAAC;QAChD,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC;QACtB,OAAO,CAAC,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAW,CAAC;QAChE,OAAO,CAAC,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAW,CAAC;QAC9D,OAAO,CAAC,MAAM,GAAI,GAAG,CAAC,OAAO,CAAC,aAAa,CAAY,IAAI,IAAI,CAAC;QAChE,OAAO,CAAC,WAAW,GAAG,CAAA,MAAC,GAAG,CAAC,OAAO,CAAC,WAAsB,0CAAE,KAAK,CAAC,GAAG,CAAC,KAAI,EAAE,CAAC;QAC5E,OAAO,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC;YAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW;YAChC,aAAa,EAAE,OAAO,CAAC,aAAa;SACrC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,MAAM,CAAC,uBAAuB,CAAC,GAAoB,EAAE,MAAqC;QACxF,MAAM,OAAO,GAAG,IAAI,aAAa,EAAE,CAAC;QACpC,OAAO,CAAC,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,MAAgB,CAAC;QACrD,OAAO,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;QACvD,OAAO,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;QACjD,OAAO,CAAC,eAAe,GAAI,MAAM,CAAC,eAAe,CAAC;QAClD,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC7C,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAE7C,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC7C,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAE7C,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACzC,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QAGzC,OAAO,CAAC,SAAS,GAAI,GAAG,CAAC,OAAO,CAAC,cAAc,CAAY,IAAI,IAAA,mBAAU,GAAE,CAAC;QAC5E,OAAO,CAAC,EAAE,GAAI,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAY,IAAI,GAAG,CAAC,EAAE,CAAC;QACnE,OAAO,CAAC,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,EAAY,CAAC;QACtC,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,QAAkB,CAAC;QAClD,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,OAAiB,CAAC;QAChD,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC;QACtB,OAAO,CAAC,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAW,IAAI,MAAM,CAAC,QAAQ,CAAC;QACnF,OAAO,CAAC,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAW,IAAI,MAAM,CAAC,OAAO,CAAC;QAChF,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAW,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC;QAC/E,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;QACzD,OAAO,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC;YAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,MAAM,EAAE,OAAO,CAAC,aAAa;YAC7B,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW;YAChC,aAAa,EAAE,OAAO,CAAC,aAAa;SACrC,CAAC,CAAC;QAEH,mBAAmB;QACnB,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACxB,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;QACtC,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC;QAE1C,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,KAAK;QACH,OAAO,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;CACF;AA7GD,sCA6GC;AAED,MAAa,oBAAqB,SAAQ,aAAa;IAMrD,MAAM,CAAC,WAAW,CAAC,GAAoB,EAAE,eAA+B;QACtE,IAAI,OAAsB,CAAC;QAC3B,IAAI,CAAC;YACH,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;gBAClC,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;gBAC7C,IAAI,OAAO,MAAM,KAAK,QAAQ;oBAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;gBACxE,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QAAC,WAAM,CAAC;YACP,MAAM,IAAI,kCAAe,CAAC;gBACxB,OAAO,EAAE,oDAAoD;gBAC7D,UAAU,EAAE,GAAG;gBACf,SAAS,EAAE,sBAAsB;aAClC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC3C,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;QAC1B,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC;QACtB,OAAO,CAAC,SAAS,GAAI,GAAG,CAAC,OAAO,CAAC,cAAc,CAAY,IAAI,IAAA,mBAAU,GAAE,CAAC;QAC5E,OAAO,CAAC,aAAa,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAW,CAAC;QAC1F,OAAO,CAAC,EAAE,GAAI,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAY,IAAI,GAAG,CAAC,EAAE,CAAC;QACnE,OAAO,CAAC,MAAM,GAAI,GAAG,CAAC,OAAO,CAAC,aAAa,CAAY,IAAI,IAAI,CAAC;QAChE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;YACtB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,GAAG,EAAE,GAAG,CAAC,WAAW;YACpB,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS;YACpC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ;SACnC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAzCD,oDAyCC"}
|