Mercurial > hg > orthanc
comparison OrthancServer/OrthancRestApi/OrthancRestModalities.cpp @ 1819:84f0a118a72c worklists
new URI: /modalities/{id}/find-worklist
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 24 Nov 2015 17:20:23 +0100 |
parents | 1b1d5470233f |
children | b1291df2f780 |
comparison
equal
deleted
inserted
replaced
1818:1065401501fb | 1819:84f0a118a72c |
---|---|
863 Configuration::RemovePeer(call.GetUriComponent("id", "")); | 863 Configuration::RemovePeer(call.GetUriComponent("id", "")); |
864 call.GetOutput().AnswerBuffer("", "text/plain"); | 864 call.GetOutput().AnswerBuffer("", "text/plain"); |
865 } | 865 } |
866 | 866 |
867 | 867 |
868 static void DicomFindWorklist(RestApiPostCall& call) | |
869 { | |
870 ServerContext& context = OrthancRestApi::GetContext(call); | |
871 | |
872 Json::Value json; | |
873 if (call.ParseJsonRequest(json)) | |
874 { | |
875 const std::string& localAet = context.GetDefaultLocalApplicationEntityTitle(); | |
876 RemoteModalityParameters remote = Configuration::GetModalityUsingSymbolicName(call.GetUriComponent("id", "")); | |
877 | |
878 std::auto_ptr<ParsedDicomFile> query(ParsedDicomFile::CreateFromJson(json, static_cast<DicomFromJsonFlags>(0))); | |
879 | |
880 DicomFindAnswers answers; | |
881 | |
882 { | |
883 ReusableDicomUserConnection::Locker locker(context.GetReusableDicomUserConnection(), localAet, remote); | |
884 locker.GetConnection().FindWorklist(answers, *query); | |
885 } | |
886 | |
887 Json::Value result; | |
888 answers.ToJson(result, true); | |
889 call.GetOutput().AnswerJson(result); | |
890 } | |
891 } | |
892 | |
893 | |
868 void OrthancRestApi::RegisterModalities() | 894 void OrthancRestApi::RegisterModalities() |
869 { | 895 { |
870 Register("/modalities", ListModalities); | 896 Register("/modalities", ListModalities); |
871 Register("/modalities/{id}", ListModalityOperations); | 897 Register("/modalities/{id}", ListModalityOperations); |
872 Register("/modalities/{id}", UpdateModality); | 898 Register("/modalities/{id}", UpdateModality); |
896 Register("/peers", ListPeers); | 922 Register("/peers", ListPeers); |
897 Register("/peers/{id}", ListPeerOperations); | 923 Register("/peers/{id}", ListPeerOperations); |
898 Register("/peers/{id}", UpdatePeer); | 924 Register("/peers/{id}", UpdatePeer); |
899 Register("/peers/{id}", DeletePeer); | 925 Register("/peers/{id}", DeletePeer); |
900 Register("/peers/{id}/store", PeerStore); | 926 Register("/peers/{id}/store", PeerStore); |
927 | |
928 Register("/modalities/{id}/find-worklist", DicomFindWorklist); | |
901 } | 929 } |
902 } | 930 } |