From f0a82307cc602ab47e5aef58505acf918cf4aa79 Mon Sep 17 00:00:00 2001 From: Tim Repke <repke@mcc-berlin.net> Date: Mon, 18 Dec 2023 15:41:22 +0100 Subject: [PATCH] assignment with nql --- server/api/routes/annotations.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/server/api/routes/annotations.py b/server/api/routes/annotations.py index 01c527d..f438593 100644 --- a/server/api/routes/annotations.py +++ b/server/api/routes/annotations.py @@ -73,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, @@ -389,6 +390,17 @@ 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