feat: expand platform APIs, source integrations, and test coverage #8

Merged
avm merged 2 commits from feature/regestry into dev 2026-03-17 15:59:21 +03:00
Owner

Что сделано

В этом PR расширен backend-контур платформы для фронта, администрирования и источников данных.

Источники и API для фронта

  • добавлены frontend-oriented endpoints для источников:
    • список карточек
    • детальная карточка
    • запуск refresh
    • отдельный endpoint со статусами задач парсинга
  • добавлен контур source_cards с агрегацией статусов, счетчиков и active tasks
  • добавлен read-only / restricted behavior для обычного пользователя на системных действиях refresh/upload

Минпромторг

  • добавлен третий источник Минпромторга: Реестр промышленной продукции
  • добавлены:
    • клиент и схемы
    • модель и миграция
    • сервисный слой
    • celery task
    • API endpoints
  • карточка manufacturers-and-products теперь агрегирует уже 3 minprom-источника

Пользователи и роли

  • добавлены системные роли/группы:
    • admin
    • user
  • реализованы admin endpoints для управления пользователями:
    • создание
    • редактирование
    • деактивация
    • назначение роли
  • /api/v1/users/me/ теперь возвращает роль и capabilities для фронта
  • обычный пользователь оставлен в режиме просмотра без системных настроек и без действий обновления

Backups / Exchange / Registers / Core

  • расширены сервисы, views и тестовое покрытие для:
    • backups
    • exchange
    • registers
    • core helpers / health / pagination / celery
  • добавлены ADR-документы и индекс ADR

Docker / dev startup

  • исправлен сбой dev-старта в Docker:
    • migration 0005_create_default_admin_superuser теперь корректно использует make_password() вместо вызова set_password() на historical migration model

Проверка

Проверено локально:

  • pre-commit run --all-files
  • dev Docker startup:
    • migrations проходят успешно
    • db, redis, celery_worker, celery_beat стартуют
    • Django отвечает 200 на:
      • /health/
      • /health/ready/

Примечание:

  • на локальной машине хост-порт 8000 был занят внешним контейнером, поэтому HTTP-проверка web выполнялась через временный запуск на альтернативном порту

Риски / замечания

  • PR крупный и объединяет несколько направлений: frontend source API, user management, parser/source work, ADR и расширение тестов
  • если потребуется более узкий review, разумно смотреть по блокам:
    1. parsers/source_cards
    2. user roles / user management
    3. backups + exchange + registers
    4. tests + ADR
## Что сделано В этом PR расширен backend-контур платформы для фронта, администрирования и источников данных. ### Источники и API для фронта - добавлены frontend-oriented endpoints для источников: - список карточек - детальная карточка - запуск refresh - отдельный endpoint со статусами задач парсинга - добавлен контур `source_cards` с агрегацией статусов, счетчиков и active tasks - добавлен read-only / restricted behavior для обычного пользователя на системных действиях refresh/upload ### Минпромторг - добавлен третий источник Минпромторга: `Реестр промышленной продукции` - добавлены: - клиент и схемы - модель и миграция - сервисный слой - celery task - API endpoints - карточка `manufacturers-and-products` теперь агрегирует уже 3 minprom-источника ### Пользователи и роли - добавлены системные роли/группы: - `admin` - `user` - реализованы admin endpoints для управления пользователями: - создание - редактирование - деактивация - назначение роли - `/api/v1/users/me/` теперь возвращает роль и capabilities для фронта - обычный пользователь оставлен в режиме просмотра без системных настроек и без действий обновления ### Backups / Exchange / Registers / Core - расширены сервисы, views и тестовое покрытие для: - backups - exchange - registers - core helpers / health / pagination / celery - добавлены ADR-документы и индекс ADR ### Docker / dev startup - исправлен сбой dev-старта в Docker: - migration `0005_create_default_admin_superuser` теперь корректно использует `make_password()` вместо вызова `set_password()` на historical migration model ## Проверка Проверено локально: - `pre-commit run --all-files` - dev Docker startup: - migrations проходят успешно - `db`, `redis`, `celery_worker`, `celery_beat` стартуют - Django отвечает `200` на: - `/health/` - `/health/ready/` Примечание: - на локальной машине хост-порт `8000` был занят внешним контейнером, поэтому HTTP-проверка web выполнялась через временный запуск на альтернативном порту ## Риски / замечания - PR крупный и объединяет несколько направлений: frontend source API, user management, parser/source work, ADR и расширение тестов - если потребуется более узкий review, разумно смотреть по блокам: 1. `parsers/source_cards` 2. `user roles / user management` 3. `backups + exchange + registers` 4. `tests + ADR`
avm added 1 commit 2026-03-17 15:01:13 +03:00
feat: expand platform APIs, sources, and test coverage
Some checks failed
CI/CD Pipeline / Run Tests (pull_request) Successful in 1m53s
CI/CD Pipeline / Telegram Notify Success (push) Has been cancelled
CI/CD Pipeline / Run Tests (push) Has been cancelled
CI/CD Pipeline / Code Quality Checks (push) Has been cancelled
CI/CD Pipeline / Code Quality Checks (pull_request) Failing after 2m54s
CI/CD Pipeline / Telegram Notify Success (pull_request) Has been skipped
3d298ce352
avm added 1 commit 2026-03-17 15:55:40 +03:00
fix pre-commit
Some checks failed
CI/CD Pipeline / Telegram Notify Success (push) Has been cancelled
CI/CD Pipeline / Run Tests (push) Has been cancelled
CI/CD Pipeline / Code Quality Checks (push) Has been cancelled
CI/CD Pipeline / Code Quality Checks (pull_request) Successful in 1m42s
CI/CD Pipeline / Run Tests (pull_request) Successful in 2m25s
CI/CD Pipeline / Telegram Notify Success (pull_request) Successful in 1m34s
25176f31b4
avm merged commit ba5018254e into dev 2026-03-17 15:59:21 +03:00
avm deleted branch feature/regestry 2026-03-17 16:00:30 +03:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: avm/mostovik-backend#8