diff OrthancFramework/Sources/RestApi/RestApiCallDocumentation.h @ 4401:354ea95b294a

documenting system calls
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 23 Dec 2020 15:13:45 +0100
parents 029366f95217
children ad646ff506d0
line wrap: on
line diff
--- a/OrthancFramework/Sources/RestApi/RestApiCallDocumentation.h	Wed Dec 23 12:30:56 2020 +0100
+++ b/OrthancFramework/Sources/RestApi/RestApiCallDocumentation.h	Wed Dec 23 15:13:45 2020 +0100
@@ -60,7 +60,7 @@
     std::string   tag_;
     std::string   summary_;
     std::string   description_;
-    Parameters    uriComponents_;
+    Parameters    uriArguments_;
     Parameters    httpHeaders_;
     Parameters    getArguments_;
     AllowedTypes  requestTypes_;
@@ -68,12 +68,15 @@
     AllowedTypes  answerTypes_;
     Parameters    answerFields_;  // Only if JSON object
     std::string   answerDescription_;
-    Json::Value   sample_;
+    bool          hasSampleText_;
+    std::string   sampleText_;
+    Json::Value   sampleJson_;
 
   public:
     explicit RestApiCallDocumentation(HttpMethod method) :
       method_(method),
-      sample_(Json::nullValue)
+      hasSampleText_(false),
+      sampleJson_(Json::nullValue)
     {
     }
     
@@ -105,9 +108,14 @@
     RestApiCallDocumentation& AddAnswerType(MimeType type,
                                             const std::string& description);
 
-    RestApiCallDocumentation& SetUriComponent(const std::string& name,
-                                              Type type,
-                                              const std::string& description);
+    RestApiCallDocumentation& SetUriArgument(const std::string& name,
+                                             Type type,
+                                             const std::string& description);
+
+    bool HasUriArgument(const std::string& name) const
+    {
+      return (uriArguments_.find(name) != uriArguments_.end());
+    }
 
     RestApiCallDocumentation& SetHttpHeader(const std::string& name,
                                             const std::string& description);
@@ -120,13 +128,15 @@
                                              Type type,
                                              const std::string& description);
 
-    void SetHttpGetSample(const std::string& url);
+    void SetHttpGetSample(const std::string& url,
+                          bool isJson);
 
     void SetSample(const Json::Value& sample)
     {
-      sample_ = sample;
+      sampleJson_ = sample;
     }
 
-    bool FormatOpenApi(Json::Value& target) const;
+    bool FormatOpenApi(Json::Value& target,
+                       const std::set<std::string>& expectedUriArguments) const;
   };
 }