- feat: [barobill] 바로빌 카드/은행/홈택스 REST API 구현 - feat: [equipment] 설비관리 API 백엔드 구현 - feat: [payroll] 급여관리 계산 엔진 및 일괄 처리 API - feat: [QMS] 점검표 템플릿 관리 + 로트심사 개선 - feat: [생산/출하] 수주 단위 출하 자동생성 + 상태 흐름 개선 - feat: [receiving] 입고 성적서 파일 연결 - feat: [견적] 제어기 타입 체계 변경 - feat: [email] 테넌트 메일 설정 마이그레이션 및 모델 - feat: [pmis] 시공관리 테이블 마이그레이션 - feat: [R2] 파일 업로드 커맨드 + filesystems 설정 - feat: [배포] Jenkinsfile 롤백 기능 추가 - fix: [approval] SAM API 규칙 준수 코드 개선 - fix: [account-codes] 계정과목 중복 데이터 정리 - fix: [payroll] 일괄 생성 시 삭제된 사용자 건너뛰기 - fix: [db] codebridge DB 분리 후 깨진 FK 제약조건 제거 - refactor: [barobill] 바로빌 연동 코드 전면 개선
69 lines
2.6 KiB
PHP
69 lines
2.6 KiB
PHP
<?php
|
|
|
|
/**
|
|
* API 라우트 - 버전 기반 라우팅 시스템
|
|
*
|
|
* 지원하는 버전 선택 방식:
|
|
* 1. Accept-Version 헤더: Accept-Version: v2
|
|
* 2. X-API-Version 헤더: X-API-Version: v2
|
|
* 3. Query Parameter: ?api_version=v2
|
|
*
|
|
* Fallback 동작:
|
|
* - v2 요청 시 v2 라우트가 없으면 자동으로 v1으로 폴백
|
|
* - 응답 헤더에 X-API-Version 포함
|
|
*/
|
|
|
|
use App\Http\Controllers\Api\V1\FileStorageController;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| V1 API Routes (기본 버전)
|
|
|--------------------------------------------------------------------------
|
|
*/
|
|
Route::prefix('v1')->group(function () {
|
|
// 도메인별 라우트 파일 로드
|
|
require __DIR__.'/api/v1/auth.php';
|
|
require __DIR__.'/api/v1/admin.php';
|
|
require __DIR__.'/api/v1/users.php';
|
|
require __DIR__.'/api/v1/tenants.php';
|
|
require __DIR__.'/api/v1/hr.php';
|
|
require __DIR__.'/api/v1/finance.php';
|
|
require __DIR__.'/api/v1/sales.php';
|
|
require __DIR__.'/api/v1/inventory.php';
|
|
require __DIR__.'/api/v1/production.php';
|
|
require __DIR__.'/api/v1/design.php';
|
|
require __DIR__.'/api/v1/files.php';
|
|
require __DIR__.'/api/v1/boards.php';
|
|
require __DIR__.'/api/v1/documents.php';
|
|
require __DIR__.'/api/v1/common.php';
|
|
require __DIR__.'/api/v1/stats.php';
|
|
require __DIR__.'/api/v1/app.php';
|
|
require __DIR__.'/api/v1/audit.php';
|
|
require __DIR__.'/api/v1/esign.php';
|
|
require __DIR__.'/api/v1/quality.php';
|
|
require __DIR__.'/api/v1/equipment.php';
|
|
|
|
// 공유 링크 다운로드 (인증 불필요 - auth.apikey 그룹 밖)
|
|
Route::get('/files/share/{token}', [FileStorageController::class, 'downloadShared'])->name('v1.files.share.download');
|
|
});
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| V2 API Routes (확장 버전 - 필요시 추가)
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| V2 라우트를 추가할 때:
|
|
| 1. routes/api/v2/ 디렉토리에 도메인별 파일 생성
|
|
| 2. 아래 주석을 해제하고 필요한 파일만 require
|
|
| 3. V2에 없는 라우트는 자동으로 V1으로 폴백
|
|
|
|
|
*/
|
|
// Route::prefix('v2')->group(function () {
|
|
// // V2 전용 라우트만 정의 (V1에 없거나 변경된 API)
|
|
// require __DIR__ . '/api/v2/auth.php'; // 예: 새로운 인증 방식
|
|
// require __DIR__ . '/api/v2/users.php'; // 예: 확장된 사용자 API
|
|
//
|
|
// // V1과 동일한 라우트는 정의하지 않음 - 미들웨어가 자동 폴백 처리
|
|
// });
|