function isProduction() {
  return process.env.NODE_ENV === 'production'
}

export function getCookieSecureDefault() {
  // In Produktion: immer Secure (auch wenn HTTPS via Apache terminiert).
  // In Dev: default false, damit Login über http://localhost funktioniert.
  if (process.env.COOKIE_SECURE === 'true') return true
  if (process.env.COOKIE_SECURE === 'false') return false
  return isProduction()
}

export function getSameSiteDefault() {
  // Erwartung aus Security-Feedback: Strict. In Dev ggf. Lax, damit SSO/Flows nicht nerven.
  const v = (process.env.COOKIE_SAMESITE || '').toLowerCase().trim()
  if (v === 'strict' || v === 'lax' || v === 'none') return v
  return isProduction() ? 'strict' : 'lax'
}

export function getAuthCookieOptions() {
  return {
    httpOnly: true,
    secure: getCookieSecureDefault(),
    sameSite: getSameSiteDefault(),
    maxAge: 60 * 60 * 24 * 7 // 7 days
  }
}

export function getDownloadCookieOptions() {
  // Download-Token ist kurzlebig; SameSite strict ist ok.
  return {
    httpOnly: true,
    secure: getCookieSecureDefault(),
    sameSite: 'strict',
    maxAge: 60 * 60 * 24 // 24 Stunden
  }
}

export function getDownloadCookieOptionsWithMaxAge(maxAgeSeconds) {
  return {
    ...getDownloadCookieOptions(),
    maxAge: Number(maxAgeSeconds) || getDownloadCookieOptions().maxAge
  }
}


