Files
HiveGrid-Wireframes/hivegrid-cloud/apps/web/app/utils/email/unsubscribeToken.server.ts
T

28 lines
1.1 KiB
TypeScript

import {
buildUnsubscribeUrl as buildPackageUnsubscribeUrl,
signUnsubscribeToken as signPackageUnsubscribeToken,
verifyUnsubscribeToken as verifyPackageUnsubscribeToken,
UnsubscribeTokenSecretMissingError,
type SignUnsubscribeTokenInput,
type UnsubscribeTokenPayload,
type VerifyUnsubscribeTokenOptions,
} from "@toolctrl/email-sequences/unsubscribe-token";
export { UnsubscribeTokenSecretMissingError };
export type { SignUnsubscribeTokenInput, UnsubscribeTokenPayload, VerifyUnsubscribeTokenOptions };
export function signUnsubscribeToken(input: SignUnsubscribeTokenInput): string {
return signPackageUnsubscribeToken({ env: process.env, ...input });
}
export function verifyUnsubscribeToken(
token: string | null | undefined,
options: VerifyUnsubscribeTokenOptions = {}
): UnsubscribeTokenPayload | null {
return verifyPackageUnsubscribeToken(token, { env: process.env, ...options });
}
export function buildUnsubscribeUrl(args: SignUnsubscribeTokenInput & { baseUrl: string }): string {
return buildPackageUnsubscribeUrl({ env: process.env, ...args });
}