| 1234567891011121314151617181920212223242526272829303132 |
- from datetime import datetime
- from typing import TYPE_CHECKING
- from pydantic import BaseModel
- if TYPE_CHECKING:
- from app.db.models import Session as SessionModel
- class SessionCreateRequest(BaseModel):
- tenant_id: str
- app_id: str
- user_id: str
- channel_type: str = "web"
- title: str | None = None
- class SessionResponse(BaseModel):
- id: str
- tenant_id: str
- app_id: str
- user_id: str
- channel_type: str
- session_status: str
- title: str | None = None
- started_time: datetime | None = None
- last_active_time: datetime | None = None
- created_time: datetime
- @classmethod
- def from_entity(cls, entity: "SessionModel") -> "SessionResponse":
- return cls.model_validate(entity, from_attributes=True)
|