1919)
2020from database .model .concept .aiod_entry import EntryStatus , AIoDEntryORM
2121
22- from sqlalchemy import or_
23-
2422
2523def create (url_prefix : str ) -> APIRouter :
2624 router = APIRouter ()
@@ -72,13 +70,13 @@ def _get_single_submission(
7270) -> Submission | None :
7371 with DbSession () as session :
7472 has_review = select (1 ).where (Submission .identifier == Review .submission_identifier ).exists ()
75- query = select (Submission ).where (~ has_review )
73+ submissions = select (Submission ).where (~ has_review )
7674 if which == ListMode .NEWEST :
77- query = query .order_by (Submission .request_date .desc ()) # type: ignore[attr-defined]
75+ submissions = submissions .order_by (Submission .request_date .desc ()) # type: ignore[attr-defined]
7876 if from_requestee is not None :
79- query = query .where (Submission .requestee_identifier == from_requestee )
77+ submissions = submissions .where (Submission .requestee_identifier == from_requestee )
8078
81- return session .scalars (query ).first ()
79+ return session .scalars (submissions ).first ()
8280
8381
8482def _get_submissions_by_state (
@@ -116,8 +114,7 @@ def get_submission(
116114 user : KeycloakUser = Depends (get_user_or_raise ),
117115 session : Session = Depends (get_session ),
118116) -> Submission :
119- query = select (Submission ).where (Submission .identifier == identifier )
120- submission = session .scalars (query ).first ()
117+ submission = session .get (Submission , identifier )
121118 if not submission :
122119 raise HTTPException (
123120 status_code = HTTPStatus .NOT_FOUND ,
@@ -184,13 +181,13 @@ def retract_submission(
184181 user : KeycloakUser = Depends (get_user_or_raise ),
185182):
186183 with DbSession () as session :
187- current_request = session .get (Submission , submission_identifier )
188- if not user_can_administer (user , current_request .asset .aiod_entry ):
184+ submission = session .get (Submission , submission_identifier )
185+ if not user_can_administer (user , submission .asset .aiod_entry ):
189186 # Could choose to instead give same error as if resource does not exist.
190- msg = f"You do not have permission to retract { current_request .asset_type } { current_request .asset .identifier } ."
187+ msg = f"You do not have permission to retract { submission .asset_type } { submission .asset .identifier } ."
191188 raise HTTPException (status_code = status .HTTP_403_FORBIDDEN , detail = msg )
192189
193- if current_request is None or not current_request .is_pending :
190+ if submission is None or not submission .is_pending :
194191 raise HTTPException (
195192 status_code = status .HTTP_400_BAD_REQUEST ,
196193 detail = "Cannot retract this asset, as it is not under review." ,
@@ -199,13 +196,13 @@ def retract_submission(
199196 retraction = Review (
200197 decision = Decision .RETRACTED ,
201198 reviewer_identifier = user ._subject_identifier ,
202- submission_identifier = current_request .identifier ,
199+ submission_identifier = submission .identifier ,
203200 )
204- current_request .asset .aiod_entry .status = EntryStatus .DRAFT
201+ submission .asset .aiod_entry .status = EntryStatus .DRAFT
205202 session .add (retraction )
206203 session .commit ()
207204 return {
208205 "review_identifier" : retraction .identifier ,
209- "submission_identifier" : current_request .identifier ,
206+ "submission_identifier" : submission .identifier ,
210207 "decision" : retraction .decision ,
211208 }
0 commit comments