
- API_KEYS_IMPLEMENTATION_PLAN.md - план реализации системы API ключей - API_KEYS_SECURITY_PLAN.md - план безопасности API ключей - API_KEYS_SIMPLE_PLAN.md - упрощенный план API ключей - DEBUG_SELLER_STATISTICS.md - отладка статистики селлеров - FIX_API_KEYS_SAVING.md - исправление сохранения API ключей 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2.3 KiB
2.3 KiB
🔧 ИСПРАВЛЕНИЕ СОХРАНЕНИЯ API КЛЮЧЕЙ
ПРОБЛЕМА
В настройках пользователя (вкладка API) поля для API ключей есть, но они не сохраняются в БД.
ПРИЧИНА
В функции handleSave
в user-settings.tsx отсутствует логика для сохранения API ключей через мутацию ADD_MARKETPLACE_API_KEY
.
РЕШЕНИЕ
1. Добавить в handleSave после сохранения профиля:
// Сохраняем API ключи маркетплейсов
if (formData.wildberriesApiKey) {
await apolloClient.mutate({
mutation: ADD_MARKETPLACE_API_KEY,
variables: {
input: {
marketplace: 'WILDBERRIES',
apiKey: formData.wildberriesApiKey,
validateOnly: false,
},
},
})
}
if (formData.ozonApiKey) {
await apolloClient.mutate({
mutation: ADD_MARKETPLACE_API_KEY,
variables: {
input: {
marketplace: 'OZON',
apiKey: formData.ozonApiKey,
clientId: formData.ozonClientId, // если требуется
validateOnly: false,
},
},
})
}
2. Импортировать мутацию:
import { UPDATE_USER_PROFILE, UPDATE_ORGANIZATION_BY_INN, ADD_MARKETPLACE_API_KEY } from '@/graphql/mutations'
3. Обновить GET_ME запрос после сохранения:
// Обновляем кэш с новыми API ключами
await apolloClient.refetchQueries({
include: [GET_ME],
})
АЛЬТЕРНАТИВНОЕ РЕШЕНИЕ
Создать отдельную страницу управления API ключами с:
- Валидацией ключей перед сохранением
- Показом статуса интеграции
- Возможностью удаления ключей
- Тестированием соединения
ТЕКУЩИЙ СТАТУС ПОЛЬЗОВАТЕЛЕЙ
Пользователи МОГУТ добавлять API ключи через:
- Регистрацию (если добавлена логика)
- GraphQL мутацию напрямую
- Prisma Studio (администратор)
НО НЕ МОГУТ через UI настроек!