Files
ev-charger-as/backend/routers/settings.py.bak
2026-04-18 06:18:58 +09:00

30 lines
939 B
Python

from fastapi import APIRouter, Depends, Form
from sqlalchemy.orm import Session
from datetime import datetime
from database import get_db
import models
from auth import require_admin
router = APIRouter(prefix="/api/settings", tags=["settings"])
@router.get("")
def get_settings(db: Session = Depends(get_db), _=Depends(require_admin)):
settings = db.query(models.SystemSetting).all()
return {s.key: s.value for s in settings}
@router.put("")
def update_settings(
report_visibility_policy: str = Form(...),
db: Session = Depends(get_db),
_=Depends(require_admin)
):
for key, value in [("report_visibility_policy", report_visibility_policy)]:
s = db.query(models.SystemSetting).filter_by(key=key).first()
if s:
s.value = value
s.updated_at = datetime.now()
else:
db.add(models.SystemSetting(key=key, value=value))
db.commit()
return {"ok": True}