GeoIntel release gates / Compile, test, contracts and builds (push) Successful in 1m49s
GeoIntel release gates / Python and npm vulnerability policy (push) Successful in 21s
GeoIntel release gates / Production AI image, SBOM and container scan (push) Successful in 5m39s
GeoIntel release gates / Deploy exact gated revision to Unraid (push) Failing after 58m43s
30 lines
736 B
Python
30 lines
736 B
Python
from __future__ import annotations
|
|
|
|
from datetime import datetime
|
|
from typing import Literal
|
|
from uuid import UUID
|
|
|
|
from pydantic import BaseModel, Field
|
|
|
|
from app.schemas.common import Envelope
|
|
|
|
|
|
class AuthLoginRequest(BaseModel):
|
|
username: str = Field(min_length=1, max_length=128)
|
|
password: str = Field(min_length=1, max_length=1024)
|
|
|
|
|
|
class AuthSession(BaseModel):
|
|
authentication_required: bool
|
|
authenticated: bool
|
|
username: str | None = None
|
|
expires_at: datetime | None = None
|
|
role: Literal["operator", "guest"] | None = None
|
|
guest_access_enabled: bool = False
|
|
authentik_enabled: bool = False
|
|
guest_project_id: UUID | None = None
|
|
|
|
|
|
class AuthSessionEnvelope(Envelope[AuthSession]):
|
|
pass
|