Routes.php 4.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. <?php
  2. use CodeIgniter\Router\RouteCollection;
  3. /**
  4. * @var RouteCollection $routes
  5. */
  6. $routes->get('/', 'Home::index');
  7. // API Routes - 그룹화 없이 직접 경로 지정
  8. // Health check
  9. $routes->get('api/ping', 'Api\PingController::index');
  10. // Authentication
  11. $routes->post('api/auth/login', 'Api\AuthController::login');
  12. $routes->post('api/auth/logout', 'Api\AuthController::logout');
  13. $routes->get('api/auth/check', 'Api\AuthController::check');
  14. // Dashboard
  15. $routes->get('api/dashboard/stats', 'Api\DashboardController::getStats');
  16. // Admin Management
  17. $routes->get('api/admin/check-username', 'Api\AdminController::checkUsername'); // Check username availability
  18. $routes->get('api/admin', 'Api\AdminController::index');
  19. $routes->get('api/admin/(:num)', 'Api\AdminController::show/$1');
  20. $routes->post('api/admin', 'Api\AdminController::create');
  21. $routes->put('api/admin/(:num)', 'Api\AdminController::update/$1');
  22. $routes->delete('api/admin/(:num)', 'Api\AdminController::delete/$1');
  23. $routes->post('api/admin/(:num)/password', 'Api\AdminController::changePassword/$1');
  24. $routes->post('api/admin/(:num)/unlock', 'Api\AdminController::unlockAccount/$1');
  25. // Fishing Field (낚시분야)
  26. $routes->get('api/field/list', 'Api\FishingFieldController::index');
  27. $routes->get('api/field/(:num)', 'Api\FishingFieldController::show/$1');
  28. $routes->post('api/field', 'Api\FishingFieldController::create');
  29. $routes->put('api/field/(:num)', 'Api\FishingFieldController::update/$1');
  30. $routes->delete('api/field/(:num)', 'Api\FishingFieldController::delete/$1');
  31. // Fishing Area (낚시지역)
  32. $routes->get('api/area/list', 'Api\FishingAreaController::index');
  33. $routes->get('api/area/(:num)/places', 'Api\FishingAreaController::places/$1');
  34. $routes->get('api/area/(:num)', 'Api\FishingAreaController::show/$1');
  35. $routes->post('api/area', 'Api\FishingAreaController::create');
  36. $routes->put('api/area/(:num)', 'Api\FishingAreaController::update/$1');
  37. $routes->delete('api/area/(:num)', 'Api\FishingAreaController::delete/$1');
  38. // Species (어종구분)
  39. $routes->get('api/species/list', 'Api\SpeciesController::index');
  40. $routes->post('api/species', 'Api\SpeciesController::create');
  41. $routes->put('api/species/(:num)', 'Api\SpeciesController::update/$1');
  42. $routes->post('api/species/bulk-save', 'Api\SpeciesController::bulkSave');
  43. $routes->post('api/species/bulk-delete', 'Api\SpeciesController::bulkDelete');
  44. // Species Challenge (어종 챌린지)
  45. $routes->get('api/species-challenge/list', 'Api\SpeciesChallengeController::index');
  46. $routes->post('api/species-challenge/bulk-save', 'Api\SpeciesChallengeController::bulkSave');
  47. // Species Quest (어종 퀘스트)
  48. $routes->get('api/species-quest/list', 'Api\SpeciesQuestController::index');
  49. $routes->post('api/species-quest/bulk-save', 'Api\SpeciesQuestController::bulkSave');
  50. // Item (아이템)
  51. $routes->get('api/item/list', 'Api\ItemController::index');
  52. $routes->get('api/item/(:num)', 'Api\ItemController::show/$1');
  53. $routes->post('api/item', 'Api\ItemController::create');
  54. $routes->put('api/item/(:num)', 'Api\ItemController::update/$1');
  55. $routes->post('api/item/(:num)/image', 'Api\ItemController::uploadImage/$1');
  56. $routes->delete('api/item/(:num)/image', 'Api\ItemController::deleteImage/$1');
  57. $routes->delete('api/item/(:num)', 'Api\ItemController::delete/$1');
  58. // Fishing (낚시터)
  59. $routes->get('api/fishing/list', 'Api\FishingController::index');
  60. $routes->get('api/fishing/(:num)', 'Api\FishingController::show/$1');
  61. $routes->post('api/fishing', 'Api\FishingController::create');
  62. $routes->put('api/fishing/(:num)', 'Api\FishingController::update/$1');
  63. $routes->post('api/fishing/(:num)/photos', 'Api\FishingController::uploadPhotos/$1');
  64. $routes->delete('api/fishing/photo/(:num)', 'Api\FishingController::deletePhoto/$1');
  65. $routes->delete('api/fishing/(:num)', 'Api\FishingController::delete/$1');
  66. // Onboard (선상)
  67. $routes->get('api/onboard/list', 'Api\OnboardController::index');
  68. $routes->get('api/onboard/(:num)', 'Api\OnboardController::show/$1');
  69. $routes->post('api/onboard', 'Api\OnboardController::create');
  70. $routes->put('api/onboard/(:num)', 'Api\OnboardController::update/$1');
  71. $routes->post('api/onboard/(:num)/photos', 'Api\OnboardController::uploadPhotos/$1');
  72. $routes->delete('api/onboard/photo/(:num)', 'Api\OnboardController::deletePhoto/$1');
  73. $routes->delete('api/onboard/(:num)', 'Api\OnboardController::delete/$1');
  74. // File Upload
  75. $routes->post('api/upload/file', 'Api\UploadController::uploadFile');
  76. $routes->post('api/upload/image', 'Api\UploadController::uploadImage');