feat: add backend/models.py
This commit is contained in:
parent
bdadbc5b12
commit
40a7e64208
69
backend/models.py
Normal file
69
backend/models.py
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
from pydantic import BaseModel
|
||||||
|
from typing import Optional, List
|
||||||
|
|
||||||
|
class LoginRequest(BaseModel):
|
||||||
|
username: str
|
||||||
|
password: str
|
||||||
|
|
||||||
|
class TokenResponse(BaseModel):
|
||||||
|
access_token: str
|
||||||
|
token_type: str = "bearer"
|
||||||
|
username: str
|
||||||
|
display_name: str
|
||||||
|
|
||||||
|
class Attachment(BaseModel):
|
||||||
|
part_id: str
|
||||||
|
filename: str
|
||||||
|
content_type: str
|
||||||
|
size: int
|
||||||
|
|
||||||
|
class MailSummary(BaseModel):
|
||||||
|
uid: str
|
||||||
|
subject: str
|
||||||
|
sender: str
|
||||||
|
sender_addr: str
|
||||||
|
date: str
|
||||||
|
is_read: bool
|
||||||
|
has_attachment: bool
|
||||||
|
size: int
|
||||||
|
preview: str = ""
|
||||||
|
|
||||||
|
class MailDetail(BaseModel):
|
||||||
|
uid: str
|
||||||
|
subject: str
|
||||||
|
sender: str
|
||||||
|
sender_addr: str
|
||||||
|
to: str
|
||||||
|
cc: str = ""
|
||||||
|
date: str
|
||||||
|
body_text: str = ""
|
||||||
|
body_html: str = ""
|
||||||
|
attachments: List[Attachment] = []
|
||||||
|
is_read: bool = True
|
||||||
|
|
||||||
|
class FolderInfo(BaseModel):
|
||||||
|
name: str
|
||||||
|
display: str
|
||||||
|
unread: int = 0
|
||||||
|
total: int = 0
|
||||||
|
|
||||||
|
class MailListResponse(BaseModel):
|
||||||
|
messages: List[MailSummary]
|
||||||
|
total: int
|
||||||
|
page: int
|
||||||
|
per_page: int
|
||||||
|
|
||||||
|
class SendRequest(BaseModel):
|
||||||
|
to: str
|
||||||
|
cc: Optional[str] = None
|
||||||
|
bcc: Optional[str] = None
|
||||||
|
subject: str
|
||||||
|
body: str
|
||||||
|
is_html: bool = False
|
||||||
|
reply_to_uid: Optional[str] = None
|
||||||
|
|
||||||
|
class MoveRequest(BaseModel):
|
||||||
|
target_folder: str
|
||||||
|
|
||||||
|
class ErrorResponse(BaseModel):
|
||||||
|
detail: str
|
||||||
Loading…
Reference in New Issue
Block a user