get('auth/googleLogin', 'Auth::googleLogin'); $routes->get('auth/callback', 'Auth::callback'); $routes->post('auth/joinmember', 'Auth::join'); $routes->post('auth/joinvendor', 'Auth::joinVendor'); $routes->post('auth/withdrawal', 'Auth::withdrawal'); //구글 회원탈퇴 , 일반회원 탈퇴 $routes->post('auth/kakaowithdrawal', 'Auth::kakaoWithdrawal'); //카카오 회웥탈퇴 $routes->get('auth/kakaoLogin', 'Auth::kakaoLogin'); $routes->get('auth/kakao', 'Auth::kakao'); $routes->get('auth/naverLogin', 'Auth::naverLogin'); $routes->get('auth/naver', 'Auth::naver'); $routes->get('auth/naverWithdrawal', 'Auth::naverWithdrawal'); $routes->post('auth/checkId', 'Auth::checkId'); // 사용 중 체크 아이디 $routes->get('/', 'Home::index'); //홈화면 리다이렉트용 $routes->post('roulette/login', 'Roulette::login'); //로그인 페이지 토큰 상관없이 호출가능 $routes->post('roulette/refreshToken', 'Roulette::refreshToken'); //엑세스 토큰이 있어야만 발급 가능 // 디버그 API $routes->get('debug/vendors', 'DebugController::checkVendors'); // 벤더사 데이터 확인 // 디버깅용 라우트 $routes->group('debug', ['namespace' => 'App\\Controllers'], function($routes) { $routes->get('foreign-key', 'DebugController::debugForeignKey'); $routes->get('simple-update', 'DebugController::testSimpleUpdate'); }); // 인플루언서-벤더사 매핑 API 그룹 $routes->group('api', function($routes) { // 인플루언서 관련 API $routes->group('influencer', function($routes) { $routes->post('search-vendors', 'InfluencerController::searchVendors'); $routes->post('create-request', 'InfluencerController::createApprovalRequest'); $routes->post('reapply-request', 'InfluencerController::createReapplyRequest'); $routes->post('my-partnerships', 'InfluencerController::getMyPartnerships'); $routes->post('terminate', 'InfluencerController::terminatePartnership'); $routes->post('profile', 'InfluencerController::getProfile'); }); // 벤더사 관련 API $routes->group('vendor', function($routes) { $routes->post('influencer-requests', 'VendorController::getInfluencerRequests'); $routes->post('process-request', 'VendorController::processInfluencerRequest'); $routes->post('terminate', 'VendorController::terminatePartnership'); $routes->post('status-stats', 'VendorController::getStatusStats'); }); // 기존 호환성을 위한 라우팅 (점진적 이전용) $routes->post('vendor-influencer/requests', 'VendorController::getInfluencerRequests'); $routes->post('vendor-influencer/process-request', 'VendorController::processInfluencerRequest'); $routes->post('vendor-influencer/reapply-request', 'InfluencerController::createReapplyRequest'); $routes->post('vendor-influencer/search-vendors', 'InfluencerController::searchVendors'); $routes->post('vendor-influencer/create-request', 'InfluencerController::createApprovalRequest'); $routes->post('vendor-influencer/my-partnerships', 'InfluencerController::getMyPartnerships'); $routes->post('vendor-influencer/terminate', 'VendorController::terminatePartnership'); $routes->post('vendor-influencer/status-stats', 'VendorController::getStatusStats'); }); // 기존 호환성 라우팅 (최상위 레벨) $routes->post('vendor-influencer/process-request', 'VendorController::processInfluencerRequest'); $routes->post('vendor-influencer/reapply-request', 'InfluencerController::createReapplyRequest'); // 인플루언서 요청 라우트 (기존 구조와 호환성) $routes->group('influencer-request', function($routes) { $routes->post('create', 'InfluencerController::createApprovalRequest'); $routes->post('vendor-approval', 'VendorController::processInfluencerRequest'); // 벤더사의 인플루언서 승인/거절 $routes->post('search-vendors', 'InfluencerController::searchVendors'); // 인플루언서의 벤더사 검색 $routes->post('get-list', 'InfluencerController::getMyPartnerships'); // 인플루언서의 파트너십 목록 $routes->post('get-vendor-list', 'VendorController::getInfluencerRequests'); // 벤더사의 요청 목록 $routes->post('terminate', 'InfluencerController::terminatePartnership'); // 인플루언서의 파트너십 해지 $routes->post('vendor-terminate', 'VendorController::terminatePartnership'); // 벤더사의 파트너십 해지 $routes->post('status-stats', 'VendorController::getStatusStats'); // 벤더사 요청 통계 $routes->post('reapply-request', 'InfluencerController::createReapplyRequest'); // 인플루언서 재승인 요청 }); // Test if (ENVIRONMENT === 'development') { $routes->group('dev', ['namespace' => 'App\Controllers'], function($routes) { $routes->get('test-db', 'DevController::testDatabase'); $routes->get('seed-data', 'DevController::seedTestData'); $routes->get('clear-cache', 'DevController::clearCache'); $routes->post('test-api', 'DevController::testApi'); }); }