Example #1
0
def delete_alias(alias: Alias, user: User):
    Alias.delete(alias.id)
    db.session.commit()

    # save deleted alias to either global or domain trash
    if alias.custom_domain_id:
        try:
            DomainDeletedAlias.create(user_id=user.id,
                                      email=alias.email,
                                      domain_id=alias.custom_domain_id)
            db.session.commit()
        except IntegrityError:
            LOG.error(
                "alias %s domain %s has been added before to DeletedAlias",
                alias.email,
                alias.custom_domain_id,
            )
            db.session.rollback()
    else:
        try:
            DeletedAlias.create(email=alias.email)
            db.session.commit()
        except IntegrityError:
            LOG.error("alias %s has been added before to DeletedAlias",
                      alias.email)
            db.session.rollback()
Example #2
0
def delete_alias(alias: Alias, user: User):
    email = alias.email
    Alias.delete(alias.id)
    db.session.commit()

    # try to save deleted alias
    try:
        DeletedAlias.create(email=email)
        db.session.commit()
    # this can happen when a previously deleted alias is re-created via catch-all or directory feature
    except IntegrityError:
        LOG.error("alias %s has been added before to DeletedAlias", email)
        db.session.rollback()