Don't override id

This commit is contained in:
Sylvia van Os 2021-05-17 21:29:29 +02:00
parent 969616d671
commit a08b0c05cc
3 changed files with 14 additions and 9 deletions

View file

@ -164,7 +164,7 @@ class AliasGeneratorEnum(EnumE):
class Hibp(db.Model, ModelMixin):
__tablename__ = "hibp"
id = db.Column(db.String(), primary_key=True)
name = db.Column(db.String(), nullable=False, unique=True, index=True)
breached_aliases = db.relationship("Alias", secondary="alias_hibp")
@ -2020,7 +2020,7 @@ class AliasHibp(db.Model, ModelMixin):
__table_args__ = (db.UniqueConstraint("alias_id", "hibp_id", name="uq_alias_hibp"),)
alias_id = db.Column(db.Integer(), db.ForeignKey("alias.id"))
hibp_id = db.Column(db.String(), db.ForeignKey("hibp.id"))
hibp_id = db.Column(db.Integer(), db.ForeignKey("hibp.id"))
alias = db.relationship(
"Alias", backref=db.backref("alias_hibp", cascade="all, delete-orphan")

View file

@ -790,7 +790,9 @@ def _hibp_check(api_key, queue):
if r.status_code == 200:
# Breaches found
alias.hibp_breaches = [Hibp.get_by(id=entry["Name"]) for entry in r.json()]
alias.hibp_breaches = [
Hibp.get_by(name=entry["Name"]) for entry in r.json()
]
elif r.status_code == 404:
# No breaches found
alias.hibp_breaches = []
@ -824,7 +826,7 @@ def check_hibp():
LOG.d("Updating list of known breaches")
r = requests.get("https://haveibeenpwned.com/api/v3/breaches")
for entry in r.json():
Hibp.get_or_create(id=entry["Name"])
Hibp.get_or_create(name=entry["Name"])
db.session.commit()
LOG.d("Updated list of known breaches")

View file

@ -1,8 +1,8 @@
"""empty message
Revision ID: 04b16f5e207e
Revision ID: 6cc7f073b358
Revises: 5c77d685df87
Create Date: 2021-05-14 19:44:48.094516
Create Date: 2021-05-17 21:26:15.007317
"""
import sqlalchemy_utils
@ -11,7 +11,7 @@ import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision = '04b16f5e207e'
revision = '6cc7f073b358'
down_revision = '5c77d685df87'
branch_labels = None
depends_on = None
@ -20,17 +20,19 @@ depends_on = None
def upgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.create_table('hibp',
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('id', sa.String(), nullable=False),
sa.Column('name', sa.String(), nullable=False),
sa.PrimaryKeyConstraint('id')
)
op.create_index(op.f('ix_hibp_name'), 'hibp', ['name'], unique=True)
op.create_table('alias_hibp',
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=True),
sa.Column('hibp_id', sa.String(), nullable=True),
sa.Column('hibp_id', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['alias_id'], ['alias.id'], ),
sa.ForeignKeyConstraint(['hibp_id'], ['hibp.id'], ),
sa.PrimaryKeyConstraint('id'),
@ -44,5 +46,6 @@ def downgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.drop_column('alias', 'hibp_last_check')
op.drop_table('alias_hibp')
op.drop_index(op.f('ix_hibp_name'), table_name='hibp')
op.drop_table('hibp')
# ### end Alembic commands ###