'use server' import { unsubscribeByUserId } from '@/lib/marketing/preference' import { marketingRequestMeta } from '@/lib/marketing/request-meta' import { verifyUnsubscribeToken } from '@/lib/marketing/unsubscribe-token' export async function previewUnsubscribeToken(token: string | null): Promise<{ valid: boolean }> { if (!token) return { valid: false } const payload = verifyUnsubscribeToken(token) return { valid: Boolean(payload) } } export async function confirmMarketingUnsubscribe(token: string): Promise<{ ok: boolean already?: boolean invalid?: boolean }> { const payload = verifyUnsubscribeToken(token) if (!payload) return { ok: false, invalid: true } const meta = await marketingRequestMeta() const result = await unsubscribeByUserId({ userId: payload.userId, source: 'unsubscribe', meta, }) if (!result.ok) return { ok: false, invalid: true } return { ok: true, already: result.already } }