irest-app-test
Version:
iRest simulator application tooling and scripts - Backend
2 lines • 3.06 kB
JavaScript
;var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]=void 0;var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")),_sqliteConf=_interopRequireDefault(require("../../../sqliteConf")),_responseHelper=_interopRequireDefault(require("../../../helpers/responseHelper")),_messages=require("../../../constants/messages"),_logger=_interopRequireDefault(require("../../../logger")),_httpStatus=_interopRequireDefault(require("../../../constants/httpStatus"));function assign(a,b){var c=a.body,d=c.assignId,e=c.userId,f=c.projectIds,g=c.defaultPassword,h=c.isUpdate,i=c.bypassResponseHandler,j=c.token,k=c.email,l=_sqliteConf["default"].UserProjects;// const {projectId} = req.params;
if(i)0===f.length?l.destroy({where:{userId:d}}).then(function(){return a.responseMessage=h?_messages.userUpdationSuccessMessage:_messages.userCreationSuccessMessage,a.statusCode=_httpStatus["default"].SuccessCreated,a.responseData=j?{email:k,password:g,_id:e}:{email:k,_id:e},(0,_responseHelper["default"])(a,b)})["catch"](function(c){return _logger["default"].error(c),(0,_responseHelper["default"])(a,b)}):l.destroy({where:{userId:d}}).then(function(){var c=f.map(function(a){return{projectId:a,userId:d}});l.bulkCreate(c).then(function(){return a.responseMessage=h?_messages.userUpdationSuccessMessage:_messages.userCreationSuccessMessage,a.statusCode=_httpStatus["default"].SuccessCreated,a.responseData=j?{email:k,password:g,_id:e}:{email:k,_id:e},(0,_responseHelper["default"])(a,b)})["catch"](function(c){return _logger["default"].error(c),(0,_responseHelper["default"])(a,b)})})["catch"](function(c){return _logger["default"].error(c),(0,_responseHelper["default"])(a,b)});else{var m="Select Users.*, UserProjects.*, Companies.* from Users INNER JOIN UserProjects on Users.id = UserProjects.userId INNER JOIN Companies on Users.companyId = Companies._id WHERE UserProjects.projectId IN (\"".concat(f.join("\",\""),"\") AND Users.id = \"").concat(e,"\"");_sqliteConf["default"].sequelize.query(m).then(function(c){var e=(0,_slicedToArray2["default"])(c,1),f=e[0];if(0<f.length){var g=f.map(function(a){return{projectId:a.projectId,userId:d}});l.destroy({where:{userId:d}}).then(function(){l.bulkCreate(g).then(function(c){return a.responseMessage=_messages.projectAssignmentSuccessMessage,a.statusCode=_httpStatus["default"].SuccessCreated,a.responseData={userProjects:c},(0,_responseHelper["default"])(a,b)})["catch"](function(c){return _logger["default"].error(c),(0,_responseHelper["default"])(a,b)})})["catch"](function(c){return _logger["default"].error(c),(0,_responseHelper["default"])(a,b)})}else return a.responseMessage=_messages.noProjectSelected,a.responseData={projects:f},a.statusCode=_httpStatus["default"].ClientErrorExpectationFailed,(0,_responseHelper["default"])(a,b)})["catch"](function(c){return _logger["default"].error(c),(0,_responseHelper["default"])(a,b)})}}var _default=exports["default"]=assign;