py-scopes/scopes/api/auth/user.py

28 lines
646 B
Python

# scopes.api.auth user
from fastapi import APIRouter
from pydantic import BaseModel, Field
from typing import List
from scopes.api import deps
from scopes.storage import user as st_user
class User(BaseModel):
uid: str | None = None
name: str
login: str
display_name: str
email: str | None = None
pw_hash: str | None = None
groups: List[str] = Field(default_factory=list)
# routes
router = APIRouter()
@router.get('/users', response_model=list[User])
async def get_users(storage: deps.Storage):
users = storage.create(st_user.Users)
result = [tr.toObject(User) for tr in users.query()]
return result