import crypto from 'node:crypto'

/**
 * Tokens check-in : 32 bytes random → base64url. On stocke le hash
 * SHA-256 en DB (CheckinTask.token_hash). Pas de signature HMAC : le
 * token est purement opaque, sa "signature" c'est sa présence en DB.
 */
export function generateCheckinToken(): { plain: string; hashed: string } {
  const plain = crypto.randomBytes(32).toString('base64url')
  const hashed = crypto.createHash('sha256').update(plain).digest('hex')
  return { plain, hashed }
}

export function hashCheckinToken(plain: string): string {
  return crypto.createHash('sha256').update(plain).digest('hex')
}
