]> git.ipfire.org Git - thirdparty/dovecot/core.git/commit
mail-lua: Implement mailbox metadata API
authorAki Tuomi <aki.tuomi@open-xchange.com>
Tue, 16 Apr 2019 08:42:56 +0000 (11:42 +0300)
committerAki Tuomi <aki.tuomi@open-xchange.com>
Wed, 24 Apr 2019 11:54:22 +0000 (11:54 +0000)
commit9607054d9c69a0ad7f6953b1aec8fef92ba4d6b9
treed832f311704dab802a944676d26769c64032bea0
parent353db736bfb1c66601e952d59addeb91174ba542
mail-lua: Implement mailbox metadata API

Adds methods for accessing and manipulating mailbox metadata

 * user:metadata_get("key", "key", ..) - returns value for keys
 * user:metadata_set("key", "value") - sets value for key
 * user:metadata_unset("key", "value") - unsets key
 * user:metadata_list("prefix", "prefix", ...) - lists keys in dict for prefixes

 * mailbox:metadata_get("key", "key", ..) - returns value for keys
 * mailbox:metadata_set("key", "value") - sets value for key
 * mailbox:metadata_unset("key", "value") - unsets key
 * mailbox:metadata_list("prefix", "prefix", ...) - lists keys in dict for prefixes

User metadata is stored under /(private|shared)/vendor/vendor.dovecot/pvt/server to
mailbox INBOX, and is accessible with mailbox metadata methods with INBOX.

Also mail lua exports constants to simplify usage

dovecot.storage.MAILBOX_ATTRIBUTE_PREFIX_DOVECOT
"vendor/vendor.dovecot/"
dovecot.storage.MAILBOX_ATTRIBUTE_PREFIX_DOVECOT_PVT
"vendor/vendor.dovecot/pvt/"
dovecot.storage.MAILBOX_ATTRIBUTE_PREFIX_DOVECOT_PVT_SERVER
"vendor/vendor.dovecot/pvt/server/"
src/plugins/mail-lua/mail-storage-lua.c