feat: mail phase 2 - delete, move, drafts
- Add deleted_at field to Mail/MailAccount/MailFolder models
- Add DELETE /{mail_id} endpoint (soft-delete + IMAP EXPUNGE)
- Add POST /{mail_id}/move endpoint (IMAP UID MOVE + folder_id update)
- Add POST /drafts and PUT /drafts/{id} endpoints (save/edit drafts)
- Add imap_delete_mail() and imap_move_mail() service functions
- Add save_draft() and update_draft() service functions
- Frontend: deleteMail, moveMail, saveDraft, updateDraft API functions
- ComposeModal: draft mode with Save Draft button
- MailDetail: delete/move buttons, edit-draft for drafts
- Mail.tsx: bulk delete/move, move dropdown, draft handlers
- i18n: 13 new keys (de/en)
This commit is contained in:
@@ -179,6 +179,20 @@ class MailLinkRequest(BaseModel):
|
||||
company_id: str | None = None
|
||||
|
||||
|
||||
class MailMoveRequest(BaseModel):
|
||||
target_folder_id: str
|
||||
|
||||
|
||||
class MailDraftCreate(BaseModel):
|
||||
account_id: str
|
||||
to: list[str] = Field(default_factory=list)
|
||||
cc: list[str] = Field(default_factory=list)
|
||||
bcc: list[str] = Field(default_factory=list)
|
||||
subject: str = ""
|
||||
body_text: str = ""
|
||||
body_html: str = ""
|
||||
|
||||
|
||||
class MailCreateEventRequest(BaseModel):
|
||||
calendar_id: str
|
||||
title: str | None = None
|
||||
|
||||
Reference in New Issue
Block a user