From cf441987af1d88f85908c95a47ac141c92bd8dd0 Mon Sep 17 00:00:00 2001 From: allegroai <> Date: Tue, 5 Jan 2021 17:44:59 +0200 Subject: [PATCH] Add tasks.get_by_id_ex and models.get_by_id_ex --- apiserver/schema/services/models.conf | 4 ++++ apiserver/schema/services/tasks.conf | 4 ++++ apiserver/services/models.py | 12 ++++++++++++ apiserver/services/tasks.py | 18 ++++++++++++++++++ 4 files changed, 38 insertions(+) diff --git a/apiserver/schema/services/models.conf b/apiserver/schema/services/models.conf index 646c699..1de82d9 100644 --- a/apiserver/schema/services/models.conf +++ b/apiserver/schema/services/models.conf @@ -144,6 +144,10 @@ get_by_task_id { } } } +get_by_id_ex { + internal: true + "2.11": ${get_all_ex."2.1"} +} get_all_ex { internal: true "2.1": ${get_all."2.1"} diff --git a/apiserver/schema/services/tasks.conf b/apiserver/schema/services/tasks.conf index d088b7d..4fe276a 100644 --- a/apiserver/schema/services/tasks.conf +++ b/apiserver/schema/services/tasks.conf @@ -554,6 +554,10 @@ get_by_id { } } } +get_by_id_ex { + internal: true + "2.11": ${get_all_ex."2.1"} +} get_all_ex { internal: true "2.1": ${get_all."2.1"} diff --git a/apiserver/services/models.py b/apiserver/services/models.py index 0a3c6e2..aa2535f 100644 --- a/apiserver/services/models.py +++ b/apiserver/services/models.py @@ -96,6 +96,18 @@ def get_all_ex(call: APICall, company_id, _): call.result.data = {"models": models} +@endpoint("models.get_by_id_ex", required_fields=["id"]) +def get_by_id_ex(call: APICall, company_id, _): + conform_tag_fields(call, call.data) + with translate_errors_context(): + with TimingContext("mongo", "models_get_by_id_ex"): + models = Model.get_many_with_join( + company=company_id, query_dict=call.data, allow_public=True + ) + conform_output_tags(call, models) + call.result.data = {"models": models} + + @endpoint("models.get_all", required_fields=[]) def get_all(call: APICall, company_id, _): conform_tag_fields(call, call.data) diff --git a/apiserver/services/tasks.py b/apiserver/services/tasks.py index aaa8dc8..7659481 100644 --- a/apiserver/services/tasks.py +++ b/apiserver/services/tasks.py @@ -163,6 +163,24 @@ def get_all_ex(call: APICall, company_id, _): call.result.data = {"tasks": tasks} +@endpoint("tasks.get_by_id_ex", required_fields=["id"]) +def get_by_id_ex(call: APICall, company_id, _): + conform_tag_fields(call, call.data) + + escape_execution_parameters(call) + + with translate_errors_context(): + with TimingContext("mongo", "task_get_by_id_ex"): + tasks = Task.get_many_with_join( + company=company_id, + query_dict=call.data, + allow_public=True, + ) + + unprepare_from_saved(call, tasks) + call.result.data = {"tasks": tasks} + + @endpoint("tasks.get_all", required_fields=[]) def get_all(call: APICall, company_id, _): conform_tag_fields(call, call.data)