Mercurial > hg > orthanc
comparison OrthancServer/OrthancRestApi/OrthancRestArchive.cpp @ 2978:d0250d096acc
cont
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 06 Dec 2018 12:41:16 +0100 |
parents | cb5d75143da0 |
children | 4e43e67f8ecf |
comparison
equal
deleted
inserted
replaced
2977:ee0b2c5ad49b | 2978:d0250d096acc |
---|---|
209 SubmitJob(call.GetOutput(), context, job, 0 /* priority */, | 209 SubmitJob(call.GetOutput(), context, job, 0 /* priority */, |
210 true /* synchronous */, id + ".zip"); | 210 true /* synchronous */, id + ".zip"); |
211 } | 211 } |
212 | 212 |
213 | 213 |
214 template <bool IS_MEDIA, | |
215 bool DEFAULT_IS_EXTENDED /* only makes sense for media (i.e. not ZIP archives) */ > | |
216 static void CreateSinglePost(RestApiPostCall& call) | |
217 { | |
218 ServerContext& context = OrthancRestApi::GetContext(call); | |
219 | |
220 std::string id = call.GetUriComponent("id", ""); | |
221 | |
222 Json::Value body; | |
223 if (call.ParseJsonRequest(body)) | |
224 { | |
225 bool synchronous, extended; | |
226 int priority; | |
227 GetJobParameters(synchronous, extended, priority, body, DEFAULT_IS_EXTENDED); | |
228 | |
229 std::auto_ptr<ArchiveJob> job(new ArchiveJob(context, IS_MEDIA, extended)); | |
230 job->AddResource(id); | |
231 SubmitJob(call.GetOutput(), context, job, priority, synchronous, id + ".zip"); | |
232 } | |
233 else | |
234 { | |
235 throw OrthancException(ErrorCode_BadFileFormat); | |
236 } | |
237 } | |
238 | |
239 | |
214 void OrthancRestApi::RegisterArchive() | 240 void OrthancRestApi::RegisterArchive() |
215 { | 241 { |
216 Register("/patients/{id}/archive", | 242 Register("/patients/{id}/archive", |
217 CreateSingleGet<false /* ZIP */, false /* extended makes no sense in ZIP */>); | 243 CreateSingleGet<false /* ZIP */, false /* extended makes no sense in ZIP */>); |
218 Register("/studies/{id}/archive", | 244 Register("/studies/{id}/archive", |
219 CreateSingleGet<false /* ZIP */, false /* extended makes no sense in ZIP */>); | 245 CreateSingleGet<false /* ZIP */, false /* extended makes no sense in ZIP */>); |
220 Register("/series/{id}/archive", | 246 Register("/series/{id}/archive", |
221 CreateSingleGet<false /* ZIP */, false /* extended makes no sense in ZIP */>); | 247 CreateSingleGet<false /* ZIP */, false /* extended makes no sense in ZIP */>); |
222 | 248 |
249 Register("/patients/{id}/archive", | |
250 CreateSinglePost<false /* ZIP */, false /* extended makes no sense in ZIP */>); | |
251 Register("/studies/{id}/archive", | |
252 CreateSinglePost<false /* ZIP */, false /* extended makes no sense in ZIP */>); | |
253 Register("/series/{id}/archive", | |
254 CreateSinglePost<false /* ZIP */, false /* extended makes no sense in ZIP */>); | |
255 | |
223 Register("/patients/{id}/media", | 256 Register("/patients/{id}/media", |
224 CreateSingleGet<true /* media */, false /* not extended by default */>); | 257 CreateSingleGet<true /* media */, false /* not extended by default */>); |
225 Register("/studies/{id}/media", | 258 Register("/studies/{id}/media", |
226 CreateSingleGet<true /* media */, false /* not extended by default */>); | 259 CreateSingleGet<true /* media */, false /* not extended by default */>); |
227 Register("/series/{id}/media", | 260 Register("/series/{id}/media", |
228 CreateSingleGet<true /* media */, false /* not extended by default */>); | 261 CreateSingleGet<true /* media */, false /* not extended by default */>); |
229 | 262 |
263 Register("/patients/{id}/media", | |
264 CreateSinglePost<true /* media */, false /* not extended by default */>); | |
265 Register("/studies/{id}/media", | |
266 CreateSinglePost<true /* media */, false /* not extended by default */>); | |
267 Register("/series/{id}/media", | |
268 CreateSinglePost<true /* media */, false /* not extended by default */>); | |
269 | |
230 Register("/tools/create-archive", | 270 Register("/tools/create-archive", |
231 CreateBatch<false /* ZIP */, false /* extended makes no sense in ZIP */>); | 271 CreateBatch<false /* ZIP */, false /* extended makes no sense in ZIP */>); |
232 Register("/tools/create-media", | 272 Register("/tools/create-media", |
233 CreateBatch<true /* media */, false /* not extended by default */>); | 273 CreateBatch<true /* media */, false /* not extended by default */>); |
234 Register("/tools/create-media-extended", | 274 Register("/tools/create-media-extended", |