You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
783 B
27 lines
783 B
import { Req } from "#/global"
|
|
|
|
export async function validateJwt(decoded, request: Req, h) {
|
|
if (decoded.id) {
|
|
const User = request.getModel("User")
|
|
const result = await User.findOne({ where: { id: decoded.id } })
|
|
if (result == null) {
|
|
return { isValid: false }
|
|
}
|
|
return { isValid: true }
|
|
} else {
|
|
return { isValid: false }
|
|
}
|
|
}
|
|
|
|
export async function validateSession(request: Req, session) {
|
|
const User = request.getModel("User")
|
|
if (session.id) {
|
|
const result = await User.findOne({ where: { id: session.id } })
|
|
if (result == null) {
|
|
return { valid: false }
|
|
}
|
|
return { valid: true, credentials: result }
|
|
} else {
|
|
return { valid: false }
|
|
}
|
|
}
|
|
|