/// API 엔드포인트 상수 정의
class ApiEndpoints {
  // 인증
  static const String login = '/auth/login';
  static const String logout = '/auth/logout';
  static const String refresh = '/auth/refresh';
  static const String me = '/me';
  
  // 장비 관리
  static const String equipment = '/equipment';
  static const String equipmentSearch = '/equipment/search';
  static const String equipmentIn = '/equipment/in';
  static const String equipmentOut = '/equipment/out';
  static const String equipmentBatchOut = '/equipment/batch-out';
  static const String equipmentManufacturers = '/equipment/manufacturers';
  static const String equipmentNames = '/equipment/names';
  static const String equipmentHistory = '/equipment/history';
  static const String equipmentRentals = '/equipment/rentals';
  static const String equipmentRepairs = '/equipment/repairs';
  static const String equipmentDisposals = '/equipment/disposals';
  
  // 회사 관리
  static const String companies = '/companies';
  static const String companiesSearch = '/companies/search';
  static const String companiesNames = '/companies/names';
  static const String companiesCheckDuplicate = '/companies/check-duplicate';
  static const String companiesWithBranches = '/companies/with-branches';
  static const String companiesBranches = '/companies/{id}/branches';
  
  // 사용자 관리
  static const String users = '/users';
  static const String usersSearch = '/users/search';
  static const String usersChangePassword = '/users/{id}/change-password';
  static const String usersStatus = '/users/{id}/status';
  
  // 라이선스 관리
  static const String licenses = '/licenses';
  static const String licensesExpiring = '/licenses/expiring';
  static const String licensesAssign = '/licenses/{id}/assign';
  static const String licensesUnassign = '/licenses/{id}/unassign';
  
  // 창고 위치 관리
  static const String warehouseLocations = '/warehouse-locations';
  static const String warehouseLocationsSearch = '/warehouse-locations/search';
  static const String warehouseEquipment = '/warehouse-locations/{id}/equipment';
  static const String warehouseCapacity = '/warehouse-locations/{id}/capacity';
  
  // 파일 관리
  static const String filesUpload = '/files/upload';
  static const String filesDownload = '/files/{id}';
  
  // 보고서
  static const String reports = '/reports';
  static const String reportsPdf = '/reports/{type}/pdf';
  static const String reportsExcel = '/reports/{type}/excel';
  
  // 대시보드 및 통계
  static const String overviewStats = '/overview/stats';
  static const String overviewRecentActivities = '/overview/recent-activities';
  static const String overviewEquipmentStatus = '/overview/equipment-status';
  static const String overviewLicenseExpiry = '/overview/license-expiry';
  
  // 대량 처리
  static const String bulkUpload = '/bulk/upload';
  static const String bulkUpdate = '/bulk/update';
  
  // 감사 로그
  static const String auditLogs = '/audit-logs';
  
  // 백업
  static const String backupCreate = '/backup/create';
  static const String backupRestore = '/backup/restore';
  
  // 검색 및 조회
  static const String lookups = '/lookups';
  static const String categories = '/lookups/categories';
  
  // 동적 엔드포인트 생성 메서드
  static String licenseById(String id) => '/licenses/$id';
  static String assignLicense(String id) => '/licenses/$id/assign';
  static String unassignLicense(String id) => '/licenses/$id/unassign';
}