# 🔄 КОМАНДЫ ОТКАТА - СИСТЕМА REGISTERORGANIZATION **Дата создания:** 17 сентября 2025 **Фаза:** 4 - Миграция через комментарии **Статус:** ✅ Готово к использованию ## 🎯 НАЗНАЧЕНИЕ Этот документ содержит готовые команды для быстрого переключения между старой и новой системами регистрации организаций в случае необходимости отката. --- ## 📋 ДОСТУПНЫЕ КОМАНДЫ ### 🚨 КОМАНДЫ ЭКСТРЕННОГО ОТКАТА #### 1. Полный откат на старую систему ``` откати registerOrganization через комментарии ``` **Действие:** Переключает весь проект на использование старых функций `registerFulfillmentOrganization` и `registerSellerOrganization` #### 2. Переключение на вариант 1 (legacy) ``` переключи на вариант 1 ``` **Действие:** Активирует закомментированный legacy код #### 3. Переключение на вариант 2 (новая система) ``` переключи на вариант 2 ``` **Действие:** Активирует новую универсальную систему (по умолчанию) #### 4. Очистка комментариев ``` очисти комментарии registerOrganization ``` **Действие:** Удаляет неактивный закомментированный код --- ## 🔧 ДЕТАЛИ РЕАЛИЗАЦИИ ### ТЕКУЩИЙ СТАТУС СИСТЕМЫ #### ✅ АКТИВНЫЙ: Вариант 2 (Новая система) - **Файл:** `src/graphql/resolvers/domains/organization-management.ts` - **Функция:** `registerOrganization` (строки 890-929) - **Сервис:** `OrganizationRegistrationService` - **Логика:** Универсальная регистрация для всех типов организаций #### 📜 ЗАКОММЕНТИРОВАН: Вариант 1 (Старая система) - **Файл:** `src/graphql/resolvers/domains/organization-management.ts` - **Функции:** `registerFulfillmentOrganization` + `registerSellerOrganization` - **Логика:** Раздельные функции для разных типов организаций - **Статус:** Полностью рабочий код в комментариях (строки 932-1031) --- ## 🎮 ПРОЦЕДУРА ОТКАТА ### СЦЕНАРИЙ: Критическая ошибка в новой системе 1. **Команда экстренного отката:** ``` откати registerOrganization через комментарии ``` 2. **Что происходит автоматически:** - Закомментируется ВАРИАНТ 2 (новая система) - Раскомментируется ВАРИАНТ 1 (старая система) - Обновится статус в комментариях файла 3. **Что нужно сделать вручную:** - Перезапустить dev сервер: `npm run dev` - Проверить работоспособность регистрации - Мониторить логи на предмет ошибок 4. **Время выполнения:** ~30 секунд --- ## 🧪 ТЕСТИРОВАНИЕ ОТКАТА ### Тест 1: Откат и восстановление ```bash # Шаг 1: Откат на старую систему "переключи на вариант 1" # Шаг 2: Проверка работоспособности # - Регистрация фулфилмент организации с ИНН # - Регистрация селлер организации с API ключами # Шаг 3: Возврат к новой системе "переключи на вариант 2" # Шаг 4: Проверка работоспособности # - Универсальная регистрация всех типов ``` ### Тест 2: Полная очистка ```bash # После успешного тестирования удалить legacy код "очисти комментарии registerOrganization" ``` --- ## 🚨 КРИТИЧЕСКИЕ МОМЕНТЫ ### ⚠️ ВАЖНО: Проверки перед откатом 1. **База данных:** Убедиться что нет активных транзакций регистрации 2. **Пользователи:** Предупредить о возможном кратковременном недоступности 3. **Мониторинг:** Подготовить инструменты мониторинга ошибок 4. **Логи:** Сохранить логи до отката для анализа ### ⚠️ ВАЖНО: После отката 1. **Валидация:** Проверить регистрацию каждого типа организации 2. **API ключи:** Убедиться что валидация маркетплейсов работает 3. **Партнерство:** Проверить реферальную систему и автопартнерство 4. **Уведомления:** Сообщить команде о статусе отката --- ## 📊 МОНИТОРИНГ И МЕТРИКИ ### Ключевые метрики для проверки: - **Успешность регистрации:** >95% - **Время отклика API:** <5 секунд - **Ошибки валидации:** <1% - **Создание партнерств:** Функционально ### Логи для мониторинга: ```bash # Поиск ошибок новой системы grep "REGISTER_ORGANIZATION.*ВАРИАНТ 2.*ошибка" logs/app.log # Поиск ошибок старой системы grep "REGISTER_ORGANIZATION.*ВАРИАНТ 1.*ошибка" logs/app.log # Мониторинг переключений grep "ВАРИАНТ.*АКТИВНЫЙ" logs/app.log ``` --- ## 🔮 ПЛАНЫ НА БУДУЩЕЕ ### Фаза 5: Финализация (после успешного тестирования) 1. **Удаление legacy кода** - команда `очисти комментарии` 2. **Оптимизация производительности** - профилирование новой функции 3. **Документирование API** - обновление схемы и документации ### Критерии успеха для удаления legacy: - [ ] 2 недели стабильной работы новой системы - [ ] 0 критических инцидентов - [ ] Все типы организаций регистрируются корректно - [ ] Performance метрики в норме --- ## 📞 КОНТАКТЫ ДЛЯ ЭКСТРЕННЫХ СИТУАЦИЙ **При критических ошибках:** 1. Выполнить команду отката (см. выше) 2. Зафиксировать проблему в issue 3. Собрать логи и контекст ошибки 4. Уведомить команду **Ответственные:** - **Техническая реализация:** Claude AI - **Продуктовые решения:** Veronika Smirnova - **Код ревью:** Команда разработки --- **Статус:** 🟢 Готово к использованию **Последнее обновление:** 17 сентября 2025, 16:00