from typing import Optional, Any from pydantic import BaseModel class DefaultContext(BaseModel): ... class EventContext(DefaultContext): auth: Any code: str url: str request: Optional[Any] = None @property def base(self) -> dict[str, Any]: return {"url": self.url, "code": self.code} class AuthContext(DefaultContext): auth: Any url: str request: Optional[Any] = None @property def base(self) -> dict[str, Any]: return {"url": self.url}