Skip to content
Snippets Groups Projects
documentation.component.html 8.12 KiB
Newer Older
  • Learn to ignore specific revisions
  • <div class="container">
        <div class="jumbotron">
            <div class="row align-items-center">
                <div class="col-md-12 order-md-1 text-justify text-md-left pr-md-5">
                    <h2 class="mb-3">Export server documentation</h2>
        
                    <h4>URL construction</h4>
                    <p>
                        To request the server, you need to construct a correct URL. Just below you can find the URL schema and a
                        description of mandatory parameters:
                    </p>
                    <code>{{ apiPath }}/search/dataset?a=id_attribute&c=id_attribute::operator::value</code>
        
                    <ul>
                        <li>
                            <code>dataset</code>: dataset in which to search. See datasets section for available datasets.
                        </li>
                        <li>
                            <code>a</code>: output parameters as attributes id list semicolon separated. See outputs section for available attributes.
                        </li>
                        <blockquote>a=1;2;3</blockquote>
                        <li>
                            <code>c</code>: criteria list separeted with semicolon. A criterion is defined by an id_attribute,
                            an operator and a value. See operators section for available operators.
                        </li>
                        <blockquote>c=3::eq::ping;2::eq::pong</blockquote>
                    </ul>
        
                    <h4>Available parameters</h4>
        
                    <h5>Datasets</h5>
    
                    <div *ngIf="datasetListIsLoading | async">
                        <span class="fas fa-circle-notch fa-spin fa-3x"></span>
                        <span class="sr-only">Loading...</span>
                    </div>
                    <table *ngIf="datasetListIsLoaded | async" id="table">
    
                            <th>Dataset</th>
                            <th>Description</th>
    
                        <tr *ngFor="let dataset of datasetList | async">
                            <td>{{ dataset.name }}</td>
                            <td>{{ dataset.description }}</td>
    
                        </tr>
                    </table>
        
                    <h5>Outputs</h5>
    
                    <div *ngIf="attributeListIsLoading | async">
                        <span class="fas fa-circle-notch fa-spin fa-3x"></span>
                        <span class="sr-only">Loading...</span>
                    </div>
                    <div *ngIf="attributeListIsLoaded | async" class="row">
                        <div *ngFor="let dataset of datasetList | async" class="col-auto">
                            <h6>{{ dataset.label }} output list</h6>
    
                            <table id="table">
                                <tr>
                                    <th>id</th>
                                    <th>attribute</th>
                                </tr>
    
                                <tr *ngFor="let attribute of getDatasetAttributes(dataset, attributeList | async)">
                                    <td>{{ attribute.id }}</td>
                                    <td>{{ attribute.name }}</td>
    
                                </tr>
                            </table>
                        </div>
                    </div>
                    
                    <h5>Operators</h5>
                    <table id="table">
                        <tr>
                            <th>operator</th>
                            <th>description</th>
                            <th>usage</th>
                            <th>example</th>
                        </tr>
                        <tr>
                            <td>eq</td>
                            <td>equal to</td>
                            <td><code>c=id_attribute::eq::value</code></td>
                            <td><code>c=1::eq::89</code></td>
                        </tr>
                        <tr>
                            <td>neq</td>
                            <td>not equal to</td>
                            <td><code>c=id_attribute::neq::value</code></td>
                            <td><code>c=1::neq::89</code></td>
                        </tr>
                        <tr>
                            <td>gt</td>
                            <td>greater than</td>
                            <td><code>c=id_attribute::gt::value</code></td>
                            <td><code>c=1::gt::1.5</code></td>
                        </tr>
                        <tr>
                            <td>gte</td>
                            <td>greater than or equal to</td>
                            <td><code>c=id_attribute::gte::value</code></td>
                            <td><code>c=1::gte::2</code></td>
                        </tr>
                        <tr>
                            <td>lt</td>
                            <td>lower than</td>
                            <td><code>c=id_attribute::lt::value</code></td>
                            <td><code>c=1::lt::1.5</code></td>
                        </tr>
                        <tr>
                            <td>lte</td>
                            <td>lower than or equal to</td>
                            <td><code>c=id_attribute::lte::value</code></td>
                            <td><code>c=1::lte::2</code></td>
                        </tr>
                        <tr>
                            <td>bw</td>
                            <td>between</td>
                            <td><code>c=id_attribute::bw::value_min|value_max</code></td>
                            <td><code>c=1::bw::10|90</code></td>
                        </tr>
                        <tr>
                            <td>lk</td>
                            <td>like</td>
                            <td><code>c=id_attribute::lk::value</code></td>
                            <td><code>c=1::lk::ECL</code></td>
                        </tr>
                        <tr>
                            <td>nlk</td>
                            <td>not like</td>
                            <td><code>c=id_attribute::nlk::value</code></td>
                            <td><code>c=1::nlk::ECL</code></td>
                        </tr>
                        <tr>
                            <td>in</td>
                            <td>in</td>
                            <td><code>c=id_attribute::in::value_x|value_y|value_z</code></td>
                            <td><code>c=1::in::TT_ECL|TT_GRM|TT_VT</code></td>
                        </tr>
                        <tr>
                            <td>nin</td>
                            <td>not in</td>
                            <td><code>c=id_attribute::nin::value_x|value_y|value_z</code></td>
                            <td><code>c=1::nin::TT_ECL|TT_GRM|TT_VT</code></td>
                        </tr>
                        <tr>
                            <td>nl</td>
                            <td>is null</td>
                            <td><code>c=id_attribute::nl</code></td>
                            <td><code>c=1::nl</code></td>
                        </tr>
                        <tr>
                            <td>nnl</td>
                            <td>is not null</td>
                            <td><code>c=id_attribute::nnl</code></td>
                            <td><code>c=1::nnl</code></td>
                        </tr>
                        <tr>
                            <td>js</td>
                            <td>json</td>
                            <td><code>c=id_attribute::js::extension,keyword|operator|value</code></td>
                            <td><code>c=1::js::PrimaryHDU,OBS_ID|eq|45</code></td>
                        </tr>
                    </table>
        
                    <h4>Examples</h4>
                    <blockquote>{{ apiPath }}/search/l1?a=1;2;3&c=1::eq::1</blockquote>
                    <p>This will return the raw product with id equals to 1 and display its rawproduct_id, filename and level as
                        outputs.</p>
                    <blockquote>
                        {{ apiPath }}/search/products?a=1;2;3;4;5;6;7;8;9;10&c=3::in::TT_ECL|TT_GRM
                    </blockquote>
                    <p>This will return a list of <code>TT_ECL</code> or <code>TT_GRM</code> products with all available
                        outputs.</p>
                    <blockquote>
                        {{ apiPath }}/search/products?a=1&c=3::eq::LAMTEST_DC1;5::js::PrimaryHDU,OBS_ID|nnl
                    </blockquote>
                    <p>This will return a list of product id of <code>LAMTEST_DC1</code> scientific product where the searchable
                        keyword <code>OBS_ID</code> is not null.</p>
                </div>
            </div>
        </div>
    </div>