From 2677ca1f69e3a0f7360b58a99d71bf8cbed36602 Mon Sep 17 00:00:00 2001 From: SteBaum Date: Mon, 22 Jan 2024 15:14:54 +0100 Subject: [PATCH] feat: added query get_operation_order --- tdp/queries.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/tdp/queries.py b/tdp/queries.py index 23a9bac9..8b04e469 100644 --- a/tdp/queries.py +++ b/tdp/queries.py @@ -504,3 +504,31 @@ def get_operation_records( raise Exception( f"Operation {operation_name} does not exist in deployment {deployment_id}." ) from e + + +def get_operation_order( + session: Session, deployment_id: int, operation_order: int +) -> OperationModel: + """Get an operation order. + + Args: + session: The database session. + deployment_id: The deployment ID. + operation_order: The operation order. + + Returns: + The matching operation record. + + Raises: + NoResultFound: If the operation order does not exist. + """ + try: + return ( + session.query(OperationModel) + .filter_by(deployment_id=deployment_id, operation_order=operation_order) + .one() + ) + except NoResultFound as e: + raise Exception( + f"Operation {operation_order} does not exist in deployment {deployment_id}." + ) from e