342b7ead5bfb80bfff8ff3ea8569f5f5e5fbd873
[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 _0x39d0=['../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','json','undefined','limit','offset','Content-Range','reject','update','then','get','Projects','destroy','error','stack','name','send','index','map','key','model','query','keys','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','type','VIRTUAL','merge','JscriptyProject','count','includeAll','include','catch','show','params','rawAttributes','options','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','find','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','length','updatedAt','createdAt','UserProfileResource','getSessions','JscriptySessionReport','ProjectId','rows','JscriptyAnswerReport','findAll','fromCharCode','apply','indexOf','toString','getSummary','startTime','parse','JscriptyQuestionReport','-createdAt','questionId','question','format','YYYY-MM-DD\x20HH:mm:ss','SessionId','answer','push','isEmpty','now','/tmp/Jscripty_Project_%d_Summary_%s.csv','setHeader','Jscripty_Project_%d_Summary_%s.csv','Content-type','text/csv','download','eml-format','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','ioredis','../../components/parsers/qs'];(function(_0x1bcd4f,_0x13a8b7){var _0x3afa63=function(_0x2d5ffc){while(--_0x2d5ffc){_0x1bcd4f['push'](_0x1bcd4f['shift']());}};_0x3afa63(++_0x13a8b7);}(_0x39d0,0x144));var _0x039d=function(_0x1eeab6,_0x4bacec){_0x1eeab6=_0x1eeab6-0x0;var _0x2f2723=_0x39d0[_0x1eeab6];return _0x2f2723;};'use strict';var emlformat=require(_0x039d('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x039d('0x1'));var rp=require(_0x039d('0x2'));var moment=require(_0x039d('0x3'));var BPromise=require(_0x039d('0x4'));var Mustache=require(_0x039d('0x5'));var util=require('util');var path=require(_0x039d('0x6'));var sox=require(_0x039d('0x7'));var csv=require(_0x039d('0x8'));var ejs=require(_0x039d('0x9'));var fs=require('fs');var fs_extra=require(_0x039d('0xa'));var _=require(_0x039d('0xb'));var squel=require(_0x039d('0xc'));var crypto=require(_0x039d('0xd'));var jsforce=require(_0x039d('0xe'));var deskjs=require(_0x039d('0xf'));var toCsv=require(_0x039d('0x8'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x039d('0x10'));var authService=require('../../components/auth/service');var qs=require(_0x039d('0x11'));var as=require(_0x039d('0x12'));var hardwareService=require(_0x039d('0x13'));var logger=require(_0x039d('0x14'))('api');var utils=require(_0x039d('0x15'));var config=require(_0x039d('0x16'));var licenseUtil=require(_0x039d('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x9930eb,_0x111f41){_0x111f41=_0x111f41||0xcc;return function(_0x24de67){if(_0x24de67){return _0x9930eb[_0x039d('0x18')](_0x111f41);}return _0x9930eb[_0x039d('0x19')](_0x111f41)[_0x039d('0x1a')]();};}function respondWithResult(_0x3147c0,_0x54cf8e){_0x54cf8e=_0x54cf8e||0xc8;return function(_0x4dc3a4){if(_0x4dc3a4){return _0x3147c0[_0x039d('0x19')](_0x54cf8e)[_0x039d('0x1b')](_0x4dc3a4);}};}function respondWithFilteredResult(_0x33e289,_0x138193){return function(_0x24c16f){if(_0x24c16f){var _0x330966=typeof _0x138193['offset']===_0x039d('0x1c')&&typeof _0x138193[_0x039d('0x1d')]===_0x039d('0x1c');var _0x4dfc0c=_0x24c16f['count'];var _0xaedb24=_0x330966?0x0:_0x138193[_0x039d('0x1e')];var _0x360233=_0x330966?_0x24c16f['count']:_0x138193['offset']+_0x138193[_0x039d('0x1d')];var _0x37ff76;if(_0x360233>=_0x4dfc0c){_0x360233=_0x4dfc0c;_0x37ff76=0xc8;}else{_0x37ff76=0xce;}_0x33e289['status'](_0x37ff76);return _0x33e289['set'](_0x039d('0x1f'),_0xaedb24+'-'+_0x360233+'/'+_0x4dfc0c)['json'](_0x24c16f);}return null;};}function patchUpdates(_0x2a8602){return function(_0x1e526e){try{jsonpatch['apply'](_0x1e526e,_0x2a8602,!![]);}catch(_0x2e33e1){return BPromise[_0x039d('0x20')](_0x2e33e1);}return _0x1e526e['save']();};}function saveUpdates(_0x6e1cb9,_0x15dcaa){return function(_0xd5c776){if(_0xd5c776){return _0xd5c776[_0x039d('0x21')](_0x6e1cb9)[_0x039d('0x22')](function(_0x5b9ade){return _0x5b9ade;});}return null;};}function removeEntity(_0x2f21b7,_0x7e230f){return function(_0x15b103){if(_0x15b103){return _0x15b103['destroy']()[_0x039d('0x22')](function(){var _0x4a3177=_0x15b103[_0x039d('0x23')]({'plain':!![]});var _0x109b2b=_0x039d('0x24');return db['UserProfileResource'][_0x039d('0x25')]({'where':{'type':_0x109b2b,'resourceId':_0x4a3177['id']}})[_0x039d('0x22')](function(){return _0x15b103;});})[_0x039d('0x22')](function(){_0x2f21b7[_0x039d('0x19')](0xcc)[_0x039d('0x1a')]();});}};}function handleEntityNotFound(_0x1ef877,_0x3ad778){return function(_0x170e34){if(!_0x170e34){_0x1ef877[_0x039d('0x18')](0x194);}return _0x170e34;};}function handleError(_0x9da588,_0x33f704){_0x33f704=_0x33f704||0x1f4;return function(_0x38ff1e){logger[_0x039d('0x26')](_0x38ff1e[_0x039d('0x27')]);if(_0x38ff1e[_0x039d('0x28')]){delete _0x38ff1e[_0x039d('0x28')];}_0x9da588[_0x039d('0x19')](_0x33f704)[_0x039d('0x29')](_0x38ff1e);};}exports[_0x039d('0x2a')]=function(_0xf477c5,_0x1f89a5){var _0xf074d8={},_0xf32a01={},_0x2eef2b={'count':0x0,'rows':[]};var _0x1babe4=_[_0x039d('0x2b')](db['JscriptyProject']['rawAttributes'],function(_0x12ee85){return{'name':_0x12ee85['fieldName'],'type':_0x12ee85['type'][_0x039d('0x2c')]};});_0xf32a01[_0x039d('0x2d')]=_[_0x039d('0x2b')](_0x1babe4,_0x039d('0x28'));_0xf32a01[_0x039d('0x2e')]=_[_0x039d('0x2f')](_0xf477c5['query']);_0xf32a01['filters']=_[_0x039d('0x30')](_0xf32a01[_0x039d('0x2d')],_0xf32a01['query']);_0xf074d8[_0x039d('0x31')]=_[_0x039d('0x30')](_0xf32a01['model'],qs[_0x039d('0x32')](_0xf477c5[_0x039d('0x2e')][_0x039d('0x32')]));_0xf074d8[_0x039d('0x31')]=_0xf074d8['attributes']['length']?_0xf074d8[_0x039d('0x31')]:_0xf32a01[_0x039d('0x2d')];if(!_0xf477c5[_0x039d('0x2e')][_0x039d('0x33')](_0x039d('0x34'))){_0xf074d8['limit']=qs[_0x039d('0x1d')](_0xf477c5[_0x039d('0x2e')][_0x039d('0x1d')]);_0xf074d8[_0x039d('0x1e')]=qs[_0x039d('0x1e')](_0xf477c5['query'][_0x039d('0x1e')]);}_0xf074d8[_0x039d('0x35')]=qs[_0x039d('0x36')](_0xf477c5['query'][_0x039d('0x36')]);_0xf074d8[_0x039d('0x37')]=qs[_0x039d('0x38')](_[_0x039d('0x39')](_0xf477c5['query'],_0xf32a01[_0x039d('0x38')]),_0x1babe4);if(_0xf477c5[_0x039d('0x2e')][_0x039d('0x3a')]){_0xf074d8[_0x039d('0x37')]=_['merge'](_0xf074d8['where'],{'$or':_[_0x039d('0x2b')](_0x1babe4,function(_0x1b83ba){if(_0x1b83ba[_0x039d('0x3b')]!==_0x039d('0x3c')){var _0xbb1a62={};_0xbb1a62[_0x1b83ba['name']]={'$like':'%'+_0xf477c5[_0x039d('0x2e')]['filter']+'%'};return _0xbb1a62;}})});}_0xf074d8=_[_0x039d('0x3d')]({},_0xf074d8,_0xf477c5['options']);var _0x40df67={'where':_0xf074d8[_0x039d('0x37')]};return db[_0x039d('0x3e')][_0x039d('0x3f')](_0x40df67)['then'](function(_0x397d9e){_0x2eef2b[_0x039d('0x3f')]=_0x397d9e;if(_0xf477c5['query'][_0x039d('0x40')]){_0xf074d8[_0x039d('0x41')]=[{'all':!![]}];}return db['JscriptyProject']['findAll'](_0xf074d8);})[_0x039d('0x22')](function(_0x4485dc){_0x2eef2b['rows']=_0x4485dc;return _0x2eef2b;})[_0x039d('0x22')](respondWithFilteredResult(_0x1f89a5,_0xf074d8))[_0x039d('0x42')](handleError(_0x1f89a5,null));};exports[_0x039d('0x43')]=function(_0x13e74c,_0x3c39ec){var _0x35da4d={'raw':![],'where':{'id':_0x13e74c[_0x039d('0x44')]['id']}},_0x18f09e={};_0x18f09e['model']=_['keys'](db['JscriptyProject'][_0x039d('0x45')]);_0x18f09e[_0x039d('0x2e')]=_['keys'](_0x13e74c[_0x039d('0x2e')]);_0x18f09e[_0x039d('0x38')]=_[_0x039d('0x30')](_0x18f09e[_0x039d('0x2d')],_0x18f09e[_0x039d('0x2e')]);_0x35da4d['attributes']=_[_0x039d('0x30')](_0x18f09e[_0x039d('0x2d')],qs[_0x039d('0x32')](_0x13e74c[_0x039d('0x2e')]['fields']));_0x35da4d[_0x039d('0x31')]=_0x35da4d[_0x039d('0x31')]['length']?_0x35da4d['attributes']:_0x18f09e['model'];if(_0x13e74c[_0x039d('0x2e')]['includeAll']){_0x35da4d[_0x039d('0x41')]=[{'all':!![]}];}_0x35da4d=_[_0x039d('0x3d')]({},_0x35da4d,_0x13e74c[_0x039d('0x46')]);return db[_0x039d('0x3e')]['find'](_0x35da4d)[_0x039d('0x22')](handleEntityNotFound(_0x3c39ec,null))[_0x039d('0x22')](respondWithResult(_0x3c39ec,null))[_0x039d('0x42')](handleError(_0x3c39ec,null));};exports['create']=function(_0x207835,_0x763622){return db[_0x039d('0x3e')][_0x039d('0x47')](_0x207835[_0x039d('0x48')],{})[_0x039d('0x22')](function(_0x11642b){var _0x1efc9e=_0x207835[_0x039d('0x49')]['get']({'plain':!![]});if(!_0x1efc9e)throw new Error(_0x039d('0x4a'));if(_0x1efc9e[_0x039d('0x4b')]===_0x039d('0x49')){var _0x6a7798=_0x11642b[_0x039d('0x23')]({'plain':!![]});var _0x43c3f5=_0x039d('0x24');return db[_0x039d('0x4c')][_0x039d('0x4d')]({'where':{'name':_0x43c3f5,'userProfileId':_0x1efc9e['userProfileId']},'raw':!![]})[_0x039d('0x22')](function(_0x4f6323){if(_0x4f6323&&_0x4f6323[_0x039d('0x4e')]===0x0){return db['UserProfileResource'][_0x039d('0x47')]({'name':_0x6a7798[_0x039d('0x28')],'resourceId':_0x6a7798['id'],'type':_0x4f6323['name'],'sectionId':_0x4f6323['id']},{})['then'](function(){return _0x11642b;});}else{return _0x11642b;}})[_0x039d('0x42')](function(_0x226628){logger[_0x039d('0x26')](_0x039d('0x4f'),_0x226628);throw _0x226628;});}return _0x11642b;})[_0x039d('0x22')](respondWithResult(_0x763622,0xc9))['catch'](handleError(_0x763622,null));};exports['clone']=function(_0x482c77,_0x3613a5){var _0x56834c={'where':{'id':_0x482c77['params']['id']}},_0x45cd5b={};_0x45cd5b[_0x039d('0x2d')]=_[_0x039d('0x2f')](db['JscriptyProject'][_0x039d('0x45')]);_0x56834c[_0x039d('0x31')]=_['intersection'](_0x45cd5b[_0x039d('0x2d')],qs[_0x039d('0x32')](_0x482c77[_0x039d('0x2e')][_0x039d('0x32')]));_0x56834c[_0x039d('0x31')]=_0x56834c[_0x039d('0x31')][_0x039d('0x50')]?_0x56834c[_0x039d('0x31')]:_0x45cd5b[_0x039d('0x2d')];if(_0x482c77[_0x039d('0x2e')][_0x039d('0x40')]){_0x56834c[_0x039d('0x41')]=[{'all':!![]}];}_0x56834c=_['merge']({},_0x56834c,_0x482c77[_0x039d('0x46')]);return db[_0x039d('0x3e')][_0x039d('0x4d')](_0x56834c)[_0x039d('0x22')](handleEntityNotFound(_0x3613a5,null))[_0x039d('0x22')](function(_0x56b61c){if(_0x56b61c){var _0x4f8559=_0x56b61c[_0x039d('0x23')]({'plain':!![]});_0x4f8559=qs['omit'](_0x4f8559,['id','createdAt',_0x039d('0x51')]);_0x482c77[_0x039d('0x48')]=_['omit'](_0x482c77[_0x039d('0x48')],['id',_0x039d('0x52'),'updatedAt']);return db[_0x039d('0x3e')][_0x039d('0x47')](_[_0x039d('0x3d')](_0x4f8559,_0x482c77['body']),{'include':_0x482c77[_0x039d('0x2e')][_0x039d('0x40')]?[{'all':!![]}]:undefined})[_0x039d('0x22')](function(_0x4729dc){var _0x536bce=_0x482c77['user'][_0x039d('0x23')]({'plain':!![]});if(!_0x536bce)throw new Error(_0x039d('0x4a'));if(_0x536bce[_0x039d('0x4b')]===_0x039d('0x49')){var _0x44ab8a=_0x4729dc[_0x039d('0x23')]({'plain':!![]});var _0x5b3083=_0x039d('0x24');return db[_0x039d('0x4c')][_0x039d('0x4d')]({'where':{'name':_0x5b3083,'userProfileId':_0x536bce['userProfileId']},'raw':!![]})[_0x039d('0x22')](function(_0x14ed0f){if(_0x14ed0f&&_0x14ed0f[_0x039d('0x4e')]===0x0){return db[_0x039d('0x53')][_0x039d('0x47')]({'name':_0x44ab8a[_0x039d('0x28')],'resourceId':_0x44ab8a['id'],'type':_0x14ed0f['name'],'sectionId':_0x14ed0f['id']},{})[_0x039d('0x22')](function(){return _0x4729dc;});}else{return _0x4729dc;}})['catch'](function(_0x5c29b0){logger[_0x039d('0x26')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x5c29b0);throw _0x5c29b0;});}return _0x4729dc;});}})[_0x039d('0x22')](respondWithResult(_0x3613a5,0xc9))[_0x039d('0x42')](handleError(_0x3613a5,null));};exports['update']=function(_0x338a03,_0x2fbf5f){if(_0x338a03['body']['id']){delete _0x338a03[_0x039d('0x48')]['id'];}return db['JscriptyProject'][_0x039d('0x4d')]({'where':{'id':_0x338a03[_0x039d('0x44')]['id']}})[_0x039d('0x22')](handleEntityNotFound(_0x2fbf5f,null))[_0x039d('0x22')](saveUpdates(_0x338a03[_0x039d('0x48')],null))[_0x039d('0x22')](respondWithResult(_0x2fbf5f,null))[_0x039d('0x42')](handleError(_0x2fbf5f,null));};exports[_0x039d('0x25')]=function(_0x2eeb5d,_0x3f8fc2){return db['JscriptyProject'][_0x039d('0x4d')]({'where':{'id':_0x2eeb5d[_0x039d('0x44')]['id']}})['then'](handleEntityNotFound(_0x3f8fc2,null))[_0x039d('0x22')](removeEntity(_0x3f8fc2,null))[_0x039d('0x42')](handleError(_0x3f8fc2,null));};exports[_0x039d('0x54')]=function(_0x3de906,_0xb8c3a0,_0x345e23){var _0x6bfc15={'raw':!![],'where':{}};var _0x4256a8={};var _0x12d02c={'count':0x0,'rows':[]};return db[_0x039d('0x3e')]['findOne']({'where':{'id':_0x3de906[_0x039d('0x44')]['id']}})[_0x039d('0x22')](handleEntityNotFound(_0xb8c3a0,null))[_0x039d('0x22')](function(_0x2304b3){if(_0x2304b3){_0x4256a8[_0x039d('0x2d')]=_[_0x039d('0x2f')](db[_0x039d('0x55')]['rawAttributes']);_0x4256a8[_0x039d('0x2e')]=_['keys'](_0x3de906[_0x039d('0x2e')]);_0x4256a8['filters']=_['intersection'](_0x4256a8[_0x039d('0x2d')],_0x4256a8[_0x039d('0x2e')]);_0x6bfc15[_0x039d('0x31')]=_['intersection'](_0x4256a8[_0x039d('0x2d')],qs['fields'](_0x3de906['query'][_0x039d('0x32')]));_0x6bfc15[_0x039d('0x31')]=_0x6bfc15['attributes'][_0x039d('0x50')]?_0x6bfc15['attributes']:_0x4256a8[_0x039d('0x2d')];if(!_0x3de906[_0x039d('0x2e')]['hasOwnProperty'](_0x039d('0x34'))){_0x6bfc15[_0x039d('0x1d')]=qs['limit'](_0x3de906[_0x039d('0x2e')][_0x039d('0x1d')]);_0x6bfc15['offset']=qs[_0x039d('0x1e')](_0x3de906[_0x039d('0x2e')][_0x039d('0x1e')]);}_0x6bfc15['order']=qs['sort'](_0x3de906[_0x039d('0x2e')][_0x039d('0x36')]);_0x6bfc15[_0x039d('0x37')]=qs[_0x039d('0x38')](_[_0x039d('0x39')](_0x3de906[_0x039d('0x2e')],_0x4256a8[_0x039d('0x38')]));_0x6bfc15[_0x039d('0x37')][_0x039d('0x56')]=_0x2304b3['id'];if(_0x3de906[_0x039d('0x2e')]['filter']){_0x6bfc15[_0x039d('0x37')]=_[_0x039d('0x3d')](_0x6bfc15['where'],{'$or':_['map'](_0x6bfc15[_0x039d('0x31')],function(_0x2dc97f){var _0x3172e0={};_0x3172e0[_0x2dc97f]={'$like':'%'+_0x3de906[_0x039d('0x2e')][_0x039d('0x3a')]+'%'};return _0x3172e0;})});}_0x6bfc15=_[_0x039d('0x3d')]({},_0x6bfc15,_0x3de906[_0x039d('0x46')]);return db[_0x039d('0x55')][_0x039d('0x3f')]({'where':_0x6bfc15[_0x039d('0x37')]})[_0x039d('0x22')](function(_0x298786){_0x12d02c[_0x039d('0x3f')]=_0x298786;if(_0x3de906['query']['includeAll']){_0x6bfc15[_0x039d('0x41')]=[{'all':!![]}];}return db[_0x039d('0x55')]['findAll'](_0x6bfc15);})[_0x039d('0x22')](function(_0x4c7d3e){_0x12d02c[_0x039d('0x57')]=_0x4c7d3e;return _0x12d02c;});}})[_0x039d('0x22')](respondWithFilteredResult(_0xb8c3a0,_0x6bfc15))[_0x039d('0x42')](handleError(_0xb8c3a0,null));};exports['getAnswers']=function(_0x4bbefe,_0x285da7,_0x5595a0){var _0x322b44={'raw':!![],'where':{}};var _0x5e451b={};var _0x102d68={'count':0x0,'rows':[]};return db[_0x039d('0x3e')]['findOne']({'where':{'id':_0x4bbefe[_0x039d('0x44')]['id']}})[_0x039d('0x22')](handleEntityNotFound(_0x285da7,null))[_0x039d('0x22')](function(_0x3c95ea){if(_0x3c95ea){_0x5e451b['model']=_[_0x039d('0x2f')](db[_0x039d('0x58')][_0x039d('0x45')]);_0x5e451b[_0x039d('0x2e')]=_[_0x039d('0x2f')](_0x4bbefe[_0x039d('0x2e')]);_0x5e451b[_0x039d('0x38')]=_[_0x039d('0x30')](_0x5e451b[_0x039d('0x2d')],_0x5e451b[_0x039d('0x2e')]);_0x322b44[_0x039d('0x31')]=_['intersection'](_0x5e451b[_0x039d('0x2d')],qs[_0x039d('0x32')](_0x4bbefe[_0x039d('0x2e')][_0x039d('0x32')]));_0x322b44[_0x039d('0x31')]=_0x322b44[_0x039d('0x31')]['length']?_0x322b44[_0x039d('0x31')]:_0x5e451b['model'];if(!_0x4bbefe['query']['hasOwnProperty'](_0x039d('0x34'))){_0x322b44[_0x039d('0x1d')]=qs[_0x039d('0x1d')](_0x4bbefe[_0x039d('0x2e')][_0x039d('0x1d')]);_0x322b44[_0x039d('0x1e')]=qs[_0x039d('0x1e')](_0x4bbefe['query'][_0x039d('0x1e')]);}_0x322b44[_0x039d('0x35')]=qs['sort'](_0x4bbefe[_0x039d('0x2e')][_0x039d('0x36')]);_0x322b44[_0x039d('0x37')]=qs['filters'](_['pick'](_0x4bbefe[_0x039d('0x2e')],_0x5e451b[_0x039d('0x38')]));_0x322b44[_0x039d('0x37')]['ProjectId']=_0x3c95ea['id'];if(_0x4bbefe[_0x039d('0x2e')][_0x039d('0x3a')]){_0x322b44[_0x039d('0x37')]=_[_0x039d('0x3d')](_0x322b44[_0x039d('0x37')],{'$or':_[_0x039d('0x2b')](_0x322b44[_0x039d('0x31')],function(_0x1d42c8){var _0x3a6bb4={};_0x3a6bb4[_0x1d42c8]={'$like':'%'+_0x4bbefe[_0x039d('0x2e')][_0x039d('0x3a')]+'%'};return _0x3a6bb4;})});}_0x322b44=_[_0x039d('0x3d')]({},_0x322b44,_0x4bbefe[_0x039d('0x46')]);return db[_0x039d('0x58')][_0x039d('0x3f')]({'where':_0x322b44[_0x039d('0x37')]})[_0x039d('0x22')](function(_0x2d7e97){_0x102d68[_0x039d('0x3f')]=_0x2d7e97;if(_0x4bbefe[_0x039d('0x2e')][_0x039d('0x40')]){_0x322b44[_0x039d('0x41')]=[{'all':!![]}];}return db['JscriptyAnswerReport'][_0x039d('0x59')](_0x322b44);})[_0x039d('0x22')](function(_0x3f8be2){_0x102d68['rows']=_0x3f8be2;return _0x102d68;});}})[_0x039d('0x22')](respondWithFilteredResult(_0x285da7,_0x322b44))[_0x039d('0x42')](handleError(_0x285da7,null));};function char(_0xcfcf5b){return'number'===typeof _0xcfcf5b?String[_0x039d('0x5a')][_0x039d('0x5b')](null,arguments):_0xcfcf5b;}function needsEncapsulation(_0x17200c){return!!_0x17200c&&(_0x17200c['toString']()[_0x039d('0x5c')](char(0xd))>=0x0||_0x17200c[_0x039d('0x5d')]()['indexOf'](char(0xa))>=0x0||_0x17200c[_0x039d('0x5d')]()[_0x039d('0x5c')](char(0x2c))>=0x0||_0x17200c[_0x039d('0x5d')]()[_0x039d('0x5c')](char(0x22))>=0x0);}function encapsulate(_0x306246){var _0xa3095b=char(0x22),_0x1004c4='\x5c'+char(0x22),_0x55f43d=_0x306246[_0x039d('0x5d')]()['replace'](new RegExp(_0xa3095b,'g'),_0x1004c4);return _0xa3095b+_0x55f43d+_0xa3095b;}exports[_0x039d('0x5e')]=function(_0x330ea2,_0x4b7df2,_0xb7f1c2){var _0x5cb4dc,_0x1a1f6b;var _0x2af5c4={'where':{'ProjectId':_0x330ea2[_0x039d('0x44')]['id']}};if(_0x330ea2['query'][_0x039d('0x5f')]){_0x2af5c4[_0x039d('0x37')]['starttime']=JSON[_0x039d('0x60')](_0x330ea2['query'][_0x039d('0x5f')]);}return db[_0x039d('0x55')][_0x039d('0x59')](_0x2af5c4)[_0x039d('0x22')](handleEntityNotFound(_0x4b7df2,null))['then'](function(_0x41bca6){if(_0x41bca6){_0x5cb4dc=_0x41bca6;return db[_0x039d('0x61')][_0x039d('0x59')]({'where':{'SessionId':{'$in':_[_0x039d('0x2b')](_0x5cb4dc,'id')},'ProjectId':_0x330ea2[_0x039d('0x44')]['id']},'order':_0x039d('0x62')});}})['then'](handleEntityNotFound(_0x4b7df2,null))[_0x039d('0x22')](function(_0x29eb45){if(_0x29eb45){_0x1a1f6b=_0x29eb45;var _0x278ae8={};for(var _0x236efd=0x0,_0x217e56=_0x1a1f6b[_0x039d('0x50')];_0x236efd<_0x217e56;_0x236efd++){if(!_0x278ae8[_0x039d('0x33')](_0x1a1f6b[_0x236efd][_0x039d('0x63')])){_0x278ae8[_0x1a1f6b[_0x236efd][_0x039d('0x63')]]=needsEncapsulation(_0x1a1f6b[_0x236efd][_0x039d('0x64')])?encapsulate(_0x1a1f6b[_0x236efd][_0x039d('0x64')]):_0x1a1f6b[_0x236efd][_0x039d('0x64')];}}var _0x34357c=[],_0x3950da={};for(var _0x42b01d=0x0,_0x27be2b=_0x5cb4dc['length'];_0x42b01d<_0x27be2b;_0x42b01d++){_0x3950da={'ProjectId':_0x330ea2[_0x039d('0x44')]['id'],'SessionId':_0x5cb4dc[_0x42b01d]['id'],'StartTime':moment(_0x5cb4dc[_0x42b01d]['starttime'])[_0x039d('0x65')](_0x039d('0x66'))};for(var _0x1d245c=0x0,_0x2f602e=_0x1a1f6b[_0x039d('0x50')];_0x1d245c<_0x2f602e;_0x1d245c++){if(_0x1a1f6b[_0x1d245c][_0x039d('0x67')]==_0x5cb4dc[_0x42b01d]['id']&&_0x278ae8['hasOwnProperty'](_0x1a1f6b[_0x1d245c][_0x039d('0x63')])){_0x3950da[_0x278ae8[_0x1a1f6b[_0x1d245c][_0x039d('0x63')]]]=_0x1a1f6b[_0x1d245c][_0x039d('0x68')];}}for(var _0x281c42 in _0x278ae8){if(!_0x3950da[_0x039d('0x33')](_0x278ae8[_0x281c42])){_0x3950da[_0x278ae8[_0x281c42]]=null;}}_0x34357c[_0x039d('0x69')](_0x3950da);}return _0x34357c;}})[_0x039d('0x22')](function(_0x1afcb9){if(!_[_0x039d('0x6a')](_0x1afcb9)){var _0x1a262c=toCsv(_0x1afcb9);var _0xc0280d=Date[_0x039d('0x6b')]();fs['writeFileSync'](util[_0x039d('0x65')](_0x039d('0x6c'),_0x330ea2['params']['id'],_0xc0280d),_0x1a262c);_0x4b7df2[_0x039d('0x6d')]('Content-disposition','attachment;\x20filename='+util[_0x039d('0x65')](_0x039d('0x6e'),_0x330ea2[_0x039d('0x44')]['id'],_0xc0280d));_0x4b7df2[_0x039d('0x6d')](_0x039d('0x6f'),_0x039d('0x70'));return _0x4b7df2[_0x039d('0x71')](util[_0x039d('0x65')](_0x039d('0x6c'),_0x330ea2[_0x039d('0x44')]['id'],_0xc0280d));}else{return _0x4b7df2['sendStatus'](0xcc);}})[_0x039d('0x42')](handleError(_0x4b7df2,null));};