mirror of
https://github.com/warmbly/warmbly.git
synced 2026-10-05 08:02:14 +00:00
feat: keep the mailbox imports menu live and self-explaining (deferred rather than dropped progress events, a five-second refresh while an import runs, each import's state and what it waits on in words, a badge for imports that need you, and an × that hides an import for the workspace through POST /emails/imports/:id/dismiss with migration 000211, stopping a running one first), show the vendor's own status and the Microsoft and Google time expectations on rows being authorized, record a vendor row's mail host so it gets its provider icon and a working Sign in, drop the Fix button from rows the vendor is authorizing, and count warming mailboxes rather than connected ones in the pool banner, refreshed when mailboxes change
This commit is contained in:
@@ -280,6 +280,26 @@ func (h *Handler) CancelMailboxImport(c *gin.Context) {
|
||||
c.JSON(http.StatusOK, imp)
|
||||
}
|
||||
|
||||
// DismissMailboxImport is POST /emails/imports/:id/dismiss: hides the import
|
||||
// from the recent list, stopping it first when it is still running. A repeat
|
||||
// changes nothing, so it needs no Idempotency-Key.
|
||||
func (h *Handler) DismissMailboxImport(c *gin.Context) {
|
||||
orgID, id, ok := importID(c)
|
||||
if !ok {
|
||||
return
|
||||
}
|
||||
userID, err := middleware.GetUserUUID(c)
|
||||
if err != nil {
|
||||
errx.Handle(c, errx.ErrUser)
|
||||
return
|
||||
}
|
||||
if xerr := h.MailboxImportService.Dismiss(c.Request.Context(), orgID, userID, id); xerr != nil {
|
||||
errx.Handle(c, xerr)
|
||||
return
|
||||
}
|
||||
c.Status(http.StatusNoContent)
|
||||
}
|
||||
|
||||
// DownloadMailboxImportFailures is GET /emails/imports/:id/failed.csv.
|
||||
func (h *Handler) DownloadMailboxImportFailures(c *gin.Context) {
|
||||
orgID, id, ok := importID(c)
|
||||
|
||||
Reference in New Issue
Block a user