Source code for auth.models
# auth/models.py
from __future__ import annotations
from pydantic import BaseModel, Field
[docs]
class Token(BaseModel):
access_token: str
token_type: str = "bearer"
expires_in: int # seconds until expiry
[docs]
class User(BaseModel):
username: str
full_name: str | None = None
role: str = "Viewer" # one of: Viewer, User, Operator, Engineer, Admin
role_level: int = 1
groups: list[str] = Field(default_factory=lambda: ["SKAO"])
[docs]
class MsalPayload(BaseModel):
id_token: str