This repository has been archived on 2025-11-04. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
know-it-all/server/middleware/tokenAuth.js
C4 Patino 1b9b8db04d
Merge development (#13)
* Added direct join functionality

* Completed CreateUser test suite

* Removed non-essential imports

* Reordered test functions

* Login test suite completed

* Completed Logout test suite

* Completed RequestReset test suite

* Completed ResetPassword test suite

* Completed UpdateUserDetails test suite

* Completed SetAudio test suite

* Fixed UpdateUserDetials suite

* GetUserDetails test suite complete

* Completed ResetPassword test suite

* Completed GetMemberOrgs test suite

* Completed GetOwnedOrgs test suite

* AddOrgMember test suite added

* Created CreateOrg test suite

* Modified AddOrgMember suite

* Delete Org test suite completed

* Completed GetOrg test suite

* Completed RemoveOrgMember test suite

* Completed UpdateOrgDetails test suite

* Changed oackage,json files

* Switched project over to workspaces

* Test build script completed

* Fixed config.json missing on workflow run

* Completed test-build.js.yml

* Completed test-build.js.yml

* Completed test-build.js.yml

* Test build completed

* Completed test-build.js.yml

* Added touch server

* Touched test-build.js.yml

* Reworked workflows and automated test suite (#7)

Reworked workflows and automated test suite (#7)

* Configured new js file and isolated database files in db folder (#10)

* Changed config.js and isolated db

* Configured new js file and isolated database files in db folder

* Removed .env files from config (#11)
2022-03-30 14:59:11 -05:00

30 lines
713 B
JavaScript

const { Token } = require('../db/models/index');
async function tokenAuth(req, res, next) {
const token = req.query.token || req.body.token;
if (!token) {
return res.status(403).send('Unauthorized user');
}
const result = await Token.findOne({
where: { tokenID: token },
});
const date = new Date();
if (
!result ||
(token.expires == true &&
date.setDate(date.getDate + 1) > result.createdAt)
) {
await Token.destroy({ where: { tokenID: token } });
return res.status(511).send('Session expired');
}
const user = await result.getUser();
req.user = user;
return next();
}
module.exports = tokenAuth;