Files
hackathon-opti-1a67c9077937…/backend/src/config/jwt.ts
2026-05-22 19:26:38 -06:00

25 lines
568 B
TypeScript

import jwt, { SignOptions } from "jsonwebtoken";
import { env } from "./env.js";
export interface JwtPayload {
id: number;
email: string;
}
export class JwtAdapter {
static generate(payload: JwtPayload): string {
const options: SignOptions = {
expiresIn: env.JWT_EXPIRES_IN as NonNullable<SignOptions["expiresIn"]>,
};
return jwt.sign(payload, env.JWT_SEED, options);
}
static validate(token: string): JwtPayload | null {
try {
return jwt.verify(token, env.JWT_SEED) as JwtPayload;
} catch {
return null;
}
}
}