comparison OrthancServer/OrthancRestApi2.cpp @ 212:f276b175dcaf

delete resources
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 29 Nov 2012 10:13:49 +0100
parents b7aea293b965
children 4ce7fdcc8879
comparison
equal deleted inserted replaced
211:b7aea293b965 212:f276b175dcaf
78 Json::Value result; 78 Json::Value result;
79 context.GetIndex().GetAllUuids(result, resourceType); 79 context.GetIndex().GetAllUuids(result, resourceType);
80 call.GetOutput().AnswerJson(result); 80 call.GetOutput().AnswerJson(result);
81 } 81 }
82 82
83 template <enum ResourceType resourceType>
84 static void GetSingleResource(RestApi::GetCall& call)
85 {
86 RETRIEVE_CONTEXT(call);
87
88 Json::Value result;
89 if (context.GetIndex().LookupResource(result, call.GetUriComponent("id", ""), resourceType))
90 {
91 call.GetOutput().AnswerJson(result);
92 }
93 }
94
95 template <enum ResourceType resourceType>
96 static void DeleteSingleResource(RestApi::DeleteCall& call)
97 {
98 RETRIEVE_CONTEXT(call);
99
100 Json::Value result;
101 if (context.GetIndex().DeleteResource(result, call.GetUriComponent("id", ""), resourceType))
102 {
103 call.GetOutput().AnswerJson(result);
104 }
105 }
106
83 107
84 // Changes API -------------------------------------------------------------- 108 // Changes API --------------------------------------------------------------
85 109
86 static void GetChanges(RestApi::GetCall& call) 110 static void GetChanges(RestApi::GetCall& call)
87 { 111 {
151 175
152 Register("/instances", ListResources<ResourceType_Instance>); 176 Register("/instances", ListResources<ResourceType_Instance>);
153 Register("/patients", ListResources<ResourceType_Patient>); 177 Register("/patients", ListResources<ResourceType_Patient>);
154 Register("/series", ListResources<ResourceType_Series>); 178 Register("/series", ListResources<ResourceType_Series>);
155 Register("/studies", ListResources<ResourceType_Study>); 179 Register("/studies", ListResources<ResourceType_Study>);
180
181 Register("/instances/{id}", DeleteSingleResource<ResourceType_Instance>);
182 Register("/instances/{id}", GetSingleResource<ResourceType_Instance>);
183 Register("/patients/{id}", DeleteSingleResource<ResourceType_Patient>);
184 Register("/patients/{id}", GetSingleResource<ResourceType_Patient>);
185 Register("/series/{id}", DeleteSingleResource<ResourceType_Series>);
186 Register("/series/{id}", GetSingleResource<ResourceType_Series>);
187 Register("/studies/{id}", DeleteSingleResource<ResourceType_Study>);
188 Register("/studies/{id}", GetSingleResource<ResourceType_Study>);
156 } 189 }
157 } 190 }