Create directory alias with directory mailboxes

This commit is contained in:
Son NK 2020-06-05 22:30:32 +02:00
parent bc01479a72
commit 83e540d1d4
1 changed files with 9 additions and 1 deletions

View File

@ -18,6 +18,7 @@ from app.models import (
User, User,
DeletedAlias, DeletedAlias,
DomainDeletedAlias, DomainDeletedAlias,
AliasMailbox,
) )
@ -65,12 +66,19 @@ def try_auto_create_directory(address: str) -> Optional[Alias]:
try: try:
LOG.d("create alias %s for directory %s", address, directory) LOG.d("create alias %s for directory %s", address, directory)
mailboxes = directory.mailboxes
alias = Alias.create( alias = Alias.create(
email=address, email=address,
user_id=directory.user_id, user_id=directory.user_id,
directory_id=directory.id, directory_id=directory.id,
mailbox_id=dir_user.default_mailbox_id, mailbox_id=mailboxes[0].id,
) )
db.session.flush()
for i in range(1, len(mailboxes)):
AliasMailbox.create(
alias_id=alias.id, mailbox_id=mailboxes[i].id,
)
db.session.commit() db.session.commit()
return alias return alias