From 9bb66454471f5b358150e973c6454c061c2612a4 Mon Sep 17 00:00:00 2001 From: AbegaM Date: Fri, 26 Apr 2024 11:51:32 +0300 Subject: [PATCH 1/3] Fix soul crashing error due to sending response with two res objects --- src/controllers/auth/token.js | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/src/controllers/auth/token.js b/src/controllers/auth/token.js index 6102f86..4588d04 100644 --- a/src/controllers/auth/token.js +++ b/src/controllers/auth/token.js @@ -59,12 +59,18 @@ const obtainAccessToken = async (req, res) => { // if the user is not a superuser get the role and its permission from the DB if (!toBoolean(user.is_superuser)) { - const roleData = getUsersRoleAndPermission({ - userId: user.id, - res, - }); + try { + const roleData = getUsersRoleAndPermission({ + userId: user.id, + res, + }); - roleIds = roleData.roleIds; + roleIds = roleData.roleIds; + } catch (err) { + return res + .status(401) + .send({ message: errorMessage.ROLE_NOT_FOUND_ERROR }); + } } const payload = { @@ -162,12 +168,17 @@ const refreshAccessToken = async (req, res) => { // if the user is not a superuser get the role and its permission from the DB if (!toBoolean(user.is_superuser)) { - const roleData = getUsersRoleAndPermission({ - userId: user.id, - res, - }); + try { + const roleData = getUsersRoleAndPermission({ + userId: user.id, + }); - roleIds = roleData.roleIds; + roleIds = roleData.roleIds; + } catch (err) { + return res + .status(401) + .send({ message: errorMessage.ROLE_NOT_FOUND_ERROR }); + } } const newPayload = { @@ -271,11 +282,10 @@ const removeRevokedRefreshTokens = () => { }); }; -const getUsersRoleAndPermission = ({ userId, res }) => { +const getUsersRoleAndPermission = ({ userId }) => { const userRoles = authService.getUserRoleByUserId({ userId }); if (userRoles <= 0) { - res.status(401).send({ message: errorMessage.ROLE_NOT_FOUND_ERROR }); throw new Error(errorMessage.ROLE_NOT_FOUND_ERROR); } From 44b47b0d0f69a423c03a9e5c5a2021bef171d17c Mon Sep 17 00:00:00 2001 From: AbegaM Date: Fri, 26 Apr 2024 12:01:34 +0300 Subject: [PATCH 2/3] 0.7.6 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index a3c149d..e9cb520 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "soul-cli", - "version": "0.7.5", + "version": "0.7.6", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "soul-cli", - "version": "0.7.5", + "version": "0.7.6", "license": "MIT", "dependencies": { "bcrypt": "^5.1.1", diff --git a/package.json b/package.json index 0684745..d0faa7f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "soul-cli", - "version": "0.7.5", + "version": "0.7.6", "description": "A SQLite REST and Realtime server", "main": "src/server.js", "bin": { From da7b3317a62238e137b3e1a356594786a6fec03d Mon Sep 17 00:00:00 2001 From: AbegaM Date: Fri, 26 Apr 2024 13:03:10 +0300 Subject: [PATCH 3/3] Fix array checking logic --- src/controllers/auth/token.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/controllers/auth/token.js b/src/controllers/auth/token.js index 4588d04..cd6002e 100644 --- a/src/controllers/auth/token.js +++ b/src/controllers/auth/token.js @@ -285,7 +285,7 @@ const removeRevokedRefreshTokens = () => { const getUsersRoleAndPermission = ({ userId }) => { const userRoles = authService.getUserRoleByUserId({ userId }); - if (userRoles <= 0) { + if (userRoles.length <= 0) { throw new Error(errorMessage.ROLE_NOT_FOUND_ERROR); }