Commit Graph

9 Commits

Author SHA1 Message Date
root
fbe5772302 chore: add semantic-release configuration
- Configure version_toml for pyproject.toml
- Configure version_variables for __init__.py
- Set up Gitea remote for releases
- Auto-update both files on release
2026-03-29 00:24:53 +00:00
root
6ac9c533fa feat: add /api/validation/checktext endpoint with tests
- Add ValidationResponse and ValidationIssue models
- Add client.other.validate_text() method
- Add 3 unit tests for validation endpoint
- Update CI/CD workflow for real test runs
- Update .gitignore for Python projects
- Update documentation and WIP.md
2026-03-28 23:15:16 +00:00
root
13ef256b3d feat: публичный доступ к токену и credentials
Добавлены property для доступа к учётным данным:

- client.token — web auth token (публичный, не _token)
- client.cookies — session cookies (копия, не оригинал)
- client.credentials — dict с token и cookies для сохранения

Пример использования:
    # Сохранение
    client = await KworkClient.login('user', 'pass')
    token = client.token  # или client.credentials

    # Восстановление
    client = KworkClient(token=token)

Обновлена документация в docs/index.md с примерами.
2026-03-23 04:44:55 +00:00
root
6ad63ee3e0 refactor: вернул OtherAPI как отдельный класс
OtherAPI остаётся отдельным классом с property accessor:
- client.other.get_wants()
- client.other.get_kworks_status()
- client.other.go_offline()
- и т.д.
2026-03-23 04:36:47 +00:00
root
127e5927bc docs: переход на MkDocs + mkdocstrings для HTML документации
Рефакторинг:
- OtherAPI упразднён — все методы перемещены в KworkClient
- Методы client.get_wants(), get_kworks_status() и др. теперь напрямую в клиенте
- Удалён property client.other

Документация:
- MkDocs + mkdocstrings + Material theme для HTML сайта
- Навигация, поиск, форматирование кода
- docs/index.md — quick start guide
- docs/api/*.md — API reference с автогенерацией из docstrings
- Pre-commit hook для автогенерации HTML

Зависимости:
- Добавлены: mkdocs, mkdocs-material, mkdocstrings, mkdocstrings-python
- Убран pydoc-markdown (не нужен)

Команды:
- mkdocs build — сборка HTML
- mkdocs serve — локальный просмотр
2026-03-23 04:35:58 +00:00
root
857d5a95c5 docs: полная документация моделей и исключений
models.py:
- KworkUser, KworkCategory, Kwork, KworkDetails
- PaginationInfo, CatalogResponse
- Project, ProjectsResponse
- Review, ReviewsResponse
- Notification, NotificationsResponse
- Dialog, AuthResponse
- ErrorDetail, APIErrorResponse
- City, Country, TimeZone
- Feature, Badge
- DataResponse

errors.py:
- KworkError (базовое)
- KworkAuthError
- KworkApiError
- KworkNotFoundError
- KworkRateLimitError
- KworkValidationError
- KworkNetworkError

Все классы задокументированы с описанием атрибутов и примерами.
2026-03-23 04:28:44 +00:00
root
bc951cc763 docs: полная документация всех API классов
Добавлены подробные docstrings для:

UserAPI:
- get_info(), get_reviews(), get_favorite_kworks()

ReferenceAPI:
- get_cities(), get_countries(), get_timezones()
- get_features(), get_public_features(), get_badges_info()

NotificationsAPI:
- get_list(), fetch(), get_dialogs(), get_blocked_dialogs()

OtherAPI:
- get_wants(), get_wants_status(), get_kworks_status()
- get_offers(), get_exchange_info(), get_channel()
- get_in_app_notification(), get_security_user_data()
- is_dialog_allow(), get_viewed_kworks()
- get_favorite_categories(), update_settings()
- go_offline(), get_actor()

API property accessor'ы:
- catalog, projects, user, reference, notifications, other

Все методы задокументированы на русском с примерами.
2026-03-23 04:27:27 +00:00
root
a771a75c49 docs: добавлены подробные docstrings для KworkClient
- KworkClient: полное описание класса, аутентификации, примеров
- __init__: детальное описание параметров
- login(): пошаговое описание процесса аутентификации
- CatalogAPI: документация класса и методов get_list, get_details, get_details_extra
- ProjectsAPI: документация класса и метода get_list
- get_payer_orders/get_worker_orders: описание методов

Все docstrings на русском языке с примерами использования.
2026-03-23 04:23:49 +00:00
root
ccc670b79c Initial commit: kwork-api v0.1.0
Features:
- Full API coverage (45 endpoints from HAR analysis)
- Async/await support with httpx
- Pydantic models for all responses
- Clear error handling (KworkAuthError, KworkApiError, etc.)
- Session management (cookies + web_auth_token)
- Unit tests with respx mocks
- Integration tests template
- JSON logging support via structlog

Endpoints implemented:
- Authentication: signIn, getWebAuthToken
- Catalog: catalogMainv2, getKworkDetails, getKworkDetailsExtra
- Projects: projects, payerOrders, workerOrders
- User: user, userReviews, favoriteKworks
- Reference: cities, countries, timezones, features, badges
- Notifications: notifications, notificationsFetch, dialogs
- Other: 30+ additional endpoints

Tests: 13 passed, 79% coverage
2026-03-23 02:48:44 +00:00