Spaces:
Paused
Paused
| from __future__ import annotations | |
| from pydantic import BaseModel | |
| from datetime import datetime | |
| class User(BaseModel): | |
| id: str = "" | |
| telegram_id: int | |
| username: str | None = None | |
| invited_by: str | None = None | |
| has_invited_user: bool = False | |
| registered: bool = False | |
| status: str = "active" | |
| created_at: datetime | None = None | |
| last_activity: datetime | None = None | |
| class Invite(BaseModel): | |
| id: str = "" | |
| inviter_user_id: str | |
| invited_user_id: str | None = None | |
| code: str | |
| status: str = "pending" | |
| created_at: datetime | None = None | |
| class Channel(BaseModel): | |
| id: str = "" | |
| telegram_channel_id: int | |
| name: str | |
| is_required: bool = True | |
| created_at: datetime | None = None | |
| class Document(BaseModel): | |
| id: str = "" | |
| name: str | |
| file_path: str | None = None | |
| uploaded_by: str | None = None | |
| created_at: datetime | None = None | |
| status: str = "processing" | |
| class DocumentChunk(BaseModel): | |
| id: str = "" | |
| document_id: str | |
| text: str | |
| embedding: list[float] | None = None | |
| page_number: int | None = None | |
| chunk_index: int | |
| created_at: datetime | None = None | |
| class Log(BaseModel): | |
| id: str = "" | |
| type: str | |
| message: str | |
| user_id: str | None = None | |
| metadata: dict = {} | |
| created_at: datetime | None = None | |