summaryrefslogtreecommitdiff
path: root/service/pixelated
diff options
context:
space:
mode:
Diffstat (limited to 'service/pixelated')
-rw-r--r--service/pixelated/adapter/mail.py7
-rw-r--r--service/pixelated/adapter/mail_service.py3
-rw-r--r--service/pixelated/controllers/mails_controller.py7
3 files changed, 12 insertions, 5 deletions
diff --git a/service/pixelated/adapter/mail.py b/service/pixelated/adapter/mail.py
index 513a07d8..5cafa36a 100644
--- a/service/pixelated/adapter/mail.py
+++ b/service/pixelated/adapter/mail.py
@@ -52,6 +52,10 @@ class Mail:
return self.fdoc.content.get('flags')
@property
+ def mailbox_name(self):
+ return self.fdoc.content.get('mbox')
+
+ @property
def _mime_multipart(self):
if self._mime:
return self._mime
@@ -75,7 +79,8 @@ class Mail:
'tags': list(self.tags),
'status': list(self.status),
'security_casing': {},
- 'body': self.body
+ 'body': self.body,
+ 'mailbox': self.mailbox_name.lower()
}
diff --git a/service/pixelated/adapter/mail_service.py b/service/pixelated/adapter/mail_service.py
index e908feb7..cc03ab3a 100644
--- a/service/pixelated/adapter/mail_service.py
+++ b/service/pixelated/adapter/mail_service.py
@@ -35,7 +35,8 @@ class MailService:
if len(reserved_words):
raise ValueError('None of the following words can be used as tags: ' + ' '.join(reserved_words))
mail = self.mail(mail_id)
- return mail.update_tags(set(new_tags))
+ mail.update_tags(set(new_tags))
+ return mail
def mail(self, mail_id):
return self.mailboxes.mail(mail_id)
diff --git a/service/pixelated/controllers/mails_controller.py b/service/pixelated/controllers/mails_controller.py
index 6bd2fe99..f6414f27 100644
--- a/service/pixelated/controllers/mails_controller.py
+++ b/service/pixelated/controllers/mails_controller.py
@@ -92,11 +92,12 @@ class MailsController:
def mail_tags(self, mail_id):
new_tags = map(lambda tag: tag.lower(), request.get_json()['newtags'])
try:
- tags = self._mail_service.update_tags(mail_id, new_tags)
- self._search_engine.index_mail(self._mail_service.mail(mail_id))
+ self._mail_service.update_tags(mail_id, new_tags)
+ mail = self._mail_service.mail(mail_id)
+ self._search_engine.index_mail(mail)
except ValueError as ve:
return respond_json(ve.message, 403)
- return respond_json(list(tags))
+ return respond_json(mail.as_dict())
def update_draft(self):
_mail = InputMail.from_dict(request.json)