Mercurial > hg > orthanc
comparison OrthancServer/OrthancRestApi.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 |
---|---|
347 if (!Toolbox::IsUuid(postData)) | 347 if (!Toolbox::IsUuid(postData)) |
348 { | 348 { |
349 // This is not a UUID, assume this is a DICOM instance | 349 // This is not a UUID, assume this is a DICOM instance |
350 c.Store(postData); | 350 c.Store(postData); |
351 } | 351 } |
352 else if (index_.GetSeries(found, postData)) | 352 else if (index_.LookupResource(found, postData, ResourceType_Series)) |
353 { | 353 { |
354 // The UUID corresponds to a series | 354 // The UUID corresponds to a series |
355 for (Json::Value::ArrayIndex i = 0; i < found["Instances"].size(); i++) | 355 for (Json::Value::ArrayIndex i = 0; i < found["Instances"].size(); i++) |
356 { | 356 { |
357 std::string uuid = found["Instances"][i].asString(); | 357 std::string uuid = found["Instances"][i].asString(); |
358 Json::Value instance(Json::objectValue); | 358 Json::Value instance(Json::objectValue); |
359 if (index_.GetInstance(instance, uuid)) | 359 if (index_.LookupResource(instance, uuid, ResourceType_Instance)) |
360 { | 360 { |
361 std::string content; | 361 std::string content; |
362 storage_.ReadFile(content, instance["FileUuid"].asString()); | 362 storage_.ReadFile(content, instance["FileUuid"].asString()); |
363 c.Store(content); | 363 c.Store(content); |
364 } | 364 } |
366 { | 366 { |
367 return false; | 367 return false; |
368 } | 368 } |
369 } | 369 } |
370 } | 370 } |
371 else if (index_.GetInstance(found, postData)) | 371 else if (index_.LookupResource(found, postData, ResourceType_Instance)) |
372 { | 372 { |
373 // The UUID corresponds to an instance | 373 // The UUID corresponds to an instance |
374 std::string content; | 374 std::string content; |
375 storage_.ReadFile(content, found["FileUuid"].asString()); | 375 storage_.ReadFile(content, found["FileUuid"].asString()); |
376 c.Store(content); | 376 c.Store(content); |
447 { | 447 { |
448 if (method == "GET") | 448 if (method == "GET") |
449 { | 449 { |
450 if (uri[0] == "patients") | 450 if (uri[0] == "patients") |
451 { | 451 { |
452 existingResource = index_.GetPatient(result, uri[1]); | 452 existingResource = index_.LookupResource(result, uri[1], ResourceType_Patient); |
453 assert(!existingResource || result["Type"] == "Patient"); | 453 assert(!existingResource || result["Type"] == "Patient"); |
454 } | 454 } |
455 else if (uri[0] == "studies") | 455 else if (uri[0] == "studies") |
456 { | 456 { |
457 existingResource = index_.GetStudy(result, uri[1]); | 457 existingResource = index_.LookupResource(result, uri[1], ResourceType_Study); |
458 assert(!existingResource || result["Type"] == "Study"); | 458 assert(!existingResource || result["Type"] == "Study"); |
459 } | 459 } |
460 else if (uri[0] == "series") | 460 else if (uri[0] == "series") |
461 { | 461 { |
462 existingResource = index_.GetSeries(result, uri[1]); | 462 existingResource = index_.LookupResource(result, uri[1], ResourceType_Series); |
463 assert(!existingResource || result["Type"] == "Series"); | 463 assert(!existingResource || result["Type"] == "Series"); |
464 } | 464 } |
465 else if (uri[0] == "instances") | 465 else if (uri[0] == "instances") |
466 { | 466 { |
467 existingResource = index_.GetInstance(result, uri[1]); | 467 existingResource = index_.LookupResource(result, uri[1], ResourceType_Instance); |
468 assert(!existingResource || result["Type"] == "Instance"); | 468 assert(!existingResource || result["Type"] == "Instance"); |
469 } | 469 } |
470 } | 470 } |
471 else if (method == "DELETE") | 471 else if (method == "DELETE") |
472 { | 472 { |
473 if (uri[0] == "patients") | 473 if (uri[0] == "patients") |
474 { | 474 { |
475 existingResource = index_.DeletePatient(result, uri[1]); | 475 existingResource = index_.DeleteResource(result, uri[1], ResourceType_Patient); |
476 } | 476 } |
477 else if (uri[0] == "studies") | 477 else if (uri[0] == "studies") |
478 { | 478 { |
479 existingResource = index_.DeleteStudy(result, uri[1]); | 479 existingResource = index_.DeleteResource(result, uri[1], ResourceType_Study); |
480 } | 480 } |
481 else if (uri[0] == "series") | 481 else if (uri[0] == "series") |
482 { | 482 { |
483 existingResource = index_.DeleteSeries(result, uri[1]); | 483 existingResource = index_.DeleteResource(result, uri[1], ResourceType_Series); |
484 } | 484 } |
485 else if (uri[0] == "instances") | 485 else if (uri[0] == "instances") |
486 { | 486 { |
487 existingResource = index_.DeleteInstance(result, uri[1]); | 487 existingResource = index_.DeleteResource(result, uri[1], ResourceType_Instance); |
488 } | 488 } |
489 | 489 |
490 if (existingResource) | 490 if (existingResource) |
491 { | 491 { |
492 result["Status"] = "Success"; | 492 result["Status"] = "Success"; |
545 else if (uri.size() == 3 && | 545 else if (uri.size() == 3 && |
546 uri[0] == "instances" && | 546 uri[0] == "instances" && |
547 uri[2] == "frames") | 547 uri[2] == "frames") |
548 { | 548 { |
549 Json::Value instance(Json::objectValue); | 549 Json::Value instance(Json::objectValue); |
550 existingResource = index_.GetInstance(instance, uri[1]); | 550 existingResource = index_.LookupResource(instance, uri[1], ResourceType_Instance); |
551 | 551 |
552 if (existingResource) | 552 if (existingResource) |
553 { | 553 { |
554 result = Json::arrayValue; | 554 result = Json::arrayValue; |
555 | 555 |