import { sealData, unsealData } from "iron-session"; import { sessionConfig } from "./session-config"; type UserSessionData = { id: string; isGuest: boolean; }; declare module "iron-session" { export interface IronSessionData { user?: UserSessionData; } } export const decryptToken = async
>( token: string, ): Promise
=> {
const payload = await unsealData(token, {
password: sessionConfig.password,
});
if (Object.keys(payload).length === 0) {
return null;
}
return payload as P;
};
export const createToken = async