<!DOCTYPE html>
<html>
<head>
<title>user.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/models/userjs", 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="#user%20model">User Model</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="#helpers">Helpers</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="user%20model">
<h1>
<a href="#user%20model" name="user%20model" class="pilcrow">¶</a>
User Model
</h1>
</div>
</div>
<div class="body">
<div class="pilwrap" id="license">
<h2>
<a href="#license" name="license" class="pilcrow">¶</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>
</div>
</td>
<td class="code highlight"><div class="highlight"><pre><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">'use strict'</span><span class="p">;</span>
</pre></div>
</td>
</tr>
<tr>
<td class="docs"><div class="dox">
<div class="summary">
<div class="pilwrap" id="description">
<h2>
<a href="#description" name="description" class="pilcrow">¶</a>
Description
</h2>
</div>
</div>
<div class="body"><p>The <code>user</code> is the masterpiece of the MyPads plugin. It's defined by :</p>
<ul>
<li>required
<ul><li>login</li>
<li>password</li>
<li>optional</li>
<li>firstname</li>
<li>lastname</li>
<li>organization.</li></ul></li>
</ul>
</div>
</div>
</td>
<td class="code highlight"><div class="highlight"><pre>
<span class="kd">var</span> <span class="nx">user</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-3" id="section-3">¶</a>
</div>
<div class="dox">
<div class="summary"><p>The creation sets the defaults and checks if required fields have been
fixed. It takes a parameters object and a callback function. This callback
function will be called with an Error or null and the newly created user.</p>
</div>
<div class="body">
</div>
</div>
</td>
<td class="code highlight"><div class="highlight"><pre>
<span class="nx">user</span><span class="p">.</span><span class="nx">create</span> <span class="o">=</span> <span class="kd">function</span><span class="p">(</span><span class="nx">params</span><span class="p">,</span> <span class="nx">callback</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-4" id="section-4">¶</a>
</div>
<div class="dox">
<div class="summary"><p>The modification of an user can be done for every field.</p>
</div>
<div class="body">
</div>
</div>
</td>
<td class="code highlight"><div class="highlight"><pre>
<span class="nx">user</span><span class="p">.</span><span class="nx">update</span> <span class="o">=</span> <span class="kd">function</span><span class="p">(</span><span class="nx">params</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="helpers">
<h2>
<a href="#helpers" name="helpers" class="pilcrow">¶</a>
Helpers
</h2>
</div>
</div>
<div class="body">
</div>
</div>
</td>
<td class="code highlight"><div class="highlight"><pre>
<span class="nx">user</span><span class="p">.</span><span class="nx">helpers</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-6" id="section-6">¶</a>
</div>
<div class="dox">
<div class="summary"><p><code>checkPassword</code> is a private helper whose the aims are :</p>
</div>
<div class="body"><ul>
<li>respecting the minimum length fixed into MyPads configuration
<ul><li>allowing only string.</li></ul></li>
</ul>
<p>It returns an error message if the verification has failed.</p>
</div>
</div>
</td>
<td class="code highlight"><div class="highlight"><pre>
<span class="nx">user</span><span class="p">.</span><span class="nx">helpers</span><span class="p">.</span><span class="nx">_checkPassword</span> <span class="o">=</span> <span class="kd">function</span><span class="p">(</span><span class="nx">password</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">¶</a>
</div>
<div class="dox">
<div class="summary"><p><code>hashPassword</code> takes the password and returns a hashed password, for storing
in database and verification.</p>
</div>
<div class="body">
</div>
</div>
</td>
<td class="code highlight"><div class="highlight"><pre>
<span class="nx">user</span><span class="p">.</span><span class="nx">helpers</span><span class="p">.</span><span class="nx">hashPassword</span> <span class="o">=</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{};</span>
<span class="k">return</span> <span class="nx">user</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>