summaryrefslogtreecommitdiff
path: root/service/pixelated/adapter/draft_service.py
diff options
context:
space:
mode:
Diffstat (limited to 'service/pixelated/adapter/draft_service.py')
-rw-r--r--service/pixelated/adapter/draft_service.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/service/pixelated/adapter/draft_service.py b/service/pixelated/adapter/draft_service.py
new file mode 100644
index 00000000..d9d6b12f
--- /dev/null
+++ b/service/pixelated/adapter/draft_service.py
@@ -0,0 +1,19 @@
+
+
+class DraftService(object):
+ __slots__ = '_mailboxes'
+
+ def __init__(self, mailboxes):
+ self._mailboxes = mailboxes
+
+ def create_draft(self, input_mail):
+ self._drafts().add(input_mail)
+ return input_mail
+
+ def update_draft(self, ident, input_mail):
+ new_mail = self.create_draft(input_mail)
+ self._drafts().remove(ident)
+ return new_mail
+
+ def _drafts(self):
+ return self._mailboxes.drafts()