Mercurial > hg > orthanc
comparison OrthancServer/Sources/OrthancRestApi/OrthancRestModalities.cpp @ 4338:1263e727d048
give access to the configuration of one single peer or modality
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 03 Dec 2020 10:43:31 +0100 |
parents | 0923247e69f6 |
children | fc5caed6f940 |
comparison
equal
deleted
inserted
replaced
4337:7707fa761b71 | 4338:1263e727d048 |
---|---|
1198 throw OrthancException(ErrorCode_UnknownResource, | 1198 throw OrthancException(ErrorCode_UnknownResource, |
1199 "No peer with symbolic name: " + remote); | 1199 "No peer with symbolic name: " + remote); |
1200 } | 1200 } |
1201 } | 1201 } |
1202 | 1202 |
1203 static void GetPeerConfiguration(RestApiGetCall& call) | |
1204 { | |
1205 OrthancConfiguration::ReaderLock lock; | |
1206 const std::string peer = call.GetUriComponent("id", ""); | |
1207 | |
1208 WebServiceParameters info; | |
1209 if (lock.GetConfiguration().LookupOrthancPeer(info, peer)) | |
1210 { | |
1211 Json::Value answer; | |
1212 info.FormatPublic(answer); | |
1213 call.GetOutput().AnswerJson(answer); | |
1214 } | |
1215 else | |
1216 { | |
1217 throw OrthancException(ErrorCode_UnknownResource, | |
1218 "No peer with symbolic name: " + peer); | |
1219 } | |
1220 } | |
1221 | |
1203 // DICOM bridge ------------------------------------------------------------- | 1222 // DICOM bridge ------------------------------------------------------------- |
1204 | 1223 |
1205 static bool IsExistingModality(const OrthancRestApi::SetOfStrings& modalities, | 1224 static bool IsExistingModality(const OrthancRestApi::SetOfStrings& modalities, |
1206 const std::string& id) | 1225 const std::string& id) |
1207 { | 1226 { |
1289 } | 1308 } |
1290 | 1309 |
1291 context.SignalUpdatedModalities(); | 1310 context.SignalUpdatedModalities(); |
1292 | 1311 |
1293 call.GetOutput().AnswerBuffer("", MimeType_PlainText); | 1312 call.GetOutput().AnswerBuffer("", MimeType_PlainText); |
1313 } | |
1314 | |
1315 | |
1316 static void GetModalityConfiguration(RestApiGetCall& call) | |
1317 { | |
1318 const std::string modality = call.GetUriComponent("id", ""); | |
1319 | |
1320 Json::Value answer; | |
1321 | |
1322 { | |
1323 OrthancConfiguration::ReaderLock lock; | |
1324 lock.GetConfiguration().GetModalityUsingSymbolicName(modality).Serialize(answer, true /* force advanced format */); | |
1325 } | |
1326 | |
1327 call.GetOutput().AnswerJson(answer); | |
1294 } | 1328 } |
1295 | 1329 |
1296 | 1330 |
1297 static void UpdatePeer(RestApiPutCall& call) | 1331 static void UpdatePeer(RestApiPutCall& call) |
1298 { | 1332 { |
1614 Register("/modalities/{id}/find-instance", DicomFindInstance); | 1648 Register("/modalities/{id}/find-instance", DicomFindInstance); |
1615 Register("/modalities/{id}/find", DicomFind); | 1649 Register("/modalities/{id}/find", DicomFind); |
1616 Register("/modalities/{id}/store", DicomStore); | 1650 Register("/modalities/{id}/store", DicomStore); |
1617 Register("/modalities/{id}/store-straight", DicomStoreStraight); // New in 1.6.1 | 1651 Register("/modalities/{id}/store-straight", DicomStoreStraight); // New in 1.6.1 |
1618 Register("/modalities/{id}/move", DicomMove); | 1652 Register("/modalities/{id}/move", DicomMove); |
1653 Register("/modalities/{id}/configuration", GetModalityConfiguration); // New in 1.8.1 | |
1619 | 1654 |
1620 // For Query/Retrieve | 1655 // For Query/Retrieve |
1621 Register("/modalities/{id}/query", DicomQuery); | 1656 Register("/modalities/{id}/query", DicomQuery); |
1622 Register("/queries", ListQueries); | 1657 Register("/queries", ListQueries); |
1623 Register("/queries/{id}", DeleteQuery); | 1658 Register("/queries/{id}", DeleteQuery); |
1641 Register("/peers/{id}", ListPeerOperations); | 1676 Register("/peers/{id}", ListPeerOperations); |
1642 Register("/peers/{id}", UpdatePeer); | 1677 Register("/peers/{id}", UpdatePeer); |
1643 Register("/peers/{id}", DeletePeer); | 1678 Register("/peers/{id}", DeletePeer); |
1644 Register("/peers/{id}/store", PeerStore); | 1679 Register("/peers/{id}/store", PeerStore); |
1645 Register("/peers/{id}/system", PeerSystem); | 1680 Register("/peers/{id}/system", PeerSystem); |
1681 Register("/peers/{id}/configuration", GetPeerConfiguration); // New in 1.8.1 | |
1646 | 1682 |
1647 Register("/modalities/{id}/find-worklist", DicomFindWorklist); | 1683 Register("/modalities/{id}/find-worklist", DicomFindWorklist); |
1648 | 1684 |
1649 // Storage commitment | 1685 // Storage commitment |
1650 Register("/modalities/{id}/storage-commitment", StorageCommitmentScu); | 1686 Register("/modalities/{id}/storage-commitment", StorageCommitmentScu); |