@riocrypto/common-server 1.0.568 → 1.0.569

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.
@@ -13,11 +13,16 @@ interface AdminAuthPayload {
13
13
  id: string;
14
14
  email: string;
15
15
  }
16
+ interface PartnerAuthPayload {
17
+ id: string;
18
+ email: string;
19
+ }
16
20
  declare global {
17
21
  namespace Express {
18
22
  interface Request {
19
23
  currentAuth?: AuthPayload;
20
24
  currentAdminAuth?: AdminAuthPayload;
25
+ currentPartnerAuth?: PartnerAuthPayload;
21
26
  user?: UserDoc | BusinessUserDoc;
22
27
  partner?: PartnerDoc;
23
28
  validAdminApiKey?: boolean;
@@ -22,7 +22,7 @@ const auth_1 = require("../models/auth");
22
22
  const apiKey_1 = require("../services/apiKey");
23
23
  const secret_manager_client_1 = require("../clients/secret-manager-client");
24
24
  const authorize = (req, res, next, mongoose, authorizationTypes) => __awaiter(void 0, void 0, void 0, function* () {
25
- var _a, _b, _c, _d, _e, _f, _g, _h;
25
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
26
26
  let missingKYC = false;
27
27
  if (authorizationTypes.includes(common_1.AuthorizationType.AdminAPI)) {
28
28
  let apiKey = req.header("x-api-key");
@@ -38,8 +38,7 @@ const authorize = (req, res, next, mongoose, authorizationTypes) => __awaiter(vo
38
38
  authorizationTypes.includes(common_1.AuthorizationType.UserNoKYC) ||
39
39
  authorizationTypes.includes(common_1.AuthorizationType.User) ||
40
40
  authorizationTypes.includes(common_1.AuthorizationType.UserOptional) ||
41
- authorizationTypes.includes(common_1.AuthorizationType.Broker) ||
42
- authorizationTypes.includes(common_1.AuthorizationType.Partner)) {
41
+ authorizationTypes.includes(common_1.AuthorizationType.Broker)) {
43
42
  const apiKey = req.header("x-api-key");
44
43
  if (apiKey) {
45
44
  try {
@@ -99,11 +98,24 @@ const authorize = (req, res, next, mongoose, authorizationTypes) => __awaiter(vo
99
98
  catch (err) { }
100
99
  }
101
100
  }
101
+ if (authorizationTypes.includes(common_1.AuthorizationType.Partner)) {
102
+ if ((_g = req.cookies) === null || _g === void 0 ? void 0 : _g.partnerAccessToken) {
103
+ try {
104
+ const PARTNER_ACCESS_TOKEN_SECRET = yield secret_manager_client_1.secretManagerClient.getSecretValue("PARTNER_ACCESS_TOKEN_SECRET");
105
+ if (!PARTNER_ACCESS_TOKEN_SECRET) {
106
+ throw new Error("Unable to get PARTNER_ACCESS_TOKEN_SECRET");
107
+ }
108
+ const payload = jsonwebtoken_1.default.verify(req.cookies.partnerAccessToken, PARTNER_ACCESS_TOKEN_SECRET);
109
+ req.currentPartnerAuth = payload;
110
+ }
111
+ catch (err) { }
112
+ }
113
+ }
102
114
  if (authorizationTypes.includes(common_1.AuthorizationType.Partner) &&
103
- req.currentAuth) {
115
+ req.currentPartnerAuth) {
104
116
  const Partner = yield (0, partner_1.buildPartner)(mongoose);
105
117
  const partner = yield Partner.findOne({
106
- authId: req.currentAuth.id,
118
+ authId: req.currentPartnerAuth.id,
107
119
  });
108
120
  if (partner) {
109
121
  req.partner = partner;
@@ -229,12 +241,12 @@ const authorize = (req, res, next, mongoose, authorizationTypes) => __awaiter(vo
229
241
  }
230
242
  if ((authorizationTypes.includes(common_1.AuthorizationType.User) ||
231
243
  authorizationTypes.includes(common_1.AuthorizationType.UserNoKYC)) &&
232
- ((_g = req.cookies) === null || _g === void 0 ? void 0 : _g.accessToken)) {
244
+ ((_h = req.cookies) === null || _h === void 0 ? void 0 : _h.accessToken)) {
233
245
  throw new common_1.MissingUserError();
234
246
  }
235
247
  if (authorizationTypes.includes(common_1.AuthorizationType.Admin) &&
236
248
  authorizationTypes.length === 1 &&
237
- ((_h = req.cookies) === null || _h === void 0 ? void 0 : _h.accessToken)) {
249
+ ((_j = req.cookies) === null || _j === void 0 ? void 0 : _j.accessToken)) {
238
250
  throw new common_1.AdminOnlyError();
239
251
  }
240
252
  if (!req.user && authorizationTypes.includes(common_1.AuthorizationType.Broker)) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@riocrypto/common-server",
3
- "version": "1.0.568",
3
+ "version": "1.0.569",
4
4
  "description": "",
5
5
  "main": "./build/index.js",
6
6
  "types": "./build/index.d.ts",
@@ -23,7 +23,7 @@
23
23
  "dependencies": {
24
24
  "@aws-sdk/client-s3": "^3.297.0",
25
25
  "@google-cloud/storage": "^6.9.5",
26
- "@riocrypto/common": "^1.0.554",
26
+ "@riocrypto/common": "^1.0.555",
27
27
  "@types/express": "^4.17.13",
28
28
  "axios": "^0.27.2",
29
29
  "ccxt": "^3.0.30",