# Промпт: Exchange модуль (обмен/раздача, не продажа) Контекст: seed-bank.online, Mercur/Medusa backend. Стандартный Mercur = продажа с ценой. Нужен параллельный тип листинга без денег — обмен между садоводами/коллекционерами и раздача дублирующего материала ботсадами/генбанками. ## Задача для агента Создай модуль `exchange-listing`: 1. Модель `ExchangeListing`: - `organization_id` (link на Organization/Seller) - `mode`: enum [`swap`, `donate`] — обмен или бесплатная раздача - `species`, `variety`, `origin`, `quantity_available` - `wants_in_return`: text, nullable (что хочет взамен, только для `swap`) - `photos`: string[] - `status`: enum [`active`, `completed`, `withdrawn`] 2. НЕ использовать Medusa Product/Price модели — это не коммерческая сущность, отдельная простая таблица, без cart/checkout/payment интеграции. 3. Контакт между сторонами: НЕ строить встроенный чат в MVP. Показывать ссылку на Telegram/WhatsApp продавца (поле `contact_link` на Organization). Экономия разработки — см. план, раздел 6 (MVP). 4. Простая репутация (задел под Фазу 2): поле `completed_trades_count` на Organization, инкремент вручную через Admin API при `status = completed` (без автоматизации в MVP). ## API - Store API: `GET /store/exchange-listings?mode=&species=&country=` — публичный поиск - Store API: `POST /store/exchange-listings` — создание (авторизованный организацией пользователь) ## Данные для проверки См. `/mockup/data.js` — 3 тестовых exchange-листинга (swap/donate).