GapFill Flowee

This commit is contained in:
2026-06-18 11:24:05 +02:00
parent 64442af182
commit c68daf4313
25 changed files with 2965 additions and 48 deletions
+19
View File
@@ -19,6 +19,17 @@ class MailboxCreateRequest(BaseModel):
display_name: str | None = Field(None, max_length=255, description="Nome visualizzato")
provider: str | None = Field(None, max_length=100, description="Provider PEC (aruba, namirial...)")
# Protocollo (Feature N8 REM europea)
protocol_type: Literal["pec_it", "rem_eu"] = Field(
"pec_it",
description="Tipo protocollo: pec_it (PEC italiana, default) | rem_eu (REM europea ETSI EN 319 532-4)",
)
rem_provider: str | None = Field(
None,
max_length=100,
description="Nome provider REM europeo (es. docutel, anodet, de-mail). Solo per rem_eu.",
)
# Credenziali IMAP (in chiaro, cifrate prima della persistenza)
imap_host: str = Field(..., min_length=1, max_length=255, description="Host IMAP")
imap_port: int = Field(993, ge=1, le=65535, description="Porta IMAP")
@@ -48,6 +59,10 @@ class MailboxUpdateRequest(BaseModel):
provider: str | None = Field(None, max_length=100)
status: Literal["active", "paused"] | None = None
# Aggiornamento protocollo (Feature N8)
protocol_type: Literal["pec_it", "rem_eu"] | None = None
rem_provider: str | None = Field(None, max_length=100)
# Aggiornamento credenziali IMAP (opzionale)
imap_host: str | None = Field(None, min_length=1, max_length=255)
imap_port: int | None = Field(None, ge=1, le=65535)
@@ -84,6 +99,10 @@ class MailboxResponse(BaseModel):
smtp_port: int
smtp_use_tls: bool
# Protocollo (Feature N8)
protocol_type: str
rem_provider: str | None
# Stato sync
status: str
last_sync_at: datetime | None