|
18 | 18 | from __future__ import annotations |
19 | 19 |
|
20 | 20 | from datetime import datetime |
21 | | -from typing import TYPE_CHECKING, Annotated |
| 21 | +from typing import TYPE_CHECKING, Annotated, cast |
22 | 22 |
|
23 | 23 | from fastapi import Depends, HTTPException, status |
24 | 24 | from sqlalchemy import and_, delete, func, select |
| 25 | +from sqlalchemy.engine import CursorResult |
25 | 26 | from sqlalchemy.orm import joinedload, subqueryload |
26 | 27 |
|
27 | 28 | from airflow._shared.timezones import timezone |
@@ -245,7 +246,7 @@ def get_asset_aliases( |
245 | 246 | ) |
246 | 247 |
|
247 | 248 | return AssetAliasCollectionResponse( |
248 | | - asset_aliases=session.scalars(asset_aliases_select), |
| 249 | + asset_aliases=list(session.scalars(asset_aliases_select)), |
249 | 250 | total_entries=total_entries, |
250 | 251 | ) |
251 | 252 |
|
@@ -336,7 +337,7 @@ def get_asset_events( |
336 | 337 | assets_events = session.scalars(assets_event_select) |
337 | 338 |
|
338 | 339 | return AssetEventCollectionResponse( |
339 | | - asset_events=assets_events, |
| 340 | + asset_events=list(assets_events), |
340 | 341 | total_entries=total_entries, |
341 | 342 | ) |
342 | 343 |
|
@@ -611,7 +612,7 @@ def delete_asset_queued_events( |
611 | 612 | asset_id=asset_id, before=before, permitted_dag_ids=readable_dags_filter.value |
612 | 613 | ) |
613 | 614 | delete_stmt = delete(AssetDagRunQueue).where(*where_clause).execution_options(synchronize_session="fetch") |
614 | | - result = session.execute(delete_stmt) |
| 615 | + result = cast("CursorResult", session.execute(delete_stmt)) |
615 | 616 | if result.rowcount == 0: |
616 | 617 | raise HTTPException( |
617 | 618 | status.HTTP_404_NOT_FOUND, |
@@ -645,7 +646,7 @@ def delete_dag_asset_queued_events( |
645 | 646 | ) |
646 | 647 |
|
647 | 648 | delete_statement = delete(AssetDagRunQueue).where(*where_clause) |
648 | | - result = session.execute(delete_statement) |
| 649 | + result = cast("CursorResult", session.execute(delete_statement)) |
649 | 650 |
|
650 | 651 | if result.rowcount == 0: |
651 | 652 | raise HTTPException(status.HTTP_404_NOT_FOUND, f"Queue event with dag_id: `{dag_id}` was not found") |
@@ -680,7 +681,7 @@ def delete_dag_asset_queued_event( |
680 | 681 | delete_statement = ( |
681 | 682 | delete(AssetDagRunQueue).where(*where_clause).execution_options(synchronize_session="fetch") |
682 | 683 | ) |
683 | | - result = session.execute(delete_statement) |
| 684 | + result = cast("CursorResult", session.execute(delete_statement)) |
684 | 685 | if result.rowcount == 0: |
685 | 686 | raise HTTPException( |
686 | 687 | status.HTTP_404_NOT_FOUND, |
|
0 commit comments