mirror of
https://github.com/simple-login/app.git
synced 2025-09-11 09:04:35 +08:00
feat: add alias id when deleting alias
This commit is contained in:
parent
ee5a2a73d3
commit
5d6f3f114f
4 changed files with 49 additions and 1 deletions
|
@ -51,6 +51,7 @@ def __delete_if_custom_domain(
|
|||
email=alias.email,
|
||||
domain_id=alias.custom_domain_id,
|
||||
reason=reason,
|
||||
alias_id=alias.id,
|
||||
)
|
||||
Session.add(domain_deleted_alias)
|
||||
LOG.i(
|
||||
|
@ -99,7 +100,7 @@ def perform_alias_deletion(
|
|||
|
||||
if not DeletedAlias.get_by(email=alias.email):
|
||||
deleted_alias = DeletedAlias(
|
||||
email=alias.email, reason=alias.delete_reason or reason
|
||||
email=alias.email, reason=alias.delete_reason or reason, alias_id=alias.id
|
||||
)
|
||||
Session.add(deleted_alias)
|
||||
LOG.i(f"Moving {alias} to global trash {deleted_alias}")
|
||||
|
|
|
@ -2462,6 +2462,9 @@ class DeletedAlias(Base, ModelMixin):
|
|||
default=AliasDeleteReason.Unspecified,
|
||||
server_default=str(AliasDeleteReason.Unspecified.value),
|
||||
)
|
||||
alias_id = sa.Column(
|
||||
sa.Integer, nullable=True, server_default=None, default=None, index=True
|
||||
)
|
||||
|
||||
@classmethod
|
||||
def create(cls, **kw):
|
||||
|
@ -2736,6 +2739,7 @@ class DomainDeletedAlias(Base, ModelMixin):
|
|||
__table_args__ = (
|
||||
sa.UniqueConstraint("domain_id", "email", name="uq_domain_trash"),
|
||||
sa.Index("ix_domain_deleted_alias_user_id", "user_id"),
|
||||
sa.Index("ix_domain_deleted_alias_alias_id", "alias_id"),
|
||||
)
|
||||
|
||||
email = sa.Column(sa.String(256), nullable=False)
|
||||
|
@ -2753,6 +2757,13 @@ class DomainDeletedAlias(Base, ModelMixin):
|
|||
server_default=str(AliasDeleteReason.Unspecified.value),
|
||||
)
|
||||
|
||||
alias_id = sa.Column(
|
||||
sa.Integer,
|
||||
nullable=True,
|
||||
server_default=None,
|
||||
default=None,
|
||||
)
|
||||
|
||||
@classmethod
|
||||
def create(cls, **kw):
|
||||
raise Exception("should use delete_alias(alias,user) instead")
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
"""deleted alias id
|
||||
|
||||
Revision ID: 3ffdea52697d
|
||||
Revises: 9e80159405af
|
||||
Create Date: 2025-09-04 09:57:23.255112
|
||||
|
||||
"""
|
||||
import sqlalchemy_utils
|
||||
from alembic import op
|
||||
import sqlalchemy as sa
|
||||
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision = '3ffdea52697d'
|
||||
down_revision = '9e80159405af'
|
||||
branch_labels = None
|
||||
depends_on = None
|
||||
|
||||
|
||||
def upgrade():
|
||||
with op.get_context().autocommit_block():
|
||||
op.add_column('deleted_alias', sa.Column('alias_id', sa.Integer(), nullable=True))
|
||||
op.create_index(op.f('ix_deleted_alias_alias_id'), 'deleted_alias', ['alias_id'], unique=False, postgresql_concurrently=True)
|
||||
op.add_column('domain_deleted_alias', sa.Column('alias_id', sa.Integer(), nullable=True))
|
||||
op.create_index('ix_domain_deleted_alias_alias_id', 'domain_deleted_alias', ['alias_id'], unique=False, postgresql_concurrently=True)
|
||||
|
||||
|
||||
def downgrade():
|
||||
with op.get_context().autocommit_block():
|
||||
op.drop_index('ix_domain_deleted_alias_alias_id', table_name='domain_deleted_alias', postgresql_concurrently=True)
|
||||
op.drop_column('domain_deleted_alias', 'alias_id')
|
||||
op.drop_index(op.f('ix_deleted_alias_alias_id'), table_name='deleted_alias', postgresql_concurrently=True)
|
||||
op.drop_column('deleted_alias', 'alias_id')
|
||||
|
|
@ -93,6 +93,7 @@ def ensure_alias_is_deleted(
|
|||
deleted_alias: Optional[DeletedAlias] = DeletedAlias.get_by(email=alias_email)
|
||||
assert deleted_alias is not None
|
||||
assert deleted_alias.reason == reason
|
||||
assert deleted_alias.alias_id == alias_id
|
||||
|
||||
|
||||
# Delete alias
|
||||
|
@ -158,6 +159,7 @@ def test_alias_custom_domain_perform_deletion_moves_to_domain_deleted_alias():
|
|||
|
||||
deleted_custom_alias = DomainDeletedAlias.get_by(email=alias_email)
|
||||
assert deleted_custom_alias is not None
|
||||
assert deleted_custom_alias.alias_id == alias_id
|
||||
|
||||
|
||||
# move_alias_to_trash
|
||||
|
|
Loading…
Add table
Reference in a new issue