mik-laj commented on a change in pull request #9329:
URL: https://github.com/apache/airflow/pull/9329#discussion_r443198137



##########
File path: airflow/api_connexion/endpoints/pool_endpoint.py
##########
@@ -14,61 +14,91 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from flask import request
+from flask import Response, request
 from sqlalchemy import func
 
 from airflow.api_connexion import parameters
-from airflow.api_connexion.exceptions import NotFound
+from airflow.api_connexion.exceptions import AlreadyExists, NotFound
 from airflow.api_connexion.schemas.pool_schema import PoolCollection, 
pool_collection_schema, pool_schema
 from airflow.models.pool import Pool
 from airflow.utils.session import provide_session
 
 
-def delete_pool():
+@provide_session
+def delete_pool(pool_name: str, session) -> Response:
     """
     Delete a pool
     """
-    raise NotImplementedError("Not implemented yet.")
+    if session.query(Pool).filter(Pool.pool == pool_name).delete() == 0:
+        raise NotFound("Pool not found")
+    return Response(status=204)
 
 
 @provide_session
-def get_pool(pool_name, session):
+def get_pool(pool_name, session) -> Response:
     """
     Get a pool
     """
     pool_id = pool_name
     query = session.query(Pool)
     obj = query.filter(Pool.pool == pool_id).one_or_none()
-
     if obj is None:
         raise NotFound("Pool not found")
     return pool_schema.dump(obj)
 
 
 @provide_session
-def get_pools(session):
+def get_pools(session) -> Response:

Review comment:
       ```suggestion
   def get_pools(session):
   ```

##########
File path: airflow/api_connexion/endpoints/pool_endpoint.py
##########
@@ -14,61 +14,91 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-from flask import request
+from flask import Response, request
 from sqlalchemy import func
 
 from airflow.api_connexion import parameters
-from airflow.api_connexion.exceptions import NotFound
+from airflow.api_connexion.exceptions import AlreadyExists, NotFound
 from airflow.api_connexion.schemas.pool_schema import PoolCollection, 
pool_collection_schema, pool_schema
 from airflow.models.pool import Pool
 from airflow.utils.session import provide_session
 
 
-def delete_pool():
+@provide_session
+def delete_pool(pool_name: str, session) -> Response:
     """
     Delete a pool
     """
-    raise NotImplementedError("Not implemented yet.")
+    if session.query(Pool).filter(Pool.pool == pool_name).delete() == 0:
+        raise NotFound("Pool not found")
+    return Response(status=204)
 
 
 @provide_session
-def get_pool(pool_name, session):
+def get_pool(pool_name, session) -> Response:
     """
     Get a pool
     """
     pool_id = pool_name
     query = session.query(Pool)
     obj = query.filter(Pool.pool == pool_id).one_or_none()
-
     if obj is None:
         raise NotFound("Pool not found")
     return pool_schema.dump(obj)
 
 
 @provide_session
-def get_pools(session):
+def get_pools(session) -> Response:
     """
     Get all pools
     """
     offset = request.args.get(parameters.page_offset, 0)
     limit = min(int(request.args.get(parameters.page_limit, 100)), 100)
 
     total_entries = session.query(func.count(Pool.id)).scalar()
-    query = session.query(Pool).order_by(Pool.id).offset(offset).limit(limit)
+    query = 
session.query(Pool).order_by(Pool.id).offset(offset).limit(limit).all()
 
-    pools = query.all()
-    return pool_collection_schema.dump(PoolCollection(pools=pools, 
total_entries=total_entries)).data
+    return pool_collection_schema.dump(
+        PoolCollection(pools=query, total_entries=total_entries)
+    ).data
 
 
-def patch_pool():
+@provide_session
+def patch_pool(pool_name, session, update_mask=None) -> Response:

Review comment:
       ```suggestion
   def patch_pool(pool_name, session, update_mask=None):
   ```




----------------------------------------------------------------
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.

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


Reply via email to