bugraoz93 commented on code in PR #50443:
URL: https://github.com/apache/airflow/pull/50443#discussion_r2083555500


##########
airflow-core/src/airflow/api_fastapi/core_api/services/public/task_instances.py:
##########
@@ -0,0 +1,170 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+from __future__ import annotations
+
+from fastapi import HTTPException, status
+from pydantic import ValidationError
+from pytest import Session
+from sqlalchemy import select
+
+from airflow.api_fastapi.core_api.datamodels.common import (
+    BulkActionNotOnExistence,
+    BulkActionResponse,
+    BulkBody,
+    BulkCreateAction,
+    BulkDeleteAction,
+    BulkUpdateAction,
+)
+from airflow.api_fastapi.core_api.datamodels.task_instances import 
BulkTaskInstanceBody
+from airflow.api_fastapi.core_api.services.public.common import BulkService
+from airflow.models.connection import Connection
+from airflow.models.taskinstance import TaskInstance
+
+
+def update_orm_from_pydantic(
+    orm_conn: Connection, pydantic_conn: BulkTaskInstanceBody, update_mask: 
list[str] | None = None

Review Comment:
   This method accepts a `Connection`, but `TaskInstance` is passed as 
`old_task_instance`. I think we should remove Connection here and as from 
imports in this file. This makes maybe `schema_` disappear 



##########
airflow-core/src/airflow/api_fastapi/core_api/services/public/task_instances.py:
##########
@@ -0,0 +1,170 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+from __future__ import annotations
+
+from fastapi import HTTPException, status
+from pydantic import ValidationError
+from pytest import Session
+from sqlalchemy import select
+
+from airflow.api_fastapi.core_api.datamodels.common import (
+    BulkActionNotOnExistence,
+    BulkActionResponse,
+    BulkBody,
+    BulkCreateAction,
+    BulkDeleteAction,
+    BulkUpdateAction,
+)
+from airflow.api_fastapi.core_api.datamodels.task_instances import 
BulkTaskInstanceBody
+from airflow.api_fastapi.core_api.services.public.common import BulkService
+from airflow.models.connection import Connection
+from airflow.models.taskinstance import TaskInstance
+
+
+def update_orm_from_pydantic(
+    orm_conn: Connection, pydantic_conn: BulkTaskInstanceBody, update_mask: 
list[str] | None = None

Review Comment:
   Why are these named as `_conn`? I am wondering why there is `schema_` in the 
fields since it doesn't even exist in the datamodel? 



##########
airflow-core/src/airflow/api_fastapi/core_api/services/public/task_instances.py:
##########
@@ -0,0 +1,170 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+from __future__ import annotations
+
+from fastapi import HTTPException, status
+from pydantic import ValidationError
+from pytest import Session
+from sqlalchemy import select
+
+from airflow.api_fastapi.core_api.datamodels.common import (
+    BulkActionNotOnExistence,
+    BulkActionResponse,
+    BulkBody,
+    BulkCreateAction,
+    BulkDeleteAction,
+    BulkUpdateAction,
+)
+from airflow.api_fastapi.core_api.datamodels.task_instances import 
BulkTaskInstanceBody
+from airflow.api_fastapi.core_api.services.public.common import BulkService
+from airflow.models.connection import Connection
+from airflow.models.taskinstance import TaskInstance
+
+
+def update_orm_from_pydantic(

Review Comment:
   Can we make this class method to make it more testable and use a class 
approach for the entire file?



##########
airflow-core/src/airflow/api_fastapi/core_api/services/public/task_instances.py:
##########
@@ -0,0 +1,170 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+from __future__ import annotations
+
+from fastapi import HTTPException, status
+from pydantic import ValidationError
+from pytest import Session
+from sqlalchemy import select
+
+from airflow.api_fastapi.core_api.datamodels.common import (
+    BulkActionNotOnExistence,
+    BulkActionResponse,
+    BulkBody,
+    BulkCreateAction,
+    BulkDeleteAction,
+    BulkUpdateAction,
+)
+from airflow.api_fastapi.core_api.datamodels.task_instances import 
BulkTaskInstanceBody
+from airflow.api_fastapi.core_api.services.public.common import BulkService
+from airflow.models.connection import Connection
+from airflow.models.taskinstance import TaskInstance
+
+
+def update_orm_from_pydantic(
+    orm_conn: Connection, pydantic_conn: BulkTaskInstanceBody, update_mask: 
list[str] | None = None

Review Comment:
   Maybe they don't need to match exactly but we can set their attributes 
without dumping similar to other objects.
   
https://github.com/apache/airflow/blob/5cc14d1fc401f0c269d55c9001d03909d4f78a91/airflow-core/src/airflow/api_fastapi/core_api/services/public/pools.py#L115-L116



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to