Routes.php 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. <?php
  2. use CodeIgniter\Router\RouteCollection;
  3. /**
  4. * @var RouteCollection $routes
  5. */
  6. $routes->get('auth/googleLogin', 'Auth::googleLogin');
  7. $routes->get('auth/callback', 'Auth::callback');
  8. $routes->post('auth/joinmember', 'Auth::join');
  9. $routes->post('auth/joinvendor', 'Auth::joinVendor');
  10. $routes->post('auth/withdrawal', 'Auth::withdrawal'); //구글 회원탈퇴 , 일반회원 탈퇴
  11. $routes->post('auth/kakaowithdrawal', 'Auth::kakaoWithdrawal'); //카카오 회웥탈퇴
  12. $routes->get('auth/kakaoLogin', 'Auth::kakaoLogin');
  13. $routes->get('auth/kakao', 'Auth::kakao');
  14. $routes->get('auth/naverLogin', 'Auth::naverLogin');
  15. $routes->get('auth/naver', 'Auth::naver');
  16. $routes->get('auth/naverWithdrawal', 'Auth::naverWithdrawal');
  17. $routes->post('auth/checkId', 'Auth::checkId'); // 사용 중 체크 아이디
  18. $routes->get('/', 'Home::index'); //홈화면 리다이렉트용
  19. $routes->post('roulette/login', 'Roulette::login'); //로그인 페이지 토큰 상관없이 호출가능
  20. $routes->post('roulette/refreshToken', 'Roulette::refreshToken'); //엑세스 토큰이 있어야만 발급 가능
  21. // 디버그 API
  22. $routes->get('debug/vendors', 'DebugController::checkVendors'); // 벤더사 데이터 확인
  23. // 디버깅용 라우트
  24. $routes->group('debug', ['namespace' => 'App\\Controllers'], function($routes) {
  25. $routes->get('foreign-key', 'DebugController::debugForeignKey');
  26. $routes->get('simple-update', 'DebugController::testSimpleUpdate');
  27. });
  28. // 인플루언서-벤더사 매핑 API 그룹
  29. $routes->group('api', function($routes) {
  30. // 인플루언서 관련 API
  31. $routes->group('influencer', function($routes) {
  32. $routes->post('search-vendors', 'InfluencerController::searchVendors');
  33. $routes->post('create-request', 'InfluencerController::createApprovalRequest');
  34. $routes->post('reapply-request', 'InfluencerController::createReapplyRequest');
  35. $routes->post('my-partnerships', 'InfluencerController::getMyPartnerships');
  36. $routes->post('terminate', 'InfluencerController::terminatePartnership');
  37. $routes->post('profile', 'InfluencerController::getProfile');
  38. });
  39. // 벤더사 관련 API
  40. $routes->group('vendor', function($routes) {
  41. $routes->post('influencer-requests', 'VendorController::getInfluencerRequests');
  42. $routes->post('process-request', 'VendorController::processInfluencerRequest');
  43. $routes->post('terminate', 'VendorController::terminatePartnership');
  44. $routes->post('status-stats', 'VendorController::getStatusStats');
  45. });
  46. // 기존 호환성을 위한 라우팅 (점진적 이전용)
  47. $routes->post('vendor-influencer/requests', 'VendorController::getInfluencerRequests');
  48. $routes->post('vendor-influencer/process-request', 'VendorController::processInfluencerRequest');
  49. $routes->post('vendor-influencer/reapply-request', 'InfluencerController::createReapplyRequest');
  50. $routes->post('vendor-influencer/search-vendors', 'InfluencerController::searchVendors');
  51. $routes->post('vendor-influencer/create-request', 'InfluencerController::createApprovalRequest');
  52. $routes->post('vendor-influencer/my-partnerships', 'InfluencerController::getMyPartnerships');
  53. $routes->post('vendor-influencer/terminate', 'VendorController::terminatePartnership');
  54. $routes->post('vendor-influencer/status-stats', 'VendorController::getStatusStats');
  55. });
  56. // 기존 호환성 라우팅 (최상위 레벨)
  57. $routes->post('vendor-influencer/process-request', 'VendorController::processInfluencerRequest');
  58. $routes->post('vendor-influencer/reapply-request', 'InfluencerController::createReapplyRequest');
  59. // 인플루언서 요청 라우트 (기존 구조와 호환성)
  60. $routes->group('influencer-request', function($routes) {
  61. $routes->post('create', 'InfluencerController::createApprovalRequest');
  62. $routes->post('vendor-approval', 'VendorController::processInfluencerRequest'); // 벤더사의 인플루언서 승인/거절
  63. $routes->post('search-vendors', 'InfluencerController::searchVendors'); // 인플루언서의 벤더사 검색
  64. $routes->post('get-list', 'InfluencerController::getMyPartnerships'); // 인플루언서의 파트너십 목록
  65. $routes->post('get-vendor-list', 'VendorController::getInfluencerRequests'); // 벤더사의 요청 목록
  66. $routes->post('terminate', 'InfluencerController::terminatePartnership'); // 인플루언서의 파트너십 해지
  67. $routes->post('vendor-terminate', 'VendorController::terminatePartnership'); // 벤더사의 파트너십 해지
  68. $routes->post('status-stats', 'VendorController::getStatusStats'); // 벤더사 요청 통계
  69. $routes->post('reapply-request', 'InfluencerController::createReapplyRequest'); // 인플루언서 재승인 요청
  70. });
  71. // Test
  72. if (ENVIRONMENT === 'development') {
  73. $routes->group('dev', ['namespace' => 'App\Controllers'], function($routes) {
  74. $routes->get('test-db', 'DevController::testDatabase');
  75. $routes->get('seed-data', 'DevController::seedTestData');
  76. $routes->get('clear-cache', 'DevController::clearCache');
  77. $routes->post('test-api', 'DevController::testApi');
  78. });
  79. }