kwork-api/WIP.md
2026-03-23 03:17:30 +00:00

3.8 KiB
Raw Blame History

Work In Progress — kwork-api

📊 Статус

Параметр Значение
Проект kwork-api
Начало 2026-03-23 02:16 UTC
Прогресс 95%
Статус 🟢 В работе

📋 План

  • Структура проекта (pyproject.toml, зависимости)
  • Модели Pydantic (20+ моделей для всех ответов API)
  • API клиент (KworkClient с 45 эндпоинтами)
  • Обработка ошибок (KworkAuthError, KworkApiError, etc.)
  • Тесты unit (46 тестов, 92% coverage)
  • Документация (README с примерами)
  • Аудит эндпоинтов — все 33 endpoint протестированы
  • Добавить /kworks endpoint (альтернатива каталогу)
  • Добавить /api/validation/checktext (валидация текста)
  • Тесты integration (шаблон готов, нужны реальные credentials)
  • CI/CD pipeline (Gitea Actions)
  • Публикация на internal PyPI

🔨 Сейчас в работе

Текущая задача: Анализ пропущенных эндпоинтов

Следующий шаг:

  1. Добавить /kworks endpoint
  2. Добавить /api/validation/checktext endpoint
  3. CI/CD pipeline (Gitea Actions)

📝 Заметки

Аудит эндпоинтов (2026-03-23 03:08)

Из HAR дампа: 44 эндпоинта

  • Пропущено (internal/analytics): 9
  • Реализовано: 33/33 (100%)
  • Протестировано: 33/33 (100%)

Пропущенные эндпоинты (анализ):

Эндпоинт Размер Описание Решение
/signIn - Авторизация Реализовано в login()
/getWebAuthToken - Получение токена Реализовано в login()
/kworks 22KB Список кворков 🔴 Добавить
/quick-faq/init 3.7MB FAQ данные Опционально
/api/validation/checktext - Валидация текста 🔴 Добавить
/market_main_page/get_mobile_menu - Мобильное меню Пропустить (UI)
/support2/hit - Телеметрия Пропустить
/watch/* - Yandex Metrica Пропустить

Тесты:

  • Unit тесты: 46 passed
  • Покрытие: 92%
  • Файлы: test_client.py (13 тестов), test_all_endpoints.py (33 теста)

Аутентификация: cookies + web_auth_token (2 этапа) Стек: UV + httpx(http2) + pydantic v2 + structlog HAR дамп: 45 эндпоинтов проанализировано

Решения:

  • Rate limiting на стороне пользователя (не в библиотеке)
  • Только библиотека (без CLI)
  • Pydantic модели для всех ответов

🚧 Блокеры

Нет


📅 История

  • 03:14 — Анализ пропущенных эндпоинтов: /kworks и /api/validation/checktext рекомендуются к добавлению
  • 03:08 — Аудит завершён: 33/33 endpoint протестированы (92% coverage)
  • 02:48Все unit тесты пройдены (13/13)
  • 02:45 — Исправлены ошибки в тестах (Response cookies, Project.description)
  • 02:35 — Завершён этап "API клиент"
  • 02:30 — Завершён этап "Модели Pydantic"
  • 02:20 — Завершён этап "Структура проекта"
  • 02:16 — Начат проект