All files / framework/src/api/router/user UserRouter.js

81.82% Statements 9/11
100% Branches 4/4
75% Functions 3/4
81.82% Lines 9/11
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 291x 1x 1x                     1x 4x 2x   2x 2x                 1x  
const CRUDRouter = require('../CRUDRouter');
const UserDAO = require('../../db/dao/user/UserDAO');
const debug = require('../../../log')('UserRouter');
 
/**
 * UserRouter - router for @link{UserModel} entity, extends @link[CRUDRouter], no new endpoints
 * @augments CRUDEndpoint
 */
class UserRouter extends CRUDRouter {
    initAdditionalEndpoints() {
        /**
         * Init is email available endpoint - GET '/available?email=xxx'
         */
        this.getRouter().get('/available', (req, res) => {
            if (!req.query || !req.query.email) {
                return this.sendErr(res, 400, 'Email required');
            }
            return this.getDAO().isEmailAvailable(req.query.email, { user: req.user })
                .then(result => res.status(200).send({ result }))
                .catch(err => {
                    debug('[isEmailAvailable]', err.message);
                    return this.sendErr(res, 400, err.message);
                });
        });
    }
}
 
module.exports = new UserRouter(UserDAO);