Veronika Smirnova 4529d3c035 feat(security): Phase 2 - GraphQL Security Integration
 **Основные достижения Phase 2:**
- Создана система автоматической интеграции безопасности через middleware
- Реализованы безопасные версии критических резолверов поставок
- Добавлена фильтрация коммерческих данных по ролям организаций
- Создана подробная документация по интеграции

📁 **Новые файлы:**
- `src/graphql/resolvers/secure-supplies.ts` - безопасные резолверы
- `src/graphql/security/middleware.ts` - автоматическая интеграция
- `src/graphql/resolvers/secure-integration.ts` - демо и интеграция
- `src/graphql/security/INTEGRATION_GUIDE.md` - документация

🔧 **Обновленные файлы:**
- `src/graphql/resolvers/index.ts` - интеграция security middleware
- `src/graphql/security/index.ts` - экспорт middleware функций

🛡️ **Защищенные резолверы:**
- Query: supplyOrders, mySupplyOrders, pendingSuppliesCount
- Mutation: createSupplyOrder, updateSupplyOrderStatus, supplierApproveOrder, supplierRejectOrder, assignLogisticsToSupply

🔒 **Роль-ориентированная фильтрация:**
- SELLER: видит только свои данные с полными ценами
- WHOLESALE: видит заказы со своими товарами без рецептур
- FULFILLMENT: видит назначенные заказы с рецептурами без закупочных цен
- LOGIST: видит только логистическую информацию без коммерческих данных

⚙️ **Feature flags:**
- Автоматическое включение/выключение через ENABLE_SUPPLY_SECURITY
- Градуальный rollout без нарушения работы системы
- Полная обратная совместимость

🎯 **Готово к Phase 3:** Система аудита и мониторинга

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-22 18:21:00 +03:00

Sfera V - Управление бизнесом

Платформа для управления различными типами бизнеса: фулфилмент, селлеры, логистика, оптовики.

Новые возможности

🏪 Склад Wildberries для селлеров

Новый раздел для селлеров, позволяющий:

  • Просмотр остатков товаров на всех складах WB в реальном времени
  • Статистика по складам - общее количество товаров, остатки, товары в пути
  • Фильтрация и поиск товаров по названию, артикулу, бренду
  • Детальная информация по каждому складу отдельно
  • Красивые карточки товаров с изображениями и статусами остатков

Как использовать:

  1. Настройте API ключ Wildberries в разделе "Настройки" → "API"
  2. Перейдите в раздел "Склад ВБ" в боковом меню
  3. Система автоматически загрузит актуальные остатки с вашего аккаунта WB

Технические особенности:

  • Интеграция с официальным API Wildberries
  • Поддержка всех типов складов WB
  • Кэширование данных для быстрой работы
  • Адаптивный дизайн в стиле платформы

База данных и инициализация

🛠 Команды для работы с БД

  • npm run db:seed - Инициализация БД (создание админа и категорий)
  • npm run db:reset - Полный сброс БД и пересоздание данных
  • npm run postinstall - Генерация Prisma Client

👤 Администратор по умолчанию

При первом запуске автоматически создается админ:

  • Логин: admin
  • Пароль: admin123
  • Email: admin@sferav.com

⚠️ Обязательно смените пароль после первого входа!

📂 Категории товаров

Автоматически создается 20 базовых категорий:

  • Одежда и обувь, Косметика и парфюмерия, Дом и сад
  • Детские товары, Спорт и отдых, Электроника
  • И другие популярные категории...

🔄 Автоматическая инициализация

База данных инициализируется автоматически при:

  • Первом запуске приложения
  • Запуске команды npm run db:seed
  • Сбросе БД через npm run db:reset

Система умно проверяет существующие данные и не создает дубликаты.

Структура проекта

  • src/app/wb-warehouse/ - Страница склада WB
  • prisma/seed.js - Скрипт инициализации БД
  • src/lib/seed-init.ts - Автоматическая инициализация
  • src/components/wb-warehouse/ - Компоненты интерфейса склада
  • src/services/wildberries-service.ts - Интеграция с API WB

Технологии

  • Next.js 15
  • React 18
  • TypeScript
  • GraphQL
  • Prisma
  • TailwindCSS
  • Shadcn/ui

Установка и запуск

npm install
npm run dev

API интеграции

  • Wildberries API для получения остатков и информации о складах
  • DaData для работы с организациями
  • SMS Aero для отправки SMS

Доступ к разделу "Склад ВБ" имеют только пользователи с типом организации "SELLER".

Description
No description provided
Readme 13 MiB
Languages
TypeScript 96.4%
JavaScript 2.9%
CSS 0.3%
HTML 0.3%