All files / source/users create.js

100% Statements 5/5
100% Branches 3/3
100% Functions 1/1
100% Lines 5/5

Press n or j to go to the next uncovered block, b, p or k for the previous block.

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              2x 2x 2x                                                 1x   1x              
import moment from 'moment-timezone';
 
import APIError from '../../helpers/error';
import UserDao from '../../database/dao/user';
import { passwordSHA256 } from '../../helpers/validators/password';
 
async function createUser(user, opts = {}) {
  try {
    const passValid = moment().subtract(10, 'days');
    const newUser = await UserDao.createUser(
      {
        email: user.email,
        login: user.login,
        name: user.name,
        type: user.type,
        status: user.status,
        password: passwordSHA256(user.password),
        passValid: user.passValid || passValid,
        department: user.department,
        workShift: user.workShift,
        accessProfile: user.accessProfile,
        userFunction: user.userFunction,
        printer: user.printer,
        userBranches: user.userBranches.toString(),
        mainBranch: user.mainBranch,
        createdUser: user.createdUser,
        createdAt: moment().format(),
        attempt: 0,
        lastDateLogged: moment().format(),
        updatedUser: user.updatedUser,
        updatedAt: moment().format(),
      },
      opts
    );
    return newUser;
  } catch (error) {
    throw new APIError('', error);
  }
}
 
export default {
  createUser,
};