초기화
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
from fastapi import APIRouter, HTTPException
|
||||
from pydantic import BaseModel
|
||||
from typing import List, Optional
|
||||
from .db_manager import (
|
||||
get_all_settings,
|
||||
update_settings
|
||||
)
|
||||
|
||||
router = APIRouter(prefix="/settings", tags=["settings"])
|
||||
|
||||
# --- Pydantic Schemas ---
|
||||
class SettingSchema(BaseModel):
|
||||
id: Optional[int] = None
|
||||
setting_group: str
|
||||
setting_key: str
|
||||
setting_value: str
|
||||
setting_type: str
|
||||
description: Optional[str] = None
|
||||
|
||||
class SettingUpdateSchema(BaseModel):
|
||||
setting_key: str
|
||||
setting_value: str
|
||||
|
||||
# --- Settings APIs ---
|
||||
@router.get("/", response_model=List[SettingSchema])
|
||||
def list_settings():
|
||||
return get_all_settings()
|
||||
|
||||
@router.put("/", response_model=dict)
|
||||
def update_multiple_settings(settings: List[SettingUpdateSchema]):
|
||||
# Pydantic 모델 리스트를 일반 dict 리스트로 변환하여 전달
|
||||
data = [s.dict() for s in settings]
|
||||
success = update_settings(data)
|
||||
if not success:
|
||||
raise HTTPException(status_code=500, detail="Failed to update settings")
|
||||
return {"status": "success"}
|
||||
Reference in New Issue
Block a user