feat(mail): add governed JMAP mailbox sync and search
Module Package Release / publish-packages (push) Successful in 12s
Module Package Release / publish-packages (push) Successful in 12s
This commit is contained in:
@@ -197,7 +197,7 @@ class MailServerEndpointResponse(BaseModel):
|
||||
id: str
|
||||
profile_id: str
|
||||
tenant_id: str | None = None
|
||||
protocol: Literal["smtp", "imap", "pop3"]
|
||||
protocol: Literal["smtp", "imap", "jmap", "pop3"]
|
||||
name: str
|
||||
config: dict[str, Any] = Field(default_factory=dict)
|
||||
scope_type: MailProfileScope
|
||||
@@ -214,7 +214,7 @@ class MailServerEndpointResponse(BaseModel):
|
||||
class MailServerEndpointCreateRequest(BaseModel):
|
||||
model_config = ConfigDict(extra="forbid")
|
||||
|
||||
protocol: Literal["smtp", "imap", "pop3"]
|
||||
protocol: Literal["smtp", "imap", "jmap", "pop3"]
|
||||
name: str = Field(min_length=1, max_length=255)
|
||||
config: dict[str, Any] = Field(default_factory=dict)
|
||||
inherit_to_lower_scopes: bool | None = None
|
||||
@@ -383,7 +383,7 @@ class MailContactCreateResponse(BaseModel):
|
||||
|
||||
class MailConnectionTestResponse(BaseModel):
|
||||
ok: bool
|
||||
protocol: Literal["smtp", "imap", "pop3"]
|
||||
protocol: Literal["smtp", "imap", "jmap", "pop3"]
|
||||
host: str | None = None
|
||||
port: int | None = None
|
||||
security: str | None = None
|
||||
@@ -476,7 +476,7 @@ class MailImapFolderResponse(BaseModel):
|
||||
|
||||
class MailImapFolderListResponse(BaseModel):
|
||||
ok: bool
|
||||
protocol: Literal["imap"] = "imap"
|
||||
protocol: Literal["imap", "jmap"] = "imap"
|
||||
host: str | None = None
|
||||
port: int | None = None
|
||||
security: str | None = None
|
||||
@@ -536,6 +536,18 @@ class MailMailboxMessageListResponse(BaseModel):
|
||||
messages: list[MailMailboxMessageSummaryResponse] = Field(default_factory=list)
|
||||
|
||||
|
||||
class MailMailboxChangesResponse(BaseModel):
|
||||
profile_id: str
|
||||
protocol: Literal["jmap"] = "jmap"
|
||||
account_id: str
|
||||
old_state: str
|
||||
new_state: str
|
||||
has_more_changes: bool = False
|
||||
created: list[str] = Field(default_factory=list)
|
||||
updated: list[str] = Field(default_factory=list)
|
||||
destroyed: list[str] = Field(default_factory=list)
|
||||
|
||||
|
||||
class MailMailboxBootstrapResponse(BaseModel):
|
||||
profile_id: str
|
||||
folder: str
|
||||
|
||||
Reference in New Issue
Block a user