(api) update mailboxes

Allow update of mailboxes. Secondary email, first and last names can be updated
but not domain or local_part.
This commit is contained in:
Marie PUPO JEAMMET
2025-07-09 15:59:35 +02:00
committed by Marie
parent 79f8e5276a
commit e45cf8dd8b
8 changed files with 440 additions and 2 deletions

View File

@@ -29,7 +29,6 @@ class MailboxSerializer(serializers.ModelSerializer):
"secondary_email",
"status",
]
# everything is actually read-only as we do not allow update for now
read_only_fields = ["id", "status"]
def create(self, validated_data):
@@ -71,6 +70,22 @@ class MailboxSerializer(serializers.ModelSerializer):
return mailbox
class MailboxUpdateSerializer(MailboxSerializer):
"""A more restrictive serializer when updating mailboxes"""
class Meta:
model = models.Mailbox
fields = [
"id",
"first_name",
"last_name",
"local_part",
"secondary_email",
"status",
]
read_only_fields = ("id", "status", "local_part", "status")
class MailDomainSerializer(serializers.ModelSerializer):
"""Serialize mail domain."""