diff options
author | 2019-12-17 12:42:04 +0100 | |
---|---|---|
committer | 2019-12-17 12:42:04 +0100 | |
commit | 2a2a48c7fafc4a32b1f4a4629e1d5447e29e8d57 (patch) | |
tree | 3f459e942f60a606e87bec00ae237039d9eea6bb /plugins/base/imap.go | |
parent | 3aea768cad3a5c9bb2a16039beee4b3dc8ee9d48 (diff) | |
download | alps-2a2a48c7fafc4a32b1f4a4629e1d5447e29e8d57.tar.gz alps-2a2a48c7fafc4a32b1f4a4629e1d5447e29e8d57.tar.bz2 alps-2a2a48c7fafc4a32b1f4a4629e1d5447e29e8d57.zip |
Add a form to set message flags
References: https://todo.sr.ht/~sircmpwn/koushin/36
Diffstat (limited to 'plugins/base/imap.go')
-rw-r--r-- | plugins/base/imap.go | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/plugins/base/imap.go b/plugins/base/imap.go index 3ccc73a..433a63e 100644 --- a/plugins/base/imap.go +++ b/plugins/base/imap.go @@ -174,6 +174,15 @@ func (msg *IMAPMessage) PartTree() *IMAPPartNode { return imapPartTree(msg.BodyStructure, nil) } +func (msg *IMAPMessage) HasFlag(flag string) bool { + for _, f := range msg.Flags { + if imap.CanonicalFlag(f) == flag { + return true + } + } + return false +} + func listMessages(conn *imapclient.Client, mboxName string, page int) ([]IMAPMessage, error) { if err := ensureMailboxSelected(conn, mboxName); err != nil { return nil, err @@ -295,6 +304,7 @@ func getMessagePart(conn *imapclient.Client, mboxName string, uid uint32, partPa imap.FetchEnvelope, imap.FetchUid, imap.FetchBodyStructure, + imap.FetchFlags, partHeaderSection.FetchItem(), partBodySection.FetchItem(), } |