import jwt from "jsonwebtoken"; import { IUser, User } from "@models/user"; export default defineEventHandler(async (event) => { let ahead = (getHeaders(event).authorization || getHeaders(event).Authorization || getCookie(event, "rockfic_cookie"))?.replace("Bearer ", ""); if (ahead) { let toktok: any; let user: IUser | null = null; try { toktok = jwt.verify(ahead, useRuntimeConfig().jwt); console.log(toktok); if (toktok?.sub) { user = await User.findById(toktok.sub as number) .select("-password -auth -ipLog") .exec(); } else if (toktok.id) { user = await User.findById(toktok.id as number) .select("-password -auth -ipLog") .exec(); } } catch (E) { console.error(E); } finally { if (user) event.context.currentUser = user; } } });