1
0
mirror of https://github.com/sasjs/server.git synced 2026-01-03 21:10:05 +00:00
Files
server/api/src/utils/verifyTokenInDB.ts
2021-11-10 08:04:45 +05:00

28 lines
640 B
TypeScript

import User from '../model/User'
export const verifyTokenInDB = async (
userId: number,
clientId: string,
token: string,
tokenType: 'accessToken' | 'refreshToken'
) => {
const dbUser = await User.findOne({ id: userId })
if (!dbUser) return undefined
const currentTokenObj = dbUser.tokens.find(
(tokenObj: any) => tokenObj.clientId === clientId
)
return currentTokenObj?.[tokenType] === token
? {
userId: dbUser.id,
clientId,
username: dbUser.username,
displayName: dbUser.displayName,
isAdmin: dbUser.isAdmin,
isActive: dbUser.isActive
}
: undefined
}