Mercurial > hg > orthanc
comparison OrthancServer/Sources/OrthancRestApi/OrthancRestResources.cpp @ 5287:c04230962098 am-experimental
wip: 'dicomWeb' json format + 'include' get arguments
author | Alain Mazy <am@osimis.io> |
---|---|
date | Fri, 28 Apr 2023 10:42:27 +0200 |
parents | 8686476e9d12 |
children | c9ea57d73603 |
comparison
equal
deleted
inserted
replaced
5286:28f0e38e4082 | 5287:c04230962098 |
---|---|
156 | 156 |
157 context.ExpandResource(expanded, *resource, | 157 context.ExpandResource(expanded, *resource, |
158 *(mainDicomTags->second.get()), | 158 *(mainDicomTags->second.get()), |
159 instanceId->second, | 159 instanceId->second, |
160 dicomAsJson->second.get(), | 160 dicomAsJson->second.get(), |
161 level, format, requestedTags, allowStorageAccess); | 161 level, format, requestedTags, ExpandResourceFlags_Default, allowStorageAccess); |
162 } | 162 } |
163 else | 163 else |
164 { | 164 { |
165 context.ExpandResource(expanded, *resource, level, format, requestedTags, allowStorageAccess); | 165 context.ExpandResource(expanded, *resource, level, format, requestedTags, ExpandResourceFlags_Default, allowStorageAccess); |
166 } | 166 } |
167 | 167 |
168 if (expanded.type() == Json::objectValue) | 168 if (expanded.type() == Json::objectValue) |
169 { | 169 { |
170 answer.append(expanded); | 170 answer.append(expanded); |
286 std::set<DicomTag> requestedTags; | 286 std::set<DicomTag> requestedTags; |
287 OrthancRestApi::GetRequestedTags(requestedTags, call); | 287 OrthancRestApi::GetRequestedTags(requestedTags, call); |
288 | 288 |
289 Json::Value json; | 289 Json::Value json; |
290 if (OrthancRestApi::GetContext(call).ExpandResource( | 290 if (OrthancRestApi::GetContext(call).ExpandResource( |
291 json, call.GetUriComponent("id", ""), resourceType, format, requestedTags, true /* allowStorageAccess */)) | 291 json, call.GetUriComponent("id", ""), resourceType, format, requestedTags, ExpandResourceFlags_Default, true /* allowStorageAccess */)) |
292 { | 292 { |
293 call.GetOutput().AnswerJson(json); | 293 call.GetOutput().AnswerJson(json); |
294 } | 294 } |
295 } | 295 } |
296 | 296 |
3353 } | 3353 } |
3354 | 3354 |
3355 Json::Value result = Json::arrayValue; | 3355 Json::Value result = Json::arrayValue; |
3356 | 3356 |
3357 const DicomToJsonFormat format = OrthancRestApi::GetDicomFormat(call, DicomToJsonFormat_Human); | 3357 const DicomToJsonFormat format = OrthancRestApi::GetDicomFormat(call, DicomToJsonFormat_Human); |
3358 ExpandResourceFlags expandResource = OrthancRestApi::GetResponseContent(call, ExpandResourceFlags_Default); | |
3358 | 3359 |
3359 for (std::list<std::string>::const_iterator | 3360 for (std::list<std::string>::const_iterator |
3360 it = a.begin(); it != a.end(); ++it) | 3361 it = a.begin(); it != a.end(); ++it) |
3361 { | 3362 { |
3362 Json::Value resource; | 3363 Json::Value resource; |
3363 if (OrthancRestApi::GetContext(call).ExpandResource(resource, *it, end, format, requestedTags, true /* allowStorageAccess */)) | 3364 if (OrthancRestApi::GetContext(call).ExpandResource(resource, *it, end, format, requestedTags, expandResource, true /* allowStorageAccess */)) |
3364 { | 3365 { |
3365 result.append(resource); | 3366 result.append(resource); |
3366 } | 3367 } |
3367 } | 3368 } |
3368 | 3369 |
3477 assert(currentType == end); | 3478 assert(currentType == end); |
3478 | 3479 |
3479 const DicomToJsonFormat format = OrthancRestApi::GetDicomFormat(call, DicomToJsonFormat_Human); | 3480 const DicomToJsonFormat format = OrthancRestApi::GetDicomFormat(call, DicomToJsonFormat_Human); |
3480 | 3481 |
3481 Json::Value resource; | 3482 Json::Value resource; |
3482 if (OrthancRestApi::GetContext(call).ExpandResource(resource, current, end, format, requestedTags, true /* allowStorageAccess */)) | 3483 if (OrthancRestApi::GetContext(call).ExpandResource(resource, current, end, format, requestedTags, ExpandResourceFlags_Default, true /* allowStorageAccess */)) |
3483 { | 3484 { |
3484 call.GetOutput().AnswerJson(resource); | 3485 call.GetOutput().AnswerJson(resource); |
3485 } | 3486 } |
3486 } | 3487 } |
3487 | 3488 |
3884 it = interest.begin(); it != interest.end(); ++it) | 3885 it = interest.begin(); it != interest.end(); ++it) |
3885 { | 3886 { |
3886 Json::Value item; | 3887 Json::Value item; |
3887 std::set<DicomTag> emptyRequestedTags; // not supported for bulk content | 3888 std::set<DicomTag> emptyRequestedTags; // not supported for bulk content |
3888 | 3889 |
3889 if (OrthancRestApi::GetContext(call).ExpandResource(item, *it, level, format, emptyRequestedTags, true /* allowStorageAccess */)) | 3890 if (OrthancRestApi::GetContext(call).ExpandResource(item, *it, level, format, emptyRequestedTags, ExpandResourceFlags_Default, true /* allowStorageAccess */)) |
3890 { | 3891 { |
3891 if (metadata) | 3892 if (metadata) |
3892 { | 3893 { |
3893 AddMetadata(item[METADATA], index, *it, level); | 3894 AddMetadata(item[METADATA], index, *it, level); |
3894 } | 3895 } |
3909 ResourceType level; | 3910 ResourceType level; |
3910 Json::Value item; | 3911 Json::Value item; |
3911 std::set<DicomTag> emptyRequestedTags; // not supported for bulk content | 3912 std::set<DicomTag> emptyRequestedTags; // not supported for bulk content |
3912 | 3913 |
3913 if (index.LookupResourceType(level, *it) && | 3914 if (index.LookupResourceType(level, *it) && |
3914 OrthancRestApi::GetContext(call).ExpandResource(item, *it, level, format, emptyRequestedTags, true /* allowStorageAccess */)) | 3915 OrthancRestApi::GetContext(call).ExpandResource(item, *it, level, format, emptyRequestedTags, ExpandResourceFlags_Default, true /* allowStorageAccess */)) |
3915 { | 3916 { |
3916 if (metadata) | 3917 if (metadata) |
3917 { | 3918 { |
3918 AddMetadata(item[METADATA], index, *it, level); | 3919 AddMetadata(item[METADATA], index, *it, level); |
3919 } | 3920 } |