From c77a2c7bf231980330920147d4f658aa1370e071 Mon Sep 17 00:00:00 2001 From: osama Date: Tue, 5 Jan 2021 09:33:50 -0800 Subject: [PATCH] logout router written --- build/routes/stockDataRouter.js | 3 ++- build/routes/userRouter.js | 21 +++++++++++++++++++++ build/src/LoginAndRegistration.js | 1 - routes/stockDataRouter.ts | 1 + routes/userRouter.ts | 15 +++++++++++++++ src/LoginAndRegistration.ts | 11 ++++------- 6 files changed, 43 insertions(+), 9 deletions(-) diff --git a/build/routes/stockDataRouter.js b/build/routes/stockDataRouter.js index a637b17..75f32df 100644 --- a/build/routes/stockDataRouter.js +++ b/build/routes/stockDataRouter.js @@ -2,6 +2,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); var router = require('express').Router(); var xss = require('xss'); //used for cleaning user input +//For api tokens var api = require('../../config/apiTokens'); var axios = require('axios').default; /** @@ -81,7 +82,7 @@ router.route('/getExpirations').get(function (req, res) { }); }); /** - * Gets option chains for a specific symbol with specific expiration + * Gets option chains for a specific symbol with specific expiration for either call, put, or both * * @param {string} symbol * @param {string} expiration diff --git a/build/routes/userRouter.js b/build/routes/userRouter.js index 0bb6ea6..eee0da0 100644 --- a/build/routes/userRouter.js +++ b/build/routes/userRouter.js @@ -122,4 +122,25 @@ router.route('/loginWithoutToken').post(function (req, res) { return __awaiter(v } }); }); }); +/** + * Logout delete token + */ +router.route('/logout').post(function (req, res) { return __awaiter(void 0, void 0, void 0, function () { + var cleanToken, response; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + cleanToken = xss(req.body.token); + return [4 /*yield*/, LoginAndRegisteration.logoutUser(cleanToken)]; + case 1: + response = _a.sent(); + if (response.http_id == 400 || response.http_id == 999) + res.status(response.http_id).json(response.message); + else { + res.json(response.message); + } + return [2 /*return*/]; + } + }); +}); }); module.exports = router; diff --git a/build/src/LoginAndRegistration.js b/build/src/LoginAndRegistration.js index e1bd384..7d25b5a 100644 --- a/build/src/LoginAndRegistration.js +++ b/build/src/LoginAndRegistration.js @@ -170,7 +170,6 @@ var logoutUser = function (token) { connection.release(); }); }); - return null; }; module.exports = { registerUser: registerUser, diff --git a/routes/stockDataRouter.ts b/routes/stockDataRouter.ts index a5c1cc3..2ed1ebc 100644 --- a/routes/stockDataRouter.ts +++ b/routes/stockDataRouter.ts @@ -6,6 +6,7 @@ const router = require('express').Router(); const xss = require('xss'); //used for cleaning user input +//For api tokens const api = require('../../config/apiTokens'); diff --git a/routes/userRouter.ts b/routes/userRouter.ts index 09f4618..aae70dd 100644 --- a/routes/userRouter.ts +++ b/routes/userRouter.ts @@ -78,5 +78,20 @@ router.route('/loginWithoutToken').post(async (req: Request, res: Response) => { }) +/** + * Logout delete token + */ +router.route('/logout').post(async (req: Request, res: Response) => { + const cleanToken: string = xss(req.body.token); + + let response = await LoginAndRegisteration.logoutUser(cleanToken); + + if (response.http_id == 400 || response.http_id == 999) + res.status(response.http_id).json(response.message); + else { + res.json(response.message); + } +}) + module.exports = router \ No newline at end of file diff --git a/src/LoginAndRegistration.ts b/src/LoginAndRegistration.ts index c43409d..ad48e96 100644 --- a/src/LoginAndRegistration.ts +++ b/src/LoginAndRegistration.ts @@ -168,12 +168,12 @@ const logoutUser = (token: string) => { return new Promise((resolve, reject) => { - pool.getConnection((error : MysqlError, connection : PoolConnection) => { - if (error) reject({http_id: 999, message: "Failed to get connection from pool"}); + pool.getConnection((error: MysqlError, connection: PoolConnection) => { + if (error) reject({ http_id: 999, message: "Failed to get connection from pool" }); else { connection.query(query, token, (err, results, fields) => { - if (err) reject({http_id: 400, message: "Failed to delete token"}); - else resolve({http_id:200, message: "Token deleted successfully"}); + if (err) reject({ http_id: 400, message: "Failed to delete token" }); + else resolve({ http_id: 200, message: "Token deleted successfully" }); }) } @@ -182,9 +182,6 @@ const logoutUser = (token: string) => { }) }); - - - return null; }