This is an automated email from the ASF dual-hosted git repository.
kaxilnaik pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push:
new 2b79d18f7ea Rename Fast API serializers/schemas to `datamodels`
(#43823)
2b79d18f7ea is described below
commit 2b79d18f7ea5b9f787eafecade7ac6c8d5927e72
Author: Kaxil Naik <[email protected]>
AuthorDate: Fri Nov 8 13:45:33 2024 +0000
Rename Fast API serializers/schemas to `datamodels` (#43823)
Pierre, Ash & I discussed about making the naming consistent for Pydantic
Models. We agreed on `datamodels` since it is what OpenAPI terms it too apart
from schemas:
https://swagger.io/docs/specification/v3_0/data-models/data-models/.
We didn't choose `models` because we have DB models named as such.
---
.../core_api/{serializers => datamodels}/__init__.py | 0
.../core_api/{serializers => datamodels}/backfills.py | 0
.../core_api/{serializers => datamodels}/connections.py | 0
.../core_api/{serializers => datamodels}/dag_run.py | 0
.../core_api/{serializers => datamodels}/dag_sources.py | 0
.../core_api/{serializers => datamodels}/dag_stats.py | 0
.../core_api/{serializers => datamodels}/dag_warning.py | 0
.../core_api/{serializers => datamodels}/dags.py | 0
.../core_api/{serializers => datamodels}/event_logs.py | 0
.../core_api/{serializers => datamodels}/import_error.py | 0
.../core_api/{serializers => datamodels}/job.py | 0
.../core_api/{serializers => datamodels}/monitor.py | 0
.../core_api/{serializers => datamodels}/plugins.py | 0
.../core_api/{serializers => datamodels}/pools.py | 0
.../core_api/{serializers => datamodels}/providers.py | 0
.../core_api/{serializers => datamodels}/task_instances.py | 4 ++--
.../core_api/{serializers => datamodels}/trigger.py | 0
.../core_api/{serializers => datamodels}/ui/__init__.py | 0
.../core_api/{serializers => datamodels}/ui/dags.py | 4 ++--
.../core_api/{serializers => datamodels}/ui/dashboard.py | 0
.../core_api/{serializers => datamodels}/variables.py | 0
.../core_api/{serializers => datamodels}/version.py | 0
airflow/api_fastapi/core_api/openapi/v1-generated.yaml | 4 ++--
airflow/api_fastapi/core_api/routes/public/backfills.py | 8 ++++----
airflow/api_fastapi/core_api/routes/public/connections.py | 4 ++--
airflow/api_fastapi/core_api/routes/public/dag_run.py | 4 ++--
airflow/api_fastapi/core_api/routes/public/dag_sources.py | 2 +-
airflow/api_fastapi/core_api/routes/public/dag_stats.py | 4 ++--
airflow/api_fastapi/core_api/routes/public/dag_warning.py | 4 ++--
airflow/api_fastapi/core_api/routes/public/dags.py | 4 ++--
airflow/api_fastapi/core_api/routes/public/event_logs.py | 4 ++--
airflow/api_fastapi/core_api/routes/public/import_error.py | 4 ++--
airflow/api_fastapi/core_api/routes/public/monitor.py | 2 +-
airflow/api_fastapi/core_api/routes/public/plugins.py | 2 +-
airflow/api_fastapi/core_api/routes/public/pools.py | 4 ++--
airflow/api_fastapi/core_api/routes/public/providers.py | 2 +-
.../api_fastapi/core_api/routes/public/task_instances.py | 4 ++--
airflow/api_fastapi/core_api/routes/public/variables.py | 4 ++--
airflow/api_fastapi/core_api/routes/public/version.py | 2 +-
airflow/api_fastapi/core_api/routes/ui/dags.py | 6 +++---
airflow/api_fastapi/core_api/routes/ui/dashboard.py | 2 +-
.../execution_api/{schemas.py => datamodels.py} | 0
airflow/api_fastapi/execution_api/routes/connections.py | 14 +++++++-------
airflow/api_fastapi/execution_api/routes/task_instance.py | 12 ++++++------
airflow/ui/openapi-gen/requests/schemas.gen.ts | 4 ++--
airflow/ui/openapi-gen/requests/types.gen.ts | 4 ++--
46 files changed, 56 insertions(+), 56 deletions(-)
diff --git a/airflow/api_fastapi/core_api/serializers/__init__.py
b/airflow/api_fastapi/core_api/datamodels/__init__.py
similarity index 100%
rename from airflow/api_fastapi/core_api/serializers/__init__.py
rename to airflow/api_fastapi/core_api/datamodels/__init__.py
diff --git a/airflow/api_fastapi/core_api/serializers/backfills.py
b/airflow/api_fastapi/core_api/datamodels/backfills.py
similarity index 100%
rename from airflow/api_fastapi/core_api/serializers/backfills.py
rename to airflow/api_fastapi/core_api/datamodels/backfills.py
diff --git a/airflow/api_fastapi/core_api/serializers/connections.py
b/airflow/api_fastapi/core_api/datamodels/connections.py
similarity index 100%
rename from airflow/api_fastapi/core_api/serializers/connections.py
rename to airflow/api_fastapi/core_api/datamodels/connections.py
diff --git a/airflow/api_fastapi/core_api/serializers/dag_run.py
b/airflow/api_fastapi/core_api/datamodels/dag_run.py
similarity index 100%
rename from airflow/api_fastapi/core_api/serializers/dag_run.py
rename to airflow/api_fastapi/core_api/datamodels/dag_run.py
diff --git a/airflow/api_fastapi/core_api/serializers/dag_sources.py
b/airflow/api_fastapi/core_api/datamodels/dag_sources.py
similarity index 100%
rename from airflow/api_fastapi/core_api/serializers/dag_sources.py
rename to airflow/api_fastapi/core_api/datamodels/dag_sources.py
diff --git a/airflow/api_fastapi/core_api/serializers/dag_stats.py
b/airflow/api_fastapi/core_api/datamodels/dag_stats.py
similarity index 100%
rename from airflow/api_fastapi/core_api/serializers/dag_stats.py
rename to airflow/api_fastapi/core_api/datamodels/dag_stats.py
diff --git a/airflow/api_fastapi/core_api/serializers/dag_warning.py
b/airflow/api_fastapi/core_api/datamodels/dag_warning.py
similarity index 100%
rename from airflow/api_fastapi/core_api/serializers/dag_warning.py
rename to airflow/api_fastapi/core_api/datamodels/dag_warning.py
diff --git a/airflow/api_fastapi/core_api/serializers/dags.py
b/airflow/api_fastapi/core_api/datamodels/dags.py
similarity index 100%
rename from airflow/api_fastapi/core_api/serializers/dags.py
rename to airflow/api_fastapi/core_api/datamodels/dags.py
diff --git a/airflow/api_fastapi/core_api/serializers/event_logs.py
b/airflow/api_fastapi/core_api/datamodels/event_logs.py
similarity index 100%
rename from airflow/api_fastapi/core_api/serializers/event_logs.py
rename to airflow/api_fastapi/core_api/datamodels/event_logs.py
diff --git a/airflow/api_fastapi/core_api/serializers/import_error.py
b/airflow/api_fastapi/core_api/datamodels/import_error.py
similarity index 100%
rename from airflow/api_fastapi/core_api/serializers/import_error.py
rename to airflow/api_fastapi/core_api/datamodels/import_error.py
diff --git a/airflow/api_fastapi/core_api/serializers/job.py
b/airflow/api_fastapi/core_api/datamodels/job.py
similarity index 100%
rename from airflow/api_fastapi/core_api/serializers/job.py
rename to airflow/api_fastapi/core_api/datamodels/job.py
diff --git a/airflow/api_fastapi/core_api/serializers/monitor.py
b/airflow/api_fastapi/core_api/datamodels/monitor.py
similarity index 100%
rename from airflow/api_fastapi/core_api/serializers/monitor.py
rename to airflow/api_fastapi/core_api/datamodels/monitor.py
diff --git a/airflow/api_fastapi/core_api/serializers/plugins.py
b/airflow/api_fastapi/core_api/datamodels/plugins.py
similarity index 100%
rename from airflow/api_fastapi/core_api/serializers/plugins.py
rename to airflow/api_fastapi/core_api/datamodels/plugins.py
diff --git a/airflow/api_fastapi/core_api/serializers/pools.py
b/airflow/api_fastapi/core_api/datamodels/pools.py
similarity index 100%
rename from airflow/api_fastapi/core_api/serializers/pools.py
rename to airflow/api_fastapi/core_api/datamodels/pools.py
diff --git a/airflow/api_fastapi/core_api/serializers/providers.py
b/airflow/api_fastapi/core_api/datamodels/providers.py
similarity index 100%
rename from airflow/api_fastapi/core_api/serializers/providers.py
rename to airflow/api_fastapi/core_api/datamodels/providers.py
diff --git a/airflow/api_fastapi/core_api/serializers/task_instances.py
b/airflow/api_fastapi/core_api/datamodels/task_instances.py
similarity index 94%
rename from airflow/api_fastapi/core_api/serializers/task_instances.py
rename to airflow/api_fastapi/core_api/datamodels/task_instances.py
index 47a48c88b76..00910bce1c8 100644
--- a/airflow/api_fastapi/core_api/serializers/task_instances.py
+++ b/airflow/api_fastapi/core_api/datamodels/task_instances.py
@@ -21,8 +21,8 @@ from typing import Annotated
from pydantic import AliasPath, BaseModel, BeforeValidator, ConfigDict, Field
-from airflow.api_fastapi.core_api.serializers.job import JobResponse
-from airflow.api_fastapi.core_api.serializers.trigger import TriggerResponse
+from airflow.api_fastapi.core_api.datamodels.job import JobResponse
+from airflow.api_fastapi.core_api.datamodels.trigger import TriggerResponse
from airflow.utils.state import TaskInstanceState
diff --git a/airflow/api_fastapi/core_api/serializers/trigger.py
b/airflow/api_fastapi/core_api/datamodels/trigger.py
similarity index 100%
rename from airflow/api_fastapi/core_api/serializers/trigger.py
rename to airflow/api_fastapi/core_api/datamodels/trigger.py
diff --git a/airflow/api_fastapi/core_api/serializers/ui/__init__.py
b/airflow/api_fastapi/core_api/datamodels/ui/__init__.py
similarity index 100%
rename from airflow/api_fastapi/core_api/serializers/ui/__init__.py
rename to airflow/api_fastapi/core_api/datamodels/ui/__init__.py
diff --git a/airflow/api_fastapi/core_api/serializers/ui/dags.py
b/airflow/api_fastapi/core_api/datamodels/ui/dags.py
similarity index 89%
rename from airflow/api_fastapi/core_api/serializers/ui/dags.py
rename to airflow/api_fastapi/core_api/datamodels/ui/dags.py
index f985ce99a97..8c7af4dbf46 100644
--- a/airflow/api_fastapi/core_api/serializers/ui/dags.py
+++ b/airflow/api_fastapi/core_api/datamodels/ui/dags.py
@@ -19,8 +19,8 @@ from __future__ import annotations
from pydantic import BaseModel
-from airflow.api_fastapi.core_api.serializers.dag_run import DAGRunResponse
-from airflow.api_fastapi.core_api.serializers.dags import DAGResponse
+from airflow.api_fastapi.core_api.datamodels.dag_run import DAGRunResponse
+from airflow.api_fastapi.core_api.datamodels.dags import DAGResponse
class DAGWithLatestDagRunsResponse(DAGResponse):
diff --git a/airflow/api_fastapi/core_api/serializers/ui/dashboard.py
b/airflow/api_fastapi/core_api/datamodels/ui/dashboard.py
similarity index 100%
rename from airflow/api_fastapi/core_api/serializers/ui/dashboard.py
rename to airflow/api_fastapi/core_api/datamodels/ui/dashboard.py
diff --git a/airflow/api_fastapi/core_api/serializers/variables.py
b/airflow/api_fastapi/core_api/datamodels/variables.py
similarity index 100%
rename from airflow/api_fastapi/core_api/serializers/variables.py
rename to airflow/api_fastapi/core_api/datamodels/variables.py
diff --git a/airflow/api_fastapi/core_api/serializers/version.py
b/airflow/api_fastapi/core_api/datamodels/version.py
similarity index 100%
rename from airflow/api_fastapi/core_api/serializers/version.py
rename to airflow/api_fastapi/core_api/datamodels/version.py
diff --git a/airflow/api_fastapi/core_api/openapi/v1-generated.yaml
b/airflow/api_fastapi/core_api/openapi/v1-generated.yaml
index 9b52f3bc003..a4e270ed7e6 100644
--- a/airflow/api_fastapi/core_api/openapi/v1-generated.yaml
+++ b/airflow/api_fastapi/core_api/openapi/v1-generated.yaml
@@ -4336,7 +4336,7 @@ components:
dag_run_states:
$ref: '#/components/schemas/DAGRunStates'
task_instance_states:
- $ref:
'#/components/schemas/airflow__api_fastapi__core_api__serializers__ui__dashboard__TaskInstanceState'
+ $ref:
'#/components/schemas/airflow__api_fastapi__core_api__datamodels__ui__dashboard__TaskInstanceState'
type: object
required:
- dag_run_types
@@ -5056,7 +5056,7 @@ components:
- git_version
title: VersionInfo
description: Version information serializer for responses.
-
airflow__api_fastapi__core_api__serializers__ui__dashboard__TaskInstanceState:
+
airflow__api_fastapi__core_api__datamodels__ui__dashboard__TaskInstanceState:
properties:
no_status:
type: integer
diff --git a/airflow/api_fastapi/core_api/routes/public/backfills.py
b/airflow/api_fastapi/core_api/routes/public/backfills.py
index 3b61e0fedb4..eec98ffd2b2 100644
--- a/airflow/api_fastapi/core_api/routes/public/backfills.py
+++ b/airflow/api_fastapi/core_api/routes/public/backfills.py
@@ -24,14 +24,14 @@ from typing_extensions import Annotated
from airflow.api_fastapi.common.db.common import get_session, paginated_select
from airflow.api_fastapi.common.parameters import QueryLimit, QueryOffset,
SortParam
from airflow.api_fastapi.common.router import AirflowRouter
-from airflow.api_fastapi.core_api.openapi.exceptions import (
- create_openapi_http_exception_doc,
-)
-from airflow.api_fastapi.core_api.serializers.backfills import (
+from airflow.api_fastapi.core_api.datamodels.backfills import (
BackfillCollectionResponse,
BackfillPostBody,
BackfillResponse,
)
+from airflow.api_fastapi.core_api.openapi.exceptions import (
+ create_openapi_http_exception_doc,
+)
from airflow.models import DagRun
from airflow.models.backfill import (
AlreadyRunningBackfill,
diff --git a/airflow/api_fastapi/core_api/routes/public/connections.py
b/airflow/api_fastapi/core_api/routes/public/connections.py
index fd378601385..a963bd1b43f 100644
--- a/airflow/api_fastapi/core_api/routes/public/connections.py
+++ b/airflow/api_fastapi/core_api/routes/public/connections.py
@@ -24,12 +24,12 @@ from typing_extensions import Annotated
from airflow.api_fastapi.common.db.common import get_session, paginated_select
from airflow.api_fastapi.common.parameters import QueryLimit, QueryOffset,
SortParam
from airflow.api_fastapi.common.router import AirflowRouter
-from airflow.api_fastapi.core_api.openapi.exceptions import
create_openapi_http_exception_doc
-from airflow.api_fastapi.core_api.serializers.connections import (
+from airflow.api_fastapi.core_api.datamodels.connections import (
ConnectionBody,
ConnectionCollectionResponse,
ConnectionResponse,
)
+from airflow.api_fastapi.core_api.openapi.exceptions import
create_openapi_http_exception_doc
from airflow.models import Connection
from airflow.utils import helpers
diff --git a/airflow/api_fastapi/core_api/routes/public/dag_run.py
b/airflow/api_fastapi/core_api/routes/public/dag_run.py
index 7778d7778fa..d43fde9e340 100644
--- a/airflow/api_fastapi/core_api/routes/public/dag_run.py
+++ b/airflow/api_fastapi/core_api/routes/public/dag_run.py
@@ -29,12 +29,12 @@ from airflow.api.common.mark_tasks import (
)
from airflow.api_fastapi.common.db.common import get_session
from airflow.api_fastapi.common.router import AirflowRouter
-from airflow.api_fastapi.core_api.openapi.exceptions import
create_openapi_http_exception_doc
-from airflow.api_fastapi.core_api.serializers.dag_run import (
+from airflow.api_fastapi.core_api.datamodels.dag_run import (
DAGRunPatchBody,
DAGRunPatchStates,
DAGRunResponse,
)
+from airflow.api_fastapi.core_api.openapi.exceptions import
create_openapi_http_exception_doc
from airflow.models import DAG, DagRun
dag_run_router = AirflowRouter(tags=["DagRun"],
prefix="/dags/{dag_id}/dagRuns")
diff --git a/airflow/api_fastapi/core_api/routes/public/dag_sources.py
b/airflow/api_fastapi/core_api/routes/public/dag_sources.py
index 1d008e9ad2d..77b2522d79b 100644
--- a/airflow/api_fastapi/core_api/routes/public/dag_sources.py
+++ b/airflow/api_fastapi/core_api/routes/public/dag_sources.py
@@ -23,8 +23,8 @@ from typing_extensions import Annotated
from airflow.api_fastapi.common.db.common import get_session
from airflow.api_fastapi.common.router import AirflowRouter
+from airflow.api_fastapi.core_api.datamodels.dag_sources import
DAGSourceResponse
from airflow.api_fastapi.core_api.openapi.exceptions import
create_openapi_http_exception_doc
-from airflow.api_fastapi.core_api.serializers.dag_sources import
DAGSourceResponse
from airflow.models.dagcode import DagCode
dag_sources_router = AirflowRouter(tags=["DagSource"], prefix="/dagSources")
diff --git a/airflow/api_fastapi/core_api/routes/public/dag_stats.py
b/airflow/api_fastapi/core_api/routes/public/dag_stats.py
index 5d773703224..53d30a6082c 100644
--- a/airflow/api_fastapi/core_api/routes/public/dag_stats.py
+++ b/airflow/api_fastapi/core_api/routes/public/dag_stats.py
@@ -28,12 +28,12 @@ from airflow.api_fastapi.common.db.common import (
from airflow.api_fastapi.common.db.dag_runs import
dagruns_select_with_state_count
from airflow.api_fastapi.common.parameters import QueryDagIdsFilter
from airflow.api_fastapi.common.router import AirflowRouter
-from airflow.api_fastapi.core_api.openapi.exceptions import
create_openapi_http_exception_doc
-from airflow.api_fastapi.core_api.serializers.dag_stats import (
+from airflow.api_fastapi.core_api.datamodels.dag_stats import (
DagStatsCollectionResponse,
DagStatsResponse,
DagStatsStateResponse,
)
+from airflow.api_fastapi.core_api.openapi.exceptions import
create_openapi_http_exception_doc
from airflow.utils.state import DagRunState
dag_stats_router = AirflowRouter(tags=["DagStats"], prefix="/dagStats")
diff --git a/airflow/api_fastapi/core_api/routes/public/dag_warning.py
b/airflow/api_fastapi/core_api/routes/public/dag_warning.py
index a981fd9ed58..0d990cb0272 100644
--- a/airflow/api_fastapi/core_api/routes/public/dag_warning.py
+++ b/airflow/api_fastapi/core_api/routes/public/dag_warning.py
@@ -34,11 +34,11 @@ from airflow.api_fastapi.common.parameters import (
SortParam,
)
from airflow.api_fastapi.common.router import AirflowRouter
-from airflow.api_fastapi.core_api.openapi.exceptions import
create_openapi_http_exception_doc
-from airflow.api_fastapi.core_api.serializers.dag_warning import (
+from airflow.api_fastapi.core_api.datamodels.dag_warning import (
DAGWarningCollectionResponse,
DAGWarningResponse,
)
+from airflow.api_fastapi.core_api.openapi.exceptions import
create_openapi_http_exception_doc
from airflow.models import DagWarning
dag_warning_router = AirflowRouter(tags=["DagWarning"])
diff --git a/airflow/api_fastapi/core_api/routes/public/dags.py
b/airflow/api_fastapi/core_api/routes/public/dags.py
index 9a9583ed22a..b5690bd3836 100644
--- a/airflow/api_fastapi/core_api/routes/public/dags.py
+++ b/airflow/api_fastapi/core_api/routes/public/dags.py
@@ -43,14 +43,14 @@ from airflow.api_fastapi.common.parameters import (
SortParam,
)
from airflow.api_fastapi.common.router import AirflowRouter
-from airflow.api_fastapi.core_api.openapi.exceptions import
create_openapi_http_exception_doc
-from airflow.api_fastapi.core_api.serializers.dags import (
+from airflow.api_fastapi.core_api.datamodels.dags import (
DAGCollectionResponse,
DAGDetailsResponse,
DAGPatchBody,
DAGResponse,
DAGTagCollectionResponse,
)
+from airflow.api_fastapi.core_api.openapi.exceptions import
create_openapi_http_exception_doc
from airflow.exceptions import AirflowException, DagNotFound
from airflow.models import DAG, DagModel, DagTag
diff --git a/airflow/api_fastapi/core_api/routes/public/event_logs.py
b/airflow/api_fastapi/core_api/routes/public/event_logs.py
index 510846b67c4..1e63167c00d 100644
--- a/airflow/api_fastapi/core_api/routes/public/event_logs.py
+++ b/airflow/api_fastapi/core_api/routes/public/event_logs.py
@@ -33,11 +33,11 @@ from airflow.api_fastapi.common.parameters import (
SortParam,
)
from airflow.api_fastapi.common.router import AirflowRouter
-from airflow.api_fastapi.core_api.openapi.exceptions import
create_openapi_http_exception_doc
-from airflow.api_fastapi.core_api.serializers.event_logs import (
+from airflow.api_fastapi.core_api.datamodels.event_logs import (
EventLogCollectionResponse,
EventLogResponse,
)
+from airflow.api_fastapi.core_api.openapi.exceptions import
create_openapi_http_exception_doc
from airflow.models import Log
event_logs_router = AirflowRouter(tags=["Event Log"], prefix="/eventLogs")
diff --git a/airflow/api_fastapi/core_api/routes/public/import_error.py
b/airflow/api_fastapi/core_api/routes/public/import_error.py
index a067a7608fe..a978cf985c8 100644
--- a/airflow/api_fastapi/core_api/routes/public/import_error.py
+++ b/airflow/api_fastapi/core_api/routes/public/import_error.py
@@ -31,11 +31,11 @@ from airflow.api_fastapi.common.parameters import (
SortParam,
)
from airflow.api_fastapi.common.router import AirflowRouter
-from airflow.api_fastapi.core_api.openapi.exceptions import
create_openapi_http_exception_doc
-from airflow.api_fastapi.core_api.serializers.import_error import (
+from airflow.api_fastapi.core_api.datamodels.import_error import (
ImportErrorCollectionResponse,
ImportErrorResponse,
)
+from airflow.api_fastapi.core_api.openapi.exceptions import
create_openapi_http_exception_doc
from airflow.models.errors import ParseImportError
import_error_router = AirflowRouter(tags=["Import Error"],
prefix="/importErrors")
diff --git a/airflow/api_fastapi/core_api/routes/public/monitor.py
b/airflow/api_fastapi/core_api/routes/public/monitor.py
index d855e7bdebf..38953a18b99 100644
--- a/airflow/api_fastapi/core_api/routes/public/monitor.py
+++ b/airflow/api_fastapi/core_api/routes/public/monitor.py
@@ -19,7 +19,7 @@ from __future__ import annotations
from airflow.api.common.airflow_health import get_airflow_health
from airflow.api_fastapi.common.router import AirflowRouter
-from airflow.api_fastapi.core_api.serializers.monitor import HealthInfoSchema
+from airflow.api_fastapi.core_api.datamodels.monitor import HealthInfoSchema
monitor_router = AirflowRouter(tags=["Monitor"], prefix="/monitor")
diff --git a/airflow/api_fastapi/core_api/routes/public/plugins.py
b/airflow/api_fastapi/core_api/routes/public/plugins.py
index 516344e9b3a..d0028b70250 100644
--- a/airflow/api_fastapi/core_api/routes/public/plugins.py
+++ b/airflow/api_fastapi/core_api/routes/public/plugins.py
@@ -19,7 +19,7 @@ from __future__ import annotations
from airflow.api_fastapi.common.parameters import QueryLimit, QueryOffset
from airflow.api_fastapi.common.router import AirflowRouter
-from airflow.api_fastapi.core_api.serializers.plugins import
PluginCollectionResponse, PluginResponse
+from airflow.api_fastapi.core_api.datamodels.plugins import
PluginCollectionResponse, PluginResponse
from airflow.plugins_manager import get_plugin_info
plugins_router = AirflowRouter(tags=["Plugin"], prefix="/plugins")
diff --git a/airflow/api_fastapi/core_api/routes/public/pools.py
b/airflow/api_fastapi/core_api/routes/public/pools.py
index 5b58c83d8aa..210b3d50096 100644
--- a/airflow/api_fastapi/core_api/routes/public/pools.py
+++ b/airflow/api_fastapi/core_api/routes/public/pools.py
@@ -26,14 +26,14 @@ from typing_extensions import Annotated
from airflow.api_fastapi.common.db.common import get_session, paginated_select
from airflow.api_fastapi.common.parameters import QueryLimit, QueryOffset,
SortParam
from airflow.api_fastapi.common.router import AirflowRouter
-from airflow.api_fastapi.core_api.openapi.exceptions import
create_openapi_http_exception_doc
-from airflow.api_fastapi.core_api.serializers.pools import (
+from airflow.api_fastapi.core_api.datamodels.pools import (
BasePool,
PoolCollectionResponse,
PoolPatchBody,
PoolPostBody,
PoolResponse,
)
+from airflow.api_fastapi.core_api.openapi.exceptions import
create_openapi_http_exception_doc
from airflow.models.pool import Pool
pools_router = AirflowRouter(tags=["Pool"], prefix="/pools")
diff --git a/airflow/api_fastapi/core_api/routes/public/providers.py
b/airflow/api_fastapi/core_api/routes/public/providers.py
index 0386404f420..45f3b9a7a1f 100644
--- a/airflow/api_fastapi/core_api/routes/public/providers.py
+++ b/airflow/api_fastapi/core_api/routes/public/providers.py
@@ -21,7 +21,7 @@ import re2
from airflow.api_fastapi.common.parameters import QueryLimit, QueryOffset
from airflow.api_fastapi.common.router import AirflowRouter
-from airflow.api_fastapi.core_api.serializers.providers import
ProviderCollectionResponse, ProviderResponse
+from airflow.api_fastapi.core_api.datamodels.providers import
ProviderCollectionResponse, ProviderResponse
from airflow.providers_manager import ProviderInfo, ProvidersManager
providers_router = AirflowRouter(tags=["Provider"], prefix="/providers")
diff --git a/airflow/api_fastapi/core_api/routes/public/task_instances.py
b/airflow/api_fastapi/core_api/routes/public/task_instances.py
index 9d74ed27311..6f89dc9ad97 100644
--- a/airflow/api_fastapi/core_api/routes/public/task_instances.py
+++ b/airflow/api_fastapi/core_api/routes/public/task_instances.py
@@ -36,12 +36,12 @@ from airflow.api_fastapi.common.parameters import (
float_range_filter_factory,
)
from airflow.api_fastapi.common.router import AirflowRouter
-from airflow.api_fastapi.core_api.openapi.exceptions import
create_openapi_http_exception_doc
-from airflow.api_fastapi.core_api.serializers.task_instances import (
+from airflow.api_fastapi.core_api.datamodels.task_instances import (
TaskDependencyCollectionResponse,
TaskInstanceCollectionResponse,
TaskInstanceResponse,
)
+from airflow.api_fastapi.core_api.openapi.exceptions import
create_openapi_http_exception_doc
from airflow.exceptions import TaskNotFound
from airflow.models.taskinstance import TaskInstance as TI
from airflow.ti_deps.dep_context import DepContext
diff --git a/airflow/api_fastapi/core_api/routes/public/variables.py
b/airflow/api_fastapi/core_api/routes/public/variables.py
index ac1be6e6edb..4cd8d46ef4f 100644
--- a/airflow/api_fastapi/core_api/routes/public/variables.py
+++ b/airflow/api_fastapi/core_api/routes/public/variables.py
@@ -24,12 +24,12 @@ from typing_extensions import Annotated
from airflow.api_fastapi.common.db.common import get_session, paginated_select
from airflow.api_fastapi.common.parameters import QueryLimit, QueryOffset,
SortParam
from airflow.api_fastapi.common.router import AirflowRouter
-from airflow.api_fastapi.core_api.openapi.exceptions import
create_openapi_http_exception_doc
-from airflow.api_fastapi.core_api.serializers.variables import (
+from airflow.api_fastapi.core_api.datamodels.variables import (
VariableBody,
VariableCollectionResponse,
VariableResponse,
)
+from airflow.api_fastapi.core_api.openapi.exceptions import
create_openapi_http_exception_doc
from airflow.models.variable import Variable
variables_router = AirflowRouter(tags=["Variable"], prefix="/variables")
diff --git a/airflow/api_fastapi/core_api/routes/public/version.py
b/airflow/api_fastapi/core_api/routes/public/version.py
index b2ca6fef6ae..a53fdb2029a 100644
--- a/airflow/api_fastapi/core_api/routes/public/version.py
+++ b/airflow/api_fastapi/core_api/routes/public/version.py
@@ -19,7 +19,7 @@ from __future__ import annotations
import airflow
from airflow.api_fastapi.common.router import AirflowRouter
-from airflow.api_fastapi.core_api.serializers.version import VersionInfo
+from airflow.api_fastapi.core_api.datamodels.version import VersionInfo
from airflow.utils.platform import get_airflow_git_version
version_router = AirflowRouter(tags=["Version"], prefix="/version")
diff --git a/airflow/api_fastapi/core_api/routes/ui/dags.py
b/airflow/api_fastapi/core_api/routes/ui/dags.py
index 14d0c72458d..ede151ecec2 100644
--- a/airflow/api_fastapi/core_api/routes/ui/dags.py
+++ b/airflow/api_fastapi/core_api/routes/ui/dags.py
@@ -38,9 +38,9 @@ from airflow.api_fastapi.common.parameters import (
QueryTagsFilter,
)
from airflow.api_fastapi.common.router import AirflowRouter
-from airflow.api_fastapi.core_api.serializers.dag_run import DAGRunResponse
-from airflow.api_fastapi.core_api.serializers.dags import DAGResponse
-from airflow.api_fastapi.core_api.serializers.ui.dags import (
+from airflow.api_fastapi.core_api.datamodels.dag_run import DAGRunResponse
+from airflow.api_fastapi.core_api.datamodels.dags import DAGResponse
+from airflow.api_fastapi.core_api.datamodels.ui.dags import (
DAGWithLatestDagRunsCollectionResponse,
DAGWithLatestDagRunsResponse,
)
diff --git a/airflow/api_fastapi/core_api/routes/ui/dashboard.py
b/airflow/api_fastapi/core_api/routes/ui/dashboard.py
index ada47f2fe85..bec6130c9e0 100644
--- a/airflow/api_fastapi/core_api/routes/ui/dashboard.py
+++ b/airflow/api_fastapi/core_api/routes/ui/dashboard.py
@@ -24,8 +24,8 @@ from sqlalchemy.orm import Session
from typing_extensions import Annotated
from airflow.api_fastapi.common.parameters import DateTimeQuery
+from airflow.api_fastapi.core_api.datamodels.ui.dashboard import
HistoricalMetricDataResponse
from airflow.api_fastapi.core_api.openapi.exceptions import
create_openapi_http_exception_doc
-from airflow.api_fastapi.core_api.serializers.ui.dashboard import
HistoricalMetricDataResponse
from airflow.models.dagrun import DagRun, DagRunType
from airflow.models.taskinstance import TaskInstance
from airflow.utils.state import DagRunState, TaskInstanceState
diff --git a/airflow/api_fastapi/execution_api/schemas.py
b/airflow/api_fastapi/execution_api/datamodels.py
similarity index 100%
rename from airflow/api_fastapi/execution_api/schemas.py
rename to airflow/api_fastapi/execution_api/datamodels.py
diff --git a/airflow/api_fastapi/execution_api/routes/connections.py
b/airflow/api_fastapi/execution_api/routes/connections.py
index c5f5e97542b..2f2c29daa8b 100644
--- a/airflow/api_fastapi/execution_api/routes/connections.py
+++ b/airflow/api_fastapi/execution_api/routes/connections.py
@@ -23,7 +23,7 @@ from fastapi import Depends, HTTPException, status
from typing_extensions import Annotated
from airflow.api_fastapi.common.router import AirflowRouter
-from airflow.api_fastapi.execution_api import schemas
+from airflow.api_fastapi.execution_api import datamodels
from airflow.exceptions import AirflowNotFoundException
from airflow.models.connection import Connection
@@ -37,9 +37,9 @@ connection_router = AirflowRouter(
log = logging.getLogger(__name__)
-def get_task_token() -> schemas.TIToken:
+def get_task_token() -> datamodels.TIToken:
"""TODO: Placeholder for task identity authentication. This should be
replaced with actual JWT decoding and validation."""
- return schemas.TIToken(ti_key="test_key")
+ return datamodels.TIToken(ti_key="test_key")
@connection_router.get(
@@ -51,8 +51,8 @@ def get_task_token() -> schemas.TIToken:
)
async def get_connection(
connection_id: str,
- token: Annotated[schemas.TIToken, Depends(get_task_token)],
-) -> schemas.ConnectionResponse:
+ token: Annotated[datamodels.TIToken, Depends(get_task_token)],
+) -> datamodels.ConnectionResponse:
"""Get an Airflow connection."""
if not has_connection_access(connection_id, token):
raise HTTPException(
@@ -72,10 +72,10 @@ async def get_connection(
"message": f"Connection with ID {connection_id} not found",
},
)
- return schemas.ConnectionResponse.model_validate(connection,
from_attributes=True)
+ return datamodels.ConnectionResponse.model_validate(connection,
from_attributes=True)
-def has_connection_access(connection_id: str, token: schemas.TIToken) -> bool:
+def has_connection_access(connection_id: str, token: datamodels.TIToken) ->
bool:
"""Check if the task has access to the connection."""
# TODO: Placeholder for actual implementation
diff --git a/airflow/api_fastapi/execution_api/routes/task_instance.py
b/airflow/api_fastapi/execution_api/routes/task_instance.py
index 8f6331f5a59..4612b0c0425 100644
--- a/airflow/api_fastapi/execution_api/routes/task_instance.py
+++ b/airflow/api_fastapi/execution_api/routes/task_instance.py
@@ -29,7 +29,7 @@ from typing_extensions import Annotated
from airflow.api_fastapi.common.db.common import get_session
from airflow.api_fastapi.common.router import AirflowRouter
-from airflow.api_fastapi.execution_api import schemas
+from airflow.api_fastapi.execution_api import datamodels
from airflow.models.taskinstance import TaskInstance as TI
from airflow.utils import timezone
from airflow.utils.state import State
@@ -58,14 +58,14 @@ log = logging.getLogger(__name__)
)
def ti_update_state(
task_instance_id: UUID,
- ti_patch_payload: Annotated[schemas.TIStateUpdate, Body()],
+ ti_patch_payload: Annotated[datamodels.TIStateUpdate, Body()],
session: Annotated[Session, Depends(get_session)],
):
"""
Update the state of a TaskInstance.
Not all state transitions are valid, and transitioning to some states
requires extra information to be
- passed along. (Check out the schemas for details, the rendered docs might
not reflect this accurately)
+ passed along. (Check out the datamodels for details, the rendered docs
might not reflect this accurately)
"""
# We only use UUID above for validation purposes
ti_id_str = str(task_instance_id)
@@ -88,7 +88,7 @@ def ti_update_state(
query = update(TI).where(TI.id == ti_id_str).values(data)
- if isinstance(ti_patch_payload, schemas.TIEnterRunningPayload):
+ if isinstance(ti_patch_payload, datamodels.TIEnterRunningPayload):
if previous_state != State.QUEUED:
log.warning(
"Can not start Task Instance ('%s') in invalid state: %s",
@@ -118,7 +118,7 @@ def ti_update_state(
pid=ti_patch_payload.pid,
state=State.RUNNING,
)
- elif isinstance(ti_patch_payload, schemas.TITerminalStatePayload):
+ elif isinstance(ti_patch_payload, datamodels.TITerminalStatePayload):
query = TI.duration_expression_update(ti_patch_payload.end_date,
query, session.bind)
# TODO: Replace this with FastAPI's Custom Exception handling:
@@ -146,7 +146,7 @@ def ti_update_state(
)
def ti_heartbeat(
task_instance_id: UUID,
- ti_payload: schemas.TIHeartbeatInfo,
+ ti_payload: datamodels.TIHeartbeatInfo,
session: Annotated[Session, Depends(get_session)],
):
"""Update the heartbeat of a TaskInstance to mark it as alive & still
running."""
diff --git a/airflow/ui/openapi-gen/requests/schemas.gen.ts
b/airflow/ui/openapi-gen/requests/schemas.gen.ts
index b8c43b7ac20..0e583e014f0 100644
--- a/airflow/ui/openapi-gen/requests/schemas.gen.ts
+++ b/airflow/ui/openapi-gen/requests/schemas.gen.ts
@@ -1911,7 +1911,7 @@ export const $HistoricalMetricDataResponse = {
$ref: "#/components/schemas/DAGRunStates",
},
task_instance_states: {
- $ref:
"#/components/schemas/airflow__api_fastapi__core_api__serializers__ui__dashboard__TaskInstanceState",
+ $ref:
"#/components/schemas/airflow__api_fastapi__core_api__datamodels__ui__dashboard__TaskInstanceState",
},
},
type: "object",
@@ -3000,7 +3000,7 @@ export const $VersionInfo = {
description: "Version information serializer for responses.",
} as const;
-export const
$airflow__api_fastapi__core_api__serializers__ui__dashboard__TaskInstanceState =
+export const
$airflow__api_fastapi__core_api__datamodels__ui__dashboard__TaskInstanceState =
{
properties: {
no_status: {
diff --git a/airflow/ui/openapi-gen/requests/types.gen.ts
b/airflow/ui/openapi-gen/requests/types.gen.ts
index 08f174e9b39..2b96ab7140a 100644
--- a/airflow/ui/openapi-gen/requests/types.gen.ts
+++ b/airflow/ui/openapi-gen/requests/types.gen.ts
@@ -454,7 +454,7 @@ export type HealthInfoSchema = {
export type HistoricalMetricDataResponse = {
dag_run_types: DAGRunTypes;
dag_run_states: DAGRunStates;
- task_instance_states:
airflow__api_fastapi__core_api__serializers__ui__dashboard__TaskInstanceState;
+ task_instance_states:
airflow__api_fastapi__core_api__datamodels__ui__dashboard__TaskInstanceState;
};
/**
@@ -715,7 +715,7 @@ export type VersionInfo = {
/**
* TaskInstance serializer for responses.
*/
-export type
airflow__api_fastapi__core_api__serializers__ui__dashboard__TaskInstanceState =
+export type
airflow__api_fastapi__core_api__datamodels__ui__dashboard__TaskInstanceState =
{
no_status: number;
removed: number;