import { randomBytes } from 'crypto';

export const ORDER_TRACKING_TOKEN_BYTES = 32;
export const ORDER_TRACKING_TOKEN_PATTERN = /^[a-f0-9]{64}$/i;

export function generateOrderTrackingToken(): string {
  return randomBytes(ORDER_TRACKING_TOKEN_BYTES).toString('hex');
}

export function buildOrderTrackingUrl(
  baseUrl: string,
  orderNumber: string,
  trackingToken: string
): string {
  const normalizedBaseUrl = baseUrl.replace(/\/$/, '');
  const params = new URLSearchParams({
    id: orderNumber,
    h: trackingToken,
  });

  return `${normalizedBaseUrl}/moje-objednavka?${params.toString()}`;
}
