self-trained2 / admin_panel.py
DeepImagix's picture
Update admin_panel.py
26118bd verified
# admin_panel.py
import os
from fastapi import FastAPI, Query, HTTPException
from usage_logger import get_stats
from maintenance_control import is_maintenance_mode, set_maintenance_mode
from model_info import get_model_version_info
app = FastAPI(title="NeuraPrompt Admin API")
ADMIN_KEY = os.getenv("ADMIN_API_KEY", "secret123")
def verify_key(api_key: str):
if api_key != ADMIN_KEY:
raise HTTPException(status_code=401, detail="Unauthorized")
@app.get("/admin/stats/")
def stats(api_key: str = Query(...)):
verify_key(api_key)
return get_stats()
@app.get("/admin/maintenance/")
def maintenance_status(api_key: str = Query(...)):
verify_key(api_key)
return {"maintenance_mode": is_maintenance_mode()}
@app.post("/admin/maintenance/")
def toggle_maintenance(active: bool, api_key: str = Query(...)):
verify_key(api_key)
set_maintenance_mode(active)
return {"message": "Updated successfully", "maintenance_mode": active}
@app.get("/admin/model_info/")
def model_info(api_key: str = Query(...)):
verify_key(api_key)
return get_model_version_info()