28 lines
646 B
Python
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
|
|
|