API-довідка
Усі ендпоінти знаходяться під /api.
Якщо не вказано інше, ендпоінти вимагають аутентифікації Sanctum.
Аутентифікація
| Method | Endpoint | Access | Description |
|---|---|---|---|
| POST | /login | Публічний | Автентифікувати користувача і повернути payload токена |
| POST | /logout | Авторизований | Відкликати поточний токен |
Запрошення
| Method | Endpoint | Access | Description |
|---|---|---|---|
| GET | /invites/{token} | Публічний | Отримати метадані токена запрошення |
| POST | /invites/accept | Публічний | Створити акаунт за токеном запрошення |
| GET | /invites | Адмін | Список запрошень в очікуванні |
| POST | /invites | Адмін | Створити запрошення |
| POST | /invites/{id}/resend | Адмін | Оновити та повторно надіслати запрошення |
| DELETE | /invites/{id} | Адмін | Відкликати запрошення в очікуванні |
Курси
| Method | Endpoint | Access | Description |
|---|---|---|---|
| GET | /courses | Авторизований | Список курсів, видимих для ролі користувача |
| POST | /courses | Адмін | Створити курс |
| GET | /courses/{id} | Авторизований | Отримати деталі курсу |
| PUT | /courses/{id} | Адмін | Оновити курс |
| DELETE | /courses/{id} | Адмін | Видалити курс |
Уроки та прогрес
| Method | Endpoint | Access | Description |
|---|---|---|---|
| GET | /courses/{id}/lessons | Авторизований | Уроки за курсом |
| POST | /lessons | Адмін | Створити урок |
| PUT | /lessons/reorder | Адмін | Перевпорядкувати уроки |
| PUT | /lessons/{id} | Адмін | Оновити урок |
| DELETE | /lessons/{id} | Адмін | Видалити урок |
| POST | /lessons/{id}/complete | Співробітник | Позначити урок як завершений |
| GET | /courses/{id}/progress | Авторизований | Отримати ID завершених уроків користувача |
Квізи та питання
| Method | Endpoint | Access | Description |
|---|---|---|---|
| GET | /courses/{courseId}/quizzes | Авторизований | Квізи за курсом |
| POST | /quizzes | Адмін | Створити квіз |
| PUT | /quizzes/reorder | Адмін | Перевпорядкувати квізи |
| GET | /quizzes/{id} | Авторизований | Отримати квіз |
| PUT | /quizzes/{id} | Адмін | Оновити квіз |
| DELETE | /quizzes/{id} | Адмін | Видалити квіз |
| GET | /quizzes/{id}/questions | Авторизований | Отримати питання квізу |
| POST | /quizzes/{id}/submit | Співробітник | Надіслати квіз і отримати бал |
| POST | /questions | Адмін | Створити питання |
| PUT | /questions/reorder | Адмін | Перевпорядкувати питання |
| PUT | /questions/{id} | Адмін | Оновити питання |
| DELETE | /questions/{id} | Адмін | Видалити питання |
Результати
| Method | Endpoint | Access | Description |
|---|---|---|---|
| GET | /results/{userId} | Авторизований | Отримати результати користувача |
| DELETE | /results/{userId}/reset | Авторизований | Скинути прогрес користувача |
Користувачі та аналітика для адміну
| Method | Endpoint | Access | Description |
|---|---|---|---|
| GET | /users | Адмін | Список користувачів |
| PUT | /users/{id}/role | Адмін | Змінити роль користувача |
| DELETE | /users/{id} | Адмін | Видалити користувача |
| GET | /admin/stats | Адмін | Підсумок статистики платформи |
| GET | /admin/team-progress | Адмін | Агреговані дані прогресу команди |
Призначення
| Method | Endpoint | Access | Description |
|---|---|---|---|
| GET | /assignments | Адмін | Список призначень |
| POST | /assignments | Адмін | Створити призначення |
| PUT | /assignments/{id} | Адмін | Оновити призначення |
| DELETE | /assignments/{id} | Адмін | Видалити призначення |
Примітки
- Авторизація для співробітників і адміністраторів забезпечується логікою на рівні контролерів.
- Опис маршрутів зберігається в backend
routes/api.php. - Поріг проходження, який використовує логіка завершення квізу, становить 80%.