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