Mercurial > hg > orthanc
comparison OrthancServer/OrthancRestApi/OrthancRestModalities.cpp @ 2441:67c01a6f151e
added ?expand argument to /peers and /modalities routes
author | amazy |
---|---|
date | Tue, 05 Dec 2017 12:43:28 +0100 |
parents | 7284093111b0 |
children | 878b59270859 |
comparison
equal
deleted
inserted
replaced
2440:e11483be3f3b | 2441:67c01a6f151e |
---|---|
790 static void ListPeers(RestApiGetCall& call) | 790 static void ListPeers(RestApiGetCall& call) |
791 { | 791 { |
792 OrthancRestApi::SetOfStrings peers; | 792 OrthancRestApi::SetOfStrings peers; |
793 Configuration::GetListOfOrthancPeers(peers); | 793 Configuration::GetListOfOrthancPeers(peers); |
794 | 794 |
795 Json::Value result = Json::arrayValue; | 795 if (call.HasArgument("expand")) |
796 for (OrthancRestApi::SetOfStrings::const_iterator | 796 { |
797 it = peers.begin(); it != peers.end(); ++it) | 797 Json::Value result = Json::objectValue; |
798 { | 798 for (OrthancRestApi::SetOfStrings::const_iterator |
799 result.append(*it); | 799 it = peers.begin(); it != peers.end(); ++it) |
800 } | 800 { |
801 | 801 WebServiceParameters peer; |
802 call.GetOutput().AnswerJson(result); | 802 Configuration::GetOrthancPeer(peer, *it); |
803 | |
804 Json::Value jsonPeer = Json::objectValue; | |
805 // only return the minimum information to identify the destination, do not include "security" information like passwords | |
806 jsonPeer["Url"] = peer.GetUrl(); | |
807 if (!peer.GetUsername().empty()) | |
808 { | |
809 jsonPeer["Username"] = peer.GetUsername(); | |
810 } | |
811 result[*it] = jsonPeer; | |
812 } | |
813 call.GetOutput().AnswerJson(result); | |
814 } | |
815 else // if expand is not present, keep backward compatibility and return an array of peers | |
816 { | |
817 Json::Value result = Json::arrayValue; | |
818 for (OrthancRestApi::SetOfStrings::const_iterator | |
819 it = peers.begin(); it != peers.end(); ++it) | |
820 { | |
821 result.append(*it); | |
822 } | |
823 | |
824 call.GetOutput().AnswerJson(result); | |
825 } | |
803 } | 826 } |
804 | 827 |
805 static void ListPeerOperations(RestApiGetCall& call) | 828 static void ListPeerOperations(RestApiGetCall& call) |
806 { | 829 { |
807 OrthancRestApi::SetOfStrings peers; | 830 OrthancRestApi::SetOfStrings peers; |
870 static void ListModalities(RestApiGetCall& call) | 893 static void ListModalities(RestApiGetCall& call) |
871 { | 894 { |
872 OrthancRestApi::SetOfStrings modalities; | 895 OrthancRestApi::SetOfStrings modalities; |
873 Configuration::GetListOfDicomModalities(modalities); | 896 Configuration::GetListOfDicomModalities(modalities); |
874 | 897 |
875 Json::Value result = Json::arrayValue; | 898 if (call.HasArgument("expand")) |
876 for (OrthancRestApi::SetOfStrings::const_iterator | 899 { |
877 it = modalities.begin(); it != modalities.end(); ++it) | 900 Json::Value result = Json::objectValue; |
878 { | 901 for (OrthancRestApi::SetOfStrings::const_iterator |
879 result.append(*it); | 902 it = modalities.begin(); it != modalities.end(); ++it) |
880 } | 903 { |
881 | 904 Json::Value modality; |
882 call.GetOutput().AnswerJson(result); | 905 Configuration::GetModalityUsingSymbolicName(*it).ToJson(modality); |
906 | |
907 result[*it] = modality; | |
908 } | |
909 call.GetOutput().AnswerJson(result); | |
910 } | |
911 else // if expand is not present, keep backward compatibility and return an array of modalities ids | |
912 { | |
913 Json::Value result = Json::arrayValue; | |
914 for (OrthancRestApi::SetOfStrings::const_iterator | |
915 it = modalities.begin(); it != modalities.end(); ++it) | |
916 { | |
917 result.append(*it); | |
918 } | |
919 call.GetOutput().AnswerJson(result); | |
920 } | |
883 } | 921 } |
884 | 922 |
885 | 923 |
886 static void ListModalityOperations(RestApiGetCall& call) | 924 static void ListModalityOperations(RestApiGetCall& call) |
887 { | 925 { |