import jwt from 'jsonwebtoken' const JWT_SECRET = process.env.JWT_SECRET || 'dev-secret' const JWT_REFRESH_SECRET = process.env.JWT_REFRESH_SECRET || 'dev-refresh-secret' export interface JwtPayload { id: string orgId: string | null role: string } export function signAccessToken(payload: JwtPayload): string { return jwt.sign(payload, JWT_SECRET, { expiresIn: '2h' }) } export function signRefreshToken(payload: JwtPayload): string { return jwt.sign(payload, JWT_REFRESH_SECRET, { expiresIn: '7d' }) } export function verifyAccessToken(token: string): JwtPayload | null { try { return jwt.verify(token, JWT_SECRET) as JwtPayload } catch { return null } } export function verifyRefreshToken(token: string): JwtPayload | null { try { return jwt.verify(token, JWT_REFRESH_SECRET) as JwtPayload } catch { return null } }