| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- <?php
-
- use CodeIgniter\Router\RouteCollection;
-
- /**
- * @var RouteCollection $routes
- */
- $routes->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');
- });
- }
|