Mercurial > hg > orthanc
comparison OrthancServer/OrthancRestApi/OrthancRestResources.cpp @ 1139:f167b672db94
/tools/lookup URI to map DICOM UIDs to Orthanc identifiers
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 10 Sep 2014 16:38:28 +0200 |
parents | 1701dcb6f554 |
children | 94c5f6623b3a |
comparison
equal
deleted
inserted
replaced
1138:4c4fdee093de | 1139:f167b672db94 |
---|---|
779 { | 779 { |
780 GetModuleInternal(call, ResourceType_Study, ResourceType_Patient); | 780 GetModuleInternal(call, ResourceType_Study, ResourceType_Patient); |
781 } | 781 } |
782 | 782 |
783 | 783 |
784 static void Lookup(RestApiPostCall& call) | |
785 { | |
786 typedef std::list< std::pair<ResourceType, std::string> > Resources; | |
787 | |
788 std::string tag = call.GetPostBody(); | |
789 Resources resources; | |
790 | |
791 OrthancRestApi::GetIndex(call).LookupTagValue(resources, tag); | |
792 | |
793 Json::Value result = Json::arrayValue; | |
794 | |
795 for (Resources::const_iterator it = resources.begin(); | |
796 it != resources.end(); it++) | |
797 { | |
798 ResourceType type = it->first; | |
799 const std::string& id = it->second; | |
800 | |
801 Json::Value item = Json::objectValue; | |
802 item["Type"] = EnumerationToString(type); | |
803 item["ID"] = id; | |
804 item["Path"] = GetBasePath(type, id); | |
805 | |
806 result.append(item); | |
807 } | |
808 | |
809 call.GetOutput().AnswerJson(result); | |
810 } | |
811 | |
812 | |
784 void OrthancRestApi::RegisterResources() | 813 void OrthancRestApi::RegisterResources() |
785 { | 814 { |
786 Register("/instances", ListResources<ResourceType_Instance>); | 815 Register("/instances", ListResources<ResourceType_Instance>); |
787 Register("/patients", ListResources<ResourceType_Patient>); | 816 Register("/patients", ListResources<ResourceType_Patient>); |
788 Register("/series", ListResources<ResourceType_Series>); | 817 Register("/series", ListResources<ResourceType_Series>); |
847 Register("/{resourceType}/{id}/attachments/{name}/md5", GetAttachmentMD5); | 876 Register("/{resourceType}/{id}/attachments/{name}/md5", GetAttachmentMD5); |
848 Register("/{resourceType}/{id}/attachments/{name}/size", GetAttachmentSize); | 877 Register("/{resourceType}/{id}/attachments/{name}/size", GetAttachmentSize); |
849 Register("/{resourceType}/{id}/attachments/{name}/verify-md5", VerifyAttachment); | 878 Register("/{resourceType}/{id}/attachments/{name}/verify-md5", VerifyAttachment); |
850 Register("/{resourceType}/{id}/attachments/{name}", UploadAttachment); | 879 Register("/{resourceType}/{id}/attachments/{name}", UploadAttachment); |
851 | 880 |
881 Register("/tools/lookup", Lookup); | |
882 | |
852 Register("/instances/{id}/content/*", GetRawContent); | 883 Register("/instances/{id}/content/*", GetRawContent); |
853 } | 884 } |
854 } | 885 } |