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)