Mercurial > hg > orthanc
diff OrthancServer/Sources/OrthancConfiguration.cpp @ 4267:a20928107a90
REST API returns 404 error if deleting an inexistent peer or modality
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Sun, 01 Nov 2020 12:43:18 +0100 |
parents | 318c16cfccab |
children | 3af1d763763a |
line wrap: on
line diff
--- a/OrthancServer/Sources/OrthancConfiguration.cpp Fri Oct 30 12:00:16 2020 +0100 +++ b/OrthancServer/Sources/OrthancConfiguration.cpp Sun Nov 01 12:43:18 2020 +0100 @@ -830,8 +830,16 @@ void OrthancConfiguration::RemoveModality(const std::string& symbolicName) { - modalities_.erase(symbolicName); - SaveModalities(); + if (modalities_.find(symbolicName) == modalities_.end()) + { + throw OrthancException(ErrorCode_InexistentItem, + "Unknown DICOM modality with symbolic name: " + symbolicName); + } + else + { + modalities_.erase(symbolicName); + SaveModalities(); + } } @@ -849,8 +857,16 @@ void OrthancConfiguration::RemovePeer(const std::string& symbolicName) { - peers_.erase(symbolicName); - SavePeers(); + if (peers_.find(symbolicName) == peers_.end()) + { + throw OrthancException(ErrorCode_InexistentItem, + "Unknown Orthanc peer: " + symbolicName); + } + else + { + peers_.erase(symbolicName); + SavePeers(); + } }