Files
Blitz-Proxy/core/scripts/webpanel/routers/user/user.py
2025-02-03 19:56:13 +00:00

31 lines
937 B
Python

from fastapi import APIRouter, Depends, Form, HTTPException, Request
from fastapi.templating import Jinja2Templates
from fastapi.responses import RedirectResponse
from typing import Annotated
from pydantic import BaseModel
from ..api.v1.schema.user import AddUserInputBody, EditUserInputBody
from .viewmodel import User
import cli_api
router = APIRouter()
# TODO: Make this singleton or something
templates = Jinja2Templates(directory='templates')
@router.get('/')
async def users(request: Request):
try:
dict_users = cli_api.list_users() # type: ignore
users: list[User] = []
if dict_users:
users: list[User] = [User.from_dict(key, value) for key, value in dict_users.items()] # type: ignore
return templates.TemplateResponse('users.html', {'users': users, 'request': request})
except Exception as e:
raise HTTPException(status_code=400, detail=f'Error: {str(e)}')