export const ADM_COOKIE = 'adm_token';
export const USR_COOKIE = 'usr_token';

export function isSecureCookie(request: { headers: { get(name: string): string | null }; url: string }): boolean {
  if (process.env.COOKIE_SECURE !== undefined) {
    return process.env.COOKIE_SECURE === 'true';
  }
  if (process.env.NODE_ENV === 'production') {
    return (
      request.headers.get('x-forwarded-proto') === 'https' ||
      request.url.startsWith('https://')
    );
  }
  return false;
}

export function buildCookie(name: string, value: string, secure: boolean, maxAgeSeconds: number): string {
  const parts = [
    `${name}=${value}`,
    'Path=/',
    'HttpOnly',
    'SameSite=Lax',
    `Max-Age=${maxAgeSeconds}`,
  ];
  if (secure) parts.push('Secure');
  return parts.join('; ');
}

export function buildClearCookie(name: string, secure: boolean): string {
  const parts = [
    `${name}=`,
    'Path=/',
    'HttpOnly',
    'SameSite=Lax',
    'Max-Age=0',
  ];
  if (secure) parts.push('Secure');
  return parts.join('; ');
}
