]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
doveadm mailbox status: Add "firstsaved" field.
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Wed, 10 May 2017 09:44:25 +0000 (12:44 +0300)
committerGitLab <gitlab@git.dovecot.net>
Sun, 14 May 2017 11:43:08 +0000 (14:43 +0300)
doc/man/doveadm-mailbox.1.in
src/doveadm/doveadm-mail-mailbox-status.c

index 8ff9d435d253fac99e8da88e4286ecfeeadca659..e4650aa99a38cb3d79be811a58c5522eb93e4495 100644 (file)
@@ -245,6 +245,9 @@ The message sequence number of the first unseen message in the
 The
 .IR mailbox \(aqs
 virtual size, computed with CRLF line terminators.
+.TP
+.B firstsaved
+Saved time of the first mail in the mailbox.
 .RE
 .PP
 .\"------------------------------------------------------------------------
index f5b853b322b88541e1517b5f2824b4c0b47f9e58..13734a847711abde6810fb64c6dac8fce6d0291f 100644 (file)
@@ -14,7 +14,8 @@
         STATUS_UIDNEXT | STATUS_UIDVALIDITY | \
         STATUS_UNSEEN | STATUS_HIGHESTMODSEQ)
 #define ALL_METADATA_ITEMS \
-       (MAILBOX_METADATA_VIRTUAL_SIZE | MAILBOX_METADATA_GUID)
+       (MAILBOX_METADATA_VIRTUAL_SIZE | MAILBOX_METADATA_GUID | \
+        MAILBOX_METADATA_FIRST_SAVE_DATE)
 
 #define TOTAL_STATUS_ITEMS \
        (STATUS_MESSAGES | STATUS_RECENT | STATUS_UNSEEN)
@@ -66,6 +67,8 @@ static void status_parse_fields(struct status_cmd_context *ctx,
                        ctx->metadata_items |= MAILBOX_METADATA_VIRTUAL_SIZE;
                else if (strcmp(field, "guid") == 0)
                        ctx->metadata_items |= MAILBOX_METADATA_GUID;
+               else if (strcmp(field, "firstsaved") == 0)
+                       ctx->metadata_items |= MAILBOX_METADATA_FIRST_SAVE_DATE;
                else {
                        i_fatal_status(EX_USAGE,
                                       "Unknown status field: %s", field);
@@ -104,6 +107,8 @@ status_output(struct status_cmd_context *ctx, struct mailbox *box,
                doveadm_print_num(metadata->virtual_size);
        if ((ctx->metadata_items & MAILBOX_METADATA_GUID) != 0)
                doveadm_print(guid_128_to_string(metadata->guid));
+       if ((ctx->metadata_items & MAILBOX_METADATA_FIRST_SAVE_DATE) != 0)
+               doveadm_print_num(metadata->first_save_date);
 }
 
 static void
@@ -210,6 +215,8 @@ static void cmd_mailbox_status_init(struct doveadm_mail_cmd_context *_ctx,
                doveadm_print_header_simple("vsize");
        if ((ctx->metadata_items & MAILBOX_METADATA_GUID) != 0)
                doveadm_print_header_simple("guid");
+       if ((ctx->metadata_items & MAILBOX_METADATA_FIRST_SAVE_DATE) != 0)
+               doveadm_print_header_simple("firstsaved");
 }
 
 static void cmd_mailbox_status_deinit(struct doveadm_mail_cmd_context *_ctx)