UNPKG

irest-app-test

Version:

iRest simulator application tooling and scripts - Backend

1 lines 2.92 kB
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]=void 0;var _messages=require("../../../constants/messages"),_responseHelper=_interopRequireDefault(require("../../../helpers/responseHelper")),_logger=_interopRequireDefault(require("../../../logger")),_sqliteConf=_interopRequireDefault(require("../../../sqliteConf")),_schemaDefaults=require("../../../constants/schemaDefaults"),_httpStatus=_interopRequireDefault(require("../../../constants/httpStatus"));function login(a,b,c){var d=_sqliteConf["default"].User,e=_sqliteConf["default"].Company,f=_sqliteConf["default"].Department,g=a.body,h=_schemaDefaults.status.DISABLED;d.findOne({where:{email:g.email}}).then(function(i){return _logger["default"].debug(i),i.status===h?(_logger["default"].error(_messages.accountNotActiveMessage),a.responseMessage=_messages.accountNotActiveMessage,a.statusCode=_httpStatus["default"].ClientErrorForbidden,(0,_responseHelper["default"])(a,b)):void d.comparePassword(g.password,i.password,function(d,g){return d||!g?(d&&_logger["default"].error(JSON.stringify(d)),a.responseMessage=_messages.passwordMismatchErrorMessage,a.statusCode=_httpStatus["default"].ClientErrorUnauthorized,(0,_responseHelper["default"])(a,b,c)):void e.findOne({where:{_id:i.companyId},include:[{model:f,attributes:["name","_id"],where:{companyId:i.companyId}}]}).then(function(d){if(d&&(null===d||void 0===d?void 0:d.status)===h)return _logger["default"].error(_messages.companyNotActiveMessage),a.responseMessage=_messages.companyNotActiveMessage,a.statusCode=_httpStatus["default"].ClientErrorForbidden,(0,_responseHelper["default"])(a,b);var e=i.role;a.responseMessage=_messages.userLoginSuccessMessage,a.statusCode=_httpStatus["default"].SuccessOK,a.responseData={email:i.email,name:i.name,_id:i.id,roles:e.split(","),companyId:i.companyId,company:null===d||void 0===d?void 0:d.name,departmentId:null===d||void 0===d?void 0:d.Departments.map(function(a){return a._id}),department:null===d||void 0===d?void 0:d.Departments.map(function(a){return a.name})},b.on("finish",function(b){if(b)_logger["default"].debug("Error, skipping the deletion temp mock for user: ".concat(i.email));else{var c,d=_sqliteConf["default"].TempMock;d.destroy({where:{userId:null===(c=a.responseData)||void 0===c?void 0:c._id}}).then(function(b){var c;_logger["default"].debug("this is the total no. of temp mock for user ".concat(null===(c=a.responseData)||void 0===c?void 0:c.email,": ").concat(null===b||void 0===b?void 0:b.length))})}}),c()})["catch"](function(a){_logger["default"].debug(a)})})})["catch"](function(c){return _logger["default"].error(JSON.stringify(c)),a.responseMessage=_messages.emailNotFoundErrorMessage,a.statusCode=_httpStatus["default"].ClientErrorBadRequest,(0,_responseHelper["default"])(a,b)})}var _default=exports["default"]=login;