feat: chat folders, attachments, treeview backend - migration, models, routes
This commit is contained in:
@@ -169,6 +169,7 @@ class ChatSessionUpdate(BaseModel):
|
||||
title: str | None = Field(None, max_length=255)
|
||||
is_pinned: bool | None = None
|
||||
agent_id: str | None = None
|
||||
folder_id: str | None = None
|
||||
|
||||
|
||||
class ChatSessionResponse(BaseModel):
|
||||
@@ -179,6 +180,7 @@ class ChatSessionResponse(BaseModel):
|
||||
title: str
|
||||
is_pinned: bool
|
||||
is_sidebar: bool
|
||||
folder_id: str | None = None
|
||||
created_at: datetime | None = None
|
||||
updated_at: datetime | None = None
|
||||
|
||||
@@ -203,6 +205,39 @@ class ChatSendRequest(BaseModel):
|
||||
agent_id: str | None = None # override session agent
|
||||
|
||||
|
||||
# ─── Folders ───
|
||||
|
||||
class ChatFolderCreate(BaseModel):
|
||||
name: str = Field(..., min_length=1, max_length=255)
|
||||
parent_id: str | None = None
|
||||
|
||||
|
||||
class ChatFolderUpdate(BaseModel):
|
||||
name: str | None = Field(None, min_length=1, max_length=255)
|
||||
parent_id: str | None = None
|
||||
|
||||
|
||||
class ChatFolderResponse(BaseModel):
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
id: str
|
||||
name: str
|
||||
parent_id: str | None = None
|
||||
user_id: str
|
||||
created_at: datetime | None = None
|
||||
|
||||
|
||||
# ─── Attachments ───
|
||||
|
||||
class ChatAttachmentResponse(BaseModel):
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
id: str
|
||||
message_id: str | None = None
|
||||
session_id: str
|
||||
filename: str
|
||||
mime_type: str
|
||||
size_bytes: int
|
||||
|
||||
|
||||
# ─── Tools ───
|
||||
|
||||
class AIToolResponse(BaseModel):
|
||||
|
||||
Reference in New Issue
Block a user