Mercurial > hg > orthanc
diff OrthancServer/OrthancRestApi/OrthancRestModalities.cpp @ 807:566a2fb3c1fb
update/delete modalities
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 07 May 2014 15:54:23 +0200 |
parents | 557575fd93e9 |
children | 2d9a000aa3a6 |
line wrap: on
line diff
--- a/OrthancServer/OrthancRestApi/OrthancRestModalities.cpp Wed May 07 15:22:28 2014 +0200 +++ b/OrthancServer/OrthancRestApi/OrthancRestModalities.cpp Wed May 07 15:54:23 2014 +0200 @@ -464,10 +464,32 @@ } + static void UpdateModality(RestApi::PutCall& call) + { + Json::Value json; + Json::Reader reader; + if (reader.parse(call.GetPutBody(), json)) + { + RemoteModalityParameters modality; + modality.FromJson(json); + modality.SetName(call.GetUriComponent("id", "")); + UpdateModality(modality); + } + } + + + static void DeleteModality(RestApi::DeleteCall& call) + { + RemoveModality(call.GetUriComponent("id", "")); + } + + void OrthancRestApi::RegisterModalities() { Register("/modalities", ListModalities); Register("/modalities/{id}", ListModalityOperations); + Register("/modalities/{id}", UpdateModality); + Register("/modalities/{id}", DeleteModality); Register("/modalities/{id}/find-patient", DicomFindPatient); Register("/modalities/{id}/find-study", DicomFindStudy); Register("/modalities/{id}/find-series", DicomFindSeries); @@ -478,5 +500,6 @@ Register("/peers", ListPeers); Register("/peers/{id}", ListPeerOperations); Register("/peers/{id}/store", PeerStore); + } }