Built motion from commit 1efd3d96.|2.6.31
[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 _0xd61e=['json','offset','undefined','limit','count','Content-Range','apply','save','then','destroy','error','name','send','index','map','fieldName','type','key','query','keys','filters','intersection','model','fields','attributes','hasOwnProperty','nolimit','order','sort','pick','filter','where','merge','options','JscriptyProject','findAll','catch','show','includeAll','include','find','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','Projects','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','length','omit','createdAt','updatedAt','userProfileId','UserProfileResource','update','getSessions','findOne','JscriptySessionReport','rawAttributes','ProjectId','rows','getAnswers','JscriptyAnswerReport','number','fromCharCode','toString','indexOf','replace','getSummary','startTime','JscriptyQuestionReport','-createdAt','questionId','question','starttime','format','YYYY-MM-DD\x20HH:mm:ss','SessionId','answer','push','isEmpty','now','writeFileSync','/tmp/Jscripty_Project_%d_Summary_%s.csv','setHeader','Content-disposition','attachment;\x20filename=','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','querystring','papaparse','ioredis','../../components/auth/service','../../config/logger','api','sendStatus','end','status'];(function(_0x331cec,_0x3dedc){var _0x111108=function(_0x317d13){while(--_0x317d13){_0x331cec['push'](_0x331cec['shift']());}};_0x111108(++_0x3dedc);}(_0xd61e,0x13d));var _0xed61=function(_0x3e252e,_0x475a28){_0x3e252e=_0x3e252e-0x0;var _0x22977a=_0xd61e[_0x3e252e];return _0x22977a;};'use strict';var emlformat=require(_0xed61('0x0'));var rimraf=require(_0xed61('0x1'));var zipdir=require(_0xed61('0x2'));var jsonpatch=require(_0xed61('0x3'));var rp=require(_0xed61('0x4'));var moment=require(_0xed61('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xed61('0x6'));var util=require(_0xed61('0x7'));var path=require(_0xed61('0x8'));var sox=require(_0xed61('0x9'));var csv=require(_0xed61('0xa'));var ejs=require(_0xed61('0xb'));var fs=require('fs');var fs_extra=require(_0xed61('0xc'));var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xed61('0xa'));var querystring=require(_0xed61('0xd'));var Papa=require(_0xed61('0xe'));var Redis=require(_0xed61('0xf'));var authService=require(_0xed61('0x10'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0xed61('0x11'))(_0xed61('0x12'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0xeedb63,_0x21511d){_0x21511d=_0x21511d||0xcc;return function(_0x19c74c){if(_0x19c74c){return _0xeedb63[_0xed61('0x13')](_0x21511d);}return _0xeedb63['status'](_0x21511d)[_0xed61('0x14')]();};}function respondWithResult(_0x28f4cb,_0xe08d33){_0xe08d33=_0xe08d33||0xc8;return function(_0x4ac6e2){if(_0x4ac6e2){return _0x28f4cb[_0xed61('0x15')](_0xe08d33)[_0xed61('0x16')](_0x4ac6e2);}};}function respondWithFilteredResult(_0x16fa20,_0x2ad52a){return function(_0x4d3930){if(_0x4d3930){var _0x15198a=typeof _0x2ad52a[_0xed61('0x17')]===_0xed61('0x18')&&typeof _0x2ad52a[_0xed61('0x19')]==='undefined';var _0x39b1d1=_0x4d3930[_0xed61('0x1a')];var _0x4bd841=_0x15198a?0x0:_0x2ad52a[_0xed61('0x17')];var _0x11a277=_0x15198a?_0x4d3930[_0xed61('0x1a')]:_0x2ad52a['offset']+_0x2ad52a[_0xed61('0x19')];var _0xb7879f;if(_0x11a277>=_0x39b1d1){_0x11a277=_0x39b1d1;_0xb7879f=0xc8;}else{_0xb7879f=0xce;}_0x16fa20[_0xed61('0x15')](_0xb7879f);return _0x16fa20['set'](_0xed61('0x1b'),_0x4bd841+'-'+_0x11a277+'/'+_0x39b1d1)[_0xed61('0x16')](_0x4d3930);}return null;};}function patchUpdates(_0xce408c){return function(_0x5ee0b9){try{jsonpatch[_0xed61('0x1c')](_0x5ee0b9,_0xce408c,!![]);}catch(_0x16d63a){return BPromise['reject'](_0x16d63a);}return _0x5ee0b9[_0xed61('0x1d')]();};}function saveUpdates(_0x315020,_0x864dfa){return function(_0x5f3d0f){if(_0x5f3d0f){return _0x5f3d0f['update'](_0x315020)[_0xed61('0x1e')](function(_0x544d49){return _0x544d49;});}return null;};}function removeEntity(_0xa17a06,_0x217e93){return function(_0x2722d0){if(_0x2722d0){return _0x2722d0[_0xed61('0x1f')]()[_0xed61('0x1e')](function(){var _0x5a71f0=_0x2722d0['get']({'plain':!![]});var _0x4a3e02='Projects';return db['UserProfileResource'][_0xed61('0x1f')]({'where':{'type':_0x4a3e02,'resourceId':_0x5a71f0['id']}})['then'](function(){return _0x2722d0;});})[_0xed61('0x1e')](function(){_0xa17a06[_0xed61('0x15')](0xcc)['end']();});}};}function handleEntityNotFound(_0x503bc7,_0x14d140){return function(_0xca7c0c){if(!_0xca7c0c){_0x503bc7[_0xed61('0x13')](0x194);}return _0xca7c0c;};}function handleError(_0x5b83b2,_0x20de9b){_0x20de9b=_0x20de9b||0x1f4;return function(_0xd809ce){logger[_0xed61('0x20')](_0xd809ce['stack']);if(_0xd809ce[_0xed61('0x21')]){delete _0xd809ce['name'];}_0x5b83b2[_0xed61('0x15')](_0x20de9b)[_0xed61('0x22')](_0xd809ce);};}exports[_0xed61('0x23')]=function(_0x50b19d,_0x260ac4){var _0xa5a8aa={},_0x2f23d5={},_0x690795={'count':0x0,'rows':[]};var _0x4b1294=_[_0xed61('0x24')](db['JscriptyProject']['rawAttributes'],function(_0x2df5b6){return{'name':_0x2df5b6[_0xed61('0x25')],'type':_0x2df5b6[_0xed61('0x26')][_0xed61('0x27')]};});_0x2f23d5['model']=_['map'](_0x4b1294,_0xed61('0x21'));_0x2f23d5[_0xed61('0x28')]=_[_0xed61('0x29')](_0x50b19d[_0xed61('0x28')]);_0x2f23d5[_0xed61('0x2a')]=_[_0xed61('0x2b')](_0x2f23d5[_0xed61('0x2c')],_0x2f23d5['query']);_0xa5a8aa['attributes']=_[_0xed61('0x2b')](_0x2f23d5['model'],qs[_0xed61('0x2d')](_0x50b19d['query']['fields']));_0xa5a8aa['attributes']=_0xa5a8aa['attributes']['length']?_0xa5a8aa[_0xed61('0x2e')]:_0x2f23d5[_0xed61('0x2c')];if(!_0x50b19d[_0xed61('0x28')][_0xed61('0x2f')](_0xed61('0x30'))){_0xa5a8aa[_0xed61('0x19')]=qs[_0xed61('0x19')](_0x50b19d[_0xed61('0x28')]['limit']);_0xa5a8aa['offset']=qs[_0xed61('0x17')](_0x50b19d[_0xed61('0x28')][_0xed61('0x17')]);}_0xa5a8aa[_0xed61('0x31')]=qs['sort'](_0x50b19d[_0xed61('0x28')][_0xed61('0x32')]);_0xa5a8aa['where']=qs[_0xed61('0x2a')](_[_0xed61('0x33')](_0x50b19d[_0xed61('0x28')],_0x2f23d5[_0xed61('0x2a')]),_0x4b1294);if(_0x50b19d['query'][_0xed61('0x34')]){_0xa5a8aa[_0xed61('0x35')]=_[_0xed61('0x36')](_0xa5a8aa[_0xed61('0x35')],{'$or':_[_0xed61('0x24')](_0x4b1294,function(_0x23d66d){if(_0x23d66d[_0xed61('0x26')]!=='VIRTUAL'){var _0x3abfa6={};_0x3abfa6[_0x23d66d[_0xed61('0x21')]]={'$like':'%'+_0x50b19d[_0xed61('0x28')][_0xed61('0x34')]+'%'};return _0x3abfa6;}})});}_0xa5a8aa=_[_0xed61('0x36')]({},_0xa5a8aa,_0x50b19d[_0xed61('0x37')]);var _0x35ad22={'where':_0xa5a8aa[_0xed61('0x35')]};return db[_0xed61('0x38')][_0xed61('0x1a')](_0x35ad22)[_0xed61('0x1e')](function(_0x16720e){_0x690795[_0xed61('0x1a')]=_0x16720e;if(_0x50b19d[_0xed61('0x28')]['includeAll']){_0xa5a8aa['include']=[{'all':!![]}];}return db[_0xed61('0x38')][_0xed61('0x39')](_0xa5a8aa);})['then'](function(_0x5b9bef){_0x690795['rows']=_0x5b9bef;return _0x690795;})['then'](respondWithFilteredResult(_0x260ac4,_0xa5a8aa))[_0xed61('0x3a')](handleError(_0x260ac4,null));};exports[_0xed61('0x3b')]=function(_0xd92795,_0x16ac3f){var _0x434384={'raw':![],'where':{'id':_0xd92795['params']['id']}},_0x41e094={};_0x41e094[_0xed61('0x2c')]=_[_0xed61('0x29')](db[_0xed61('0x38')]['rawAttributes']);_0x41e094[_0xed61('0x28')]=_[_0xed61('0x29')](_0xd92795[_0xed61('0x28')]);_0x41e094[_0xed61('0x2a')]=_[_0xed61('0x2b')](_0x41e094['model'],_0x41e094['query']);_0x434384[_0xed61('0x2e')]=_[_0xed61('0x2b')](_0x41e094[_0xed61('0x2c')],qs[_0xed61('0x2d')](_0xd92795['query'][_0xed61('0x2d')]));_0x434384[_0xed61('0x2e')]=_0x434384[_0xed61('0x2e')]['length']?_0x434384[_0xed61('0x2e')]:_0x41e094[_0xed61('0x2c')];if(_0xd92795['query'][_0xed61('0x3c')]){_0x434384[_0xed61('0x3d')]=[{'all':!![]}];}_0x434384=_[_0xed61('0x36')]({},_0x434384,_0xd92795[_0xed61('0x37')]);return db[_0xed61('0x38')][_0xed61('0x3e')](_0x434384)[_0xed61('0x1e')](handleEntityNotFound(_0x16ac3f,null))[_0xed61('0x1e')](respondWithResult(_0x16ac3f,null))[_0xed61('0x3a')](handleError(_0x16ac3f,null));};exports[_0xed61('0x3f')]=function(_0x2bf758,_0x3a6693){return db[_0xed61('0x38')][_0xed61('0x3f')](_0x2bf758[_0xed61('0x40')],{})[_0xed61('0x1e')](function(_0x38059f){var _0x43031b=_0x2bf758[_0xed61('0x41')][_0xed61('0x42')]({'plain':!![]});if(!_0x43031b)throw new Error(_0xed61('0x43'));if(_0x43031b[_0xed61('0x44')]===_0xed61('0x41')){var _0x4908f3=_0x38059f['get']({'plain':!![]});var _0x28950f=_0xed61('0x45');return db[_0xed61('0x46')][_0xed61('0x3e')]({'where':{'name':_0x28950f,'userProfileId':_0x43031b['userProfileId']},'raw':!![]})[_0xed61('0x1e')](function(_0x3ec791){if(_0x3ec791&&_0x3ec791[_0xed61('0x47')]===0x0){return db['UserProfileResource']['create']({'name':_0x4908f3['name'],'resourceId':_0x4908f3['id'],'type':_0x3ec791[_0xed61('0x21')],'sectionId':_0x3ec791['id']},{})[_0xed61('0x1e')](function(){return _0x38059f;});}else{return _0x38059f;}})[_0xed61('0x3a')](function(_0x1d3b9d){logger[_0xed61('0x20')](_0xed61('0x48'),_0x1d3b9d);throw _0x1d3b9d;});}return _0x38059f;})[_0xed61('0x1e')](respondWithResult(_0x3a6693,0xc9))[_0xed61('0x3a')](handleError(_0x3a6693,null));};exports['clone']=function(_0x2bb9b9,_0x258a40){var _0x4c1762={'where':{'id':_0x2bb9b9[_0xed61('0x49')]['id']}},_0x116eea={};_0x116eea[_0xed61('0x2c')]=_['keys'](db[_0xed61('0x38')]['rawAttributes']);_0x4c1762[_0xed61('0x2e')]=_[_0xed61('0x2b')](_0x116eea[_0xed61('0x2c')],qs[_0xed61('0x2d')](_0x2bb9b9[_0xed61('0x28')][_0xed61('0x2d')]));_0x4c1762[_0xed61('0x2e')]=_0x4c1762['attributes'][_0xed61('0x4a')]?_0x4c1762[_0xed61('0x2e')]:_0x116eea[_0xed61('0x2c')];if(_0x2bb9b9[_0xed61('0x28')][_0xed61('0x3c')]){_0x4c1762[_0xed61('0x3d')]=[{'all':!![]}];}_0x4c1762=_['merge']({},_0x4c1762,_0x2bb9b9[_0xed61('0x37')]);return db['JscriptyProject'][_0xed61('0x3e')](_0x4c1762)['then'](handleEntityNotFound(_0x258a40,null))[_0xed61('0x1e')](function(_0x44588a){if(_0x44588a){var _0x591909=_0x44588a[_0xed61('0x42')]({'plain':!![]});_0x591909=qs[_0xed61('0x4b')](_0x591909,['id',_0xed61('0x4c'),_0xed61('0x4d')]);_0x2bb9b9[_0xed61('0x40')]=_['omit'](_0x2bb9b9[_0xed61('0x40')],['id',_0xed61('0x4c'),_0xed61('0x4d')]);return db[_0xed61('0x38')][_0xed61('0x3f')](_[_0xed61('0x36')](_0x591909,_0x2bb9b9[_0xed61('0x40')]),{'include':_0x2bb9b9['query']['includeAll']?[{'all':!![]}]:undefined})[_0xed61('0x1e')](function(_0x4729f3){var _0xcd868e=_0x2bb9b9[_0xed61('0x41')][_0xed61('0x42')]({'plain':!![]});if(!_0xcd868e)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0xcd868e[_0xed61('0x44')]===_0xed61('0x41')){var _0x4efb8f=_0x4729f3['get']({'plain':!![]});var _0x22f3d1=_0xed61('0x45');return db[_0xed61('0x46')][_0xed61('0x3e')]({'where':{'name':_0x22f3d1,'userProfileId':_0xcd868e[_0xed61('0x4e')]},'raw':!![]})['then'](function(_0x55ef0b){if(_0x55ef0b&&_0x55ef0b[_0xed61('0x47')]===0x0){return db[_0xed61('0x4f')][_0xed61('0x3f')]({'name':_0x4efb8f[_0xed61('0x21')],'resourceId':_0x4efb8f['id'],'type':_0x55ef0b[_0xed61('0x21')],'sectionId':_0x55ef0b['id']},{})[_0xed61('0x1e')](function(){return _0x4729f3;});}else{return _0x4729f3;}})[_0xed61('0x3a')](function(_0x2882a0){logger[_0xed61('0x20')](_0xed61('0x48'),_0x2882a0);throw _0x2882a0;});}return _0x4729f3;});}})['then'](respondWithResult(_0x258a40,0xc9))[_0xed61('0x3a')](handleError(_0x258a40,null));};exports[_0xed61('0x50')]=function(_0x5aeffd,_0x298a12){if(_0x5aeffd[_0xed61('0x40')]['id']){delete _0x5aeffd[_0xed61('0x40')]['id'];}return db[_0xed61('0x38')][_0xed61('0x3e')]({'where':{'id':_0x5aeffd['params']['id']}})[_0xed61('0x1e')](handleEntityNotFound(_0x298a12,null))['then'](saveUpdates(_0x5aeffd['body'],null))[_0xed61('0x1e')](respondWithResult(_0x298a12,null))[_0xed61('0x3a')](handleError(_0x298a12,null));};exports[_0xed61('0x1f')]=function(_0x5e862d,_0x1dc280){return db[_0xed61('0x38')][_0xed61('0x3e')]({'where':{'id':_0x5e862d[_0xed61('0x49')]['id']}})[_0xed61('0x1e')](handleEntityNotFound(_0x1dc280,null))['then'](removeEntity(_0x1dc280,null))['catch'](handleError(_0x1dc280,null));};exports[_0xed61('0x51')]=function(_0x32f435,_0xb952c,_0x21ab9c){var _0x32db02={'raw':!![],'where':{}};var _0x5d5d15={};var _0xe89a4={'count':0x0,'rows':[]};return db[_0xed61('0x38')][_0xed61('0x52')]({'where':{'id':_0x32f435[_0xed61('0x49')]['id']}})['then'](handleEntityNotFound(_0xb952c,null))[_0xed61('0x1e')](function(_0x2efa4a){if(_0x2efa4a){_0x5d5d15['model']=_[_0xed61('0x29')](db[_0xed61('0x53')][_0xed61('0x54')]);_0x5d5d15[_0xed61('0x28')]=_[_0xed61('0x29')](_0x32f435[_0xed61('0x28')]);_0x5d5d15[_0xed61('0x2a')]=_[_0xed61('0x2b')](_0x5d5d15[_0xed61('0x2c')],_0x5d5d15[_0xed61('0x28')]);_0x32db02['attributes']=_['intersection'](_0x5d5d15[_0xed61('0x2c')],qs[_0xed61('0x2d')](_0x32f435[_0xed61('0x28')]['fields']));_0x32db02['attributes']=_0x32db02[_0xed61('0x2e')][_0xed61('0x4a')]?_0x32db02[_0xed61('0x2e')]:_0x5d5d15[_0xed61('0x2c')];if(!_0x32f435[_0xed61('0x28')][_0xed61('0x2f')](_0xed61('0x30'))){_0x32db02[_0xed61('0x19')]=qs[_0xed61('0x19')](_0x32f435['query'][_0xed61('0x19')]);_0x32db02[_0xed61('0x17')]=qs[_0xed61('0x17')](_0x32f435[_0xed61('0x28')][_0xed61('0x17')]);}_0x32db02[_0xed61('0x31')]=qs[_0xed61('0x32')](_0x32f435[_0xed61('0x28')]['sort']);_0x32db02[_0xed61('0x35')]=qs[_0xed61('0x2a')](_[_0xed61('0x33')](_0x32f435[_0xed61('0x28')],_0x5d5d15[_0xed61('0x2a')]));_0x32db02[_0xed61('0x35')][_0xed61('0x55')]=_0x2efa4a['id'];if(_0x32f435[_0xed61('0x28')][_0xed61('0x34')]){_0x32db02[_0xed61('0x35')]=_[_0xed61('0x36')](_0x32db02[_0xed61('0x35')],{'$or':_[_0xed61('0x24')](_0x32db02[_0xed61('0x2e')],function(_0x11af28){var _0x56d2c2={};_0x56d2c2[_0x11af28]={'$like':'%'+_0x32f435[_0xed61('0x28')][_0xed61('0x34')]+'%'};return _0x56d2c2;})});}_0x32db02=_[_0xed61('0x36')]({},_0x32db02,_0x32f435[_0xed61('0x37')]);return db[_0xed61('0x53')][_0xed61('0x1a')]({'where':_0x32db02['where']})[_0xed61('0x1e')](function(_0x2cfcad){_0xe89a4[_0xed61('0x1a')]=_0x2cfcad;if(_0x32f435[_0xed61('0x28')][_0xed61('0x3c')]){_0x32db02[_0xed61('0x3d')]=[{'all':!![]}];}return db['JscriptySessionReport'][_0xed61('0x39')](_0x32db02);})['then'](function(_0x2a67f3){_0xe89a4[_0xed61('0x56')]=_0x2a67f3;return _0xe89a4;});}})[_0xed61('0x1e')](respondWithFilteredResult(_0xb952c,_0x32db02))['catch'](handleError(_0xb952c,null));};exports[_0xed61('0x57')]=function(_0x5f1c64,_0x4fe78d,_0x1b1140){var _0x1dc2a5={'raw':!![],'where':{}};var _0x2d2037={};var _0x3dfa42={'count':0x0,'rows':[]};return db[_0xed61('0x38')][_0xed61('0x52')]({'where':{'id':_0x5f1c64[_0xed61('0x49')]['id']}})[_0xed61('0x1e')](handleEntityNotFound(_0x4fe78d,null))[_0xed61('0x1e')](function(_0x23d06d){if(_0x23d06d){_0x2d2037[_0xed61('0x2c')]=_[_0xed61('0x29')](db[_0xed61('0x58')][_0xed61('0x54')]);_0x2d2037[_0xed61('0x28')]=_[_0xed61('0x29')](_0x5f1c64[_0xed61('0x28')]);_0x2d2037[_0xed61('0x2a')]=_[_0xed61('0x2b')](_0x2d2037[_0xed61('0x2c')],_0x2d2037[_0xed61('0x28')]);_0x1dc2a5[_0xed61('0x2e')]=_[_0xed61('0x2b')](_0x2d2037['model'],qs['fields'](_0x5f1c64['query'][_0xed61('0x2d')]));_0x1dc2a5[_0xed61('0x2e')]=_0x1dc2a5['attributes'][_0xed61('0x4a')]?_0x1dc2a5[_0xed61('0x2e')]:_0x2d2037[_0xed61('0x2c')];if(!_0x5f1c64[_0xed61('0x28')][_0xed61('0x2f')](_0xed61('0x30'))){_0x1dc2a5[_0xed61('0x19')]=qs['limit'](_0x5f1c64[_0xed61('0x28')][_0xed61('0x19')]);_0x1dc2a5[_0xed61('0x17')]=qs[_0xed61('0x17')](_0x5f1c64[_0xed61('0x28')][_0xed61('0x17')]);}_0x1dc2a5[_0xed61('0x31')]=qs[_0xed61('0x32')](_0x5f1c64[_0xed61('0x28')]['sort']);_0x1dc2a5[_0xed61('0x35')]=qs[_0xed61('0x2a')](_[_0xed61('0x33')](_0x5f1c64[_0xed61('0x28')],_0x2d2037[_0xed61('0x2a')]));_0x1dc2a5[_0xed61('0x35')]['ProjectId']=_0x23d06d['id'];if(_0x5f1c64['query']['filter']){_0x1dc2a5[_0xed61('0x35')]=_['merge'](_0x1dc2a5['where'],{'$or':_[_0xed61('0x24')](_0x1dc2a5['attributes'],function(_0x16ebc7){var _0x1cbabc={};_0x1cbabc[_0x16ebc7]={'$like':'%'+_0x5f1c64[_0xed61('0x28')][_0xed61('0x34')]+'%'};return _0x1cbabc;})});}_0x1dc2a5=_[_0xed61('0x36')]({},_0x1dc2a5,_0x5f1c64[_0xed61('0x37')]);return db[_0xed61('0x58')]['count']({'where':_0x1dc2a5[_0xed61('0x35')]})[_0xed61('0x1e')](function(_0xe42f6){_0x3dfa42['count']=_0xe42f6;if(_0x5f1c64[_0xed61('0x28')][_0xed61('0x3c')]){_0x1dc2a5[_0xed61('0x3d')]=[{'all':!![]}];}return db[_0xed61('0x58')][_0xed61('0x39')](_0x1dc2a5);})[_0xed61('0x1e')](function(_0x320285){_0x3dfa42[_0xed61('0x56')]=_0x320285;return _0x3dfa42;});}})[_0xed61('0x1e')](respondWithFilteredResult(_0x4fe78d,_0x1dc2a5))[_0xed61('0x3a')](handleError(_0x4fe78d,null));};function char(_0xe8e904){return _0xed61('0x59')===typeof _0xe8e904?String[_0xed61('0x5a')][_0xed61('0x1c')](null,arguments):_0xe8e904;}function needsEncapsulation(_0x1a7f79){return!!_0x1a7f79&&(_0x1a7f79[_0xed61('0x5b')]()['indexOf'](char(0xd))>=0x0||_0x1a7f79[_0xed61('0x5b')]()['indexOf'](char(0xa))>=0x0||_0x1a7f79[_0xed61('0x5b')]()[_0xed61('0x5c')](char(0x2c))>=0x0||_0x1a7f79[_0xed61('0x5b')]()[_0xed61('0x5c')](char(0x22))>=0x0);}function encapsulate(_0x22a64a){var _0x5a74c5=char(0x22),_0x20aec3='\x5c'+char(0x22),_0x5eef48=_0x22a64a[_0xed61('0x5b')]()[_0xed61('0x5d')](new RegExp(_0x5a74c5,'g'),_0x20aec3);return _0x5a74c5+_0x5eef48+_0x5a74c5;}exports[_0xed61('0x5e')]=function(_0xe460f9,_0x32a763,_0x1cf2d9){var _0x351241,_0x508ed0;var _0x3c600a={'where':{'ProjectId':_0xe460f9[_0xed61('0x49')]['id']}};if(_0xe460f9[_0xed61('0x28')][_0xed61('0x5f')]){_0x3c600a['where']['starttime']=JSON['parse'](_0xe460f9[_0xed61('0x28')][_0xed61('0x5f')]);}return db['JscriptySessionReport']['findAll'](_0x3c600a)[_0xed61('0x1e')](handleEntityNotFound(_0x32a763,null))[_0xed61('0x1e')](function(_0x4313de){if(_0x4313de){_0x351241=_0x4313de;return db[_0xed61('0x60')][_0xed61('0x39')]({'where':{'SessionId':{'$in':_[_0xed61('0x24')](_0x351241,'id')},'ProjectId':_0xe460f9[_0xed61('0x49')]['id']},'order':_0xed61('0x61')});}})['then'](handleEntityNotFound(_0x32a763,null))[_0xed61('0x1e')](function(_0x4313d2){if(_0x4313d2){_0x508ed0=_0x4313d2;var _0x3f7eb1={};for(var _0x416931=0x0,_0x399f30=_0x508ed0['length'];_0x416931<_0x399f30;_0x416931++){if(!_0x3f7eb1['hasOwnProperty'](_0x508ed0[_0x416931]['questionId'])){_0x3f7eb1[_0x508ed0[_0x416931][_0xed61('0x62')]]=needsEncapsulation(_0x508ed0[_0x416931][_0xed61('0x63')])?encapsulate(_0x508ed0[_0x416931][_0xed61('0x63')]):_0x508ed0[_0x416931]['question'];}}var _0x499015=[],_0x10860e={};for(var _0x14a0e5=0x0,_0x1f07fd=_0x351241[_0xed61('0x4a')];_0x14a0e5<_0x1f07fd;_0x14a0e5++){_0x10860e={'ProjectId':_0xe460f9[_0xed61('0x49')]['id'],'SessionId':_0x351241[_0x14a0e5]['id'],'StartTime':moment(_0x351241[_0x14a0e5][_0xed61('0x64')])[_0xed61('0x65')](_0xed61('0x66'))};for(var _0x4f66e6=0x0,_0x47483f=_0x508ed0[_0xed61('0x4a')];_0x4f66e6<_0x47483f;_0x4f66e6++){if(_0x508ed0[_0x4f66e6][_0xed61('0x67')]==_0x351241[_0x14a0e5]['id']&&_0x3f7eb1[_0xed61('0x2f')](_0x508ed0[_0x4f66e6]['questionId'])){_0x10860e[_0x3f7eb1[_0x508ed0[_0x4f66e6][_0xed61('0x62')]]]=_0x508ed0[_0x4f66e6][_0xed61('0x68')];}}for(var _0x5a065c in _0x3f7eb1){if(!_0x10860e[_0xed61('0x2f')](_0x3f7eb1[_0x5a065c])){_0x10860e[_0x3f7eb1[_0x5a065c]]=null;}}_0x499015[_0xed61('0x69')](_0x10860e);}return _0x499015;}})[_0xed61('0x1e')](function(_0x1cd9b9){if(!_[_0xed61('0x6a')](_0x1cd9b9)){var _0x7c4425=toCsv(_0x1cd9b9);var _0xd7ae25=Date[_0xed61('0x6b')]();fs[_0xed61('0x6c')](util[_0xed61('0x65')](_0xed61('0x6d'),_0xe460f9[_0xed61('0x49')]['id'],_0xd7ae25),_0x7c4425);_0x32a763[_0xed61('0x6e')](_0xed61('0x6f'),_0xed61('0x70')+util[_0xed61('0x65')]('Jscripty_Project_%d_Summary_%s.csv',_0xe460f9['params']['id'],_0xd7ae25));_0x32a763[_0xed61('0x6e')]('Content-type','text/csv');return _0x32a763['download'](util[_0xed61('0x65')](_0xed61('0x6d'),_0xe460f9[_0xed61('0x49')]['id'],_0xd7ae25));}else{return _0x32a763[_0xed61('0x13')](0xcc);}})[_0xed61('0x3a')](handleError(_0x32a763,null));};