new awesome build
This commit is contained in:
50
APP_PROFILER/routers/system.py
Normal file
50
APP_PROFILER/routers/system.py
Normal file
@@ -0,0 +1,50 @@
|
||||
from fastapi import APIRouter, Depends, HTTPException, Query
|
||||
from sqlalchemy.orm import Session
|
||||
from database import get_db
|
||||
from utils.auth import verify_token
|
||||
from schemas import (
|
||||
ConfigResponse, SystemSettings, PKISetting,
|
||||
SystemSettingsUpdate, PKISettingUpdate
|
||||
)
|
||||
from services import config, pki
|
||||
|
||||
router = APIRouter(dependencies=[Depends(verify_token)])
|
||||
|
||||
@router.get("/config", response_model=ConfigResponse)
|
||||
def get_config(
|
||||
section: str = Query(None, enum=["server", "pki"]),
|
||||
db: Session = Depends(get_db)
|
||||
):
|
||||
response = ConfigResponse()
|
||||
if section is None or section == "server":
|
||||
response.server = config.get_system_settings(db)
|
||||
if section is None or section == "pki":
|
||||
response.pki = config.get_pki_settings(db)
|
||||
return response
|
||||
|
||||
@router.put("/config/server", response_model=SystemSettings)
|
||||
def update_server_config(
|
||||
settings: SystemSettingsUpdate,
|
||||
db: Session = Depends(get_db)
|
||||
):
|
||||
return config.update_system_settings(db, settings)
|
||||
|
||||
@router.put("/config/pki", response_model=PKISetting)
|
||||
def update_pki_config(
|
||||
settings: PKISettingUpdate,
|
||||
db: Session = Depends(get_db)
|
||||
):
|
||||
return config.update_pki_settings(db, settings)
|
||||
|
||||
@router.post("/system/init")
|
||||
def init_system_pki(db: Session = Depends(get_db)):
|
||||
try:
|
||||
msg = pki.init_pki(db)
|
||||
return {"message": msg}
|
||||
except Exception as e:
|
||||
raise HTTPException(status_code=500, detail=str(e))
|
||||
|
||||
@router.delete("/system/pki")
|
||||
def clear_system_pki(db: Session = Depends(get_db)):
|
||||
msg = pki.clear_pki(db)
|
||||
return {"message": msg}
|
||||
Reference in New Issue
Block a user