Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import { Request, Response } from "express";
- import { Token, Data } from "../util/token";
- import { User, UserDoc } from "../models/user";
- export const returnUser = async (
- req: Request,
- res: Response,
- token: string
- ): Promise<UserDoc | null> => {
- // Need to return promise
- if (!token) res.status(400).send({ error: "Token is not present" });
- let decoded = await Token.decode(token);
- if (decoded === false) {
- res.status(400).send({ error: "Invalid Token" });
- }
- // as is User-Defined Type Guards
- let email = (decoded as Data).email;
- let user = await User.findOne({ email });
- if (!user) res.status(400).send({ error: "User not found" });
- if ((user as UserDoc).createdAt.getTime() !== (decoded as Data).epoch)
- res.status(400).send({ error: "Invalid timestamp" });
- return user;
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement