Mercurial > hg > orthanc-authorization
changeset 206:49fcefaf4211
Now handling /tools/count-resources API route
| author | Alain Mazy <am@orthanc.team> |
|---|---|
| date | Mon, 20 Jan 2025 11:41:37 +0100 |
| parents | 3a279c1757a7 |
| children | 88ba174ff553 |
| files | NEWS Plugin/DefaultConfiguration.json Plugin/Plugin.cpp |
| diffstat | 3 files changed, 24 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/NEWS Fri Jan 17 12:40:59 2025 +0100 +++ b/NEWS Mon Jan 20 11:41:37 2025 +0100 @@ -3,6 +3,7 @@ * Fix forbidden access when the PatientID and StudyInstanceUID are identical. * Fix an error when WebServiceSettingsRolesUrl is not defined. +* Now handling /tools/count-resources API route. 2024-07-03 - v 0.8.1
--- a/Plugin/DefaultConfiguration.json Fri Jan 17 12:40:59 2025 +0100 +++ b/Plugin/DefaultConfiguration.json Mon Jan 20 11:41:37 2025 +0100 @@ -62,6 +62,7 @@ // elemental browsing in OE2 ["post", "^/tools/find$", "all|view"], + ["post", "^/tools/count-resources$", "all|view"], ["get" , "^/(patients|studies|series|instances)(|/)", "all|view"], ["get" , "^/statistics$", "all|view"], ["get" , "^/changes$", "all|view"],
--- a/Plugin/Plugin.cpp Fri Jan 17 12:40:59 2025 +0100 +++ b/Plugin/Plugin.cpp Mon Jan 20 11:41:37 2025 +0100 @@ -687,9 +687,12 @@ } } -void ToolsFind(OrthancPluginRestOutput* output, - const char* /*url*/, - const OrthancPluginHttpRequest* request) + + +void ToolsFindOrCountResources(OrthancPluginRestOutput* output, + const char* /*url*/, + const OrthancPluginHttpRequest* request, + const char* nativeUrl) { OrthancPluginContext* context = OrthancPlugins::GetGlobalContext(); @@ -793,7 +796,7 @@ Json::Value result; - if (OrthancPlugins::RestApiPost(result, "/tools/find", query, false)) + if (OrthancPlugins::RestApiPost(result, nativeUrl, query, false)) { OrthancPlugins::AnswerJson(result, output); } @@ -816,6 +819,20 @@ } +void ToolsFind(OrthancPluginRestOutput* output, + const char* url, + const OrthancPluginHttpRequest* request) +{ + ToolsFindOrCountResources(output, url, request, "/tools/find"); +} + +void ToolsCountResources(OrthancPluginRestOutput* output, + const char* url, + const OrthancPluginHttpRequest* request) +{ + ToolsFindOrCountResources(output, url, request, "/tools/count-resources"); +} + void ToolsLabels(OrthancPluginRestOutput* output, const char* /*url*/, const OrthancPluginHttpRequest* request) @@ -1495,6 +1512,7 @@ { OrthancPlugins::RegisterRestCallback<GetUserProfile>("/auth/user/profile", true); OrthancPlugins::RegisterRestCallback<ToolsFind>("/tools/find", true); + OrthancPlugins::RegisterRestCallback<ToolsCountResources>("/tools/count-resources", true); OrthancPlugins::RegisterRestCallback<ToolsLabels>("/tools/labels", true); OrthancPlugins::RegisterRestCallback<AuthSettingsRoles>("/auth/settings/roles", true); OrthancPlugins::RegisterRestCallback<GetPermissionList>("/auth/settings/permissions", true);
