This repository has been archived on 2023-11-14. You can view files and clone it, but cannot push or open issues/pull-requests.
viscord/packages/server/src/routers/session.ts

23 lines
611 B
TypeScript
Raw Normal View History

2022-07-30 04:07:38 -04:00
import router from "../lib/router"
import { reply } from "../lib/WebSocketServer"
import invalidate from '../db/snippets/session/invalidate.sql'
import _get from '../db/snippets/session/get.sql'
import query from "../db/query";
export default router({
async 'invalidate'(token: string) {
await query(invalidate, token);
return reply({
err: null
})
}
});
export async function validateSessionToken(token: string) {
const res = await query(_get, token);
if(res === null) return null;
if(res.length === 1 && res[0].expires > Date.now())
return res[0].client_uid;
return null;
}