eff3fd7146d6a68c95bcb1f8dee2265a01f86074
[motion2.git] / server / api / jscriptyProject / jscriptyProject.controller.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0xc901=['index','map','JscriptyProject','fieldName','key','query','filters','model','intersection','fields','hasOwnProperty','nolimit','order','sort','where','filter','merge','type','VIRTUAL','findAll','catch','params','keys','rawAttributes','attributes','length','includeAll','include','options','find','create','body','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','clone','createdAt','updatedAt','omit','user','role','getSessions','findOne','JscriptySessionReport','pick','ProjectId','getAnswers','JscriptyAnswerReport','rows','fromCharCode','toString','indexOf','replace','getSummary','starttime','parse','startTime','JscriptyQuestionReport','-createdAt','question','YYYY-MM-DD\x20HH:mm:ss','SessionId','questionId','answer','push','isEmpty','now','writeFileSync','/tmp/Jscripty_Project_%d_Summary_%s.csv','setHeader','Content-disposition','attachment;\x20filename=','format','Jscripty_Project_%d_Summary_%s.csv','text/csv','download','eml-format','moment','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../config/license/util','status','end','json','offset','limit','undefined','count','Content-Range','apply','reject','save','update','destroy','then','Projects','UserProfileResource','sendStatus','error','stack','name','send'];(function(_0x2a1a40,_0x4d5680){var _0x459415=function(_0x88952b){while(--_0x88952b){_0x2a1a40['push'](_0x2a1a40['shift']());}};_0x459415(++_0x4d5680);}(_0xc901,0x142));var _0x1c90=function(_0x40a045,_0x516f0e){_0x40a045=_0x40a045-0x0;var _0x1a687c=_0xc901[_0x40a045];return _0x1a687c;};'use strict';var emlformat=require(_0x1c90('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x1c90('0x1'));var BPromise=require(_0x1c90('0x2'));var Mustache=require('mustache');var util=require(_0x1c90('0x3'));var path=require(_0x1c90('0x4'));var sox=require(_0x1c90('0x5'));var csv=require(_0x1c90('0x6'));var ejs=require(_0x1c90('0x7'));var fs=require('fs');var fs_extra=require(_0x1c90('0x8'));var _=require(_0x1c90('0x9'));var squel=require(_0x1c90('0xa'));var crypto=require(_0x1c90('0xb'));var jsforce=require(_0x1c90('0xc'));var deskjs=require('desk.js');var toCsv=require(_0x1c90('0x6'));var querystring=require(_0x1c90('0xd'));var Papa=require(_0x1c90('0xe'));var Redis=require(_0x1c90('0xf'));var authService=require(_0x1c90('0x10'));var qs=require(_0x1c90('0x11'));var as=require(_0x1c90('0x12'));var hardwareService=require(_0x1c90('0x13'));var logger=require('../../config/logger')('api');var utils=require(_0x1c90('0x14'));var config=require(_0x1c90('0x15'));var licenseUtil=require(_0x1c90('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x4da158,_0x3a38ed){_0x3a38ed=_0x3a38ed||0xcc;return function(_0x3353e3){if(_0x3353e3){return _0x4da158['sendStatus'](_0x3a38ed);}return _0x4da158[_0x1c90('0x17')](_0x3a38ed)[_0x1c90('0x18')]();};}function respondWithResult(_0xf72b98,_0x589c97){_0x589c97=_0x589c97||0xc8;return function(_0x42cb94){if(_0x42cb94){return _0xf72b98['status'](_0x589c97)[_0x1c90('0x19')](_0x42cb94);}};}function respondWithFilteredResult(_0x210ef4,_0x7a88dc){return function(_0x42d8a4){if(_0x42d8a4){var _0x48bd5e=typeof _0x7a88dc[_0x1c90('0x1a')]==='undefined'&&typeof _0x7a88dc[_0x1c90('0x1b')]===_0x1c90('0x1c');var _0x5f1025=_0x42d8a4[_0x1c90('0x1d')];var _0x4ec354=_0x48bd5e?0x0:_0x7a88dc['offset'];var _0x128bf0=_0x48bd5e?_0x42d8a4['count']:_0x7a88dc[_0x1c90('0x1a')]+_0x7a88dc[_0x1c90('0x1b')];var _0x2a5b73;if(_0x128bf0>=_0x5f1025){_0x128bf0=_0x5f1025;_0x2a5b73=0xc8;}else{_0x2a5b73=0xce;}_0x210ef4[_0x1c90('0x17')](_0x2a5b73);return _0x210ef4['set'](_0x1c90('0x1e'),_0x4ec354+'-'+_0x128bf0+'/'+_0x5f1025)['json'](_0x42d8a4);}return null;};}function patchUpdates(_0x525997){return function(_0x38f997){try{jsonpatch[_0x1c90('0x1f')](_0x38f997,_0x525997,!![]);}catch(_0x47fd11){return BPromise[_0x1c90('0x20')](_0x47fd11);}return _0x38f997[_0x1c90('0x21')]();};}function saveUpdates(_0x445664,_0x4074fd){return function(_0x13fc42){if(_0x13fc42){return _0x13fc42[_0x1c90('0x22')](_0x445664)['then'](function(_0x418f4c){return _0x418f4c;});}return null;};}function removeEntity(_0x46baa1,_0xab232a){return function(_0x33c88b){if(_0x33c88b){return _0x33c88b[_0x1c90('0x23')]()[_0x1c90('0x24')](function(){var _0x4c3bb0=_0x33c88b['get']({'plain':!![]});var _0x64ca90=_0x1c90('0x25');return db[_0x1c90('0x26')]['destroy']({'where':{'type':_0x64ca90,'resourceId':_0x4c3bb0['id']}})[_0x1c90('0x24')](function(){return _0x33c88b;});})[_0x1c90('0x24')](function(){_0x46baa1['status'](0xcc)[_0x1c90('0x18')]();});}};}function handleEntityNotFound(_0x7e9044,_0x488d52){return function(_0x3f3d0f){if(!_0x3f3d0f){_0x7e9044[_0x1c90('0x27')](0x194);}return _0x3f3d0f;};}function handleError(_0x28801d,_0x21f982){_0x21f982=_0x21f982||0x1f4;return function(_0x395edb){logger[_0x1c90('0x28')](_0x395edb[_0x1c90('0x29')]);if(_0x395edb[_0x1c90('0x2a')]){delete _0x395edb['name'];}_0x28801d[_0x1c90('0x17')](_0x21f982)[_0x1c90('0x2b')](_0x395edb);};}exports[_0x1c90('0x2c')]=function(_0x11bcb3,_0x1979de){var _0x26381c={},_0x32eaf3={},_0x3ad85c={'count':0x0,'rows':[]};var _0x7422ff=_[_0x1c90('0x2d')](db[_0x1c90('0x2e')]['rawAttributes'],function(_0x17b8ac){return{'name':_0x17b8ac[_0x1c90('0x2f')],'type':_0x17b8ac['type'][_0x1c90('0x30')]};});_0x32eaf3['model']=_[_0x1c90('0x2d')](_0x7422ff,'name');_0x32eaf3[_0x1c90('0x31')]=_['keys'](_0x11bcb3[_0x1c90('0x31')]);_0x32eaf3[_0x1c90('0x32')]=_['intersection'](_0x32eaf3[_0x1c90('0x33')],_0x32eaf3[_0x1c90('0x31')]);_0x26381c['attributes']=_[_0x1c90('0x34')](_0x32eaf3[_0x1c90('0x33')],qs[_0x1c90('0x35')](_0x11bcb3[_0x1c90('0x31')][_0x1c90('0x35')]));_0x26381c['attributes']=_0x26381c['attributes']['length']?_0x26381c['attributes']:_0x32eaf3['model'];if(!_0x11bcb3[_0x1c90('0x31')][_0x1c90('0x36')](_0x1c90('0x37'))){_0x26381c['limit']=qs[_0x1c90('0x1b')](_0x11bcb3['query'][_0x1c90('0x1b')]);_0x26381c[_0x1c90('0x1a')]=qs['offset'](_0x11bcb3['query'][_0x1c90('0x1a')]);}_0x26381c[_0x1c90('0x38')]=qs[_0x1c90('0x39')](_0x11bcb3[_0x1c90('0x31')][_0x1c90('0x39')]);_0x26381c[_0x1c90('0x3a')]=qs[_0x1c90('0x32')](_['pick'](_0x11bcb3['query'],_0x32eaf3[_0x1c90('0x32')]),_0x7422ff);if(_0x11bcb3[_0x1c90('0x31')][_0x1c90('0x3b')]){_0x26381c[_0x1c90('0x3a')]=_[_0x1c90('0x3c')](_0x26381c[_0x1c90('0x3a')],{'$or':_[_0x1c90('0x2d')](_0x7422ff,function(_0x1ce496){if(_0x1ce496[_0x1c90('0x3d')]!==_0x1c90('0x3e')){var _0x4b1d26={};_0x4b1d26[_0x1ce496[_0x1c90('0x2a')]]={'$like':'%'+_0x11bcb3['query']['filter']+'%'};return _0x4b1d26;}})});}_0x26381c=_[_0x1c90('0x3c')]({},_0x26381c,_0x11bcb3['options']);var _0x4bd8be={'where':_0x26381c[_0x1c90('0x3a')]};return db[_0x1c90('0x2e')]['count'](_0x4bd8be)[_0x1c90('0x24')](function(_0x3271ea){_0x3ad85c[_0x1c90('0x1d')]=_0x3271ea;if(_0x11bcb3[_0x1c90('0x31')]['includeAll']){_0x26381c['include']=[{'all':!![]}];}return db[_0x1c90('0x2e')][_0x1c90('0x3f')](_0x26381c);})['then'](function(_0x35952a){_0x3ad85c['rows']=_0x35952a;return _0x3ad85c;})[_0x1c90('0x24')](respondWithFilteredResult(_0x1979de,_0x26381c))[_0x1c90('0x40')](handleError(_0x1979de,null));};exports['show']=function(_0x411b31,_0x4379a4){var _0x13b67d={'raw':![],'where':{'id':_0x411b31[_0x1c90('0x41')]['id']}},_0x6c40bc={};_0x6c40bc[_0x1c90('0x33')]=_[_0x1c90('0x42')](db[_0x1c90('0x2e')][_0x1c90('0x43')]);_0x6c40bc[_0x1c90('0x31')]=_[_0x1c90('0x42')](_0x411b31['query']);_0x6c40bc[_0x1c90('0x32')]=_['intersection'](_0x6c40bc[_0x1c90('0x33')],_0x6c40bc['query']);_0x13b67d['attributes']=_[_0x1c90('0x34')](_0x6c40bc[_0x1c90('0x33')],qs[_0x1c90('0x35')](_0x411b31[_0x1c90('0x31')][_0x1c90('0x35')]));_0x13b67d[_0x1c90('0x44')]=_0x13b67d[_0x1c90('0x44')][_0x1c90('0x45')]?_0x13b67d[_0x1c90('0x44')]:_0x6c40bc['model'];if(_0x411b31['query'][_0x1c90('0x46')]){_0x13b67d[_0x1c90('0x47')]=[{'all':!![]}];}_0x13b67d=_[_0x1c90('0x3c')]({},_0x13b67d,_0x411b31[_0x1c90('0x48')]);return db[_0x1c90('0x2e')][_0x1c90('0x49')](_0x13b67d)[_0x1c90('0x24')](handleEntityNotFound(_0x4379a4,null))[_0x1c90('0x24')](respondWithResult(_0x4379a4,null))['catch'](handleError(_0x4379a4,null));};exports[_0x1c90('0x4a')]=function(_0x24016a,_0x9524b6){return db['JscriptyProject']['create'](_0x24016a[_0x1c90('0x4b')],{})['then'](function(_0x38a8ed){var _0x52d638=_0x24016a['user'][_0x1c90('0x4c')]({'plain':!![]});if(!_0x52d638)throw new Error(_0x1c90('0x4d'));if(_0x52d638['role']==='user'){var _0x394177=_0x38a8ed['get']({'plain':!![]});var _0x19fafb=_0x1c90('0x25');return db[_0x1c90('0x4e')][_0x1c90('0x49')]({'where':{'name':_0x19fafb,'userProfileId':_0x52d638['userProfileId']},'raw':!![]})['then'](function(_0x4aa7ac){if(_0x4aa7ac&&_0x4aa7ac[_0x1c90('0x4f')]===0x0){return db['UserProfileResource'][_0x1c90('0x4a')]({'name':_0x394177[_0x1c90('0x2a')],'resourceId':_0x394177['id'],'type':_0x4aa7ac['name'],'sectionId':_0x4aa7ac['id']},{})[_0x1c90('0x24')](function(){return _0x38a8ed;});}else{return _0x38a8ed;}})['catch'](function(_0x30ed2a){logger['error'](_0x1c90('0x50'),_0x30ed2a);throw _0x30ed2a;});}return _0x38a8ed;})[_0x1c90('0x24')](respondWithResult(_0x9524b6,0xc9))[_0x1c90('0x40')](handleError(_0x9524b6,null));};exports[_0x1c90('0x51')]=function(_0x59ff4d,_0x1bc4a3){var _0x20aae9={'where':{'id':_0x59ff4d[_0x1c90('0x41')]['id']}},_0x30b293={};_0x30b293['model']=_[_0x1c90('0x42')](db[_0x1c90('0x2e')][_0x1c90('0x43')]);_0x20aae9[_0x1c90('0x44')]=_['intersection'](_0x30b293[_0x1c90('0x33')],qs[_0x1c90('0x35')](_0x59ff4d['query'][_0x1c90('0x35')]));_0x20aae9[_0x1c90('0x44')]=_0x20aae9[_0x1c90('0x44')]['length']?_0x20aae9['attributes']:_0x30b293[_0x1c90('0x33')];if(_0x59ff4d['query'][_0x1c90('0x46')]){_0x20aae9[_0x1c90('0x47')]=[{'all':!![]}];}_0x20aae9=_[_0x1c90('0x3c')]({},_0x20aae9,_0x59ff4d[_0x1c90('0x48')]);return db[_0x1c90('0x2e')][_0x1c90('0x49')](_0x20aae9)['then'](handleEntityNotFound(_0x1bc4a3,null))['then'](function(_0x47eb27){if(_0x47eb27){var _0x7c9d23=_0x47eb27[_0x1c90('0x4c')]({'plain':!![]});_0x7c9d23=qs['omit'](_0x7c9d23,['id',_0x1c90('0x52'),_0x1c90('0x53')]);_0x59ff4d[_0x1c90('0x4b')]=_[_0x1c90('0x54')](_0x59ff4d[_0x1c90('0x4b')],['id','createdAt',_0x1c90('0x53')]);return db[_0x1c90('0x2e')]['create'](_[_0x1c90('0x3c')](_0x7c9d23,_0x59ff4d[_0x1c90('0x4b')]),{'include':_0x59ff4d[_0x1c90('0x31')][_0x1c90('0x46')]?[{'all':!![]}]:undefined})['then'](function(_0x28339a){var _0x52eb60=_0x59ff4d[_0x1c90('0x55')][_0x1c90('0x4c')]({'plain':!![]});if(!_0x52eb60)throw new Error(_0x1c90('0x4d'));if(_0x52eb60[_0x1c90('0x56')]===_0x1c90('0x55')){var _0x4d72b6=_0x28339a[_0x1c90('0x4c')]({'plain':!![]});var _0x2b6ee8=_0x1c90('0x25');return db[_0x1c90('0x4e')][_0x1c90('0x49')]({'where':{'name':_0x2b6ee8,'userProfileId':_0x52eb60['userProfileId']},'raw':!![]})['then'](function(_0x43dc81){if(_0x43dc81&&_0x43dc81['autoAssociation']===0x0){return db[_0x1c90('0x26')][_0x1c90('0x4a')]({'name':_0x4d72b6[_0x1c90('0x2a')],'resourceId':_0x4d72b6['id'],'type':_0x43dc81[_0x1c90('0x2a')],'sectionId':_0x43dc81['id']},{})[_0x1c90('0x24')](function(){return _0x28339a;});}else{return _0x28339a;}})[_0x1c90('0x40')](function(_0x17abb7){logger[_0x1c90('0x28')](_0x1c90('0x50'),_0x17abb7);throw _0x17abb7;});}return _0x28339a;});}})[_0x1c90('0x24')](respondWithResult(_0x1bc4a3,0xc9))['catch'](handleError(_0x1bc4a3,null));};exports['update']=function(_0x2ab499,_0x13e9fd){if(_0x2ab499[_0x1c90('0x4b')]['id']){delete _0x2ab499[_0x1c90('0x4b')]['id'];}return db['JscriptyProject']['find']({'where':{'id':_0x2ab499['params']['id']}})[_0x1c90('0x24')](handleEntityNotFound(_0x13e9fd,null))[_0x1c90('0x24')](saveUpdates(_0x2ab499[_0x1c90('0x4b')],null))[_0x1c90('0x24')](respondWithResult(_0x13e9fd,null))[_0x1c90('0x40')](handleError(_0x13e9fd,null));};exports['destroy']=function(_0x315d48,_0x54eed4){return db[_0x1c90('0x2e')][_0x1c90('0x49')]({'where':{'id':_0x315d48['params']['id']}})[_0x1c90('0x24')](handleEntityNotFound(_0x54eed4,null))[_0x1c90('0x24')](removeEntity(_0x54eed4,null))[_0x1c90('0x40')](handleError(_0x54eed4,null));};exports[_0x1c90('0x57')]=function(_0x56cc29,_0x48575b,_0x3dae05){var _0x5c49d3={'raw':!![],'where':{}};var _0x427044={};var _0x1a8d81={'count':0x0,'rows':[]};return db[_0x1c90('0x2e')][_0x1c90('0x58')]({'where':{'id':_0x56cc29[_0x1c90('0x41')]['id']}})[_0x1c90('0x24')](handleEntityNotFound(_0x48575b,null))[_0x1c90('0x24')](function(_0x33c172){if(_0x33c172){_0x427044[_0x1c90('0x33')]=_[_0x1c90('0x42')](db[_0x1c90('0x59')][_0x1c90('0x43')]);_0x427044[_0x1c90('0x31')]=_['keys'](_0x56cc29[_0x1c90('0x31')]);_0x427044[_0x1c90('0x32')]=_[_0x1c90('0x34')](_0x427044[_0x1c90('0x33')],_0x427044['query']);_0x5c49d3['attributes']=_[_0x1c90('0x34')](_0x427044['model'],qs[_0x1c90('0x35')](_0x56cc29['query']['fields']));_0x5c49d3['attributes']=_0x5c49d3[_0x1c90('0x44')]['length']?_0x5c49d3[_0x1c90('0x44')]:_0x427044['model'];if(!_0x56cc29[_0x1c90('0x31')][_0x1c90('0x36')](_0x1c90('0x37'))){_0x5c49d3[_0x1c90('0x1b')]=qs[_0x1c90('0x1b')](_0x56cc29[_0x1c90('0x31')][_0x1c90('0x1b')]);_0x5c49d3['offset']=qs[_0x1c90('0x1a')](_0x56cc29['query'][_0x1c90('0x1a')]);}_0x5c49d3['order']=qs[_0x1c90('0x39')](_0x56cc29[_0x1c90('0x31')][_0x1c90('0x39')]);_0x5c49d3['where']=qs[_0x1c90('0x32')](_[_0x1c90('0x5a')](_0x56cc29[_0x1c90('0x31')],_0x427044[_0x1c90('0x32')]));_0x5c49d3['where'][_0x1c90('0x5b')]=_0x33c172['id'];if(_0x56cc29[_0x1c90('0x31')][_0x1c90('0x3b')]){_0x5c49d3[_0x1c90('0x3a')]=_[_0x1c90('0x3c')](_0x5c49d3[_0x1c90('0x3a')],{'$or':_[_0x1c90('0x2d')](_0x5c49d3[_0x1c90('0x44')],function(_0xe43dd2){var _0x476634={};_0x476634[_0xe43dd2]={'$like':'%'+_0x56cc29[_0x1c90('0x31')]['filter']+'%'};return _0x476634;})});}_0x5c49d3=_[_0x1c90('0x3c')]({},_0x5c49d3,_0x56cc29[_0x1c90('0x48')]);return db[_0x1c90('0x59')][_0x1c90('0x1d')]({'where':_0x5c49d3[_0x1c90('0x3a')]})[_0x1c90('0x24')](function(_0x4e8cda){_0x1a8d81['count']=_0x4e8cda;if(_0x56cc29['query'][_0x1c90('0x46')]){_0x5c49d3[_0x1c90('0x47')]=[{'all':!![]}];}return db[_0x1c90('0x59')][_0x1c90('0x3f')](_0x5c49d3);})[_0x1c90('0x24')](function(_0x518dd0){_0x1a8d81['rows']=_0x518dd0;return _0x1a8d81;});}})[_0x1c90('0x24')](respondWithFilteredResult(_0x48575b,_0x5c49d3))[_0x1c90('0x40')](handleError(_0x48575b,null));};exports[_0x1c90('0x5c')]=function(_0x2eb56e,_0x5ee136,_0x3fca31){var _0x3027b7={'raw':!![],'where':{}};var _0x2fbc63={};var _0x36bfa6={'count':0x0,'rows':[]};return db['JscriptyProject']['findOne']({'where':{'id':_0x2eb56e['params']['id']}})[_0x1c90('0x24')](handleEntityNotFound(_0x5ee136,null))[_0x1c90('0x24')](function(_0x5b5167){if(_0x5b5167){_0x2fbc63[_0x1c90('0x33')]=_['keys'](db[_0x1c90('0x5d')][_0x1c90('0x43')]);_0x2fbc63[_0x1c90('0x31')]=_['keys'](_0x2eb56e['query']);_0x2fbc63[_0x1c90('0x32')]=_[_0x1c90('0x34')](_0x2fbc63[_0x1c90('0x33')],_0x2fbc63['query']);_0x3027b7['attributes']=_['intersection'](_0x2fbc63[_0x1c90('0x33')],qs['fields'](_0x2eb56e[_0x1c90('0x31')][_0x1c90('0x35')]));_0x3027b7[_0x1c90('0x44')]=_0x3027b7[_0x1c90('0x44')][_0x1c90('0x45')]?_0x3027b7[_0x1c90('0x44')]:_0x2fbc63[_0x1c90('0x33')];if(!_0x2eb56e[_0x1c90('0x31')][_0x1c90('0x36')](_0x1c90('0x37'))){_0x3027b7[_0x1c90('0x1b')]=qs[_0x1c90('0x1b')](_0x2eb56e[_0x1c90('0x31')][_0x1c90('0x1b')]);_0x3027b7['offset']=qs['offset'](_0x2eb56e[_0x1c90('0x31')][_0x1c90('0x1a')]);}_0x3027b7[_0x1c90('0x38')]=qs[_0x1c90('0x39')](_0x2eb56e[_0x1c90('0x31')][_0x1c90('0x39')]);_0x3027b7[_0x1c90('0x3a')]=qs[_0x1c90('0x32')](_[_0x1c90('0x5a')](_0x2eb56e[_0x1c90('0x31')],_0x2fbc63[_0x1c90('0x32')]));_0x3027b7[_0x1c90('0x3a')][_0x1c90('0x5b')]=_0x5b5167['id'];if(_0x2eb56e[_0x1c90('0x31')]['filter']){_0x3027b7[_0x1c90('0x3a')]=_[_0x1c90('0x3c')](_0x3027b7[_0x1c90('0x3a')],{'$or':_[_0x1c90('0x2d')](_0x3027b7[_0x1c90('0x44')],function(_0x6d0028){var _0xe78dad={};_0xe78dad[_0x6d0028]={'$like':'%'+_0x2eb56e[_0x1c90('0x31')]['filter']+'%'};return _0xe78dad;})});}_0x3027b7=_[_0x1c90('0x3c')]({},_0x3027b7,_0x2eb56e[_0x1c90('0x48')]);return db[_0x1c90('0x5d')][_0x1c90('0x1d')]({'where':_0x3027b7[_0x1c90('0x3a')]})['then'](function(_0x429498){_0x36bfa6['count']=_0x429498;if(_0x2eb56e[_0x1c90('0x31')][_0x1c90('0x46')]){_0x3027b7[_0x1c90('0x47')]=[{'all':!![]}];}return db['JscriptyAnswerReport'][_0x1c90('0x3f')](_0x3027b7);})[_0x1c90('0x24')](function(_0x940b03){_0x36bfa6[_0x1c90('0x5e')]=_0x940b03;return _0x36bfa6;});}})[_0x1c90('0x24')](respondWithFilteredResult(_0x5ee136,_0x3027b7))['catch'](handleError(_0x5ee136,null));};function char(_0x51d761){return'number'===typeof _0x51d761?String[_0x1c90('0x5f')][_0x1c90('0x1f')](null,arguments):_0x51d761;}function needsEncapsulation(_0x1dcfdb){return!!_0x1dcfdb&&(_0x1dcfdb[_0x1c90('0x60')]()['indexOf'](char(0xd))>=0x0||_0x1dcfdb[_0x1c90('0x60')]()['indexOf'](char(0xa))>=0x0||_0x1dcfdb[_0x1c90('0x60')]()['indexOf'](char(0x2c))>=0x0||_0x1dcfdb[_0x1c90('0x60')]()[_0x1c90('0x61')](char(0x22))>=0x0);}function encapsulate(_0x53a1a2){var _0x3ec314=char(0x22),_0x20e516='\x5c'+char(0x22),_0x1eee06=_0x53a1a2['toString']()[_0x1c90('0x62')](new RegExp(_0x3ec314,'g'),_0x20e516);return _0x3ec314+_0x1eee06+_0x3ec314;}exports[_0x1c90('0x63')]=function(_0xfbc363,_0x1977dd,_0x26d1e3){var _0x168d6a,_0x4f68a4;var _0x4f8cb4={'where':{'ProjectId':_0xfbc363[_0x1c90('0x41')]['id']}};if(_0xfbc363['query']['startTime']){_0x4f8cb4[_0x1c90('0x3a')][_0x1c90('0x64')]=JSON[_0x1c90('0x65')](_0xfbc363[_0x1c90('0x31')][_0x1c90('0x66')]);}return db[_0x1c90('0x59')]['findAll'](_0x4f8cb4)[_0x1c90('0x24')](handleEntityNotFound(_0x1977dd,null))[_0x1c90('0x24')](function(_0xca0b3b){if(_0xca0b3b){_0x168d6a=_0xca0b3b;return db[_0x1c90('0x67')][_0x1c90('0x3f')]({'where':{'SessionId':{'$in':_[_0x1c90('0x2d')](_0x168d6a,'id')},'ProjectId':_0xfbc363[_0x1c90('0x41')]['id']},'order':_0x1c90('0x68')});}})[_0x1c90('0x24')](handleEntityNotFound(_0x1977dd,null))[_0x1c90('0x24')](function(_0x33ffb0){if(_0x33ffb0){_0x4f68a4=_0x33ffb0;var _0xe3a57c={};for(var _0x1262a7=0x0,_0x583bb2=_0x4f68a4[_0x1c90('0x45')];_0x1262a7<_0x583bb2;_0x1262a7++){if(!_0xe3a57c['hasOwnProperty'](_0x4f68a4[_0x1262a7]['questionId'])){_0xe3a57c[_0x4f68a4[_0x1262a7]['questionId']]=needsEncapsulation(_0x4f68a4[_0x1262a7][_0x1c90('0x69')])?encapsulate(_0x4f68a4[_0x1262a7][_0x1c90('0x69')]):_0x4f68a4[_0x1262a7]['question'];}}var _0x50a6d4=[],_0x1cd3fe={};for(var _0x1d32a5=0x0,_0x512e43=_0x168d6a[_0x1c90('0x45')];_0x1d32a5<_0x512e43;_0x1d32a5++){_0x1cd3fe={'ProjectId':_0xfbc363[_0x1c90('0x41')]['id'],'SessionId':_0x168d6a[_0x1d32a5]['id'],'StartTime':moment(_0x168d6a[_0x1d32a5][_0x1c90('0x64')])['format'](_0x1c90('0x6a'))};for(var _0x4f1bdc=0x0,_0x3af677=_0x4f68a4[_0x1c90('0x45')];_0x4f1bdc<_0x3af677;_0x4f1bdc++){if(_0x4f68a4[_0x4f1bdc][_0x1c90('0x6b')]==_0x168d6a[_0x1d32a5]['id']&&_0xe3a57c[_0x1c90('0x36')](_0x4f68a4[_0x4f1bdc][_0x1c90('0x6c')])){_0x1cd3fe[_0xe3a57c[_0x4f68a4[_0x4f1bdc]['questionId']]]=_0x4f68a4[_0x4f1bdc][_0x1c90('0x6d')];}}for(var _0x4daebc in _0xe3a57c){if(!_0x1cd3fe[_0x1c90('0x36')](_0xe3a57c[_0x4daebc])){_0x1cd3fe[_0xe3a57c[_0x4daebc]]=null;}}_0x50a6d4[_0x1c90('0x6e')](_0x1cd3fe);}return _0x50a6d4;}})[_0x1c90('0x24')](function(_0x1ec500){if(!_[_0x1c90('0x6f')](_0x1ec500)){var _0x47e8db=toCsv(_0x1ec500);var _0x26a53e=Date[_0x1c90('0x70')]();fs[_0x1c90('0x71')](util['format'](_0x1c90('0x72'),_0xfbc363[_0x1c90('0x41')]['id'],_0x26a53e),_0x47e8db);_0x1977dd[_0x1c90('0x73')](_0x1c90('0x74'),_0x1c90('0x75')+util[_0x1c90('0x76')](_0x1c90('0x77'),_0xfbc363[_0x1c90('0x41')]['id'],_0x26a53e));_0x1977dd['setHeader']('Content-type',_0x1c90('0x78'));return _0x1977dd[_0x1c90('0x79')](util[_0x1c90('0x76')](_0x1c90('0x72'),_0xfbc363['params']['id'],_0x26a53e));}else{return _0x1977dd[_0x1c90('0x27')](0xcc);}})[_0x1c90('0x40')](handleError(_0x1977dd,null));};