Commit Graph

153 Commits

Author SHA1 Message Date
975d019ba5 test(parsers): cover proverki client and lock races 2026-02-06 23:43:56 +01:00
c36c7b9ba9 feat(parsers): добавлен API клиент для checko.ru
- Реализован CheckoClient с поддержкой всех 10 эндпоинтов API v2
- Frozen dataclass модели для запросов и ответов
- Справочники ОКВЭД2, ОКФС, ОКОПФ, ОКПД, статусы компаний
- Маппинг русских полей API на английские имена
- Unit тесты с моками
- E2E тесты с реальными запросами
- Настройка CHECKO_API_KEY в settings.py
2026-02-03 17:00:19 +01:00
5c88c6466d fix: remove editable install from requirements.txt
All checks were successful
CI/CD Pipeline / Code Quality Checks (push) Successful in 1m42s
CI/CD Pipeline / Run Tests (push) Successful in 1m55s
CI/CD Pipeline / Build Docker Images (push) Successful in 4m19s
CI/CD Pipeline / Push to Gitea Registry (push) Successful in 22s
CI/CD Pipeline / Deploy to Server (push) Successful in 1m11s
2026-02-02 15:50:42 +01:00
4eb127cf6a fix: set LOGIN_URL for drf-yasg
Some checks failed
CI/CD Pipeline / Code Quality Checks (push) Successful in 1m59s
CI/CD Pipeline / Run Tests (push) Successful in 2m9s
CI/CD Pipeline / Build Docker Images (push) Failing after 3s
CI/CD Pipeline / Push to Gitea Registry (push) Has been skipped
CI/CD Pipeline / Deploy to Server (push) Has been skipped
2026-02-02 15:46:10 +01:00
e6af252f29 feat: add whitenoise for static files serving
Some checks failed
CI/CD Pipeline / Build Docker Images (push) Has been cancelled
CI/CD Pipeline / Push to Gitea Registry (push) Has been cancelled
CI/CD Pipeline / Deploy to Server (push) Has been cancelled
CI/CD Pipeline / Code Quality Checks (push) Has been cancelled
CI/CD Pipeline / Run Tests (push) Has been cancelled
2026-02-02 15:45:20 +01:00
80c01f2df1 fix: create all required directories in Docker image
All checks were successful
CI/CD Pipeline / Code Quality Checks (push) Successful in 1m42s
CI/CD Pipeline / Run Tests (push) Successful in 2m3s
CI/CD Pipeline / Build Docker Images (push) Successful in 3s
CI/CD Pipeline / Push to Gitea Registry (push) Successful in 15s
CI/CD Pipeline / Deploy to Server (push) Successful in 55s
2026-02-02 15:38:05 +01:00
7bb328224f fix: create src/logs directory in Docker images
All checks were successful
CI/CD Pipeline / Code Quality Checks (push) Successful in 1m58s
CI/CD Pipeline / Run Tests (push) Successful in 2m6s
CI/CD Pipeline / Build Docker Images (push) Successful in 1m46s
CI/CD Pipeline / Push to Gitea Registry (push) Successful in 23s
CI/CD Pipeline / Deploy to Server (push) Successful in 57s
2026-02-02 15:30:55 +01:00
bf12b18463 fix(ci): force remove containers before deploy
All checks were successful
CI/CD Pipeline / Run Tests (push) Successful in 1m58s
CI/CD Pipeline / Code Quality Checks (push) Successful in 2m4s
CI/CD Pipeline / Build Docker Images (push) Successful in 2s
CI/CD Pipeline / Push to Gitea Registry (push) Successful in 16s
CI/CD Pipeline / Deploy to Server (push) Successful in 53s
2026-02-02 15:18:43 +01:00
9816977faa fix(ci): docker compose down before up to avoid container conflicts
All checks were successful
CI/CD Pipeline / Code Quality Checks (push) Successful in 2m4s
CI/CD Pipeline / Run Tests (push) Successful in 2m13s
CI/CD Pipeline / Build Docker Images (push) Successful in 2s
CI/CD Pipeline / Push to Gitea Registry (push) Successful in 13s
CI/CD Pipeline / Deploy to Server (push) Successful in 22s
2026-02-02 15:15:10 +01:00
5dc50582ab fix(ci): use scp to copy compose file to server
All checks were successful
CI/CD Pipeline / Code Quality Checks (push) Successful in 1m53s
CI/CD Pipeline / Run Tests (push) Successful in 2m0s
CI/CD Pipeline / Build Docker Images (push) Successful in 2s
CI/CD Pipeline / Push to Gitea Registry (push) Successful in 18s
CI/CD Pipeline / Deploy to Server (push) Successful in 30s
2026-02-02 15:11:23 +01:00
62bc3621fb ci: trigger deploy after insecure-registry config
All checks were successful
CI/CD Pipeline / Code Quality Checks (push) Successful in 1m50s
CI/CD Pipeline / Run Tests (push) Successful in 2m2s
CI/CD Pipeline / Build Docker Images (push) Successful in 2s
CI/CD Pipeline / Push to Gitea Registry (push) Successful in 14s
CI/CD Pipeline / Deploy to Server (push) Successful in 11s
2026-02-02 15:07:40 +01:00
f43358059e fix(ci): fix curl URL quoting for compose file
Some checks failed
CI/CD Pipeline / Build Docker Images (push) Has been cancelled
CI/CD Pipeline / Push to Gitea Registry (push) Has been cancelled
CI/CD Pipeline / Deploy to Server (push) Has been cancelled
CI/CD Pipeline / Code Quality Checks (push) Has been cancelled
CI/CD Pipeline / Run Tests (push) Has been cancelled
2026-02-02 15:06:49 +01:00
983f4534c8 fix(ci): update docker-compose.prod.yml on server before deploy
All checks were successful
CI/CD Pipeline / Code Quality Checks (push) Successful in 1m54s
CI/CD Pipeline / Run Tests (push) Successful in 2m5s
CI/CD Pipeline / Build Docker Images (push) Successful in 2s
CI/CD Pipeline / Push to Gitea Registry (push) Successful in 15s
CI/CD Pipeline / Deploy to Server (push) Successful in 1s
2026-02-02 15:03:10 +01:00
d690fe470e ci: rebuild images on IP registry
All checks were successful
CI/CD Pipeline / Run Tests (push) Successful in 1m53s
CI/CD Pipeline / Code Quality Checks (push) Successful in 1m56s
CI/CD Pipeline / Build Docker Images (push) Successful in 2s
CI/CD Pipeline / Push to Gitea Registry (push) Successful in 14s
CI/CD Pipeline / Deploy to Server (push) Successful in 1m1s
2026-02-02 14:39:55 +01:00
1f80b73743 fix(ci): use internal IP 10.10.0.10:3000 for registry everywhere
All checks were successful
CI/CD Pipeline / Code Quality Checks (push) Successful in 1m49s
CI/CD Pipeline / Run Tests (push) Successful in 2m5s
CI/CD Pipeline / Build Docker Images (push) Successful in 2s
CI/CD Pipeline / Push to Gitea Registry (push) Successful in 16s
CI/CD Pipeline / Deploy to Server (push) Successful in 1m11s
2026-02-02 14:32:59 +01:00
6f884789a2 ci: trigger deploy with base64 SSH key
All checks were successful
CI/CD Pipeline / Code Quality Checks (push) Successful in 1m51s
CI/CD Pipeline / Run Tests (push) Successful in 2m7s
CI/CD Pipeline / Build Docker Images (push) Successful in 2s
CI/CD Pipeline / Push to Gitea Registry (push) Successful in 21s
CI/CD Pipeline / Deploy to Server (push) Successful in 1m41s
2026-02-02 14:27:05 +01:00
ebc36d72bf fix(ci): decode base64 SSH key for deploy
Some checks failed
CI/CD Pipeline / Build Docker Images (push) Has been cancelled
CI/CD Pipeline / Push to Gitea Registry (push) Has been cancelled
CI/CD Pipeline / Deploy to Server (push) Has been cancelled
CI/CD Pipeline / Run Tests (push) Has been cancelled
CI/CD Pipeline / Code Quality Checks (push) Has been cancelled
2026-02-02 14:26:01 +01:00
404e380661 feat(ci): add deploy step to pull and run images on server
Some checks failed
CI/CD Pipeline / Code Quality Checks (push) Successful in 1m56s
CI/CD Pipeline / Run Tests (push) Successful in 2m10s
CI/CD Pipeline / Build Docker Images (push) Successful in 2s
CI/CD Pipeline / Push to Gitea Registry (push) Successful in 15s
CI/CD Pipeline / Deploy to Server (push) Failing after 1s
2026-02-02 14:20:59 +01:00
6c0e7bad9b ci: trigger workflow with registry secrets
All checks were successful
CI/CD Pipeline / Code Quality Checks (push) Successful in 2m4s
CI/CD Pipeline / Run Tests (push) Successful in 2m14s
CI/CD Pipeline / Build Docker Images (push) Successful in 2s
CI/CD Pipeline / Push to Gitea Registry (push) Successful in 17s
2026-02-02 14:13:01 +01:00
2555153994 fix(ci): use REGISTRY_TOKEN secret for container registry auth
Some checks failed
CI/CD Pipeline / Build Docker Images (push) Has been cancelled
CI/CD Pipeline / Push to Gitea Registry (push) Has been cancelled
CI/CD Pipeline / Code Quality Checks (push) Has been cancelled
CI/CD Pipeline / Run Tests (push) Has been cancelled
2026-02-02 14:11:15 +01:00
223e6e40fb fix(ci): consolidate crane steps and use password-stdin
Some checks failed
CI/CD Pipeline / Code Quality Checks (push) Successful in 2m13s
CI/CD Pipeline / Run Tests (push) Successful in 2m17s
CI/CD Pipeline / Build Docker Images (push) Successful in 2s
CI/CD Pipeline / Push to Gitea Registry (push) Failing after 7s
2026-02-02 14:07:58 +01:00
04d9e6bf40 fix(ci): use domain name for Gitea container registry
Some checks failed
CI/CD Pipeline / Code Quality Checks (push) Successful in 1m52s
CI/CD Pipeline / Run Tests (push) Successful in 2m3s
CI/CD Pipeline / Build Docker Images (push) Successful in 2s
CI/CD Pipeline / Push to Gitea Registry (push) Failing after 7s
2026-02-02 14:03:10 +01:00
97111afbd1 fix(ci): add --insecure to crane auth login
Some checks failed
CI/CD Pipeline / Code Quality Checks (push) Successful in 1m54s
CI/CD Pipeline / Run Tests (push) Successful in 2m6s
CI/CD Pipeline / Build Docker Images (push) Successful in 5s
CI/CD Pipeline / Push to Gitea Registry (push) Failing after 6s
2026-02-02 13:57:53 +01:00
7b5982375c fix(ci): use hardcoded 10.10.0.10:3000 for container registry
Some checks failed
CI/CD Pipeline / Code Quality Checks (push) Successful in 1m49s
CI/CD Pipeline / Run Tests (push) Successful in 2m9s
CI/CD Pipeline / Build Docker Images (push) Successful in 2s
CI/CD Pipeline / Push to Gitea Registry (push) Failing after 7s
2026-02-02 13:54:08 +01:00
19d051a3ad fix(ci): use crane for HTTP registry push (replaces buildx)
Some checks failed
CI/CD Pipeline / Code Quality Checks (push) Successful in 2m14s
CI/CD Pipeline / Run Tests (push) Successful in 2m30s
CI/CD Pipeline / Build Docker Images (push) Successful in 2s
CI/CD Pipeline / Push to Gitea Registry (push) Failing after 8s
2026-02-02 13:48:15 +01:00
5f8ffb6854 fix(ci): create docker config.json manually for buildx auth
Some checks failed
CI/CD Pipeline / Run Tests (push) Successful in 1m54s
CI/CD Pipeline / Code Quality Checks (push) Successful in 1m57s
CI/CD Pipeline / Build Docker Images (push) Successful in 2s
CI/CD Pipeline / Push to Gitea Registry (push) Failing after 2m19s
2026-02-02 13:36:37 +01:00
3fcb2ab0dd fix(ci): add docker login before buildx push
Some checks failed
CI/CD Pipeline / Code Quality Checks (push) Successful in 1m53s
CI/CD Pipeline / Run Tests (push) Successful in 2m2s
CI/CD Pipeline / Build Docker Images (push) Successful in 2s
CI/CD Pipeline / Push to Gitea Registry (push) Failing after 34s
2026-02-02 13:32:31 +01:00
ace2391620 fix(ci): use docker buildx with buildkitd config for insecure HTTP registry
Some checks failed
CI/CD Pipeline / Code Quality Checks (push) Successful in 1m53s
CI/CD Pipeline / Run Tests (push) Successful in 2m3s
CI/CD Pipeline / Build Docker Images (push) Successful in 2s
CI/CD Pipeline / Push to Gitea Registry (push) Failing after 2m37s
2026-02-02 13:26:56 +01:00
65383b8a40 fix(ci): configure Docker insecure registry for HTTP Gitea
Some checks failed
CI/CD Pipeline / Code Quality Checks (push) Successful in 1m46s
CI/CD Pipeline / Run Tests (push) Successful in 1m55s
CI/CD Pipeline / Build Docker Images (push) Successful in 6m22s
CI/CD Pipeline / Push to Gitea Registry (push) Failing after 4s
2026-02-02 13:16:22 +01:00
823dc2f83d fix(ci): derive registry URL from GITHUB_SERVER_URL instead of vars
Some checks failed
CI/CD Pipeline / Code Quality Checks (push) Successful in 1m38s
CI/CD Pipeline / Run Tests (push) Successful in 2m10s
CI/CD Pipeline / Build Docker Images (push) Successful in 2s
CI/CD Pipeline / Push to Gitea Registry (push) Failing after 1s
2026-02-02 13:13:30 +01:00
01ca794071 fix(parsers): add Russian tag names support in ProverkiClient XML parser
Some checks failed
CI/CD Pipeline / Code Quality Checks (push) Successful in 1m49s
CI/CD Pipeline / Run Tests (push) Successful in 1m56s
CI/CD Pipeline / Build Docker Images (push) Successful in 6m25s
CI/CD Pipeline / Push to Gitea Registry (push) Failing after 2s
2026-02-02 13:03:12 +01:00
9bbc225942 fix(ci): run tests from project root with correct PYTHONPATH
Some checks failed
CI/CD Pipeline / Code Quality Checks (push) Successful in 1m56s
CI/CD Pipeline / Run Tests (push) Failing after 2m28s
CI/CD Pipeline / Build Docker Images (push) Has been skipped
CI/CD Pipeline / Push to Gitea Registry (push) Has been skipped
2026-02-02 12:58:32 +01:00
0122834c8f fix(ci): lint only src/ to match pre-commit config
Some checks failed
CI/CD Pipeline / Build Docker Images (push) Has been cancelled
CI/CD Pipeline / Push to Gitea Registry (push) Has been cancelled
CI/CD Pipeline / Run Tests (push) Has been cancelled
CI/CD Pipeline / Code Quality Checks (push) Has been cancelled
2026-02-02 12:57:38 +01:00
9b2b12130e fix(lint): sort imports in test files
Some checks failed
CI/CD Pipeline / Build Docker Images (push) Has been cancelled
CI/CD Pipeline / Push to Gitea Registry (push) Has been cancelled
CI/CD Pipeline / Run Tests (push) Has been cancelled
CI/CD Pipeline / Code Quality Checks (push) Has been cancelled
2026-02-02 12:57:06 +01:00
bb34c194f8 fix(ci): install Python 3.11 from deadsnakes PPA
Some checks failed
CI/CD Pipeline / Code Quality Checks (push) Failing after 1m55s
CI/CD Pipeline / Run Tests (push) Successful in 1m56s
CI/CD Pipeline / Build Docker Images (push) Has been skipped
CI/CD Pipeline / Push to Gitea Registry (push) Has been skipped
2026-02-02 12:54:12 +01:00
5da87c40f7 fix(ci): use system python3 instead of python3.11 (Ubuntu 24.04 has 3.12)
Some checks failed
CI/CD Pipeline / Build Docker Images (push) Has been cancelled
CI/CD Pipeline / Push to Gitea Registry (push) Has been cancelled
CI/CD Pipeline / Code Quality Checks (push) Has been cancelled
CI/CD Pipeline / Run Tests (push) Has been cancelled
2026-02-02 12:53:36 +01:00
3fab27b166 fix(ci): preserve http protocol in git clone URL
Some checks failed
CI/CD Pipeline / Run Tests (push) Failing after 11s
CI/CD Pipeline / Code Quality Checks (push) Failing after 18s
CI/CD Pipeline / Build Docker Images (push) Has been skipped
CI/CD Pipeline / Push to Gitea Registry (push) Has been skipped
2026-02-02 12:52:39 +01:00
2848bb2f5c fix(ci): use gitea.token instead of secrets for authentication
Some checks failed
CI/CD Pipeline / Code Quality Checks (push) Failing after 1s
CI/CD Pipeline / Run Tests (push) Failing after 0s
CI/CD Pipeline / Build Docker Images (push) Has been skipped
CI/CD Pipeline / Push to Gitea Registry (push) Has been skipped
2026-02-02 12:51:43 +01:00
72839995ce fix(ci): add GITEA_TOKEN for git clone authentication
Some checks failed
CI/CD Pipeline / Code Quality Checks (push) Failing after 1s
CI/CD Pipeline / Run Tests (push) Failing after 0s
CI/CD Pipeline / Build Docker Images (push) Has been skipped
CI/CD Pipeline / Push to Gitea Registry (push) Has been skipped
2026-02-02 12:50:17 +01:00
f68b4fbbf1 fix(ci): add dev branch to CI workflow triggers
Some checks failed
CI/CD Pipeline / Code Quality Checks (push) Failing after 0s
CI/CD Pipeline / Run Tests (push) Failing after 1s
CI/CD Pipeline / Build Docker Images (push) Has been skipped
CI/CD Pipeline / Push to Gitea Registry (push) Has been skipped
2026-02-02 12:49:06 +01:00
3f222a9141 fix(lint): resolve ruff errors in tests and run_tests.py
- Fix import sorting (I001)
- Remove unused imports and variables (F401, F841)
- Add noqa for test code (S106 hardcoded passwords, S314 XML parsing)
- Auto-format with ruff format
2026-02-02 12:44:37 +01:00
97a7764155 fix(ci): replace GitHub Actions with native bash commands
- Remove dependency on GitHub (network blocks access)
- Replace actions/checkout@v4 with git clone
- Replace actions/setup-python@v4 with apt-get install
- Replace docker/build-push-action with native docker commands
- Use config.settings.test (SQLite in-memory) for tests

Closes: network connectivity issue in CI
2026-02-02 12:39:06 +01:00
avm
12a4cb46d7 Merge pull request 'feature/fns' (#2) from feature/fns into dev
Reviewed-on: #2
2026-02-02 13:03:21 +03:00
efa5c3ae34 feat(api): полное API для всех парсеров с документацией 2026-02-01 15:19:21 +01:00
eacb1527c4 refactor(fns): переместить роуты /api/v1/parsers/fns → /api/v1/fns
- Упростить URL: /api/v1/fns/reports/, /api/v1/fns/upload/
- Добавить swagger теги для группировки в документации
2026-02-01 14:49:43 +01:00
cd0e21350b feat(fns): парсер ФНС бухгалтерской отчетности
- Модели FinancialReport и FinancialReportLine
- FNSExcelParser для файлов fin_{id}_{ogrn}.xlsx
- FNSReportService с дедупликацией по хешу файла
- Celery задачи для мониторинга папки (каждые 5 мин)
- API: POST /fns/upload/, GET /fns/reports/
- Django admin интеграция
- 25 unit-тестов
2026-02-01 14:44:19 +01:00
avm
eb0d6f2600 Merge pull request 'feat(parsers): добавлен парсер zakupki.gov.ru с SOAP API интеграцией' (#1) from feature/eis-zakypki into dev
Reviewed-on: #1
2026-02-01 15:44:56 +03:00
a369642459 feat(parsers): add SOAP API support for zakupki.gov.ru
- Add post() method to BaseHTTPClient for SOAP requests
- Update download_file() to support custom headers (for token)
- Add ZAKUPKI_TOKEN and PARSER_PROXIES settings
- Improve SOAP error parsing to show EIS error messages
- Update E2E tests to use token from settings
- Add data/ and .zed/ to gitignore
2026-01-28 13:13:10 +01:00
c6483d8427 feat(parsers): добавлен парсер zakupki.gov.ru с SOAP API интеграцией
Реализована полная интеграция с ЕИС Закупки через SOAP API
(FTP доступ закрыт с 01.01.2025).

Добавлено:
- ZakupkiClient с поддержкой SOAP методов getDocsByOrgRegionRequest
  и getDocsByReestrNumberRequest
- Модель ProcurementRecord (18 полей, 3 индекса)
- ProcurementService и ParserLoadLogService для бизнес-логики
- Celery задачи parse_procurements и sync_procurements
- Админка с цветовой индикацией статусов и фильтрами
- 71 тест (unit + E2E с RUN_E2E_TESTS=1)

Требования: токен SOAP API через Госуслуги

🤖 Generated with [Qoder][https://qoder.com]
2026-01-27 16:01:28 +01:00
199d871923 feat(parsers): add proverki.gov.ru parser with sync_inspections task
Some checks failed
CI/CD Pipeline / Code Quality Checks (push) Failing after 1m28s
CI/CD Pipeline / Build Docker Images (push) Has been cancelled
CI/CD Pipeline / Push to Gitea Registry (push) Has been cancelled
CI/CD Pipeline / Run Tests (push) Has been cancelled
- Add InspectionRecord model with is_federal_law_248, data_year, data_month fields
- Add ProverkiClient with Playwright support for JS-rendered portal
- Add streaming XML parser for large files (>50MB)
- Add sync_inspections task with incremental loading logic
  - Starts from 01.01.2025 if DB is empty
  - Loads both FZ-294 and FZ-248 inspections
  - Stops after 2 consecutive empty months
- Add InspectionService methods: get_last_loaded_period, has_data_for_period
- Add Minpromtorg parsers (certificates, manufacturers)
- Add Django Admin for parser models
- Update README with parsers documentation and changelog
2026-01-21 20:16:25 +01:00