api.js.html

<!DOCTYPE html>
<html>
<head>
  <title>api.js</title>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <link rel="stylesheet" media="all" href="doc-style.css" />
  <script src="doc-filelist.js"></script>
  <script>
    var relativeDir = "", thisFile = "mnt/share/fabien/bak/code/node/ep_mypads/apijs", defaultSidebar = true;
  </script>
  <script src="doc-script.js"></script>
</head>
<body>
  <div id="sidebar_wrapper">
    <div id="sidebar_switch">
      <span class="tree">Files</span>
      <span class="headings">Headings</span>
    </div>
    <div id="tree"></div>
    <div id="headings">
      <div class="heading h1">
        <a href="#api%20module">API Module</a>
      </div>
      <div class="heading h2">
        <a href="#license">License</a>
      </div>
      <div class="heading h2">
        <a href="#description">Description</a>
      </div>
      <div class="heading h2">
        <a href="#configuration">Configuration</a>
      </div>
      <div class="heading h2">
        <a href="#authentification">Authentification</a>
      </div>
      <div class="heading h2">
        <a href="#users">Users</a>
      </div>
      <div class="heading h2">
        <a href="#groups">Groups</a>
      </div>
      <div class="heading h2">
        <a href="#pads">Pads</a>
      </div>
    </div>
  </div>
  <div id="sidebar-toggle"></div>
  <div id="container"><div class="background highlight"></div>
<table cellpadding="0" cellspacing="0">
  <tbody>
      <tr>
        <td class="docs"><div class="dox">
  <div class="summary">
<div class="pilwrap" id="api%20module">
  <h1>
    <a href="#api%20module" name="api%20module" class="pilcrow">&#182;</a>
    API Module
  </h1>
</div>

  </div>
  <div class="body">
<div class="pilwrap" id="license">
  <h2>
    <a href="#license" name="license" class="pilcrow">&#182;</a>
    License
  </h2>
</div>


<p>Licensed to the Apache Software Foundation (ASF) under one
 or more contributor license agreements.  See the NOTICE file
 distributed with this work for additional information
 regarding copyright ownership.  The ASF licenses this file
 to you under the Apache License, Version 2.0 (the
 "License"); you may not use this file except in compliance
 with the License.  You may obtain a copy of the License at</p>

<p><a href='http://www.apache.org/licenses/LICENSE-2.0'>http://www.apache.org/licenses/LICENSE-2.0</a></p>

<p>Unless required by applicable law or agreed to in writing,
 software distributed under the License is distributed on an
 "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 KIND, either express or implied.  See the License for the
 specific language governing permissions and limitations
 under the License.</p>


<div class="pilwrap" id="description">
  <h2>
    <a href="#description" name="description" class="pilcrow">&#182;</a>
    Description
  </h2>
</div>


<p>This module holds all public functions, used for the API of mypads.
 Please refer to binded function when no details are given.</p>
  </div>
</div>
        </td>
        <td class="code highlight"><div class="highlight"><pre><span class="kd">var</span> <span class="nx">ld</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="s1">&#39;lodash&#39;</span><span class="p">);</span>
<span class="kd">var</span> <span class="nx">conf</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="s1">&#39;./configuration.js&#39;</span><span class="p">);</span>

<span class="nx">module</span><span class="p">.</span><span class="nx">exports</span> <span class="o">=</span> <span class="p">(</span><span class="kd">function</span> <span class="p">()</span> <span class="p">{</span>
  <span class="s1">&#39;use strict&#39;</span><span class="p">;</span>

  <span class="kd">var</span> <span class="nx">api</span> <span class="o">=</span> <span class="p">{};</span>


</pre></div>
        </td>
      </tr>
      <tr>
        <td class="docs">
<div class="pilwrap">
  <a class="pilcrow" href="#section-2" id="section-2">&#182;</a>
</div>
<div class="dox">
  <div class="summary"><p><code>init</code> is the first function that takes an Express app as argument.
It initializes all mypads routes.</p>
  </div>
  <div class="body">
  </div>
</div>
        </td>
        <td class="code highlight"><div class="highlight"><pre>

  <span class="nx">api</span><span class="p">.</span><span class="nx">init</span> <span class="o">=</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">app</span><span class="p">)</span> <span class="p">{</span>

</pre></div>
        </td>
      </tr>
      <tr>
        <td class="docs"><div class="dox">
  <div class="summary"><p>FIXME: authentification</p>
  </div>
  <div class="body">
<div class="pilwrap" id="configuration">
  <h2>
    <a href="#configuration" name="configuration" class="pilcrow">&#182;</a>
    Configuration
  </h2>
</div>

  </div>
</div>
        </td>
        <td class="code highlight"><div class="highlight"><pre>
    <span class="kd">var</span> <span class="nx">initialRoute</span> <span class="o">=</span> <span class="s1">&#39;/mypads/api/&#39;</span><span class="p">;</span>
    <span class="kd">var</span> <span class="nx">configuration</span> <span class="o">=</span> <span class="p">(</span><span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
      <span class="kd">var</span> <span class="nx">route</span> <span class="o">=</span> <span class="nx">initialRoute</span> <span class="o">+</span> <span class="s1">&#39;configuration/&#39;</span><span class="p">;</span>

</pre></div>
        </td>
      </tr>
      <tr>
        <td class="docs">
<div class="pilwrap">
  <a class="pilcrow" href="#section-4" id="section-4">&#182;</a>
</div>
<p>Get simple key</p>
        </td>
        <td class="code highlight"><div class="highlight"><pre>
      <span class="nx">app</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="nx">route</span> <span class="o">+</span> <span class="s1">&#39;:key&#39;</span><span class="p">,</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">req</span><span class="p">,</span> <span class="nx">res</span><span class="p">)</span> <span class="p">{</span>
        <span class="nx">conf</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="nx">req</span><span class="p">.</span><span class="nx">params</span><span class="p">.</span><span class="nx">key</span><span class="p">,</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">err</span><span class="p">,</span> <span class="nx">value</span><span class="p">)</span> <span class="p">{</span>
          <span class="k">if</span> <span class="p">(</span><span class="nx">err</span><span class="p">)</span> <span class="p">{</span>
            <span class="nx">res</span><span class="p">.</span><span class="nx">send</span><span class="p">(</span><span class="mi">500</span><span class="p">,</span> <span class="p">{</span> <span class="nx">error</span><span class="o">:</span> <span class="nx">err</span> <span class="p">});</span>
          <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="nx">value</span><span class="p">)</span> <span class="p">{</span>
            <span class="nx">res</span><span class="p">.</span><span class="nx">send</span><span class="p">(</span><span class="mi">404</span><span class="p">,</span> <span class="p">{</span> <span class="nx">key</span><span class="o">:</span> <span class="nx">req</span><span class="p">.</span><span class="nx">params</span><span class="p">.</span><span class="nx">key</span> <span class="p">});</span> 
          <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
            <span class="nx">res</span><span class="p">.</span><span class="nx">send</span><span class="p">({</span> <span class="nx">key</span><span class="o">:</span> <span class="nx">req</span><span class="p">.</span><span class="nx">params</span><span class="p">.</span><span class="nx">key</span><span class="p">,</span> <span class="nx">value</span><span class="o">:</span> <span class="nx">value</span> <span class="p">});</span>
          <span class="p">}</span>
        <span class="p">});</span>
      <span class="p">});</span>

</pre></div>
        </td>
      </tr>
      <tr>
        <td class="docs">
<div class="pilwrap">
  <a class="pilcrow" href="#section-5" id="section-5">&#182;</a>
</div>
<p>Set configuration key with POST and PUT</p>
        </td>
        <td class="code highlight"><div class="highlight"><pre>
      <span class="kd">var</span> <span class="nx">_set</span> <span class="o">=</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">req</span><span class="p">,</span> <span class="nx">res</span><span class="p">)</span> <span class="p">{</span>
        <span class="kd">var</span> <span class="nx">key</span> <span class="o">=</span> <span class="nx">req</span><span class="p">.</span><span class="nx">body</span><span class="p">.</span><span class="nx">key</span><span class="p">;</span>
        <span class="kd">var</span> <span class="nx">value</span> <span class="o">=</span> <span class="nx">req</span><span class="p">.</span><span class="nx">body</span><span class="p">.</span><span class="nx">value</span><span class="p">;</span>
        <span class="k">try</span> <span class="p">{</span>
          <span class="nx">conf</span><span class="p">.</span><span class="nx">set</span><span class="p">(</span><span class="nx">key</span><span class="p">,</span> <span class="nx">value</span><span class="p">,</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">err</span><span class="p">)</span> <span class="p">{</span>
            <span class="k">if</span> <span class="p">(</span><span class="nx">err</span><span class="p">)</span> <span class="p">{</span>
              <span class="nx">res</span><span class="p">.</span><span class="nx">send</span><span class="p">(</span><span class="mi">500</span><span class="p">,</span> <span class="p">{</span> <span class="nx">error</span><span class="o">:</span> <span class="nx">err</span> <span class="p">});</span>
            <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
              <span class="nx">res</span><span class="p">.</span><span class="nx">send</span><span class="p">({</span> <span class="nx">success</span><span class="o">:</span> <span class="kc">true</span><span class="p">,</span> <span class="nx">key</span><span class="o">:</span> <span class="nx">key</span><span class="p">,</span> <span class="nx">value</span><span class="o">:</span> <span class="nx">value</span> <span class="p">});</span>
            <span class="p">}</span>
          <span class="p">});</span>
        <span class="p">}</span>
        <span class="k">catch</span> <span class="p">(</span><span class="nx">e</span><span class="p">)</span> <span class="p">{</span>
          <span class="nx">res</span><span class="p">.</span><span class="nx">send</span><span class="p">(</span><span class="mi">400</span><span class="p">,</span> <span class="p">{</span> <span class="nx">error</span><span class="o">:</span> <span class="nx">e</span><span class="p">.</span><span class="nx">message</span> <span class="p">});</span>
        <span class="p">}</span>
      <span class="p">};</span>
      <span class="nx">app</span><span class="p">.</span><span class="nx">post</span><span class="p">(</span><span class="nx">route</span><span class="p">,</span> <span class="nx">_set</span><span class="p">);</span>
      <span class="nx">app</span><span class="p">.</span><span class="nx">put</span><span class="p">(</span><span class="nx">route</span><span class="p">,</span> <span class="nx">_set</span><span class="p">);</span>

</pre></div>
        </td>
      </tr>
      <tr>
        <td class="docs">
<div class="pilwrap">
  <a class="pilcrow" href="#section-6" id="section-6">&#182;</a>
</div>
<p>Removal of configuration item with DELETE</p>
        </td>
        <td class="code highlight"><div class="highlight"><pre>
      <span class="nx">app</span><span class="p">.</span><span class="k">delete</span><span class="p">(</span><span class="nx">route</span> <span class="o">+</span> <span class="s1">&#39;:key&#39;</span><span class="p">,</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">req</span><span class="p">,</span> <span class="nx">res</span><span class="p">)</span> <span class="p">{</span>
        <span class="nx">conf</span><span class="p">.</span><span class="nx">remove</span><span class="p">(</span><span class="nx">req</span><span class="p">.</span><span class="nx">params</span><span class="p">.</span><span class="nx">key</span><span class="p">,</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">err</span><span class="p">)</span> <span class="p">{</span>
          <span class="k">if</span> <span class="p">(</span><span class="nx">err</span><span class="p">)</span> <span class="p">{</span>
            <span class="nx">res</span><span class="p">.</span><span class="nx">send</span><span class="p">(</span><span class="mi">400</span><span class="p">,</span> <span class="p">{</span> <span class="nx">error</span><span class="o">:</span> <span class="nx">err</span> <span class="p">});</span>
          <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
            <span class="nx">res</span><span class="p">.</span><span class="nx">send</span><span class="p">({</span> <span class="nx">success</span><span class="o">:</span> <span class="kc">true</span><span class="p">,</span> <span class="nx">key</span><span class="o">:</span> <span class="nx">req</span><span class="p">.</span><span class="nx">params</span><span class="p">.</span><span class="nx">key</span> <span class="p">});</span>
          <span class="p">}</span>
        <span class="p">});</span>
      <span class="p">});</span>

</pre></div>
        </td>
      </tr>
      <tr>
        <td class="docs">
<div class="pilwrap">
  <a class="pilcrow" href="#section-7" id="section-7">&#182;</a>
</div>
<p>Get all configuration</p>
        </td>
        <td class="code highlight"><div class="highlight"><pre>
      <span class="nx">app</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="nx">route</span><span class="p">,</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">req</span><span class="p">,</span> <span class="nx">res</span><span class="p">)</span> <span class="p">{</span>
        <span class="nx">conf</span><span class="p">.</span><span class="nx">all</span><span class="p">(</span><span class="kd">function</span> <span class="p">(</span><span class="nx">err</span><span class="p">,</span> <span class="nx">value</span><span class="p">)</span> <span class="p">{</span>
          <span class="k">if</span> <span class="p">(</span><span class="nx">err</span><span class="p">)</span> <span class="p">{</span>
            <span class="nx">res</span><span class="p">.</span><span class="nx">send</span><span class="p">(</span><span class="mi">400</span><span class="p">,</span> <span class="p">{</span> <span class="nx">error</span><span class="o">:</span> <span class="nx">err</span> <span class="p">});</span>
          <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
            <span class="nx">res</span><span class="p">.</span><span class="nx">send</span><span class="p">({</span> <span class="nx">value</span><span class="o">:</span> <span class="nx">value</span> <span class="p">});</span>
          <span class="p">}</span>
        <span class="p">});</span>
      <span class="p">});</span>
    <span class="p">}).</span><span class="nx">call</span><span class="p">(</span><span class="k">this</span><span class="p">);</span>
  <span class="p">};</span>


</pre></div>
        </td>
      </tr>
      <tr>
        <td class="docs"><div class="dox">
  <div class="summary">
<div class="pilwrap" id="authentification">
  <h2>
    <a href="#authentification" name="authentification" class="pilcrow">&#182;</a>
    Authentification
  </h2>
</div>

  </div>
  <div class="body">
<div class="pilwrap" id="users">
  <h2>
    <a href="#users" name="users" class="pilcrow">&#182;</a>
    Users
  </h2>
</div>


<p><code>createUser</code></p>

<p><code>updateUser</code></p>

<p><code>deleteUser</code></p>

<p><code>getUser</code></p>

<p><code>setLoginOfUser</code></p>

<p><code>passwordRecoveryForUser</code></p>


<div class="pilwrap" id="groups">
  <h2>
    <a href="#groups" name="groups" class="pilcrow">&#182;</a>
    Groups
  </h2>
</div>



<div class="pilwrap" id="pads">
  <h2>
    <a href="#pads" name="pads" class="pilcrow">&#182;</a>
    Pads
  </h2>
</div>

  </div>
</div>
        </td>
        <td class="code highlight"><div class="highlight"><pre>
  <span class="k">return</span> <span class="nx">api</span><span class="p">;</span>

<span class="p">}).</span><span class="nx">call</span><span class="p">(</span><span class="k">this</span><span class="p">);</span>
</pre></div>
        </td>
      </tr>
  </tbody>
</table>
  </div>
</body>
</html>