Files
OpenSquawk/server/utils/waitlistReferrals.ts
2026-02-17 19:04:52 +01:00

21 lines
471 B
TypeScript

import { randomBytes } from 'node:crypto'
export const WAITLIST_REFERRAL_TOKEN_PATTERN = /^[A-F0-9]{8}$/
export function generateWaitlistReferralToken() {
return randomBytes(4).toString('hex').toUpperCase()
}
export function normalizeWaitlistReferralToken(value?: unknown) {
if (typeof value !== 'string') {
return null
}
const token = value.trim().toUpperCase()
if (!WAITLIST_REFERRAL_TOKEN_PATTERN.test(token)) {
return null
}
return token
}