diff options
Diffstat (limited to 'service/pixelated/adapter/draft_service.py')
-rw-r--r-- | service/pixelated/adapter/draft_service.py | 19 |
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() |