studio/src/api/API.js
МИН 80c31a1f94
Some checks failed
CI / Lint (pull_request) Failing after 43s
CI / Build (pull_request) Failing after 41s
CI / Secret scan (pull_request) Successful in 2m30s
CI / PR size check (pull_request) Successful in 6s
chore: onboarding-readiness — CI/ассеты/dev-login
3 блокера перед запуском opensource-контрибьюторов:

1. CI Lint+Format убран format:check (206 файлов студии не
   соответствуют prettier — отдельная задача формат-недели).
   Build/Lint/Secret-scan/PR-size остаются.

2. Ассеты (93 МБ kubikon-assets/) теперь в Gitea Releases:
   https://git.rublox.pro/rublox/studio/releases/tag/assets-v1
   Скачка через scripts/fetch-assets.js (npm run fetch-assets +
   автозапуск через postinstall).

3. Dev-login:
   - IS_DEV расширен до 127.0.0.1 (vite на Windows слушает там)
   - PleeseReg в dev показывает «Войти как гость» (?standalone=1)
     или «Вставить JWT»; в prod — редирект на rublox.pro
   - AuthContext поддерживает ?standalone=1 URL-параметр
   - ModelThumbnails кеш v19→v20 чтобы старые failed-превью
     не блокировали рендер после фикса IS_DEV
2026-05-28 14:55:08 +03:00

482 lines
63 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Все микросервисы проксируются через основной домен по путям.
// В dev-режиме (npm start на localhost) BASE пустой -- запросы идут на
// относительные пути /api-*, которые подхватываются CRA-proxy в setupProxy.js
// и пересылаются на minecraftia-school.ru. Это решает CORS-блокировку.
const IS_DEV = typeof window !== 'undefined'
&& (window.location.hostname === 'localhost'
|| window.location.hostname === '127.0.0.1');
const BASE = IS_DEV ? '' : 'https://minecraftia-school.ru';
export const USER_addres = BASE + '/api-user';
export const ACHIVES_addres = BASE + '/api-achievs';
export const COMMENTS_addres = BASE + '/api-comments';
export const STORYS_addres = BASE + '/api-storys';
export const NOTICES_addres = BASE + '/api-notices';
export const HELP_addres = BASE + '/api-help';
export const PYTHON_addres = BASE + '/api-python';
export const SERVERS_addres = BASE + '/api-servers';
// URL плеера Рублокса (отдельный домен).
export const PLAYER_URL = IS_DEV ? 'http://localhost:5173' : 'https://player.rublox.pro';
// Realtime-мультиплеер для Рублокса (Node.js+Colyseus, VM 110, IP 192.168.1.39:8685).
// HTTP — для health-чека и matchmaking-вызовов (/matchmake/joinOrCreate).
// WS — для подключения колыcеус-клиентов после matchmake.
//
// На проде через NPM: /api-game/ → http://192.168.1.39:8685 + WebSocket-upgrade
// (см. host id=9 minecraftia-school.ru advanced_config). Поэтому wss://minecraftia-school.ru/api-game
// работает по HTTPS-странице без mixed-content блокировки.
//
// На dev (localhost) ходим напрямую по http://85.175.7.40:8685, потому что
// localhost-страница тоже http и mixed-content не срабатывает.
const IS_PROD = typeof window !== 'undefined'
&& window.location.protocol === 'https:';
export const REALTIME_HTTP = IS_PROD
? 'https://minecraftia-school.ru/api-game'
: 'http://85.175.7.40:8685';
export const REALTIME_WS = IS_PROD
? 'wss://minecraftia-school.ru/api-game'
: 'ws://85.175.7.40:8685';
// NEYRO_post_text удалён 2026-05-25. ИИ-помощник (LLM-сервис) больше не
// поддерживается. Endpoint /api/v1/neural на бэке возвращает 410 Gone.
// См. SECURITY_AUDIT_2026_05_25.md задача P0-A.
// Реальные IP микросервисов (Nginx проксирует через /api-* пути):
// /api-user → http://85.175.7.40:8671
// /api-achievs → http://85.175.7.40:8672
// /api-comments→ http://85.175.7.40:8673
// /api-storys → http://85.175.7.40:8674
// /api-notices → http://85.175.7.40:8675
// /api-help → http://85.175.7.40:8676
// /api-python → http://85.175.7.40:8677
// /api-servers → http://85.175.7.40:8679
// /api-realtime → http://85.175.7.40:8685 (kubikon-realtime, Node.js+Colyseus)
export const FOLDER_LECTURE_WRAP = PYTHON_addres+'/assets/lecture/'
export const FOLDER_LECTURE_BODY_IMGS = PYTHON_addres+'/assets/lectureBody/'
export const FOLDER_TASK_WRAP = PYTHON_addres+'/assets/task/'
export const FOLDER_LECTURE_WRAP_SERVERS = SERVERS_addres+'/assets/lecture/'
export const FOLDER_LECTURE_BODY_IMGS_SERVERS = SERVERS_addres+'/assets/lectureBody/'
export const FOLDER_TASK_WRAP_SERVERS = SERVERS_addres+'/assets/task/'
export const FOLDER_COURSE_SERVERS = SERVERS_addres+'/assets/course/'
export const FOLDER_PROFILE = USER_addres+'/assets/profile/'
export const FOLDER_STORYS = STORYS_addres+'/assets/skin/'
export const FOLDER_KUBOSHA_SPRITES = STORYS_addres+'/assets/kubosha-sprites/'
export const FOLDER_KUBOSHA_SOUNDS = STORYS_addres+'/assets/kubosha-sounds/'
export const API_USER_BuyDonats = USER_addres + '/api/v1/users/learning/postDonate/'; // legacy, больше не используется
// Новые эндпоинты донат-магазина (4 сервера: vanila_hard, vanila, medieval, oneblock)
// /postDonate/<server>/<donate>/<duration>/<nick> duration: week|month|forever
export const API_USER_BuyPrivilege = USER_addres + '/api/v1/users/learning/postDonate/';
// /buyCase/<server>/<case_key>/<nick>
export const API_USER_BuyCase = USER_addres + '/api/v1/users/learning/buyCase/';
// /buyItem/<server>/<item_key>/<nick>
export const API_USER_BuyItem = USER_addres + '/api/v1/users/learning/buyItem/';
export const API_ADMIN_payments_all = USER_addres + '/api/v1/admin/payments/all';
export const API_ADMIN_payments_stats = USER_addres + '/api/v1/admin/payments/stats';
export const API_ADMIN_payments_cancel = USER_addres + '/api/v1/admin/payments/cancel';
export const API_ADMIN_users = USER_addres + '/api/v1/admin/users/';
export const API_ADMIN_users_search = USER_addres + '/api/v1/admin/users/search/';
export const API_ADMIN_users_diamonds = USER_addres + '/api/v1/admin/users/diamonds';
export const API_ADMIN_users_password = USER_addres + '/api/v1/admin/users/password';
export const API_ADMIN_users_email = USER_addres + '/api/v1/admin/users/email';
export const API_ADMIN_users_role = USER_addres + '/api/v1/admin/users/role';
export const API_ADMIN_users_course = USER_addres + '/api/v1/admin/users/course';
export const API_ADMIN_users_lifetime_ban = USER_addres + '/api/v1/admin/users/lifetime-ban';
export const API_ADMIN_users_unban = USER_addres + '/api/v1/admin/users/unban';
export const API_ADMIN_users_stats = USER_addres + '/api/v1/admin/users-stats';
export const API_ADMIN_user_progress = USER_addres + '/api/v1/admin/user/'; // + <id>/progress
// Дейлики
export const API_USER_daily_today = USER_addres + '/api/v1/users/daily/today';
// Спринты
export const API_USER_sprint_current = USER_addres + '/api/v1/users/sprint/current';
export const API_USER_sprint_leaderboard = USER_addres + '/api/v1/users/sprint/leaderboard';
export const API_USER_sprint_history = USER_addres + '/api/v1/users/sprint/history';
export const API_getGuestTokenRoute = USER_addres + '/api/v1/auth/guest-token'; // - Получить гостевой JWT токен
export const API_verifyGuestTokenRoute = USER_addres + '/api/v1/auth/guest-token/verify'; // - Проверить валидность гостевого токена
export const API_refreshGuestTokenRoute = USER_addres + '/api/v1/auth/guest-token/refresh'; // - Обновить гостевой токен
export const API_getGuestSessionStatsRoute = USER_addres + '/api/v1/auth/guest-session/stats'; // - Получить статистику гостевой сессии
export const API_getBannedIpsRoute = USER_addres + '/api/v1/admin/bans/ip'; // - Получить список забаненных IP (ADMIN)
export const API_unbanIpRoute = USER_addres + '/api/v1/admin/bans/ip/'; // - Разбанить IP адрес (ADMIN)
export const API_getRateLimitStatsRoute = USER_addres + '/api/v1/admin/rate-limit/stats'; // - Получить статистику rate limiting (ADMIN)
//---------------------------------------USER---------------------------------------------------------
//---------------------------------------USER---------------------------------------------------------
export const APIUSERadminBanUser = (id) => `${USER_addres}/api/v1/users/admin/ban/${id}`;
export const APIUSERgetMyBan = USER_addres+'/api/v1/users/ban/me';
export const APIUSERgetBanForUser = (id) => `${USER_addres}/api/v1/users/ban/${id}`;
//---------------------------------------USER---------------------------------------------------------
//Данные профиля (Profile)
export const API_USER_registration = USER_addres + '/api/v1/users/profile/signup'; // /api/v1/users/profile/signup - POST - Регистрация нового пользователя
export const API_USER_login = USER_addres + '/api/v1/users/profile/login'; // /api/v1/users/profile/login - POST - авторизация
export const API_USER_get_all_user = USER_addres + '/api/v1/users/profiles/'; // /api/v1/users/profiles/<page> - GET - получить всех пользователей сериализовано
export const API_USER_delete_profile = USER_addres + '/api/v1/users/profile'; // /api/v1/users/profile - DELETE - удалить свой профиль по JWT
export const API_USER_get_my_profile = USER_addres + '/api/v1/users/profile'; // /api/v1/users/profile - GET - получить свой профиль по JWT
export const API_USER_put_my_profile = USER_addres + '/api/v1/users/profile'; // /api/v1/users/profile - PUT - Изменить свой профиль по JWT
export const API_USER_put_my_password = USER_addres + '/api/v1/users/profile/pass'; // /api/v1/users/profile/pass - PUT - изменить пароль профиля
export const API_USER_put_birth_date = USER_addres + '/api/v1/users/profile/birth-date'; // PUT - сохранить дату рождения (для возрастной фильтрации Рублокса)
export const API_USER_get_user_from_id = USER_addres + '/api/v1/users/profile/'; // /api/v1/users/profile/<id> - GET - Получить пользователя по id сериализовано
export const API_USER_get_profiles_bulk = USER_addres + '/api/v1/users/profiles/bulk'; // POST {user_ids:[...]} - получить много профилей одним запросом (id/firstName/photo/level)
export const API_USER_get_all_user_admin = USER_addres + '/api/v1/users/admin/profiles/'; // /api/v1/users/admin/profiles/<page> - GET - получить всех пользователей админ
export const API_USER_get_once_user_admin = USER_addres + '/api/v1/users/admin/profile/'; // /api/v1/users/admin/profile/<id> - GET - получить одного пользователя по id админ
export const API_USER_base_curse_admin = USER_addres + '/api/v1/users/admin/profile/sortBasicCourse'; // /api/v1/users/admin/profile/sortBasicCourse - GET - вернуть количество людей, сортированных по базовому курсу админ
export const API_USER_sity_admin = USER_addres + '/api/v1/users/admin/profile/sortCity'; // /api/v1/users/admin/profile/sortCity - GET - вернуть количество людей, сортированных по городу админ
export const API_USER_country_admin = USER_addres + '/api/v1/users/admin/profile/sortCountry'; // /api/v1/users/admin/profile/sortCountry - GET - вернуть количество людей, сортированных по стране админ
export const API_USER_get_my_role = USER_addres + '/api/v1/users/profile/role'; // /api/v1/users/profile/role - GET - получить мою роль
export const API_USER_profileData = USER_addres + '/api/v1/users/profileData/'; // /api/v1/users/profileData/<id> - GET - получить доп данные по профилю по id
export const API_USER_buyLevel = USER_addres + '/api/v1/users/buyLevel'; // /api/v1/users/buyLevel - GET - купить уровень
export const API_USER_search = USER_addres + '/api/v1/users/search/'; // /api/v1/users/search/ - GET - Поиск пользователей по firstName
// Время (Time)
export const API_USER_get_my_time = USER_addres + '/api/v1/users/time' // /api/v1/users/time - GET - получить свое время по JWT
export const API_USER_get_all_time_admin = USER_addres + '/api/v1/users/admin/times/'// /api/v1/users/admin/times/<page> - GET - получить все времена порциями админ
export const API_USER_online_esterday_admin = USER_addres + '/api/v1/users/time/online'// /api/v1/users/time/online - GET - получить количество бывших онлайн сегодня админ
export const API_USER_get_time_once_admin = USER_addres + '/api/v1/users/time/'// /api/v1/users/time/<id> - GET - получить время одного по id пользователя админ
export const API_USER_put_time = USER_addres + '/api/v1/users/time'// /api/v1/users/time - PUT - изменить время онлайна и время последнего действия
// Все что связано с обучением (Learning)
export const API_USER_get_my_learning = USER_addres + '/api/v1/users/learning'// /api/v1/users/learning - GET - получить мою таблицу целиком
export const API_USER_whatLectureNow = USER_addres + '/api/v1/users/learning/whatLectureNow'// /api/v1/users/learning/whatLectureNow - GET - получить лекцию своего основного курса по JWT
export const API_USER_get_my_task = USER_addres + '/api/v1/users/learning/task/'// /api/v1/users/learning/task - GET - получить мои задачи по JWT
export const API_USER_outstandingTask = USER_addres + '/api/v1/users/learning/outstandingTask'// /api/v1/users/learning/outstandingTask - GET - получить нерешенные задачи по JWT
export const API_USER_whatMoreLectureNow = USER_addres + '/api/v1/users/learning/whatMoreLectureNow'// /api/v1/users/learning/whatMoreLectureNow - GET - получить лекцию по дополнительному курсу по JWT
export const API_USER_course_leaders = USER_addres + '/api/v1/users/learning/course-leaders/'
export const API_USER_all_course_leaders = USER_addres + '/api/v1/users/learning/all-course-leaders'// /api/v1/users/learning/course-leaders/<course> - GET - лидеры по курсу
export const API_USER_moreTask = USER_addres + '/api/v1/users/learning/moreTask'// /api/v1/users/learning/moreTask - GET - получить решенные задачи по дополнительному курсу по JWT
export const API_USER_moreOutstandingTask = USER_addres + '/api/v1/users/learning/moreOutstandingTask'// /api/v1/users/learning/moreOutstandingTask - GET - получить нерешенные задачи по дополнительному курсу по JWT
export const API_USER_learnings_admin = USER_addres + '/api/v1/users/admin/learnings/'// /api/v1/users/admin/learnings/<page> - GET - получить таблицу порционно Админ
export const API_USER_learnings_for_id_admin= USER_addres + '/api/v1/users/admin/learning/'// /api/v1/users/admin/learning/<id> - GET - получить таблицу по конкретному пользователю Админ
export const API_USER_learnings_byLecture= USER_addres + '/api/v1/users/learning/byLecture/'// /api/v1/users/learning/byLecture/<id> - PUT - Купить лекцию по id
export const API_USER_learnings_myBuyLectures= USER_addres + '/api/v1/users/learning/myBuyLectures/'// /api/v1/users/admin/learning/<id> - GET - получить мои купленные лекции по JWT
export const API_USER_learnings_payTask= USER_addres + '/api/v1/users/learning/payTask/'// /api/v1/users/learning/payTask/<id> - GET - платим за решенную задачу
export const API_USER_learnings_checkKubosha = USER_addres + '/api/v1/users/learning/checkKubosha/' // POST - проверка задачи Кубоши с автотестами
export const API_USER_learnings_myTaskMineKlava= USER_addres + '/api/v1/users/learning/mytasksmineklava'// /api/v1/users/learning/mytasksmineklava - GET - получить список моих задач майнклава по JWT
export const API_USER_learnings_TasksMineKlava= USER_addres + '/api/v1/users/learning/getmineklavatask'// /api/v1/users/learning/getmineklavatask - GET - получить список всех заданий по майн клаве без тела
export const API_USER_learnings_payTaskMineKlava= USER_addres + '/api/v1/users/learning/taskmineklava'// /api/v1/users/learning/taskmineklava - POST - пройти задачу и получить вознаграждение
export const API_USER_learnings_doneTaskWeb= USER_addres + '/api/v1/users/learning/doneTaskWeb'// /api/v1/users/learning/doneTaskWeb - POST - проверить выполнение задания в курсе по Веб разработке
export const API_USER_learnings_doneTaskWebNotPay= USER_addres + '/api/v1/users/learning/doneTaskWebNotPay'// /api/v1/users/learning/doneTaskWebNotPay - POST - проверить выполнение задания в курсе по Веб разработке без оплаты
// Алмазы и все что с ними связано (Diamond)
export const API_USER_get_my_diamond = USER_addres + '/api/v1/users/diamond'// /api/v1/users/diamond - GET - получить количество своих алмазов по JWT
// Работа с авторизацией (Auth)
export const API_USER_get_auth_me = USER_addres + '/api/v1/users/auth'// /api/v1/users/auth - GET - получить подтвердил ли аккаунт по JWT
export const API_USER_auth_admin = USER_addres + '/api/v1/users/admin/auth'// /api/v1/users/admin/auth - GET - Получить количество подтвердивших и нет свой аккаунт админ
// Подписка (Subscribe)
export const API_USER_get_subscribe_me = USER_addres + '/api/v1/users/subscribe'// /api/v1/users/subscribe - GET - получить свою таблицу по JWT
export const API_USER_put_subscribe = USER_addres + '/api/v1/users/autoRenewal'// /api/v1/users/autoRenewal - PUT - изменить авто продление по JWT
export const API_USER_get_subscribe_admin = USER_addres + '/api/v1/users/admin/subscribes/'// /api/v1/users/admin/subscribes/<page> - GET - получить всю таблицу порционно админ
export const API_USER_get_for_id_subscribe_admin = USER_addres + '/api/v1/users/admin/subscribe/'// /api/v1/users/admin/subscribe/<id> - GET - получить данные таблицы по id админ
export const API_USER_get_for_id_subscribe_me = USER_addres + '/api/v1/subscribe/me'// /api/v1/users/admin/subscribe/<id> - GET - получить данные таблицы по id админ
// Достижения и рейтинг (Rating)
export const API_USER_get_my_rating = USER_addres + '/api/v1/users/rating'// /api/v1/users/rating - GET - получить свои данные по таблицу по JWT
export const API_USER_get_id_rating = USER_addres + '/api/v1/users/rating/'// /api/v1/users/rating/<id> - GET - получить чужие данные по таблицу
export const API_USER_get_id_rating_guest = USER_addres + '/api/v1/users/rating-guest/'// /api/v1/users/rating/<id> - GET - получить чужие данные по таблицу
export const API_USER_getLeaderboard = USER_addres + '/api/v1/users/rating/leaderboard/'// /api/v1/users/rating/<id> - GET - Получить таблицу лидеров текущего месяца (пользователи с рейтингом, отсортированные по рейтингу)
export const API_USER_getLeadersHistory = USER_addres + '/api/v1/users/rating/leaders/history'// /api/v1/users/rating/<id> - GET - Получить историю лидеров прошлых месяцев
export const API_USER_getLeadersHistory_guest = USER_addres + '/api/v1/users/rating-public/leaders/history'// /api/v1/users/rating/<id> - GET - Получить историю лидеров прошлых месяцев
export const API_USER_getTop3Leaders = USER_addres + '/api/v1/users/rating/top3'// /api/v1/users/rating/<id> - GET - Получить топ-3 лидера текущего месяца (для виджетов/превью)
export const API_USER_getMonthStats = USER_addres + '/api/v1/users/rating/month-stats'// /api/v1/users/rating/<id> - GET - Получить статистику текущего месяца
export const API_USER_getLeaderboard_guest = USER_addres + '/api/v1/users_guest/rating/leaderboard/'// /api/v1/users/rating/<id> - GET - Получить таблицу лидеров текущего месяца (пользователи с рейтингом, отсортированные по рейтингу)
export const API_USER_getTop3Leaders_guest = USER_addres + '/api/v1/users_guest/rating/top3'// /api/v1/users/rating/<id> - GET - Получить топ-3 лидера текущего месяца (для виджетов/превью)
export const API_USER_getMonthStats_guest = USER_addres + '/api/v1/users_guest/rating/month-stats'// /api/v1/users/rating/<id> - GET - Получить статистику текущего месяца
// Уведомления (Notification)
export const API_USER_get_my_notification = USER_addres + '/api/v1/users/notification'// /api/v1/users/notification - GET - получить свои уведомления по JWT
export const API_USER_put_my_notification = USER_addres + '/api/v1/users/notification'// /api/v1/users/notification - PUT - изменить уведомление как прочитанное
// Система уведомлений (новая)
export const API_USER_notifications = USER_addres + '/api/v1/users/notifications';
export const API_USER_notifications_unread = USER_addres + '/api/v1/users/notifications/unread-count';
export const API_USER_notifications_read = USER_addres + '/api/v1/users/notifications/read/';
export const API_USER_notifications_read_all = USER_addres + '/api/v1/users/notifications/read-all';
export const API_ADMIN_notifications_broadcast = USER_addres + '/api/v1/admin/notifications/broadcast';
export const API_USER_monthly_report = USER_addres + '/api/v1/users/profile/monthly-report';
// Админ (Admin)
export const API_USER_admin = USER_addres + '/api/v1/admin/dashboard'// /api/v1/admin/dashboard - get - получить данные для дашборда
// Платежи
export const API_USER_payments_init = USER_addres + '/api/v1/payments/init'//
export const API_USER_payments_status = USER_addres + '/api/v1/payments/status/'//
export const API_USER_payments_my = USER_addres + '/api/v1/payments/my'//
export const API_USER_payments_cancel = USER_addres + '/api/v1/payments/cancel/'//
export const API_USER_payments_init_red = USER_addres + '/api/v1/payments/init'//
export const API_USER_payments_check_by_order = USER_addres + '/api/v1/payments/check-by-order/'// + orderId — принудительно спросить Tbank статус и активировать подписку
export const API_PYTHON_doneTaskMarh = USER_addres + '/api/v1/users/learning/doneTaskMath'
//---------------------------------------Achiev---------------------------------------------------------
//---------------------------------------Achiev---------------------------------------------------------
//---------------------------------------Achiev---------------------------------------------------------
export const API_ACHIVES_get_for_id = ACHIVES_addres + '/api/v1/achiev/'// /api/v1/achiev/<id> -GET - Получить достижение по id
export const API_ACHIVES_get_for_id_guest = ACHIVES_addres + '/api/v1/guest/achiev/'// /api/v1/achiev/<id> -GET - Получить достижение по id
export const API_ACHIVES_get_all_guest = ACHIVES_addres + '/api/v1/guest/achievs/all'// /api/v1/guest/achievs/all -GET - Получить все достижения (гостевой)
export const API_ACHIVES_get_all = ACHIVES_addres + '/api/v1/achievs/all'// /api/v1/achievs/all -GET - Получить все достижения (авторизованный)
export const API_ACHIVES_get_group_for_id = ACHIVES_addres + '/api/v1/achievs/'// /api/v1/achievs/<id> -GET - Получить группу достижений юзер по id
export const API_ACHIVES_get_all_admin = ACHIVES_addres + '/api/v1/achievs/admin/all/'// /api/v1/achievs/admin/all/<page> - GET - Получить все достижения Админ
export const API_ACHIVES_put_for_id_admin = ACHIVES_addres + '/api/v1/achievs/admin/'// /api/v1/achievs/admin/<id> - PUT - Изменить достижение Админ по id
export const API_ACHIVES_delete_for_id_admin = ACHIVES_addres + '/api/v1/achievs/admin/'// /api/v1/achievs/admin/<id> - DELETE - Удалить достижение Админ по id
export const API_ACHIVES_post_admin = ACHIVES_addres + '/api/v1/achievs/admin/new'// /api/v1/achievs/admin/new - POST - Добавить достижение Админ
//---------------------------------------Comments---------------------------------------------------------
//---------------------------------------Comments---------------------------------------------------------
//---------------------------------------Comments---------------------------------------------------------
// Комментарии профилей юзеров - commentsProfileUser
export const API_COMMENTS_get_commentsProfileUser_rasdel = COMMENTS_addres + '/api/v1/comments/commentsProfileUser/'// /api/v1/comments/commentsProfileUser/<id> - GET -Получить все комментарии по одному разделу id раздела
export const API_COMMENTS_get_commentsProfileUser_rasdel_guest = COMMENTS_addres + '/api/v1/comments_guest/commentsProfileUser/'// /api/v1/comments/commentsProfileUser/<id> - GET -Получить все комментарии по одному разделу id раздела
export const API_COMMENTS_commentsProfileUser_add_new_coment_for_id_rasdel = COMMENTS_addres + '/api/v1/comments/commentsProfileUser'// /api/v1/comments/commentsProfileUser - POST - Добавить новый комментарий по id раздела
export const API_COMMENTS_commentsProfileUser_get_all_comments_admin = COMMENTS_addres + '/api/v1/comments/commentsProfileUser/admin/all/'// /api/v1/comments/commentsProfileUser/admin/all/<page> - GET - Получить все комментарии порционно Админ
export const API_COMMENTS_commentsProfileUser_delete_comment_for_id_admin = COMMENTS_addres + '/api/v1/comments/commentsProfileUser/admin/'// /api/v1/comments/commentsProfileUser/admin/<id> - DELETE - Удалить комментарий Админ по id
export const API_COMMENTS_commentsProfileUser_delete_own = COMMENTS_addres + '/api/v1/comments/commentsProfileUser/'// /api/v1/comments/commentsProfileUser/<id> - DELETE - Удалить комментарий со своей страницы (защита на сервере: только idRasdel==id_user из JWT)
// Комментарии Лекций - CommentsLectors
export const API_COMMENTS_CommentsLectors_get_all_rasdel = COMMENTS_addres + '/api/v1/comments/commentsLectors/'// /api/v1/comments/commentsLectors/<id> - GET -Получить все комментарии по одному разделу id раздела
export const API_COMMENTS_CommentsLectors_get_all_rasdel_guest = COMMENTS_addres + '/api/v1/comments_guest/commentsLectors/'// /api/v1/comments/commentsLectors/<id> - GET -Получить все комментарии по одному разделу id раздела
export const API_COMMENTS_CommentsLectors_add_new_coment_for_id_rasdel = COMMENTS_addres + '/api/v1/comments/commentsLectors'// /api/v1/comments/commentsLectors - POST - Добавить новый комментарий по id раздела
export const API_COMMENTS_CommentsLectors_get_all_comments_admin = COMMENTS_addres + '/api/v1/comments/commentsLectors/admin/all/'// /api/v1/comments/commentsLectors/admin/all/<page> - GET - Получить все комментарии порционно Админ
export const API_COMMENTS_CommentsLectors_delete_comment_for_id_admin = COMMENTS_addres + '/api/v1/comments/commentsLectors/admin/'// /api/v1/comments/commentsLectors/admin/<id> - DELETE - Удалить комментарий Админ по id
// Комментарии в Отзывах - commentsFeedback
export const API_COMMENTS_commentsFeedback_get_all_rasdel = COMMENTS_addres + '/api/v1/comments/commentsFeedback/'// /api/v1/comments/commentsFeedback/<id> - GET -Получить все комментарии по одному разделу id раздела
export const API_COMMENTS_commentsFeedback_get_all_rasdel_guest = COMMENTS_addres + '/api/v1/comments_guest/commentsFeedback/'// /api/v1/comments/commentsFeedback/<id> - GET -Получить все комментарии по одному разделу id раздела
export const API_COMMENTS_commentsFeedback_add_new_coment_for_id_rasdel = COMMENTS_addres + '/api/v1/comments/commentsFeedback'// /api/v1/comments/commentsFeedback - POST - Добавить новый комментарий по id раздела
export const API_COMMENTS_commentsFeedback_get_all_comments_admin = COMMENTS_addres + '/api/v1/comments/commentsFeedback/admin/all/'// /api/v1/comments/commentsFeedback/admin/all/<page> - GET - Получить все комментарии порционно Админ
export const API_COMMENTS_commentsFeedback_delete_comment_for_id_admin = COMMENTS_addres + '/api/v1/comments/commentsFeedback/admin/'// /api/v1/comments/commentsFeedback/admin/<id> - DELETE - Удалить комментарий Админ по id
// Комментарии вопросов в помощи - commentsHelp
export const API_COMMENTS_commentsHelp_get_all_rasdel = COMMENTS_addres + '/api/v1/comments/commentsHelp/'// /api/v1/comments/commentsHelp/<id> - GET -Получить все комментарии по одному разделу id раздела
export const API_COMMENTS_commentsHelp_add_new_coment_for_id_rasdel = COMMENTS_addres + '/api/v1/comments/commentsHelp'// /api/v1/comments/commentsHelp - POST - Добавить новый комментарий по id раздела
export const API_COMMENTS_commentsHelp_get_all_comments_admin = COMMENTS_addres + '/api/v1/comments/commentsHelp/admin/all/'// /api/v1/comments/commentsHelp/admin/all/<page> - GET - Получить все комментарии порционно Админ
export const API_COMMENTS_commentsHelp_delete_comment_for_id_admin = COMMENTS_addres + '/api/v1/comments/commentsHelp/admin/'// /api/v1/comments/commentsHelp/admin/<id> - DELETE - Удалить комментарий Админ по id
// Комментарии статей - commentsNote
export const API_COMMENTS_commentsNote_get_all_rasdel = COMMENTS_addres + '/api/v1/comments/commentsNote/'// /api/v1/comments/commentsNote/<id> - GET -Получить все комментарии по одному разделу id раздела
export const API_COMMENTS_commentsNote_get_all_rasdel_guest = COMMENTS_addres + '/api/v1/comments_guest/commentsNote/'// /api/v1/comments/commentsNote/<id> - GET -Получить все комментарии по одному разделу id раздела
export const API_COMMENTS_commentsNote_add_new_coment_for_id_rasdel = COMMENTS_addres + '/api/v1/comments/commentsNote'// /api/v1/comments/commentsNote - POST - Добавить новый комментарий по id раздела
export const API_COMMENTS_commentsNote_get_all_comments_admin = COMMENTS_addres + '/api/v1/comments/commentsNote/admin/all/'// /api/v1/comments/commentsNote/admin/all/<page> - GET - Получить все комментарии порционно Админ
export const API_COMMENTS_commentsNote_delete_comment_for_id_admin = COMMENTS_addres + '/api/v1/comments/commentsNote/admin/'// /api/v1/comments/commentsNote/admin/<id> - DELETE - Удалить комментарий Админ по id
// Всё, что касается оценки judgement
export const API_COMMENTS_judgement_get_for_rasdel = COMMENTS_addres + '/api/v1/comments/judgement/'// /api/v1/comments/judgement/<idRasdel>/<rasdel> - GET - Получить оценку в плюсах по id раздела
export const API_COMMENTS_judgement_get_for_rasdel_guest = COMMENTS_addres + '/api/v1/comments_guest/judgement/'// /api/v1/comments/judgement/<idRasdel>/<rasdel> - GET - Получить оценку в плюсах по id раздела
export const API_COMMENTS_judgement_put_for_rasdel = COMMENTS_addres + '/api/v1/comments/judgement'// /api/v1/comments/judgement - PUT - Изменить оценку в плюсах по id раздела
export const API_COMMENTS_judgement_post_new_for_rasdel = COMMENTS_addres + '/api/v1/comments/judgement'// /api/v1/comments/judgement - POST -Создать оценку для нового раздела
//---------------------------------------Storys---------------------------------------------------------
//---------------------------------------Storys---------------------------------------------------------
//---------------------------------------Storys---------------------------------------------------------
// Работа над статьями (notes)
export const API_STORYS_notes_get_headers = STORYS_addres + '/api/v1/storys/headers/'// /api/v1/storys/headers/<page> - GET - Получить шапки активных статей пачкой по 10 штук на странице
export const API_STORYS_notes_get_header_for_id = STORYS_addres + '/api/v1/storys/header/'// /api/v1/storys/header/<id> - GET Получить шапку одной статьи
export const API_STORYS_notes_get_body_for_idHeader = STORYS_addres + '/api/v1/storys/body/'// /api/v1/storys/body/<idHeader> - GET - Получить тело статьи по idHeader
export const API_STORYS_notes_get_temes = STORYS_addres + '/api/v1/storys/themes'// /api/v1/storys/themes - GET - Получить темы статей
export const API_STORYS_notes_post_new_header = STORYS_addres + '/api/v1/storys/header'// /api/v1/storys/header - POST - Создать шапку статьи
export const API_STORYS_notes_put_header = STORYS_addres + '/api/v1/storys/header'// /api/v1/storys/header - PUT- Изменить шапку статьи
export const API_STORYS_notes_put_body = STORYS_addres + '/api/v1/storys/body'// /api/v1/storys/body - PUT - Изменить тело статьи
export const API_STORYS_notes_get_titles_all = STORYS_addres + '/api/v1/storys/titles'// /api/v1/storys/titles - GET - Получить названия всех статей
export const API_STORYS_notes_get_notes_user = STORYS_addres + '/api/v1/storys/mynodes/'// /api/v1/storys/mynodes/<id> - GET - Получить написанные статьи по id пользователя
export const API_STORYS_notes_get_notes_user_my_noactive = STORYS_addres + '/api/v1/storys/noactive'// /api/v1/storys/noactive - GET - Получить мои статьи в черновиках
export const API_STORYS_notes_sendPostTG = STORYS_addres + '/api/v1/storys/sendNewsTG'// /api/v1/storys/sendNewsTG/<idNews> - GET - опубликовать пост в ТГ по id
export const API_STORYS_notes_addViews = STORYS_addres + '/api/v1/storys/views'// /api/v1/storys/views - PUT - добавить 1 просмотр
export const API_STORYS_notes_pubkick = STORYS_addres + '/api/v1/storys/pubkick'// /api/v1/storys/pubkick - PUT - Опубликовать статью
export const API_STORYS_notes_dispubkick = STORYS_addres + '/api/v1/storys/dispubkick'// /api/v1/storys/dispubkick - PUT - выключить статью из показа
export const API_STORYS_notes_delete = STORYS_addres + '/api/v1/storys/delete/'// /api/v1/storys/delete/<id> - DELETE - Удалить статью
export const API_STORYS_countPages = STORYS_addres + '/api/v1/storys/pages'// /api/v1/storys/pages - GET - получить номер последней страницы
export const API_STORYS_send_message_to_bot = STORYS_addres + '/api/v1/send_message_to_bot'// /api/v1/send_message_to_bot - POST - отправить баг репорт
export const API_STORYS_bug_report = STORYS_addres + '/api/v1/bug_report'// /api/v1/bug_report - POST - сохранить баг репорт в БД
export const API_STORYS_admin_bug_reports = STORYS_addres + '/api/v1/admin/bug_reports/'// /<page>?status= - GET, /<id>/status - PUT, /<id> - DELETE
export const API_STORYS_notes_get_headers_guest = STORYS_addres + '/api/v1/storys_guest/headers/'// /api/v1/storys/headers/<page> - GET - Получить шапки активных статей пачкой по 10 штук на странице
export const API_STORYS_notes_get_header_for_id_guest = STORYS_addres + '/api/v1/storys_guest/header/'// /api/v1/storys/header/<id> - GET Получить шапку одной статьи
export const API_STORYS_notes_get_body_for_idHeader_guest = STORYS_addres + '/api/v1/storys_guest/body/'// /api/v1/storys/body/<idHeader> - GET - Получить тело статьи по idHeader
export const API_STORYS_countPages_guest = STORYS_addres + '/api/v1/storys_guest/pages'// /api/v1/storys/pages - GET - получить номер последней страницы
// Админка (admin)
export const API_STORYS_admin_post_new_tema = STORYS_addres + '/api/v1/storys/admin/newtheme'// /api/v1/storys/admin/newtheme - POST- Добавить новую тему Админ
export const API_STORYS_admin_put_tema = STORYS_addres + '/api/v1/storys/admin/thema'// /api/v1/storys/admin/thema - PUT - Изменить тему Админ
export const API_STORYS_admin_delete_tema = STORYS_addres + '/api/v1/storys/admin/thema/'// /api/v1/storys/admin/thema/<id> - DELETE- Удалить тему Админ
export const API_STORYS_admin_note_off = STORYS_addres + '/api/v1/storys/admin/active'// /api/v1/storys/admin/active - PUT- Выключить статью из показа Админ
//---------------------------------------Notices---------------------------------------------------------
//---------------------------------------Notices---------------------------------------------------------
//---------------------------------------Notices---------------------------------------------------------
// Уведомления (notices)
export const API_NOTICES_get_title_for_id = NOTICES_addres + '/api/v1/notices/title/'// /api/v1/notices/title/<id> - GET - Получить заголовок уведомления по id
export const API_NOTICES_get_body_for_id = NOTICES_addres + '/api/v1/notices/body/'// /api/v1/notices/body/<id> - GET - Получить тело уведомления по id
export const API_NOTICES_get_titles = NOTICES_addres + '/api/v1/notices/titles/'// /api/v1/notices/titles/<id> - GET - Получить заголовки уведомлений списком по id через запятую
export const API_NOTICES_admin_post_newnotices = NOTICES_addres + '/api/v1/notices/admin'// /api/v1/notices/admin - POST- Добавить уведомление Admin
export const API_NOTICES_admin_put_notices = NOTICES_addres + '/api/v1/notices/admin'// /api/v1/notices/admin - PUT- Изменить уведомление Admin
export const API_NOTICES_admin_get_all_notices = NOTICES_addres + '/api/v1/notices/admin/'// /api/v1/notices/admin/<page> - GET - Получить все уведомления страницами Admin
export const API_NOTICES_admin_delete_notices = NOTICES_addres + '/api/v1/notices/admin/'// /api/v1/notices/admin/<id> - DELETE - Удалить уведомление Admin
//---------------------------------------Help---------------------------------------------------------
//---------------------------------------Help---------------------------------------------------------
//---------------------------------------Help---------------------------------------------------------
// Help
export const API_HELP_get_helps = HELP_addres + '/api/v1/helps/'// /api/v1/helps/<page>/<status>/<rasdel> - GET - Получить обертки хелпа пачкой по 10 штук с сортировкой по статусу и разделу
export const API_HELP_get_helps_for_task = HELP_addres + '/api/v1/help/task/'// /api/v1/help/task/<idTask>/<rasdel> - GET - Получить обертки хелпов по задаче к которой добавлены и разделу
export const API_HELP_get_body = HELP_addres + '/api/v1/help/'// /api/v1/help/<idWrap> - GET - Получить тело хелпа по id обертки
export const API_HELP_new_help = HELP_addres + '/api/v1/help/new'// /api/v1/help/new - POST- Создать хелп через id задачи
export const API_HELP_get_my_help = HELP_addres + '/api/v1/help/my'// /api/v1/help/my - GET - Получить мои обертки хелпов
export const API_HELP_put_help = HELP_addres + '/api/v1/help'// /api/v1/help - PUT- Изменить хелп по id обертки
export const API_HELP_search = HELP_addres + '/api/v1/helps/search'// /api/v1/helps/search - GET- поиск
export const API_HELP_get_Wrap = HELP_addres + '/api/v1/helpWrap/'// /api/v1/helpWrap/<idWrap> - GET- получить обертку хэлпа по id
// Админка (Admin)
export const API_HELP_admin_put_help = HELP_addres + '/api/v1/help/adimn'// /api/v1/help/adimn - PUT - Изменить хелп по id обертки Админ
export const API_HELP_admin_delete_help = HELP_addres + '/api/v1/help/admin/delete/'// /api/v1/help/admin/delete/<idWrap> - DELETE- Удалить хелп по id обертки Админ
//---------------------------------------Python---------------------------------------------------------
//---------------------------------------Python---------------------------------------------------------
//---------------------------------------Python---------------------------------------------------------
// Задача обертка wrapTask
export const API_PYTHON_wrapTask_get_wraps = PYTHON_addres + '/api/v1/python/wrapTask/module/'// /api/v1/python/wrapTask/module/<page> - GET - Получить все обертки задач модуля порциями по 20 штук
export const API_PYTHON_wrapTask_get_wrap_for_id_lecture = PYTHON_addres + '/api/v1/python/wrapTask/lecture/'// /api/v1/python/wrapTask/lecture/<idLecture> - GET - Получить обертки задач по id лекции (может быть несколько)
export const API_PYTHON_wrapTask_by_lectures = PYTHON_addres + '/api/v1/python/wrapTask/byLectures'// POST - Получить задачи по списку ID лекций
export const API_PYTHON_wrapTask_get_wrap_for_id = PYTHON_addres + '/api/v1/python/wrapTask/'// /api/v1/python/wrapTask/<id> - GET - Получить обертку задачи по id
// Тело задачи bodyTask
export const API_PYTHON_bodyTask = PYTHON_addres + '/api/v1/python/bodyTask/wrap/'// /api/v1/python/bodyTask/wrap/<idWrap> - GET - Получить тело задачи по id обертки
// Админка для задачи adminTask
export const API_PYTHON_adminTask_get_for_id_wrap = PYTHON_addres + '/api/v1/python/adminTask/'// /api/v1/python/adminTask/<idWrap> - GET - Получить строку таблицы админки для задачи по id обертки Админ
export const API_PYTHON_adminTask_post_new_task = PYTHON_addres + '/api/v1/python/adminTask'// /api/v1/python/adminTask - POST - Создать новую задачу Админ
export const API_PYTHON_adminTask_put_task = PYTHON_addres + '/api/v1/python/adminTask'// /api/v1/python/adminTask - PUT- Редактировать задачу Админ
export const API_PYTHON_adminTask_delete_task = PYTHON_addres + '/api/v1/python/adminTask/'// /api/v1/python/adminTask/<id> - DELETE- Удалить задачу админ
// Модули обучения module
export const API_PYTHON_module = PYTHON_addres + '/api/v1/python/module'// /api/v1/python/module - GET - Получить все модули обучения
// Админка модули обучения adminModule
export const API_PYTHON_adminModule_post_new_module = PYTHON_addres + '/api/v1/python/adminModule'// /api/v1/python/adminModule - POST - Добавить новый модуль Админ
export const API_PYTHON_adminModule_put_module = PYTHON_addres + '/api/v1/python/adminModule'// /api/v1/python/adminModule - PUT- Редактировать модуль админ
export const API_PYTHON_adminModule_delete_module = PYTHON_addres + '/api/v1/python/adminModule/'// /api/v1/python/adminModule/<id> - DELETE - Удалить модуль админ
// Лекция обертка wrapLecture
export const API_PYTHON_wrapLecture_get_wraps_for_level = PYTHON_addres + '/api/v1/python/wrapLecture/level/'// /api/v1/python/wrapLecture/level/<level>/<page> - GET - Получить обертки лекций порциями по 20 штук по уровню обучения
export const API_PYTHON_wrapLecture_get_all_wraps = PYTHON_addres + '/api/v1/python/wrapLecture/module/'// /api/v1/python/wrapLecture/module/<module>/<page> - GET - Получить все обертки лекций модуля порциями по 20 штук
export const API_PYTHON_wrapLecture_get_wrap_for_id = PYTHON_addres + '/api/v1/python/wrapLecture/'// /api/v1/python/wrapLecture/<id> - GET - Получить обертку лекции по id
export const API_PYTHON_wrapLecture_get_wrap_number = PYTHON_addres + '/api/v1/python/wrapLecture/num/'// /api/v1/python/wrapLecture/num/<numberWithLevel> - GET - Получить обертку лекции по порядковому номеру внутри уровня
export const API_PYTHON_wrapLecture_get_wrap_all_lvl = PYTHON_addres + '/api/v1/python/wrapLecture/allLvl/'// /api/v1/python/wrapLecture/allLvl/<level> - GET - получить все обертки лекций по уровню
export const API_PYTHON_wrapLecture_count = PYTHON_addres + '/api/v1/python/wrapLecture/count'// /api/v1/python/wrapLecture/count - GET - Получить количество лекций
// Тело лекции bodyLecture
export const API_PYTHON_bodyLecture_get_body_for_wrap = PYTHON_addres + '/api/v1/python/bodyLecture/wrap/'// /api/v1/python/bodyLecture/wrap/<idWrap> - GET - Получить тело лекции по id обертки
export const API_PYTHON_bodyLecture_get_body_for_number = PYTHON_addres + '/api/v1/python/bodyLecture/num/'// /api/v1/python/bodyLecture/num/<numberWithLevel> - GET - Получить тело лекции по порядковому номеру внутри уровня
// Админка лекции adminLecture
export const API_PYTHON_adminLecture_get_lecture_for_wrap = PYTHON_addres + '/api/v1/python/adminLecture/'// /api/v1/python/adminLecture/<idWrap> - GET - Получить строку таблицы админки для лекции по id обертки Админ
export const API_PYTHON_adminLecture_post_new_lecture = PYTHON_addres + '/api/v1/python/adminLecture'// /api/v1/python/adminLecture - POST - Создать новую лекцию Админ
export const API_PYTHON_adminLecture_put_lecture = PYTHON_addres + '/api/v1/python/adminLecture'// /api/v1/python/adminLecture - PUT - Редактировать лекцию Админ
export const API_PYTHON_adminLecture_delete_lecture = PYTHON_addres + '/api/v1/python/adminLecture/'// /api/v1/python/adminLecture/<id> - DELETE- Удалить лекцию админ
export const API_PYTHON_adminLecture_putNumberWithLewel = PYTHON_addres + '/api/v1/python/adminLecture/putNumberWithLewel'// /api/v1/python/adminLecture/putNumberWithLewel - PUT- изменить порядковый номер лекции в уровне
// Уровни обучения level
export const API_PYTHON_level_get_levels = PYTHON_addres + '/api/v1/python/level'// /api/v1/python/level - GET - Получить все уровни обучения
export const API_PYTHON_level_get_levels_for_module = PYTHON_addres + '/api/v1/python/level/'// /api/v1/python/level/<module> - GET - Получить уровни обучения по модулю
// Админка уровни обучения adminLevel
export const API_PYTHON_adminLevel_post_new_level = PYTHON_addres + '/api/v1/python/adminLevel'// /api/v1/python/adminLevel - POST - Добавить новый уровень Админ
export const API_PYTHON_adminLevel_put_level = PYTHON_addres + '/api/v1/python/adminLevel'// /api/v1/python/adminLevel - PUT - Редактировать уровень админ
export const API_PYTHON_adminLevel_delete_level = PYTHON_addres + '/api/v1/python/adminLevel/'// /api/v1/python/adminLevel/<id>- DELETE - Удалить уровень админ
// изображения для лекций
export const API_PYTHON_adminIMG_POST = PYTHON_addres + '/api/v1/python/bodyLecture/png' // POST загрузить изображение на сервер
export const API_PYTHON_adminIMG_GET = PYTHON_addres + '/api/v1/python/bodyLecture/png' // GET Получить массив названий изображений из папки тело лекции
//---------------------------------------Servers---------------------------------------------------------
//---------------------------------------Servers---------------------------------------------------------
//---------------------------------------Servers---------------------------------------------------------
// Задача обертка wrapTask
export const API_SERVERS_wrapTask_get_wraps = SERVERS_addres + '/api/v1/servers/wrapTask/module/'// /api/v1/servers/wrapTask/module/<page> - GET - Получить все обертки задач модуля порциями по 20 штук
export const API_SERVERS_wrapTask_get_wrap_for_id_lecture = SERVERS_addres + '/api/v1/servers/wrapTask/lecture/'// /api/v1/servers/wrapTask/lecture/<idLecture> - GET - Получить обертки задач по id лекции (может быть несколько)
export const API_SERVERS_wrapTask_get_wrap_for_id = SERVERS_addres + '/api/v1/servers/wrapTask/'// /api/v1/servers/wrapTask/<id> - GET - Получить обертку задачи по id
// Тело задачи bodyTask
export const API_SERVERS_bodyTask = SERVERS_addres + '/api/v1/servers/bodyTask/wrap/'// /api/v1/servers/bodyTask/wrap/<idWrap> - GET - Получить тело задачи по id обертки
// Админка для задачи adminTask
export const API_SERVERS_adminTask_get_for_id_wrap = SERVERS_addres + '/api/v1/servers/adminTask/'// /api/v1/servers/adminTask/<idWrap> - GET - Получить строку таблицы админки для задачи по id обертки Админ
export const API_SERVERS_adminTask_post_new_task = SERVERS_addres + '/api/v1/servers/adminTask'// /api/v1/servers/adminTask - POST - Создать новую задачу Админ
export const API_SERVERS_adminTask_put_task = SERVERS_addres + '/api/v1/servers/adminTask'// /api/v1/servers/adminTask - PUT- Редактировать задачу Админ
export const API_SERVERS_adminTask_delete_task = SERVERS_addres + '/api/v1/servers/adminTask/'// /api/v1/servers/adminTask/<id> - DELETE- Удалить задачу админ
// Модули обучения module
export const API_SERVERS_module = SERVERS_addres + '/api/v1/servers/module/'// /api/v1/servers/module/<course> - GET - Получить модули обучения по курсу
// Админка модули обучения adminModule
export const API_SERVERS_adminModule_post_new_module = SERVERS_addres + '/api/v1/servers/adminModule'// /api/v1/servers/adminModule - POST - Добавить новый модуль Админ
export const API_SERVERS_adminModule_put_module = SERVERS_addres + '/api/v1/servers/adminModule'// /api/v1/servers/adminModule - PUT- Редактировать модуль админ
export const API_SERVERS_adminModule_delete_module = SERVERS_addres + '/api/v1/servers/adminModule/'// /api/v1/servers/adminModule/<id> - DELETE - Удалить модуль админ
// Лекция обертка wrapLecture
export const API_SERVERS_wrapLecture_get_wraps_for_level = SERVERS_addres + '/api/v1/servers/wrapLecture/level/'// /api/v1/servers/wrapLecture/level/<level>/<page> - GET - Получить обертки лекций порциями по 20 штук по уровню обучения
export const API_SERVERS_wrapLecture_get_all_wraps = SERVERS_addres + '/api/v1/servers/wrapLecture/module/'// /api/v1/servers/wrapLecture/module/<module>/<page> - GET - Получить все обертки лекций модуля порциями по 20 штук
export const API_SERVERS_wrapLecture_get_wrap_for_id = SERVERS_addres + '/api/v1/servers/wrapLecture/'// /api/v1/servers/wrapLecture/<id> - GET - Получить обертку лекции по id
export const API_SERVERS_wrapLecture_get_wrap_number = SERVERS_addres + '/api/v1/servers/wrapLecture/num/'// /api/v1/servers/wrapLecture/num/<numberWithLevel> - GET - Получить обертку лекции по порядковому номеру внутри уровня
export const API_SERVERS_wrapLecture_get_wrap_all_lvl = SERVERS_addres + '/api/v1/servers/wrapLecture/allLvl/'// /api/v1/servers/wrapLecture/allLvl/<level> - GET - получить все обертки лекций по уровню
export const API_SERVERS_wrapLecture_count = SERVERS_addres + '/api/v1/servers/wrapLecture/count'// /api/v1/servers/wrapLecture/count - GET - Получить количество лекций
// Тело лекции bodyLecture
export const API_SERVERS_bodyLecture_get_body_for_wrap = SERVERS_addres + '/api/v1/servers/bodyLecture/wrap/'// /api/v1/servers/bodyLecture/wrap/<idWrap> - GET - Получить тело лекции по id обертки
export const API_SERVERS_bodyLecture_get_body_for_number = SERVERS_addres + '/api/v1/servers/bodyLecture/num/'// /api/v1/servers/bodyLecture/num/<numberWithLevel> - GET - Получить тело лекции по порядковому номеру внутри уровня
// Админка лекции adminLecture
export const API_SERVERS_adminLecture_get_lecture_for_wrap = SERVERS_addres + '/api/v1/servers/adminLecture/'// /api/v1/servers/adminLecture/<idWrap> - GET - Получить строку таблицы админки для лекции по id обертки Админ
export const API_SERVERS_adminLecture_post_new_lecture = SERVERS_addres + '/api/v1/servers/adminLecture'// /api/v1/servers/adminLecture - POST - Создать новую лекцию Админ
export const API_SERVERS_adminLecture_put_lecture = SERVERS_addres + '/api/v1/servers/adminLecture'// /api/v1/servers/adminLecture - PUT - Редактировать лекцию Админ
export const API_SERVERS_adminLecture_delete_lecture = SERVERS_addres + '/api/v1/servers/adminLecture/'// /api/v1/servers/adminLecture/<id> - DELETE- Удалить лекцию админ
export const API_SERVERS_adminLecture_putNumberWithLewel = SERVERS_addres + '/api/v1/servers/adminLecture/putNumberWithLewel'// /api/v1/servers/adminLecture/putNumberWithLewel - PUT- изменить порядковый номер лекции в уровне
// Уровни обучения level
export const API_SERVERS_level_get_levels = SERVERS_addres + '/api/v1/servers/level'// /api/v1/servers/level - GET - Получить все уровни обучения
export const API_SERVERS_level_get_levels_for_module = SERVERS_addres + '/api/v1/servers/level/'// /api/v1/servers/level/<module> - GET - Получить уровни обучения по модулю
// Админка уровни обучения adminLevel
export const API_SERVERS_adminLevel_post_new_level = SERVERS_addres + '/api/v1/servers/adminLevel'// /api/v1/servers/adminLevel - POST - Добавить новый уровень Админ
export const API_SERVERS_adminLevel_put_level = SERVERS_addres + '/api/v1/servers/adminLevel'// /api/v1/servers/adminLevel - PUT - Редактировать уровень админ
export const API_SERVERS_adminLevel_delete_level = SERVERS_addres + '/api/v1/servers/adminLevel/'// /api/v1/servers/adminLevel/<id>- DELETE - Удалить уровень админ
// изображения для лекций
export const API_SERVERS_adminIMG_POST = SERVERS_addres + '/api/v1/servers/bodyLecture/png' // POST загрузить изображение на сервер
export const API_SERVERS_adminIMG_GET = SERVERS_addres + '/api/v1/servers/bodyLecture/png' // GET Получить массив названий изображений из папки тело лекции
// Админка курсы
export const API_SERVERS_adminCourse_post_new_course = SERVERS_addres + '/api/v1/servers/adminCourse'// /api/v1/servers/adminCourse - POST - Добавить новый курс Админ
export const API_SERVERS_adminCourse_put_course = SERVERS_addres + '/api/v1/servers/adminCourse'// /api/v1/servers/adminCourse - PUT- Редактировать курс админ
export const API_SERVERS_adminCourse_delete_course = SERVERS_addres + '/api/v1/servers/adminCourse/'// /api/v1/servers/adminCourse/<id> - DELETE - Удалить курс админ
// Курсы обучения course
export const API_SERVERS_course = SERVERS_addres + '/api/v1/servers/course'// /api/v1/servers/course - GET - Получить все курсы обучения
export const API_PYTHON_wrapTask_get_wraps_guest = PYTHON_addres + '/api/v1/python_guest/wrapTask/module/'// /api/v1/python/wrapTask/module/<page> - GET - Получить все обертки задач модуля порциями по 20 штук
export const API_PYTHON_wrapTask_get_wrap_for_id_lecture_guest = PYTHON_addres + '/api/v1/python_guest/wrapTask/lecture/'// /api/v1/python/wrapTask/lecture/<idLecture> - GET - Получить обертки задач по id лекции (может быть несколько)
export const API_PYTHON_wrapTask_get_wrap_for_id_guest = PYTHON_addres + '/api/v1/python_guest/wrapTask/'// /api/v1/python/wrapTask/<id> - GET - Получить обертку задачи по id
export const API_PYTHON_wrapLecture_get_wraps_for_level_guest = PYTHON_addres + '/api/v1/python_guest/wrapLecture/level/'// /api/v1/python/wrapLecture/level/<level>/<page> - GET - Получить обертки лекций порциями по 20 штук по уровню обучения
export const API_PYTHON_wrapLecture_get_all_wraps_guest = PYTHON_addres + '/api/v1/python_guest/wrapLecture/module/'// /api/v1/python/wrapLecture/module/<module>/<page> - GET - Получить все обертки лекций модуля порциями по 20 штук
export const API_PYTHON_wrapLecture_get_wrap_for_id_guest = PYTHON_addres + '/api/v1/python_guest/wrapLecture/'// /api/v1/python/wrapLecture/<id> - GET - Получить обертку лекции по id
export const API_PYTHON_wrapLecture_get_wrap_number_guest = PYTHON_addres + '/api/v1/python_guest/wrapLecture/num/'// /api/v1/python/wrapLecture/num/<numberWithLevel> - GET - Получить обертку лекции по порядковому номеру внутри уровня
export const API_PYTHON_wrapLecture_get_wrap_all_lvl_guest = PYTHON_addres + '/api/v1/python_guest/wrapLecture/allLvl/'// /api/v1/python/wrapLecture/allLvl/<level> - GET - получить все обертки лекций по уровню
export const API_PYTHON_wrapLecture_count_guest = PYTHON_addres + '/api/v1/python_guest/wrapLecture/count'// /api/v1/python/wrapLecture/count - GET - Получить количество лекций
export const API_PYTHON_module_guest = PYTHON_addres + '/api/v1/python_guest/module'// /api/v1/python/module - GET - Получить все модули обучения
export const API_PYTHON_level_get_levels_for_module_guest = PYTHON_addres + '/api/v1/python_guest/level/'// /api/v1/python/level/<module> - GET - Получить уровни обучения по модулю
export const API_PYTHON_level_get_levels_guest = PYTHON_addres + '/api/v1/python_guest/level'// /api/v1/python/level - GET - Получить все уровни обучения
export const API_PYTHON_bodyLecture_get_body_for_wrap_guest = PYTHON_addres + '/api/v1/python_guest/bodyLecture/wrap/'// /api/v1/python/bodyLecture/wrap/<idWrap> - GET - Получить тело лекции по id обертки
export const API_PYTHON_bodyLecture_get_body_for_number_guest = PYTHON_addres + '/api/v1/python_guest/bodyLecture/num/'// /api/v1/python/bodyLecture/num/<numberWithLevel> - GET - Получить тело лекции по порядковому номеру внутри уровня
export const API_SERVERS_wrapTask_get_wraps_guest = SERVERS_addres + '/api/v1/servers_guest/wrapTask/module/'// /api/v1/servers/wrapTask/module/<page> - GET - Получить все обертки задач модуля порциями по 20 штук
export const API_SERVERS_wrapTask_get_wrap_for_id_lecture_guest = SERVERS_addres + '/api/v1/servers_guest/wrapTask/lecture/'// /api/v1/servers/wrapTask/lecture/<idLecture> - GET - Получить обертки задач по id лекции (может быть несколько)
export const API_SERVERS_wrapTask_get_wrap_for_id_guest = SERVERS_addres + '/api/v1/servers_guest/wrapTask/'// /api/v1/servers/wrapTask/<id> - GET - Получить обертку задачи по id
export const API_SERVERS_wrapLecture_get_wraps_for_level_guest = SERVERS_addres + '/api/v1/servers_guest/wrapLecture/level/'// /api/v1/servers/wrapLecture/level/<level>/<page> - GET - Получить обертки лекций порциями по 20 штук по уровню обучения
export const API_SERVERS_wrapLecture_get_all_wraps_guest = SERVERS_addres + '/api/v1/servers_guest/wrapLecture/module/'// /api/v1/servers/wrapLecture/module/<module>/<page> - GET - Получить все обертки лекций модуля порциями по 20 штук
export const API_SERVERS_wrapLecture_get_wrap_for_id_guest = SERVERS_addres + '/api/v1/servers_guest/wrapLecture/'// /api/v1/servers/wrapLecture/<id> - GET - Получить обертку лекции по id
export const API_SERVERS_wrapLecture_get_wrap_number_guest = SERVERS_addres + '/api/v1/servers_guest/wrapLecture/num/'// /api/v1/servers/wrapLecture/num/<numberWithLevel> - GET - Получить обертку лекции по порядковому номеру внутри уровня
export const API_SERVERS_wrapLecture_get_wrap_all_lvl_guest = SERVERS_addres + '/api/v1/servers_guest/wrapLecture/allLvl/'// /api/v1/servers/wrapLecture/allLvl/<level> - GET - получить все обертки лекций по уровню
export const API_SERVERS_wrapLecture_count_guest = SERVERS_addres + '/api/v1/servers_guest/wrapLecture/count'// /api/v1/servers/wrapLecture/count - GET - Получить количество лекций
export const API_SERVERS_module_guest = SERVERS_addres + '/api/v1/servers_guest/module/'// /api/v1/servers/module/<course> - GET - Получить модули обучения по курсу
export const API_SERVERS_level_get_levels_guest = SERVERS_addres + '/api/v1/servers_guest/level'// /api/v1/servers/level - GET - Получить все уровни обучения
export const API_SERVERS_level_get_levels_for_module_guest = SERVERS_addres + '/api/v1/servers_guest/level/'// /api/v1/servers/level/<module> - GET - Получить уровни обучения по модулю
export const API_SERVERS_course_guest = SERVERS_addres + '/api/v1/servers_guest/course'// /api/v1/servers/course - GET - Получить все курсы обучения
export const API_SERVERS_bodyLecture_get_body_for_wrap_guest = SERVERS_addres + '/api/v1/servers_guest/bodyLecture/wrap/'// /api/v1/servers/bodyLecture/wrap/<idWrap> - GET - Получить тело лекции по id обертки
export const API_SERVERS_bodyLecture_get_body_for_number_guest = SERVERS_addres + '/api/v1/servers_guest/bodyLecture/num/'// /api/v1/servers/bodyLecture/num/<numberWithLevel> - GET - Получить тело лекции по порядковому номеру внутри уровня