
- 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>
78 lines
2.3 KiB
Markdown
78 lines
2.3 KiB
Markdown
# 🔧 ИСПРАВЛЕНИЕ СОХРАНЕНИЯ API КЛЮЧЕЙ
|
||
|
||
## ПРОБЛЕМА
|
||
|
||
В настройках пользователя (вкладка API) поля для API ключей есть, но они не сохраняются в БД.
|
||
|
||
## ПРИЧИНА
|
||
|
||
В функции `handleSave` в user-settings.tsx отсутствует логика для сохранения API ключей через мутацию `ADD_MARKETPLACE_API_KEY`.
|
||
|
||
## РЕШЕНИЕ
|
||
|
||
### 1. Добавить в handleSave после сохранения профиля:
|
||
|
||
```typescript
|
||
// Сохраняем 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. Импортировать мутацию:
|
||
|
||
```typescript
|
||
import { UPDATE_USER_PROFILE, UPDATE_ORGANIZATION_BY_INN, ADD_MARKETPLACE_API_KEY } from '@/graphql/mutations'
|
||
```
|
||
|
||
### 3. Обновить GET_ME запрос после сохранения:
|
||
|
||
```typescript
|
||
// Обновляем кэш с новыми API ключами
|
||
await apolloClient.refetchQueries({
|
||
include: [GET_ME],
|
||
})
|
||
```
|
||
|
||
## АЛЬТЕРНАТИВНОЕ РЕШЕНИЕ
|
||
|
||
Создать отдельную страницу управления API ключами с:
|
||
|
||
- Валидацией ключей перед сохранением
|
||
- Показом статуса интеграции
|
||
- Возможностью удаления ключей
|
||
- Тестированием соединения
|
||
|
||
## ТЕКУЩИЙ СТАТУС ПОЛЬЗОВАТЕЛЕЙ
|
||
|
||
Пользователи МОГУТ добавлять API ключи через:
|
||
|
||
1. Регистрацию (если добавлена логика)
|
||
2. GraphQL мутацию напрямую
|
||
3. Prisma Studio (администратор)
|
||
|
||
НО НЕ МОГУТ через UI настроек!
|