Create HibpNotifiedAlias to store all notified aliases

This commit is contained in:
Son Nguyen Kim 2021-07-29 09:41:46 +02:00
parent fb4cb8727c
commit 5821bd6512
2 changed files with 51 additions and 0 deletions

View File

@ -180,6 +180,18 @@ class Hibp(db.Model, ModelMixin):
return f"<HIBP Breach {self.id} {self.name}>"
class HibpNotifiedAlias(db.Model, ModelMixin):
"""Contain list of aliases that have been notified to users
So that we can only notify users of new aliases.
"""
__tablename__ = "hibp_notified_alias"
alias_id = db.Column(db.ForeignKey("alias.id", ondelete="cascade"), nullable=False)
user_id = db.Column(db.ForeignKey("users.id", ondelete="cascade"), nullable=False)
notified_at = db.Column(ArrowType, default=arrow.utcnow, nullable=False)
class Fido(db.Model, ModelMixin):
__tablename__ = "fido"
credential_id = db.Column(db.String(), nullable=False, unique=True, index=True)

View File

@ -0,0 +1,39 @@
"""empty message
Revision ID: c3470e2d3224
Revises: 05e3af59929a
Create Date: 2021-07-29 09:41:25.278900
"""
import sqlalchemy_utils
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision = 'c3470e2d3224'
down_revision = '05e3af59929a'
branch_labels = None
depends_on = None
def upgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.create_table('hibp_notified_alias',
sa.Column('id', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('created_at', sqlalchemy_utils.types.arrow.ArrowType(), nullable=False),
sa.Column('updated_at', sqlalchemy_utils.types.arrow.ArrowType(), nullable=True),
sa.Column('alias_id', sa.Integer(), nullable=False),
sa.Column('user_id', sa.Integer(), nullable=False),
sa.Column('notified_at', sqlalchemy_utils.types.arrow.ArrowType(), nullable=False),
sa.ForeignKeyConstraint(['alias_id'], ['alias.id'], ondelete='cascade'),
sa.ForeignKeyConstraint(['user_id'], ['users.id'], ondelete='cascade'),
sa.PrimaryKeyConstraint('id')
)
# ### end Alembic commands ###
def downgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.drop_table('hibp_notified_alias')
# ### end Alembic commands ###