@otters.ai/common-backend 1.0.190 → 1.0.193

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.
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @param {*} req Express req Object
3
+ * @param {*} res Express res Object
4
+ * @param {*} next Express next Function
5
+ */
6
+ type RolePermissions = Record<string, string[]>;
7
+ export declare const checkRole: (rolesPermissions: RolePermissions, requiredPermission: string, req: any, res: any, next: any) => any;
8
+ export {};
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ /**
3
+ * @param {*} req Express req Object
4
+ * @param {*} res Express res Object
5
+ * @param {*} next Express next Function
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.checkRole = void 0;
9
+ const checkRole = (rolesPermissions, requiredPermission, req, res, next) => {
10
+ var _a;
11
+ try {
12
+ const role = (_a = req.user) === null || _a === void 0 ? void 0 : _a.role;
13
+ const permissions = rolesPermissions[role] || [];
14
+ if (!permissions.includes(requiredPermission)) {
15
+ return res.status(200).json({
16
+ success: false,
17
+ message: 'Access denied',
18
+ });
19
+ }
20
+ next();
21
+ }
22
+ catch (error) {
23
+ return next(error);
24
+ }
25
+ };
26
+ exports.checkRole = checkRole;
@@ -3,4 +3,4 @@
3
3
  * @param {*} res Express res Object
4
4
  * @param {*} next Express next Function
5
5
  */
6
- export declare const checkToken: (sessionLogService: any, req: any, res: any, next: any) => Promise<any>;
6
+ export declare const checkToken: (req: any, res: any, next: any) => Promise<any>;
@@ -16,34 +16,25 @@ const services_1 = require("../services");
16
16
  * @param {*} res Express res Object
17
17
  * @param {*} next Express next Function
18
18
  */
19
- const checkToken = (sessionLogService, req, res, next) => __awaiter(void 0, void 0, void 0, function* () {
19
+ const checkToken = (req, res, next) => __awaiter(void 0, void 0, void 0, function* () {
20
20
  try {
21
21
  const authHeader = req.get('Authorization');
22
22
  const token = authHeader && authHeader.toString().split(' ')[1];
23
23
  if (!token) {
24
24
  return res.status(200).json({ success: false, message: "Token not found." });
25
25
  }
26
- if (!req.headers['sessionid']) {
27
- return res.status(200).json({ success: false, message: "Session Id not found." });
26
+ const verifyToken = services_1.JwtService.verifyJSONToken({
27
+ token: token
28
+ });
29
+ if (!verifyToken.flag) {
30
+ return res.status(200).json({ success: false, message: verifyToken.message });
28
31
  }
29
- let result = yield sessionLogService
30
- .findEntry({ sessionId: req.headers['sessionid'].toString() });
31
- if (result.flag) {
32
- const verifyToken = services_1.JwtService.verifyJSONToken({
33
- token: token
34
- });
35
- if (!verifyToken.flag) {
36
- return res.status(200).json({ success: false, message: verifyToken.message });
37
- }
38
- if (typeof verifyToken.message === "object") {
39
- req['userEmail'] = verifyToken.message.email;
40
- req['userId'] = verifyToken.message.id;
41
- }
42
- next();
43
- }
44
- else {
45
- return res.status(200).json({ success: false, message: result.message });
32
+ if (typeof verifyToken.message === "object") {
33
+ req['userEmail'] = verifyToken.message.email;
34
+ req['userId'] = verifyToken.message.id;
35
+ req['role'] = verifyToken.message.role;
46
36
  }
37
+ next();
47
38
  }
48
39
  catch (e) {
49
40
  return next(e);
@@ -3,3 +3,4 @@ export * from './checkIsAdmin';
3
3
  export * from './getUserDetails';
4
4
  export * from './checkCategory';
5
5
  export * from './checkIsCompanyAdmin';
6
+ export * from './checkRoles';
@@ -19,3 +19,4 @@ __exportStar(require("./checkIsAdmin"), exports);
19
19
  __exportStar(require("./getUserDetails"), exports);
20
20
  __exportStar(require("./checkCategory"), exports);
21
21
  __exportStar(require("./checkIsCompanyAdmin"), exports);
22
+ __exportStar(require("./checkRoles"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@otters.ai/common-backend",
3
- "version": "1.0.190",
3
+ "version": "1.0.193",
4
4
  "description": "",
5
5
  "main": "./build/index.js",
6
6
  "types": "./build/index.d.ts",