fix: emit mailboxes change event from alias_mailbox_utils (#2264)

This commit is contained in:
Carlos Quintana 2024-10-15 09:39:40 +02:00 committed by GitHub
parent f3ca74d9b3
commit 4986ace59f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 15 additions and 4 deletions

View file

@ -2,6 +2,7 @@ from dataclasses import dataclass
from enum import Enum
from typing import List, Optional
from app.alias_audit_log_utils import emit_alias_audit_log, AliasAuditLogAction
from app.db import Session
from app.models import Alias, AliasMailbox, Mailbox
@ -51,4 +52,10 @@ def set_mailboxes_for_alias(
else:
AliasMailbox.create(alias_id=alias.id, mailbox_id=mailbox.id)
emit_alias_audit_log(
alias,
AliasAuditLogAction.ChangedMailboxes,
message=",".join(map(str, mailbox_ids)),
)
return None

View file

@ -306,9 +306,6 @@ def update_alias(alias_id):
mailbox_ids_string = ",".join(map(str, mailbox_ids))
changed_fields.append(f"mailbox_ids ({mailbox_ids_string})")
emit_alias_audit_log(
alias, AliasAuditLogAction.ChangedMailboxes, message=mailbox_ids_string
)
changed = True
if "name" in data:

View file

@ -1,10 +1,11 @@
from typing import Tuple
from app.alias_audit_log_utils import AliasAuditLogAction
from app.alias_mailbox_utils import (
set_mailboxes_for_alias,
CannotSetMailboxesForAliasCause,
)
from app.models import Alias, Mailbox, User, AliasMailbox
from app.models import Alias, Mailbox, User, AliasMailbox, AliasAuditLog
from tests.utils import create_new_user, random_email
@ -61,3 +62,9 @@ def test_set_mailboxes_for_alias_mailbox_success():
alias_mailboxes = AliasMailbox.filter_by(alias_id=alias.id).all()
assert len(alias_mailboxes) == 1
assert alias_mailboxes[0].mailbox_id == mb2.id
audit_logs = AliasAuditLog.filter_by(alias_id=alias.id).all()
assert len(audit_logs) == 2
assert audit_logs[0].action == AliasAuditLogAction.CreateAlias.value
assert audit_logs[1].action == AliasAuditLogAction.ChangedMailboxes.value
assert audit_logs[1].message == f"{mb1.id},{mb2.id}"