Spaces:
Running
Running
| # 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") | |
| def stats(api_key: str = Query(...)): | |
| verify_key(api_key) | |
| return get_stats() | |
| def maintenance_status(api_key: str = Query(...)): | |
| verify_key(api_key) | |
| return {"maintenance_mode": is_maintenance_mode()} | |
| def toggle_maintenance(active: bool, api_key: str = Query(...)): | |
| verify_key(api_key) | |
| set_maintenance_mode(active) | |
| return {"message": "Updated successfully", "maintenance_mode": active} | |
| def model_info(api_key: str = Query(...)): | |
| verify_key(api_key) | |
| return get_model_version_info() |