Configure separate OpenAI and Grok keys

This commit is contained in:
Wojtek
2026-10-16 13:04:34 +02:00
parent dc6b5ad3e8
commit 6daca5be59
7 changed files with 56 additions and 20 deletions
@@ -44,12 +44,22 @@ class AiController extends BaseController
$settings = json_decode((string) $row->params, true);
$settings = is_array($settings) ? $settings : [];
$apiKey = trim((string) $input->post->get('ai_api_key', '', 'RAW'));
$legacyKey = trim((string) ($settings['ai_api_key'] ?? ''));
$settings['ai_provider'] = $provider;
if ($apiKey !== '') {
$settings['ai_api_key'] = $apiKey;
foreach (['openai', 'grok'] as $keyProvider) {
$fieldName = 'ai_' . $keyProvider . '_api_key';
$apiKey = trim((string) $input->post->get($fieldName, '', 'RAW'));
if ($apiKey !== '') {
$settings[$fieldName] = $apiKey;
}
if ($keyProvider === $provider && empty($settings[$fieldName]) && $legacyKey !== '') {
$settings[$fieldName] = $legacyKey;
}
}
unset($settings['ai_api_key']);
$extension = (object) [
'extension_id' => (int) $row->extension_id,