(mailbox) allow to activate mailbox

We send a request to dimail API and change mailbox status to enabled.
This commit is contained in:
Sabrina Demagny
2024-11-26 12:26:54 +01:00
parent a6f409f6ed
commit 02c6048d2c
4 changed files with 132 additions and 0 deletions

View File

@@ -201,6 +201,9 @@ class MailBoxViewSet(
POST /api/<version>/mail-domains/<domain_slug>/mailboxes/<mailbox_id>/disable/
Send a request to dimail to disable mailbox and change status of the mailbox in our DB
POST /api/<version>/mail-domains/<domain_slug>/mailboxes/<mailbox_id>/enable/
Send a request to dimail to enable mailbox and change status of the mailbox in our DB
"""
permission_classes = [permissions.MailBoxPermission]
@@ -234,3 +237,13 @@ class MailBoxViewSet(
mailbox.status = enums.MailboxStatusChoices.DISABLED
mailbox.save()
return Response(serializers.MailboxSerializer(mailbox).data)
@action(detail=True, methods=["post"])
def enable(self, request, domain_slug, pk=None): # pylint: disable=unused-argument
"""Enable mailbox. Send a request to dimail and change status in our DB"""
mailbox = self.get_object()
client = DimailAPIClient()
client.enable_mailbox(mailbox, request.user.sub)
mailbox.status = enums.MailboxStatusChoices.ENABLED
mailbox.save()
return Response(serializers.MailboxSerializer(mailbox).data)