From fb52af9ead38b9a22a278b43e5fc48b12a9b5710 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D0=B8=D0=BA=D1=82=D0=BE=D1=80?= <78488229+viktor138irk@users.noreply.github.com> Date: Mon, 11 May 2026 22:17:22 +0900 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=BE=20=D1=83=D0=BF=D1=80=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20OpenAI=20API=20=D0=BA=D0=BB=D1=8E=D1=87=D0=BE?= =?UTF-8?q?=D0=BC=20=D1=87=D0=B5=D1=80=D0=B5=D0=B7=20web=20API?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/main.py | 37 +++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/backend/main.py b/backend/main.py index 1847212..fd82fb7 100644 --- a/backend/main.py +++ b/backend/main.py @@ -1,5 +1,12 @@ from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware +from pydantic import BaseModel + +from backend.config_store import ( + get_openai_model, + has_openai_key, + set_setting, +) app = FastAPI(title='DevConsole', version='0.1.0') @@ -12,17 +19,43 @@ app.add_middleware( ) +class OpenAIConfigRequest(BaseModel): + api_key: str + model: str = 'gpt-5' + + @app.get('/') async def root(): return { 'project': 'DevConsole', 'version': '0.1.0', - 'status': 'running' + 'status': 'running', + 'openai_configured': has_openai_key(), } @app.get('/health') async def health(): return { - 'status': 'ok' + 'status': 'ok', + 'openai_configured': has_openai_key(), + } + + +@app.get('/api/settings/openai') +async def openai_status(): + return { + 'configured': has_openai_key(), + 'model': get_openai_model(), + } + + +@app.post('/api/settings/openai') +async def save_openai_settings(payload: OpenAIConfigRequest): + set_setting('OPENAI_API_KEY', payload.api_key.strip()) + set_setting('OPENAI_MODEL', payload.model.strip()) + + return { + 'success': True, + 'message': 'OpenAI settings saved', }