3.8 KiB
3.8 KiB
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 протестированы ✅
- Добавить
/kworksendpoint (альтернатива каталогу) - Добавить
/api/validation/checktext(валидация текста) - Тесты integration (шаблон готов, нужны реальные credentials)
- CI/CD pipeline (Gitea Actions)
- Публикация на internal PyPI
🔨 Сейчас в работе
Текущая задача: Анализ пропущенных эндпоинтов
Следующий шаг:
- Добавить
/kworksendpoint - Добавить
/api/validation/checktextendpoint - 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 — Начат проект