Files
jupyterhub/examples/service-fastapi/app/models.py
2021-04-08 09:28:46 -04:00

52 lines
1.0 KiB
Python

from datetime import datetime
from typing import Any
from typing import List
from typing import Optional
from pydantic import BaseModel
# https://jupyterhub.readthedocs.io/en/stable/_static/rest-api/index.html
class Group(BaseModel):
name: str
users: List[str]
class Server(BaseModel):
name: str
ready: bool
pending: Optional[str]
url: str
progress_url: str
started: datetime
last_activity: datetime
state: Optional[Any]
user_options: Optional[Any]
class User(BaseModel):
name: str
admin: bool
groups: List[Group]
server: Optional[str]
pending: Optional[str]
last_activity: datetime
servers: Optional[List[Server]]
# https://stackoverflow.com/questions/64501193/fastapi-how-to-use-httpexception-in-responses
class AuthorizationError(BaseModel):
detail: str
class HubResponse(BaseModel):
msg: str
request_url: str
token: str
response_code: int
hub_response: dict
class HubApiError(BaseModel):
detail: HubResponse