Добавил GitHub credentials API

Этот коммит содержится в:
Виктор
2026-05-12 00:17:13 +09:00
родитель cbcded6469
Коммит 2becbf17f8
+29 -4
Просмотреть файл
@@ -8,6 +8,7 @@ from pydantic import BaseModel
from backend.android_tools import build_android, find_apks, install_latest_apk, list_devices
from backend.config_store import (
get_github_public_config,
get_openai_model,
has_openai_key,
set_setting,
@@ -23,7 +24,7 @@ from backend.workspace_api import router as workspace_router
ROOT_DIR = Path(__file__).resolve().parent.parent
FRONTEND_DIR = ROOT_DIR / 'frontend'
app = FastAPI(title='DevConsole', version='0.3.0')
app = FastAPI(title='DevConsole', version='0.3.1')
app.add_middleware(
CORSMiddleware,
@@ -46,6 +47,11 @@ class OpenAIConfigRequest(BaseModel):
model: str = 'gpt-5'
class GitHubConfigRequest(BaseModel):
username: str
token: str
class PromptTestRequest(BaseModel):
prompt: str
task_type: str | None = None
@@ -74,7 +80,7 @@ async def workspace_js():
async def health():
return {
'status': 'ok',
'version': '0.3.0',
'version': '0.3.1',
'openai_configured': has_openai_key(),
}
@@ -83,10 +89,11 @@ async def health():
async def system_status():
return {
'project': 'DevConsole',
'version': '0.3.0',
'version': '0.3.1',
'status': 'running',
'openai_configured': has_openai_key(),
'openai_model': get_openai_model(),
'github': get_github_public_config(),
}
@@ -109,6 +116,24 @@ async def save_openai_settings(payload: OpenAIConfigRequest):
}
@app.post('/api/settings/github')
async def save_github_settings(payload: GitHubConfigRequest):
username = payload.username.strip()
token = payload.token.strip()
set_setting('GITHUB_USERNAME', username)
if token:
set_setting('GITHUB_TOKEN', token)
add_log('GitHub credentials updated')
return {
'success': True,
'github': get_github_public_config(),
}
@app.post('/api/prompts/test')
async def test_prompt(payload: PromptTestRequest):
prompt = payload.prompt.strip()
@@ -144,7 +169,7 @@ async def analyze_project(payload: ProjectAnalyzeRequest):
analysis = analyze_github_project(repo_url)
add_log(f'Project analyzed: {analysis.stack}')
add_log(f'Project analyzed: {analysis.detected_stack}')
return {
'success': True,