fix status codes

This commit is contained in:
SrGooglo 2023-04-09 19:34:08 +00:00
parent 331486c871
commit 75c50204c2

View File

@ -7,7 +7,7 @@ import jwt from "jsonwebtoken"
export default async (req, res, next) => { export default async (req, res, next) => {
function reject(description) { function reject(description) {
return res.status(403).json({ error: `${description ?? "Invalid session"}` }) return res.status(401).json({ error: `${description ?? "Invalid session"}` })
} }
try { try {
@ -47,7 +47,7 @@ export default async (req, res, next) => {
const userData = await User.findOne({ _id: currentSession.user_id }).select("+refreshToken") const userData = await User.findOne({ _id: currentSession.user_id }).select("+refreshToken")
if (!userData) { if (!userData) {
return res.status(404).json({ error: "No user data found" }) return reject("Cannot find user")
} }
// if cannot verify token, start regeneration process // if cannot verify token, start regeneration process
@ -99,28 +99,28 @@ export default async (req, res, next) => {
if (client_id === "undefined" || token === "undefined") { if (client_id === "undefined" || token === "undefined") {
return reject("Invalid server token") return reject("Invalid server token")
} }
const secureEntries = new SecureEntry(authorizedServerTokens) const secureEntries = new SecureEntry(authorizedServerTokens)
const serverTokenEntry = await secureEntries.get(client_id, undefined, { const serverTokenEntry = await secureEntries.get(client_id, undefined, {
keyName: "client_id", keyName: "client_id",
valueName: "token", valueName: "token",
}) })
if (!serverTokenEntry) { if (!serverTokenEntry) {
return reject("Invalid server token") return reject("Invalid server token")
} }
if (serverTokenEntry !== token) { if (serverTokenEntry !== token) {
return reject("Missmatching server token") return reject("Missmatching server token")
} }
req.user = { req.user = {
__server: true, __server: true,
_id: client_id, _id: client_id,
roles: ["server"], roles: ["server"],
} }
return next() return next()
} }
default: { default: {