api.php 4.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?php
  2. use Illuminate\Http\Request;
  3. /*
  4. |--------------------------------------------------------------------------
  5. | API Routes
  6. |--------------------------------------------------------------------------
  7. |
  8. | Here is where you can register API routes for your application. These
  9. | routes are loaded by the RouteServiceProvider within a group which
  10. | is assigned the "api" middleware group. Enjoy building your API!
  11. |
  12. */
  13. // CSV
  14. Route::get('/modules/csv', 'ModulesController@downloadCSV'); //Скачать шаблон для модулей
  15. /*
  16. * Роуты, требующие авторизации по токену
  17. */
  18. Route::group(['middleware' => ['check_auth']], function () {
  19. // -- championships
  20. Route::post('/championships', 'ChampionshipsController@create'); //Создание нового чемпионата
  21. Route::patch('/championships/{id}', 'ChampionshipsController@update'); //Обновление информации чемпионата
  22. Route::post('/championships/{id}/add/member', 'ChampionshipsController@addMember'); //Добавление участника чемпионата
  23. Route::post('/championships/{id}/add/expert', 'ExpertsController@addExpert'); //Добавление эксперта чемпионата
  24. Route::delete('/championships/{champ_id}/remove/member/{member_id}', 'ChampionshipsController@removeMember'); //Удаление участника из чемпионата
  25. Route::delete('/championships/{champ_id}/remove/expert/{member_id}', 'ExpertsController@removeExpert'); //Удаление эксперта из чемпионата
  26. Route::get('/members/{id}', 'MembersController@one'); //Получение информации об участинке
  27. Route::get('/experts/{id}', 'ExpertsController@one'); //Получение информации об участинке
  28. Route::patch('/championships/{champ_id}/update/member/{member_id}', 'ChampionshipsController@updateMember'); //Изменение информации об участнике чемпионата
  29. Route::patch('/championships/{champ_id}/update/expert/{expert_id}', 'ExpertsController@updateExpert'); //Изменение информации об эксперте чемпионата
  30. Route::post('/modules', 'ModulesController@add'); //Добавление модуля к чемпионату
  31. Route::delete('/modules/{id}', 'ModulesController@remove'); //Удаление модуля
  32. Route::get('/modules/{id}', 'ModulesController@one'); //Получение информации о модуле
  33. Route::patch('/modules/{id}', 'ModulesController@update'); //Обновление информации о модуле
  34. Route::post('/modules/csv', 'ModulesController@importCSV'); //Импорт модуля через CSV
  35. Route::post('/modules/{id}/add/criterion', 'ModulesController@addCriterion'); //Добавление критерия к модулю
  36. Route::delete('/modules/{module_id}/remove/criterion/{criterion_id}', 'ModulesController@removeCriterion'); //Удаление критерия
  37. Route::get('/championships/expert', 'ChampionshipsController@allByToken'); //Получение списка чемпионатов для управления по токену
  38. Route::get('/championships/{id}/grading', 'GradingController@get'); //Получение данных для оценки
  39. Route::get('/championships/{id}/grading/criterion', 'GradingController@getCriteria'); //Получение критериев по участнику и модулю
  40. Route::post('/championships/{id}/grading/criterion/lock', 'GradingController@lockCriterion'); //Блокировка критерия для участника
  41. });
  42. /*
  43. * Роуты, не требующие авторизации по токену
  44. */
  45. // -- months
  46. Route::get('/months', 'MonthsController@get');
  47. // -- age groups
  48. Route::get('/age-groups', 'AgeGroupController@get');
  49. // -- cities
  50. Route::get('/cities', 'CitiesController@get');
  51. // --- /championships
  52. Route::get('/championships', 'ChampionshipsController@all');
  53. Route::get('/championships/{id}', 'ChampionshipsController@one');
  54. /*
  55. * Auth & Register
  56. */
  57. Route::post('/register', 'UserController@register'); //Регистрация по инвайту
  58. Route::post('/auth', 'UserController@auth');
  59. Route::get('/auth/check', 'UserController@check');
  60. Route::get('/auth/user', 'UserController@getUser');
  61. // -certifications
  62. Route::get('/certifications', 'CertificationsController@search');
  63. Route::get('/test', 'UserController@test');