fix: IMAP hierarchical folder sync, deduplication, folder tree display, resizable panel

This commit is contained in:
Agent Zero
2026-07-15 15:59:04 +02:00
parent e0975f4044
commit 57b6df5357
5 changed files with 146 additions and 70 deletions
+7 -4
View File
@@ -4,13 +4,14 @@ from __future__ import annotations
from datetime import datetime
from pydantic import BaseModel, Field
from pydantic import BaseModel, ConfigDict, Field
# ─── Mail Accounts ───
class MailAccountCreate(BaseModel):
email_address: str = Field(..., min_length=1, max_length=255)
model_config = ConfigDict(populate_by_name=True)
email_address: str = Field(..., min_length=1, max_length=255, alias="email")
display_name: str = Field(default="", max_length=255)
imap_host: str = Field(..., min_length=1, max_length=255)
imap_port: int = Field(default=993, ge=1, le=65535)
@@ -18,13 +19,14 @@ class MailAccountCreate(BaseModel):
smtp_host: str = Field(..., min_length=1, max_length=255)
smtp_port: int = Field(default=587, ge=1, le=65535)
smtp_tls: bool = True
username: str = Field(..., min_length=1, max_length=255)
username: str = Field(default="", min_length=0, max_length=255)
password: str = Field(..., min_length=1, max_length=512)
is_shared: bool = False
class MailAccountUpdate(BaseModel):
email_address: str | None = Field(None, min_length=1, max_length=255)
model_config = ConfigDict(populate_by_name=True)
email_address: str | None = Field(None, min_length=1, max_length=255, alias="email")
display_name: str | None = Field(None, max_length=255)
imap_host: str | None = Field(None, min_length=1, max_length=255)
imap_port: int | None = Field(None, ge=1, le=65535)
@@ -40,6 +42,7 @@ class MailAccountUpdate(BaseModel):
class MailAccountResponse(BaseModel):
id: str
email: str
email_address: str
display_name: str
imap_host: str