Mercurial > hg > orthanc
diff OrthancServer/Sources/OrthancRestApi/OrthancRestResources.cpp @ 4419:cd96c807ca3d
cont openapi
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 29 Dec 2020 11:53:42 +0100 |
parents | 9d6fa3da8f00 |
children | f95ad769e671 |
line wrap: on
line diff
--- a/OrthancServer/Sources/OrthancRestApi/OrthancRestResources.cpp Tue Dec 29 10:24:17 2020 +0100 +++ b/OrthancServer/Sources/OrthancRestApi/OrthancRestResources.cpp Tue Dec 29 11:53:42 2020 +0100 @@ -2221,6 +2221,39 @@ enum DicomModule module> static void GetModule(RestApiGetCall& call) { + if (call.IsDocumentation()) + { + const std::string resource = GetResourceTypeText(resourceType, false /* plural */, false /* lower case */); + std::string m; + switch (module) + { + case DicomModule_Patient: + m = "patient"; + break; + case DicomModule_Study: + m = "study"; + break; + case DicomModule_Series: + m = "series"; + break; + case DicomModule_Instance: + m = "instance"; + break; + default: + throw OrthancException(ErrorCode_ParameterOutOfRange); + } + call.GetDocumentation() + .SetTag(GetResourceTypeText(resourceType, true /* plural */, true /* upper case */)) + .SetSummary("Get " + m + " module" + std::string(resource == m ? "" : " of " + resource)) + .SetDescription("Get the " + m + " module of the DICOM " + resource + " whose Orthanc identifier is provided in the URL") + .SetUriArgument("id", "Orthanc identifier of the " + resource + " of interest") + .SetHttpGetArgument("ignore-length", RestApiCallDocumentation::Type_JsonListOfStrings, + "Also include the DICOM tags that are provided in this list, even if their associated value is long", false) + .AddAnswerType(MimeType_Json, "Information about the DICOM " + resource) + .SetHttpGetSample(GetDocumentationSampleResource(resourceType) + "/" + (*call.GetFullUri().rbegin()), true); + return; + } + GetModuleInternal(call, resourceType, module); }