// lib/api/auth/auth-config.ts

export const AUTH_CONFIG = {
  // API Base URL
  apiUrl: process.env.NEXT_PUBLIC_API_URL || 'https://api.5130.co.kr',

  // Frontend URL
  frontendUrl: process.env.NEXT_PUBLIC_FRONTEND_URL || 'http://localhost:3000',

  // 인증 모드 (환경에 따라 선택)
  defaultAuthMode: (process.env.NEXT_PUBLIC_AUTH_MODE || 'sanctum') as 'sanctum' | 'bearer',

  // 🔓 공개 라우트 (인증 불필요)
  // 명시적으로 여기에 추가된 경로만 비로그인 접근 가능
  // 기본 정책: 모든 페이지는 인증 필요
  publicRoutes: [
    '/auto-login',  // MNG → SAM 자동 로그인 (토큰 기반)
  ],

  // 🔒 보호된 라우트 (참고용, 실제로는 기본 정책으로 보호됨)
  // publicRoutes와 guestOnlyRoutes가 아닌 모든 경로는 자동으로 보호됨
  protectedRoutes: [
    '/dashboard',
    '/profile',
    '/settings',
    '/admin',
    '/tenant',
    '/users',
    '/reports',
    '/analytics',
    '/inventory',
    '/finance',
    '/hr',
    '/crm',
    '/employee',
    '/customer',
    '/supplier',
    '/orders',
    '/invoices',
    '/payroll',
  ],

  // 게스트 전용 라우트 (로그인 후 접근 불가)
  // 2025-12-04: MVP에서 /signup 제거 (운영 페이지로 이동 예정)
  guestOnlyRoutes: [
    '/login',
    '/forgot-password',
  ],

  // 리다이렉트 설정
  redirects: {
    afterLogin: '/dashboard',
    afterLogout: '/login',
    unauthorized: '/login',
  },
} as const;