Routes.php 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  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. $routes->post('api/admin/(:num)/restore', 'Api\AdminController::restore/$1');
  26. $routes->delete('api/admin/(:num)/hard', 'Api\AdminController::hardDelete/$1');
  27. // Fishing Field (낚시분야)
  28. $routes->get('api/field/list', 'Api\FishingFieldController::index');
  29. $routes->get('api/field/(:num)', 'Api\FishingFieldController::show/$1');
  30. $routes->post('api/field', 'Api\FishingFieldController::create');
  31. $routes->put('api/field/(:num)', 'Api\FishingFieldController::update/$1');
  32. $routes->delete('api/field/(:num)', 'Api\FishingFieldController::delete/$1');
  33. // Fishing Area (낚시지역)
  34. $routes->get('api/area/list', 'Api\FishingAreaController::index');
  35. $routes->get('api/area/(:num)/places', 'Api\FishingAreaController::places/$1');
  36. $routes->get('api/area/(:num)', 'Api\FishingAreaController::show/$1');
  37. $routes->post('api/area', 'Api\FishingAreaController::create');
  38. $routes->put('api/area/(:num)', 'Api\FishingAreaController::update/$1');
  39. $routes->delete('api/area/(:num)', 'Api\FishingAreaController::delete/$1');
  40. // Species (어종구분)
  41. $routes->get('api/species/list', 'Api\SpeciesController::index');
  42. $routes->post('api/species', 'Api\SpeciesController::create');
  43. $routes->put('api/species/(:num)', 'Api\SpeciesController::update/$1');
  44. $routes->post('api/species/bulk-save', 'Api\SpeciesController::bulkSave');
  45. $routes->post('api/species/bulk-delete', 'Api\SpeciesController::bulkDelete');
  46. // Species Challenge (어종 챌린지)
  47. $routes->get('api/species-challenge/list', 'Api\SpeciesChallengeController::index');
  48. $routes->post('api/species-challenge/bulk-save', 'Api\SpeciesChallengeController::bulkSave');
  49. // Species Quest (어종 퀘스트)
  50. $routes->get('api/species-quest/list', 'Api\SpeciesQuestController::index');
  51. $routes->post('api/species-quest/bulk-save', 'Api\SpeciesQuestController::bulkSave');
  52. // Item (아이템)
  53. $routes->get('api/item/list', 'Api\ItemController::index');
  54. $routes->get('api/item/(:num)', 'Api\ItemController::show/$1');
  55. $routes->post('api/item', 'Api\ItemController::create');
  56. $routes->put('api/item/(:num)', 'Api\ItemController::update/$1');
  57. $routes->post('api/item/(:num)/image', 'Api\ItemController::uploadImage/$1');
  58. $routes->delete('api/item/(:num)/image', 'Api\ItemController::deleteImage/$1');
  59. $routes->delete('api/item/(:num)', 'Api\ItemController::delete/$1');
  60. // Fishing (낚시터)
  61. $routes->get('api/fishing/list', 'Api\FishingController::index');
  62. $routes->get('api/fishing/(:num)', 'Api\FishingController::show/$1');
  63. $routes->post('api/fishing', 'Api\FishingController::create');
  64. $routes->put('api/fishing/(:num)', 'Api\FishingController::update/$1');
  65. $routes->post('api/fishing/(:num)/photos', 'Api\FishingController::uploadPhotos/$1');
  66. $routes->delete('api/fishing/photo/(:num)', 'Api\FishingController::deletePhoto/$1');
  67. $routes->delete('api/fishing/(:num)', 'Api\FishingController::delete/$1');
  68. // Onboard (선상)
  69. $routes->get('api/onboard/list', 'Api\OnboardController::index');
  70. $routes->get('api/onboard/(:num)', 'Api\OnboardController::show/$1');
  71. $routes->post('api/onboard', 'Api\OnboardController::create');
  72. $routes->put('api/onboard/(:num)', 'Api\OnboardController::update/$1');
  73. $routes->post('api/onboard/(:num)/photos', 'Api\OnboardController::uploadPhotos/$1');
  74. $routes->delete('api/onboard/photo/(:num)', 'Api\OnboardController::deletePhoto/$1');
  75. $routes->delete('api/onboard/(:num)', 'Api\OnboardController::delete/$1');
  76. // Challenge (챌린지)
  77. $routes->get('api/challenge/draft', 'Api\ChallengeController::showDraft');
  78. $routes->post('api/challenge/draft', 'Api\ChallengeController::saveDraft');
  79. $routes->delete('api/challenge/draft', 'Api\ChallengeController::deleteDraft');
  80. $routes->get('api/challenge/list', 'Api\ChallengeController::index');
  81. $routes->get('api/challenge/(:num)', 'Api\ChallengeController::show/$1');
  82. $routes->post('api/challenge', 'Api\ChallengeController::create');
  83. $routes->put('api/challenge/(:num)', 'Api\ChallengeController::update/$1');
  84. $routes->post('api/challenge/round/(:num)/close', 'Api\ChallengeController::closeRound/$1');
  85. $routes->post('api/challenge/(:num)/image', 'Api\ChallengeController::uploadImage/$1');
  86. $routes->delete('api/challenge/(:num)/image', 'Api\ChallengeController::deleteImage/$1');
  87. $routes->delete('api/challenge/(:num)', 'Api\ChallengeController::delete/$1');
  88. // File Upload
  89. $routes->post('api/upload/file', 'Api\UploadController::uploadFile');
  90. $routes->post('api/upload/image', 'Api\UploadController::uploadImage');