Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
"""Add new agency suggestion url link table

Revision ID: 50a710e413f8
Revises: d4c63e23d3f0
Create Date: 2025-09-26 20:02:10.867728

"""
from typing import Sequence, Union

from alembic import op
import sqlalchemy as sa

from src.util.alembic_helpers import url_id_column, agency_id_column, created_at_column

Check warning on line 13 in alembic/versions/2025_09_26_2002-50a710e413f8_add_suggestion_url_link_table.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] alembic/versions/2025_09_26_2002-50a710e413f8_add_suggestion_url_link_table.py#L13 <401>

'src.util.alembic_helpers.agency_id_column' imported but unused
Raw output
./alembic/versions/2025_09_26_2002-50a710e413f8_add_suggestion_url_link_table.py:13:1: F401 'src.util.alembic_helpers.agency_id_column' imported but unused

# revision identifiers, used by Alembic.
revision: str = '50a710e413f8'
down_revision: Union[str, None] = 'd4c63e23d3f0'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None


def upgrade() -> None:

Check warning on line 22 in alembic/versions/2025_09_26_2002-50a710e413f8_add_suggestion_url_link_table.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] alembic/versions/2025_09_26_2002-50a710e413f8_add_suggestion_url_link_table.py#L22 <103>

Missing docstring in public function
Raw output
./alembic/versions/2025_09_26_2002-50a710e413f8_add_suggestion_url_link_table.py:22:1: D103 Missing docstring in public function
op.create_table(
'link_url_new_agency_suggestion',
url_id_column(),
sa.Column(
'suggestion_id',
sa.Integer,
sa.ForeignKey('new_agency_suggestions.id'), nullable=False
),
created_at_column(),
sa.PrimaryKeyConstraint(
'url_id', 'suggestion_id'
)
)


def downgrade() -> None:

Check warning on line 38 in alembic/versions/2025_09_26_2002-50a710e413f8_add_suggestion_url_link_table.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] alembic/versions/2025_09_26_2002-50a710e413f8_add_suggestion_url_link_table.py#L38 <103>

Missing docstring in public function
Raw output
./alembic/versions/2025_09_26_2002-50a710e413f8_add_suggestion_url_link_table.py:38:1: D103 Missing docstring in public function
pass
5 changes: 4 additions & 1 deletion src/api/endpoints/annotate/all/post/query.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,4 +48,7 @@ async def run(self, session: AsyncSession) -> None:

requester.add_agency_ids(self.post_info.agency_info.agency_ids)

await requester.optionally_add_new_agency_suggestion(self.post_info.agency_info.new_agency_suggestion)
await requester.optionally_add_new_agency_suggestion(
self.post_info.agency_info.new_agency_suggestion,
url_id=self.url_id,
)
12 changes: 10 additions & 2 deletions src/api/endpoints/annotate/all/post/requester.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
from src.core.enums import RecordType
from src.db.models.impl.agency.suggestion.sqlalchemy import NewAgencySuggestion
from src.db.models.impl.flag.url_validated.enums import URLType
from src.db.models.impl.link.url_new_agency_suggestion.sqlalchemy import LinkURLNewAgencySuggestion
from src.db.models.impl.link.user_name_suggestion.sqlalchemy import LinkUserNameSuggestion
from src.db.models.impl.url.suggestion.agency.user import UserUrlAgencySuggestion
from src.db.models.impl.url.suggestion.location.user.sqlalchemy import UserLocationSuggestion
Expand Down Expand Up @@ -98,7 +99,8 @@ async def optionally_add_name_suggestion(

async def optionally_add_new_agency_suggestion(
self,
suggestion_info: AnnotationNewAgencySuggestionInfo | None
suggestion_info: AnnotationNewAgencySuggestionInfo | None,
url_id: int,
) -> None:
if suggestion_info is None:
return
Expand All @@ -108,4 +110,10 @@ async def optionally_add_new_agency_suggestion(
jurisdiction_type=suggestion_info.jurisdiction_type,
agency_type=suggestion_info.agency_type,
)
self.session.add(new_agency_suggestion)
self.session.add(new_agency_suggestion)
await self.session.flush()
link = LinkURLNewAgencySuggestion(
url_id=url_id,
suggestion_id=new_agency_suggestion.id,
)
self.session.add(link)
Empty file.
19 changes: 19 additions & 0 deletions src/db/models/impl/link/url_new_agency_suggestion/sqlalchemy.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
from sqlalchemy import Column, Integer, ForeignKey, PrimaryKeyConstraint

Check warning on line 1 in src/db/models/impl/link/url_new_agency_suggestion/sqlalchemy.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] src/db/models/impl/link/url_new_agency_suggestion/sqlalchemy.py#L1 <100>

Missing docstring in public module
Raw output
./src/db/models/impl/link/url_new_agency_suggestion/sqlalchemy.py:1:1: D100 Missing docstring in public module
from sqlalchemy.orm import Mapped

from src.db.models.mixins import URLDependentMixin
from src.db.models.templates_.base import Base


class LinkURLNewAgencySuggestion(

Check warning on line 8 in src/db/models/impl/link/url_new_agency_suggestion/sqlalchemy.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] src/db/models/impl/link/url_new_agency_suggestion/sqlalchemy.py#L8 <101>

Missing docstring in public class
Raw output
./src/db/models/impl/link/url_new_agency_suggestion/sqlalchemy.py:8:1: D101 Missing docstring in public class
Base,
URLDependentMixin,
):

__tablename__ = 'link_url_new_agency_suggestion'

suggestion_id: Mapped[int] = Column(Integer, ForeignKey('new_agency_suggestions.id'), nullable=False)

__table_args__ = (
PrimaryKeyConstraint('url_id', 'suggestion_id'),
)