Mercurial > hg > orthanc
comparison OrthancServer/Sources/OrthancRestApi/OrthancRestSystem.cpp @ 4950:3778a0433dd3 more-tags
new field 'MainDicomTags' in the /system response
author | Alain Mazy <am@osimis.io> |
---|---|
date | Mon, 21 Mar 2022 15:19:42 +0100 |
parents | 6eff25f70121 |
children | 1b76853e1797 |
comparison
equal
deleted
inserted
replaced
4944:f377d5643538 | 4950:3778a0433dd3 |
---|---|
45 | 45 |
46 static void ServeFavicon(RestApiGetCall& call) | 46 static void ServeFavicon(RestApiGetCall& call) |
47 { | 47 { |
48 call.GetOutput().Redirect("app/images/favicon.ico"); | 48 call.GetOutput().Redirect("app/images/favicon.ico"); |
49 } | 49 } |
50 | 50 |
51 static void GetMainDicomTagsConfiguration(Json::Value& result) | |
52 { | |
53 Json::Value v; | |
54 | |
55 FromDcmtkBridge::FormatListOfTags(v, DicomMap::GetMainDicomTags(ResourceType_Patient)); | |
56 result["Patient"] = v; | |
57 | |
58 FromDcmtkBridge::FormatListOfTags(v, DicomMap::GetMainDicomTags(ResourceType_Study)); | |
59 result["Study"] = v; | |
60 | |
61 FromDcmtkBridge::FormatListOfTags(v, DicomMap::GetMainDicomTags(ResourceType_Series)); | |
62 result["Series"] = v; | |
63 | |
64 FromDcmtkBridge::FormatListOfTags(v, DicomMap::GetMainDicomTags(ResourceType_Instance)); | |
65 result["Instance"] = v; | |
66 } | |
67 | |
51 static void GetSystemInformation(RestApiGetCall& call) | 68 static void GetSystemInformation(RestApiGetCall& call) |
52 { | 69 { |
53 static const char* const API_VERSION = "ApiVersion"; | 70 static const char* const API_VERSION = "ApiVersion"; |
54 static const char* const CHECK_REVISIONS = "CheckRevisions"; | 71 static const char* const CHECK_REVISIONS = "CheckRevisions"; |
55 static const char* const DATABASE_BACKEND_PLUGIN = "DatabaseBackendPlugin"; | 72 static const char* const DATABASE_BACKEND_PLUGIN = "DatabaseBackendPlugin"; |
60 static const char* const IS_HTTP_SERVER_SECURE = "IsHttpServerSecure"; | 77 static const char* const IS_HTTP_SERVER_SECURE = "IsHttpServerSecure"; |
61 static const char* const NAME = "Name"; | 78 static const char* const NAME = "Name"; |
62 static const char* const PLUGINS_ENABLED = "PluginsEnabled"; | 79 static const char* const PLUGINS_ENABLED = "PluginsEnabled"; |
63 static const char* const STORAGE_AREA_PLUGIN = "StorageAreaPlugin"; | 80 static const char* const STORAGE_AREA_PLUGIN = "StorageAreaPlugin"; |
64 static const char* const VERSION = "Version"; | 81 static const char* const VERSION = "Version"; |
82 static const char* const MAIN_DICOM_TAGS = "MainDicomTags"; | |
65 | 83 |
66 if (call.IsDocumentation()) | 84 if (call.IsDocumentation()) |
67 { | 85 { |
68 call.GetDocumentation() | 86 call.GetDocumentation() |
69 .SetTag("System") | 87 .SetTag("System") |
86 "The name of the Orthanc server, cf. the `Name` configuration option") | 104 "The name of the Orthanc server, cf. the `Name` configuration option") |
87 .SetAnswerField(PLUGINS_ENABLED, RestApiCallDocumentation::Type_Boolean, | 105 .SetAnswerField(PLUGINS_ENABLED, RestApiCallDocumentation::Type_Boolean, |
88 "Whether Orthanc was built with support for plugins") | 106 "Whether Orthanc was built with support for plugins") |
89 .SetAnswerField(CHECK_REVISIONS, RestApiCallDocumentation::Type_Boolean, | 107 .SetAnswerField(CHECK_REVISIONS, RestApiCallDocumentation::Type_Boolean, |
90 "Whether Orthanc handle revisions of metadata and attachments to deal with multiple writers (new in Orthanc 1.9.2)") | 108 "Whether Orthanc handle revisions of metadata and attachments to deal with multiple writers (new in Orthanc 1.9.2)") |
109 .SetAnswerField(MAIN_DICOM_TAGS, RestApiCallDocumentation::Type_JsonObject, | |
110 "The list of MainDicomTags saved in DB for each resource level (new in Orthanc 1.11.0)") | |
91 .SetHttpGetSample("https://demo.orthanc-server.com/system", true); | 111 .SetHttpGetSample("https://demo.orthanc-server.com/system", true); |
92 return; | 112 return; |
93 } | 113 } |
94 | 114 |
95 ServerContext& context = OrthancRestApi::GetContext(call); | 115 ServerContext& context = OrthancRestApi::GetContext(call); |
129 result[DATABASE_BACKEND_PLUGIN] = boost::filesystem::canonical(p).string(); | 149 result[DATABASE_BACKEND_PLUGIN] = boost::filesystem::canonical(p).string(); |
130 } | 150 } |
131 #else | 151 #else |
132 result[PLUGINS_ENABLED] = false; | 152 result[PLUGINS_ENABLED] = false; |
133 #endif | 153 #endif |
154 | |
155 result[MAIN_DICOM_TAGS] = Json::objectValue; | |
156 GetMainDicomTagsConfiguration(result[MAIN_DICOM_TAGS]); | |
134 | 157 |
135 call.GetOutput().AnswerJson(result); | 158 call.GetOutput().AnswerJson(result); |
136 } | 159 } |
137 | 160 |
138 static void GetStatistics(RestApiGetCall& call) | 161 static void GetStatistics(RestApiGetCall& call) |