mirror of
https://github.com/QuantumNous/new-api.git
synced 2026-04-28 06:08:39 +00:00
fix: fix model deployment style issues, lint problems, and i18n gaps. (#2556)
* fix: fix model deployment style issues, lint problems, and i18n gaps. * fix: adjust the key not to be displayed on the frontend, tested via the backend. * fix: adjust the sidebar configuration logic to use the default configuration items if they are not defined.
This commit is contained in:
@@ -18,13 +18,12 @@ For commercial licensing, please contact support@quantumnous.com
|
||||
*/
|
||||
|
||||
import { useCallback, useEffect, useState } from 'react';
|
||||
import { API, toBoolean } from '../../helpers';
|
||||
import { API } from '../../helpers';
|
||||
|
||||
export const useModelDeploymentSettings = () => {
|
||||
const [loading, setLoading] = useState(true);
|
||||
const [settings, setSettings] = useState({
|
||||
'model_deployment.ionet.enabled': false,
|
||||
'model_deployment.ionet.api_key': '',
|
||||
});
|
||||
const [connectionState, setConnectionState] = useState({
|
||||
loading: false,
|
||||
@@ -35,24 +34,13 @@ export const useModelDeploymentSettings = () => {
|
||||
const getSettings = async () => {
|
||||
try {
|
||||
setLoading(true);
|
||||
const res = await API.get('/api/option/');
|
||||
const res = await API.get('/api/deployments/settings');
|
||||
const { success, data } = res.data;
|
||||
|
||||
|
||||
if (success) {
|
||||
const newSettings = {
|
||||
'model_deployment.ionet.enabled': false,
|
||||
'model_deployment.ionet.api_key': '',
|
||||
};
|
||||
|
||||
data.forEach((item) => {
|
||||
if (item.key.endsWith('enabled')) {
|
||||
newSettings[item.key] = toBoolean(item.value);
|
||||
} else if (newSettings.hasOwnProperty(item.key)) {
|
||||
newSettings[item.key] = item.value || '';
|
||||
}
|
||||
setSettings({
|
||||
'model_deployment.ionet.enabled': data?.enabled === true,
|
||||
});
|
||||
|
||||
setSettings(newSettings);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Failed to get model deployment settings:', error);
|
||||
@@ -65,10 +53,7 @@ export const useModelDeploymentSettings = () => {
|
||||
getSettings();
|
||||
}, []);
|
||||
|
||||
const apiKey = settings['model_deployment.ionet.api_key'];
|
||||
const isIoNetEnabled = settings['model_deployment.ionet.enabled'] &&
|
||||
apiKey &&
|
||||
apiKey.trim() !== '';
|
||||
const isIoNetEnabled = settings['model_deployment.ionet.enabled'];
|
||||
|
||||
const buildConnectionError = (rawMessage, fallbackMessage = 'Connection failed') => {
|
||||
const message = (rawMessage || fallbackMessage).trim();
|
||||
@@ -85,18 +70,12 @@ export const useModelDeploymentSettings = () => {
|
||||
return { type: 'unknown', message };
|
||||
};
|
||||
|
||||
const testConnection = useCallback(async (apiKey) => {
|
||||
const key = (apiKey || '').trim();
|
||||
if (key === '') {
|
||||
setConnectionState({ loading: false, ok: null, error: null });
|
||||
return;
|
||||
}
|
||||
|
||||
const testConnection = useCallback(async () => {
|
||||
setConnectionState({ loading: true, ok: null, error: null });
|
||||
try {
|
||||
const response = await API.post(
|
||||
'/api/deployments/test-connection',
|
||||
{ api_key: key },
|
||||
'/api/deployments/settings/test-connection',
|
||||
{},
|
||||
{ skipErrorHandler: true },
|
||||
);
|
||||
|
||||
@@ -123,16 +102,15 @@ export const useModelDeploymentSettings = () => {
|
||||
|
||||
useEffect(() => {
|
||||
if (!loading && isIoNetEnabled) {
|
||||
testConnection(apiKey);
|
||||
testConnection();
|
||||
return;
|
||||
}
|
||||
setConnectionState({ loading: false, ok: null, error: null });
|
||||
}, [loading, isIoNetEnabled, apiKey, testConnection]);
|
||||
}, [loading, isIoNetEnabled, testConnection]);
|
||||
|
||||
return {
|
||||
loading,
|
||||
settings,
|
||||
apiKey,
|
||||
isIoNetEnabled,
|
||||
refresh: getSettings,
|
||||
connectionLoading: connectionState.loading,
|
||||
|
||||
Reference in New Issue
Block a user