From cdebe87e8de0303184f6f879cfbe678b9b0d1d59 Mon Sep 17 00:00:00 2001 From: Tim Repke <repke@mcc-berlin.net> Date: Mon, 19 Feb 2024 17:51:37 +0100 Subject: [PATCH] fix random_nql --- server/api/routes/annotations.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/server/api/routes/annotations.py b/server/api/routes/annotations.py index 86db45c..06da3d0 100644 --- a/server/api/routes/annotations.py +++ b/server/api/routes/annotations.py @@ -9,7 +9,8 @@ from nacsos_data.db.schemas import ( BotAnnotationMetaData, AssignmentScope, User, - Annotation, BotAnnotation + Annotation, + BotAnnotation ) from nacsos_data.models.annotations import ( AnnotationSchemeModel, @@ -72,6 +73,7 @@ from nacsos_data.util.annotations.validation import ( ) from nacsos_data.util.annotations.assignments.random import random_assignments from nacsos_data.util.annotations.assignments.random_exclusion import random_assignments_with_exclusion +from nacsos_data.util.annotations.assignments.random_nql import random_assignments_with_nql from server.api.errors import ( SaveFailedError, @@ -388,6 +390,18 @@ async def make_assignments(payload: MakeAssignmentsRequestModel, except ValueError as e: raise HTTPException(status_code=http_status.HTTP_400_BAD_REQUEST, detail=str(e)) + elif payload.config.config_type == 'random_nql': + try: + assignments = await random_assignments_with_nql( + assignment_scope_id=payload.scope_id, + annotation_scheme_id=payload.annotation_scheme_id, + project_id=permissions.permissions.project_id, + config=payload.config, # type: ignore[arg-type] # FIXME + engine=db_engine + ) + except ValueError as e: + raise HTTPException(status_code=http_status.HTTP_400_BAD_REQUEST, + detail=str(e)) else: raise HTTPException(status_code=http_status.HTTP_501_NOT_IMPLEMENTED, detail=f'Method "{payload.config.config_type}" is unknown.') -- GitLab