File size: 5,187 Bytes
8460a2a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
var base_url=window.location.href.split("/").slice(0,3).join("/");
// console.log(base_url);


var data={
    "route_name":"get_crops",
    "route":"/api/get_crops",
    "method":"POST",
    "summary":"This route is used to get face crops from any image",
    "request_params":[
        {"name":"image","summary":"Image to get face crops from.","type":"File","required":"*"},
        {"name":"access_key","summary":"access key related with your account.","type":"json","required":"*"},
        {"name":"settings-parameter","summary":"pass any settings for example \"d_thres\":0.3 .","type":"json","required":""},
    ],
    "response_params":[
        {"name":"message","summary":"\"success\" if everything is fine.","type":"Text"},
        {"name":"crops","summary":"return list of crop images.","type":"list of base64 values"},
    ],
}



function add_endpoint(data){
    // <div class="endpoint">
    //             <h3 class="route_name">get_crops</h3> 
    //             <h4>Method:<span class="method_type">POST</span></h4>
    //             <p class="summary">This route is used to get face crops from any image</p>
    //             <p><b>route:&#9;</b><span class="api_route">/api/get_crops</span></p>
                
                
    //             <b>Request Parameters:</b>
    //             <ul>
    //                 <li>
    //                     <span><span class="param_name">image<span>:&#9;</span>
    //                     <span class="param_summary">Image to get face crops from.</span>
    //                     <span>(Type:&#9;<span class="param_type">File</span>)</span>
    //                 </li>
    //                 <li>
    //                     <span><span class="param_name">settings-parameter<span>:&#9;</span>
    //                     <span class="param_summary">pass any settings for example "d_thres":0.3 .</span>
    //                     <span>(Type:&#9;<span class="param_type">json</span>)</span>
    //                 </li>
    //                 <li>
    //                     <span><span class="param_name">access_key<span>:&#9;</span>
    //                     <span class="param_summary">access key related with your account.</span>
    //                     <span>(Type:&#9;<span class="param_type">json</span>)</span>
    //                 </li>
                    
    //             </ul>
    //             <b>Response Body:</b>
    //             <ul>
    //                 <li>
                        
    //                     <span><span class="param_name">message<span>:&#9;</span>
    //                     <span class="param_summary">"success" if everything is fine.</span>
    //                     <span>(Type:&#9;<span class="param_type">Text</span>)</span>
    //                 </li>
    //                 <li>
                        
    //                     <span><span class="param_name">crops<span>:&#9;</span>
    //                     <span class="param_summary">return list of crop images.</span>
    //                     <span>(Type:&#9;<span class="param_type">list of base64 values</span>)</span>
    //                 </li>
                    
    //             </ul>
                
                
    //         </div>
    var parent_div=document.querySelector(".container");
    var endpoint=document.createElement("div");
    endpoint.className="endpoint";
    // console.log(("color" in data));
    if ("color" in data) {
        endpoint.style.backgroundColor=data["color"];
    }
    parent_div.appendChild(endpoint);
    
    endpoint.innerHTML+=`<h3 class="route_name">${data['route_name']}</h3> `;
    endpoint.innerHTML+=`<h4>Method:&#9;<span class="method_type">${data['method']}</span></h4>`;
    endpoint.innerHTML+=`<p class="summary">${data['summary']}</p>`;
    endpoint.innerHTML+=`<p><b>route:&#9;</b><span class="api_route">${base_url+data["route"]}</span></p>`;
    endpoint.innerHTML+=`<b>Request Parameters:</b>`;
    
    var params=document.createElement("ul");
    endpoint.appendChild(params);

    data['request_params'].map(param=>{
        // request parameters

        var list=document.createElement("li");
        list.innerHTML+=`<span><span class="param_name">${param["name"]}<span>:&#9;</span>`;
        list.innerHTML+=`<span class="param_summary">${param['summary']}</span>`;
        list.innerHTML+=`<span>(Type:&#9;<span class="param_type">${param['type']}</span>)${param['required']}</span>`;
        params.appendChild(list);

    })
    endpoint.innerHTML+=`<b>Response Body:</b>`;
    var params=document.createElement("ul");
    endpoint.appendChild(params);
    data['response_params'].map(param=>{
        // response parameters
        
        var list=document.createElement("li");
        list.innerHTML+=`<span><span class="param_name">${param['name']}<span>:&#9;</span>`;
        list.innerHTML+=`<span class="param_summary">${param["summary"]}</span>`;
        list.innerHTML+=`<span>(Type:&#9;<span class="param_type">${param["type"]}</span>)</span>`;
        params.appendChild(list);

    })
    
}




fetch("json/").then(res=>{return res.json();}).then(res=>{
res.map(data=>{
    add_endpoint(data);
})
})