Made requested changes
This commit is contained in:
parent
f0fa7032c1
commit
66822781d9
|
@ -164,7 +164,7 @@ class AliasGeneratorEnum(EnumE):
|
||||||
|
|
||||||
class HibpDataClass(db.Model, ModelMixin):
|
class HibpDataClass(db.Model, ModelMixin):
|
||||||
__tablename__ = "hibpdataclass"
|
__tablename__ = "hibpdataclass"
|
||||||
description = db.Column(db.Text, nullable=False, unique=True, index=True)
|
attribute = db.Column(db.Text, nullable=False, unique=True, index=True)
|
||||||
|
|
||||||
breaches = db.relationship("Hibp", secondary="hibp_hibpdataclass")
|
breaches = db.relationship("Hibp", secondary="hibp_hibpdataclass")
|
||||||
|
|
||||||
|
@ -2089,7 +2089,7 @@ class HibpHibpDataClass(db.Model, ModelMixin):
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
hibp_id = db.Column(db.Integer(), db.ForeignKey("hibp.id"))
|
hibp_id = db.Column(db.Integer(), db.ForeignKey("hibp.id"), index=True)
|
||||||
hibp_dataclass_id = db.Column(db.Integer(), db.ForeignKey("hibpdataclass.id"))
|
hibp_dataclass_id = db.Column(db.Integer(), db.ForeignKey("hibpdataclass.id"))
|
||||||
|
|
||||||
hibp = db.relationship(
|
hibp = db.relationship(
|
||||||
|
|
6
cron.py
6
cron.py
|
@ -842,7 +842,7 @@ async def check_hibp():
|
||||||
LOG.d("Updating list of known breach types")
|
LOG.d("Updating list of known breach types")
|
||||||
r = requests.get("https://haveibeenpwned.com/api/v3/dataclasses")
|
r = requests.get("https://haveibeenpwned.com/api/v3/dataclasses")
|
||||||
for entry in r.json():
|
for entry in r.json():
|
||||||
HibpDataClass.get_or_create(description=entry)
|
HibpDataClass.get_or_create(attribute=entry)
|
||||||
|
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
|
|
||||||
|
@ -853,8 +853,8 @@ async def check_hibp():
|
||||||
hibp_entry.date = arrow.get(entry["BreachDate"])
|
hibp_entry.date = arrow.get(entry["BreachDate"])
|
||||||
hibp_entry.description = entry["Description"]
|
hibp_entry.description = entry["Description"]
|
||||||
hibp_entry.data_classes = [
|
hibp_entry.data_classes = [
|
||||||
HibpDataClass.get_by(description=description)
|
HibpDataClass.get_by(attribute=attribute)
|
||||||
for description in entry["DataClasses"]
|
for attribute in entry["DataClasses"]
|
||||||
]
|
]
|
||||||
|
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
"""empty message
|
"""empty message
|
||||||
|
|
||||||
Revision ID: 618614d64d1c
|
Revision ID: 4d501f682763
|
||||||
Revises: 6cc7f073b358
|
Revises: 6cc7f073b358
|
||||||
Create Date: 2021-05-24 19:44:26.161445
|
Create Date: 2021-06-01 19:30:15.904980
|
||||||
|
|
||||||
"""
|
"""
|
||||||
import sqlalchemy_utils
|
import sqlalchemy_utils
|
||||||
|
@ -11,7 +11,7 @@ import sqlalchemy as sa
|
||||||
|
|
||||||
|
|
||||||
# revision identifiers, used by Alembic.
|
# revision identifiers, used by Alembic.
|
||||||
revision = '618614d64d1c'
|
revision = '4d501f682763'
|
||||||
down_revision = '6cc7f073b358'
|
down_revision = '6cc7f073b358'
|
||||||
branch_labels = None
|
branch_labels = None
|
||||||
depends_on = None
|
depends_on = None
|
||||||
|
@ -23,10 +23,10 @@ def upgrade():
|
||||||
sa.Column('id', sa.Integer(), autoincrement=True, nullable=False),
|
sa.Column('id', sa.Integer(), autoincrement=True, nullable=False),
|
||||||
sa.Column('created_at', sqlalchemy_utils.types.arrow.ArrowType(), 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('updated_at', sqlalchemy_utils.types.arrow.ArrowType(), nullable=True),
|
||||||
sa.Column('description', sa.Text(), nullable=False),
|
sa.Column('attribute', sa.Text(), nullable=False),
|
||||||
sa.PrimaryKeyConstraint('id')
|
sa.PrimaryKeyConstraint('id')
|
||||||
)
|
)
|
||||||
op.create_index(op.f('ix_hibpdataclass_description'), 'hibpdataclass', ['description'], unique=True)
|
op.create_index(op.f('ix_hibpdataclass_attribute'), 'hibpdataclass', ['attribute'], unique=True)
|
||||||
op.create_table('hibp_hibpdataclass',
|
op.create_table('hibp_hibpdataclass',
|
||||||
sa.Column('id', sa.Integer(), autoincrement=True, nullable=False),
|
sa.Column('id', sa.Integer(), autoincrement=True, nullable=False),
|
||||||
sa.Column('created_at', sqlalchemy_utils.types.arrow.ArrowType(), nullable=False),
|
sa.Column('created_at', sqlalchemy_utils.types.arrow.ArrowType(), nullable=False),
|
||||||
|
@ -38,6 +38,7 @@ def upgrade():
|
||||||
sa.PrimaryKeyConstraint('id'),
|
sa.PrimaryKeyConstraint('id'),
|
||||||
sa.UniqueConstraint('hibp_id', 'hibp_dataclass_id', name='uq_hibp_hibpdataclass')
|
sa.UniqueConstraint('hibp_id', 'hibp_dataclass_id', name='uq_hibp_hibpdataclass')
|
||||||
)
|
)
|
||||||
|
op.create_index(op.f('ix_hibp_hibpdataclass_hibp_id'), 'hibp_hibpdataclass', ['hibp_id'], unique=False)
|
||||||
op.add_column('hibp', sa.Column('date', sqlalchemy_utils.types.arrow.ArrowType(), nullable=True))
|
op.add_column('hibp', sa.Column('date', sqlalchemy_utils.types.arrow.ArrowType(), nullable=True))
|
||||||
op.add_column('hibp', sa.Column('description', sa.Text(), nullable=True))
|
op.add_column('hibp', sa.Column('description', sa.Text(), nullable=True))
|
||||||
# ### end Alembic commands ###
|
# ### end Alembic commands ###
|
||||||
|
@ -47,7 +48,8 @@ def downgrade():
|
||||||
# ### commands auto generated by Alembic - please adjust! ###
|
# ### commands auto generated by Alembic - please adjust! ###
|
||||||
op.drop_column('hibp', 'description')
|
op.drop_column('hibp', 'description')
|
||||||
op.drop_column('hibp', 'date')
|
op.drop_column('hibp', 'date')
|
||||||
|
op.drop_index(op.f('ix_hibp_hibpdataclass_hibp_id'), table_name='hibp_hibpdataclass')
|
||||||
op.drop_table('hibp_hibpdataclass')
|
op.drop_table('hibp_hibpdataclass')
|
||||||
op.drop_index(op.f('ix_hibpdataclass_description'), table_name='hibpdataclass')
|
op.drop_index(op.f('ix_hibpdataclass_attribute'), table_name='hibpdataclass')
|
||||||
op.drop_table('hibpdataclass')
|
op.drop_table('hibpdataclass')
|
||||||
# ### end Alembic commands ###
|
# ### end Alembic commands ###
|
|
@ -18,7 +18,7 @@
|
||||||
{{ render_text(breach.name + " (" + breach.date.format('YYYY-MM-DD') + ")") }}
|
{{ render_text(breach.name + " (" + breach.date.format('YYYY-MM-DD') + ")") }}
|
||||||
{{ render_text(breach.description) }}
|
{{ render_text(breach.description) }}
|
||||||
|
|
||||||
{{ render_text("Breached data: " + breach.data_classes|join(', ', attribute='description')) }}
|
{{ render_text("Breached data: " + breach.data_classes|join(', ', attribute='attribute')) }}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- endfor %}
|
{%- endfor %}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
|
|
|
@ -18,7 +18,7 @@ And {{ (alias.hibp_breaches_not_notified_user|length) - 3 }} more data breaches.
|
||||||
{{ breach.name }} ({{ breach.date.format('YYYY-MM-DD') }})
|
{{ breach.name }} ({{ breach.date.format('YYYY-MM-DD') }})
|
||||||
{{ breach.description|striptags }}
|
{{ breach.description|striptags }}
|
||||||
|
|
||||||
Breached data: {{ breach.data_classes|join(', ', attribute='description') }}
|
Breached data: {{ breach.data_classes|join(', ', attribute='attribute') }}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- endfor %}
|
{%- endfor %}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
|
|
Loading…
Reference in New Issue