mirror of
https://github.com/simple-login/app.git
synced 2025-09-11 17:14:22 +08:00
fix: emit mailboxes change event from alias_mailbox_utils (#2264)
This commit is contained in:
parent
f3ca74d9b3
commit
4986ace59f
3 changed files with 15 additions and 4 deletions
|
@ -2,6 +2,7 @@ from dataclasses import dataclass
|
||||||
from enum import Enum
|
from enum import Enum
|
||||||
from typing import List, Optional
|
from typing import List, Optional
|
||||||
|
|
||||||
|
from app.alias_audit_log_utils import emit_alias_audit_log, AliasAuditLogAction
|
||||||
from app.db import Session
|
from app.db import Session
|
||||||
from app.models import Alias, AliasMailbox, Mailbox
|
from app.models import Alias, AliasMailbox, Mailbox
|
||||||
|
|
||||||
|
@ -51,4 +52,10 @@ def set_mailboxes_for_alias(
|
||||||
else:
|
else:
|
||||||
AliasMailbox.create(alias_id=alias.id, mailbox_id=mailbox.id)
|
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
|
return None
|
||||||
|
|
|
@ -306,9 +306,6 @@ def update_alias(alias_id):
|
||||||
|
|
||||||
mailbox_ids_string = ",".join(map(str, mailbox_ids))
|
mailbox_ids_string = ",".join(map(str, mailbox_ids))
|
||||||
changed_fields.append(f"mailbox_ids ({mailbox_ids_string})")
|
changed_fields.append(f"mailbox_ids ({mailbox_ids_string})")
|
||||||
emit_alias_audit_log(
|
|
||||||
alias, AliasAuditLogAction.ChangedMailboxes, message=mailbox_ids_string
|
|
||||||
)
|
|
||||||
changed = True
|
changed = True
|
||||||
|
|
||||||
if "name" in data:
|
if "name" in data:
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
from typing import Tuple
|
from typing import Tuple
|
||||||
|
|
||||||
|
from app.alias_audit_log_utils import AliasAuditLogAction
|
||||||
from app.alias_mailbox_utils import (
|
from app.alias_mailbox_utils import (
|
||||||
set_mailboxes_for_alias,
|
set_mailboxes_for_alias,
|
||||||
CannotSetMailboxesForAliasCause,
|
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
|
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()
|
alias_mailboxes = AliasMailbox.filter_by(alias_id=alias.id).all()
|
||||||
assert len(alias_mailboxes) == 1
|
assert len(alias_mailboxes) == 1
|
||||||
assert alias_mailboxes[0].mailbox_id == mb2.id
|
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}"
|
||||||
|
|
Loading…
Add table
Reference in a new issue