Built motion from commit (unavailable).|2.4.18
[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 _0xf749=['isEmpty','now','writeFileSync','/tmp/Jscripty_Project_%d_Summary_%s.csv','setHeader','attachment;\x20filename=','Jscripty_Project_%d_Summary_%s.csv','Content-type','text/csv','download','html-pdf','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','lodash','squel','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','update','destroy','then','get','Projects','UserProfileResource','error','name','send','rawAttributes','fieldName','type','key','model','map','query','intersection','fields','attributes','hasOwnProperty','order','sort','filters','pick','filter','where','merge','options','includeAll','JscriptyProject','findAll','rows','show','params','keys','include','find','create','user','role','userProfileId','autoAssociation','catch','clone','length','omit','createdAt','updatedAt','body','UserProfileSection','getSessions','findOne','JscriptySessionReport','nolimit','JscriptyAnswerReport','number','fromCharCode','toString','indexOf','replace','getSummary','startTime','starttime','parse','JscriptyQuestionReport','-createdAt','questionId','question','format','SessionId','answer','push'];(function(_0x167cc1,_0x56ef5a){var _0x10bc4b=function(_0xd6a255){while(--_0xd6a255){_0x167cc1['push'](_0x167cc1['shift']());}};_0x10bc4b(++_0x56ef5a);}(_0xf749,0xf0));var _0x9f74=function(_0x57b54c,_0x54ce0d){_0x57b54c=_0x57b54c-0x0;var _0x59cc19=_0xf749[_0x57b54c];return _0x59cc19;};'use strict';var pdf=require(_0x9f74('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x9f74('0x1'));var zipdir=require(_0x9f74('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x9f74('0x3'));var moment=require(_0x9f74('0x4'));var BPromise=require(_0x9f74('0x5'));var Mustache=require(_0x9f74('0x6'));var util=require(_0x9f74('0x7'));var path=require(_0x9f74('0x8'));var sox=require('sox');var csv=require(_0x9f74('0x9'));var ejs=require(_0x9f74('0xa'));var fs=require('fs');var _=require(_0x9f74('0xb'));var squel=require(_0x9f74('0xc'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x9f74('0x9'));var querystring=require(_0x9f74('0xd'));var Papa=require(_0x9f74('0xe'));var Redis=require(_0x9f74('0xf'));var authService=require(_0x9f74('0x10'));var qs=require(_0x9f74('0x11'));var as=require(_0x9f74('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x9f74('0x13'))(_0x9f74('0x14'));var utils=require('../../config/utils');var config=require(_0x9f74('0x15'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x289d28,_0x2dcced){_0x2dcced=_0x2dcced||0xcc;return function(_0x1f820d){if(_0x1f820d){return _0x289d28[_0x9f74('0x16')](_0x2dcced);}return _0x289d28[_0x9f74('0x17')](_0x2dcced)[_0x9f74('0x18')]();};}function respondWithResult(_0x2ec61d,_0x39f352){_0x39f352=_0x39f352||0xc8;return function(_0x3df5bd){if(_0x3df5bd){return _0x2ec61d['status'](_0x39f352)[_0x9f74('0x19')](_0x3df5bd);}};}function respondWithFilteredResult(_0x238480,_0x1de9f4){return function(_0x599055){if(_0x599055){var _0x51a00f=_0x599055[_0x9f74('0x1a')],_0x2bbd47=_0x1de9f4['offset'],_0x1c00e6=_0x1de9f4[_0x9f74('0x1b')]+_0x1de9f4[_0x9f74('0x1c')],_0x230876;if(_0x1c00e6>=_0x51a00f){_0x1c00e6=_0x51a00f;_0x230876=0xc8;}else{_0x230876=0xce;}_0x238480[_0x9f74('0x17')](_0x230876);return _0x238480[_0x9f74('0x1d')](_0x9f74('0x1e'),_0x2bbd47+'-'+_0x1c00e6+'/'+_0x51a00f)['json'](_0x599055);}return null;};}function patchUpdates(_0x1278e4){return function(_0x46e5dd){try{jsonpatch[_0x9f74('0x1f')](_0x46e5dd,_0x1278e4,!![]);}catch(_0x295fab){return BPromise[_0x9f74('0x20')](_0x295fab);}return _0x46e5dd['save']();};}function saveUpdates(_0x1081eb,_0x5db1c9){return function(_0x4446ea){if(_0x4446ea){return _0x4446ea[_0x9f74('0x21')](_0x1081eb)['then'](function(_0x4b9371){return _0x4b9371;});}return null;};}function removeEntity(_0x4ca25d,_0x393f37){return function(_0x116da4){if(_0x116da4){return _0x116da4[_0x9f74('0x22')]()[_0x9f74('0x23')](function(){var _0x1385b6=_0x116da4[_0x9f74('0x24')]({'plain':!![]});var _0x365168=_0x9f74('0x25');return db[_0x9f74('0x26')][_0x9f74('0x22')]({'where':{'type':_0x365168,'resourceId':_0x1385b6['id']}})[_0x9f74('0x23')](function(){return _0x116da4;});})[_0x9f74('0x23')](function(){_0x4ca25d['status'](0xcc)[_0x9f74('0x18')]();});}};}function handleEntityNotFound(_0x578f38,_0x5036d0){return function(_0x443fcc){if(!_0x443fcc){_0x578f38[_0x9f74('0x16')](0x194);}return _0x443fcc;};}function handleError(_0x1e3d01,_0x1326a8){_0x1326a8=_0x1326a8||0x1f4;return function(_0x3c2133){logger[_0x9f74('0x27')](_0x3c2133['stack']);if(_0x3c2133[_0x9f74('0x28')]){delete _0x3c2133[_0x9f74('0x28')];}_0x1e3d01[_0x9f74('0x17')](_0x1326a8)[_0x9f74('0x29')](_0x3c2133);};}exports['index']=function(_0x3bc14a,_0x3b106d){var _0x1aa123={},_0x150626={},_0x42c780={'count':0x0,'rows':[]};var _0x63ca49=_['map'](db['JscriptyProject'][_0x9f74('0x2a')],function(_0x7456bf){return{'name':_0x7456bf[_0x9f74('0x2b')],'type':_0x7456bf[_0x9f74('0x2c')][_0x9f74('0x2d')]};});_0x150626[_0x9f74('0x2e')]=_[_0x9f74('0x2f')](_0x63ca49,_0x9f74('0x28'));_0x150626[_0x9f74('0x30')]=_['keys'](_0x3bc14a[_0x9f74('0x30')]);_0x150626['filters']=_['intersection'](_0x150626['model'],_0x150626[_0x9f74('0x30')]);_0x1aa123['attributes']=_[_0x9f74('0x31')](_0x150626[_0x9f74('0x2e')],qs[_0x9f74('0x32')](_0x3bc14a[_0x9f74('0x30')][_0x9f74('0x32')]));_0x1aa123[_0x9f74('0x33')]=_0x1aa123[_0x9f74('0x33')]['length']?_0x1aa123['attributes']:_0x150626[_0x9f74('0x2e')];if(!_0x3bc14a[_0x9f74('0x30')][_0x9f74('0x34')]('nolimit')){_0x1aa123[_0x9f74('0x1c')]=qs[_0x9f74('0x1c')](_0x3bc14a['query']['limit']);_0x1aa123[_0x9f74('0x1b')]=qs['offset'](_0x3bc14a[_0x9f74('0x30')][_0x9f74('0x1b')]);}_0x1aa123[_0x9f74('0x35')]=qs['sort'](_0x3bc14a[_0x9f74('0x30')][_0x9f74('0x36')]);_0x1aa123['where']=qs[_0x9f74('0x37')](_[_0x9f74('0x38')](_0x3bc14a[_0x9f74('0x30')],_0x150626[_0x9f74('0x37')]));if(_0x3bc14a['query'][_0x9f74('0x39')]){_0x1aa123[_0x9f74('0x3a')]=_[_0x9f74('0x3b')](_0x1aa123[_0x9f74('0x3a')],{'$or':_[_0x9f74('0x2f')](_0x63ca49,function(_0x5e6433){if(_0x5e6433[_0x9f74('0x2c')]!=='VIRTUAL'){var _0x3553df={};_0x3553df[_0x5e6433[_0x9f74('0x28')]]={'$like':'%'+_0x3bc14a['query']['filter']+'%'};return _0x3553df;}})});}_0x1aa123=_[_0x9f74('0x3b')]({},_0x1aa123,_0x3bc14a[_0x9f74('0x3c')]);var _0x334c22={'where':_0x1aa123['where']};return db['JscriptyProject'][_0x9f74('0x1a')](_0x334c22)[_0x9f74('0x23')](function(_0x1f5851){_0x42c780['count']=_0x1f5851;if(_0x3bc14a[_0x9f74('0x30')][_0x9f74('0x3d')]){_0x1aa123['include']=[{'all':!![]}];}return db[_0x9f74('0x3e')][_0x9f74('0x3f')](_0x1aa123);})[_0x9f74('0x23')](function(_0x25eac0){_0x42c780[_0x9f74('0x40')]=_0x25eac0;return _0x42c780;})['then'](respondWithFilteredResult(_0x3b106d,_0x1aa123))['catch'](handleError(_0x3b106d,null));};exports[_0x9f74('0x41')]=function(_0x53919f,_0x398910){var _0x514ff3={'raw':![],'where':{'id':_0x53919f[_0x9f74('0x42')]['id']}},_0x6846be={};_0x6846be[_0x9f74('0x2e')]=_[_0x9f74('0x43')](db[_0x9f74('0x3e')][_0x9f74('0x2a')]);_0x6846be[_0x9f74('0x30')]=_[_0x9f74('0x43')](_0x53919f[_0x9f74('0x30')]);_0x6846be[_0x9f74('0x37')]=_[_0x9f74('0x31')](_0x6846be[_0x9f74('0x2e')],_0x6846be[_0x9f74('0x30')]);_0x514ff3['attributes']=_[_0x9f74('0x31')](_0x6846be[_0x9f74('0x2e')],qs[_0x9f74('0x32')](_0x53919f['query']['fields']));_0x514ff3[_0x9f74('0x33')]=_0x514ff3[_0x9f74('0x33')]['length']?_0x514ff3[_0x9f74('0x33')]:_0x6846be[_0x9f74('0x2e')];if(_0x53919f[_0x9f74('0x30')][_0x9f74('0x3d')]){_0x514ff3[_0x9f74('0x44')]=[{'all':!![]}];}_0x514ff3=_[_0x9f74('0x3b')]({},_0x514ff3,_0x53919f['options']);return db[_0x9f74('0x3e')][_0x9f74('0x45')](_0x514ff3)[_0x9f74('0x23')](handleEntityNotFound(_0x398910,null))[_0x9f74('0x23')](respondWithResult(_0x398910,null))['catch'](handleError(_0x398910,null));};exports[_0x9f74('0x46')]=function(_0x355dab,_0x301515){return db[_0x9f74('0x3e')][_0x9f74('0x46')](_0x355dab['body'],{})[_0x9f74('0x23')](function(_0x464e1a){var _0x14a306=_0x355dab[_0x9f74('0x47')]['get']({'plain':!![]});if(!_0x14a306)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x14a306[_0x9f74('0x48')]===_0x9f74('0x47')){var _0x4f4c1a=_0x464e1a[_0x9f74('0x24')]({'plain':!![]});var _0x502f77='Projects';return db['UserProfileSection']['find']({'where':{'name':_0x502f77,'userProfileId':_0x14a306[_0x9f74('0x49')]},'raw':!![]})[_0x9f74('0x23')](function(_0x4bb2bf){if(_0x4bb2bf&&_0x4bb2bf[_0x9f74('0x4a')]===0x0){return db[_0x9f74('0x26')]['create']({'name':_0x4f4c1a[_0x9f74('0x28')],'resourceId':_0x4f4c1a['id'],'type':_0x4bb2bf[_0x9f74('0x28')],'sectionId':_0x4bb2bf['id']},{})[_0x9f74('0x23')](function(){return _0x464e1a;});}else{return _0x464e1a;}})[_0x9f74('0x4b')](function(_0x133757){logger[_0x9f74('0x27')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x133757);throw _0x133757;});}return _0x464e1a;})[_0x9f74('0x23')](respondWithResult(_0x301515,0xc9))[_0x9f74('0x4b')](handleError(_0x301515,null));};exports[_0x9f74('0x4c')]=function(_0x3478b2,_0x5b56a){var _0x2b18f9={'where':{'id':_0x3478b2[_0x9f74('0x42')]['id']}},_0x156ba7={};_0x156ba7[_0x9f74('0x2e')]=_['keys'](db[_0x9f74('0x3e')][_0x9f74('0x2a')]);_0x2b18f9[_0x9f74('0x33')]=_[_0x9f74('0x31')](_0x156ba7[_0x9f74('0x2e')],qs['fields'](_0x3478b2[_0x9f74('0x30')]['fields']));_0x2b18f9[_0x9f74('0x33')]=_0x2b18f9[_0x9f74('0x33')][_0x9f74('0x4d')]?_0x2b18f9[_0x9f74('0x33')]:_0x156ba7[_0x9f74('0x2e')];if(_0x3478b2[_0x9f74('0x30')][_0x9f74('0x3d')]){_0x2b18f9['include']=[{'all':!![]}];}_0x2b18f9=_[_0x9f74('0x3b')]({},_0x2b18f9,_0x3478b2['options']);return db[_0x9f74('0x3e')][_0x9f74('0x45')](_0x2b18f9)[_0x9f74('0x23')](handleEntityNotFound(_0x5b56a,null))[_0x9f74('0x23')](function(_0x19ff30){if(_0x19ff30){var _0x379757=_0x19ff30[_0x9f74('0x24')]({'plain':!![]});_0x379757=qs[_0x9f74('0x4e')](_0x379757,['id',_0x9f74('0x4f'),_0x9f74('0x50')]);_0x3478b2[_0x9f74('0x51')]=_[_0x9f74('0x4e')](_0x3478b2[_0x9f74('0x51')],['id','createdAt',_0x9f74('0x50')]);return db[_0x9f74('0x3e')][_0x9f74('0x46')](_[_0x9f74('0x3b')](_0x379757,_0x3478b2[_0x9f74('0x51')]),{'include':_0x3478b2['query'][_0x9f74('0x3d')]?[{'all':!![]}]:undefined})[_0x9f74('0x23')](function(_0x33f0d1){var _0x1d3814=_0x3478b2[_0x9f74('0x47')]['get']({'plain':!![]});if(!_0x1d3814)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x1d3814[_0x9f74('0x48')]===_0x9f74('0x47')){var _0x2e344b=_0x33f0d1[_0x9f74('0x24')]({'plain':!![]});var _0x2b46b5='Projects';return db[_0x9f74('0x52')][_0x9f74('0x45')]({'where':{'name':_0x2b46b5,'userProfileId':_0x1d3814[_0x9f74('0x49')]},'raw':!![]})['then'](function(_0x1fdb14){if(_0x1fdb14&&_0x1fdb14[_0x9f74('0x4a')]===0x0){return db[_0x9f74('0x26')][_0x9f74('0x46')]({'name':_0x2e344b[_0x9f74('0x28')],'resourceId':_0x2e344b['id'],'type':_0x1fdb14[_0x9f74('0x28')],'sectionId':_0x1fdb14['id']},{})[_0x9f74('0x23')](function(){return _0x33f0d1;});}else{return _0x33f0d1;}})[_0x9f74('0x4b')](function(_0x36c4c7){logger[_0x9f74('0x27')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x36c4c7);throw _0x36c4c7;});}return _0x33f0d1;});}})[_0x9f74('0x23')](respondWithResult(_0x5b56a,0xc9))[_0x9f74('0x4b')](handleError(_0x5b56a,null));};exports[_0x9f74('0x21')]=function(_0xcb71b0,_0x264214){if(_0xcb71b0['body']['id']){delete _0xcb71b0[_0x9f74('0x51')]['id'];}return db['JscriptyProject'][_0x9f74('0x45')]({'where':{'id':_0xcb71b0[_0x9f74('0x42')]['id']}})[_0x9f74('0x23')](handleEntityNotFound(_0x264214,null))[_0x9f74('0x23')](saveUpdates(_0xcb71b0[_0x9f74('0x51')],null))[_0x9f74('0x23')](respondWithResult(_0x264214,null))[_0x9f74('0x4b')](handleError(_0x264214,null));};exports[_0x9f74('0x22')]=function(_0x466793,_0x31f5b1){return db[_0x9f74('0x3e')]['find']({'where':{'id':_0x466793[_0x9f74('0x42')]['id']}})['then'](handleEntityNotFound(_0x31f5b1,null))[_0x9f74('0x23')](removeEntity(_0x31f5b1,null))[_0x9f74('0x4b')](handleError(_0x31f5b1,null));};exports[_0x9f74('0x53')]=function(_0x57e0c1,_0x3fe446,_0x29f67e){var _0x2b92f1={'raw':!![],'where':{}};var _0x1c90d3={};var _0x1f7400={'count':0x0,'rows':[]};return db[_0x9f74('0x3e')][_0x9f74('0x54')]({'where':{'id':_0x57e0c1['params']['id']}})[_0x9f74('0x23')](handleEntityNotFound(_0x3fe446,null))['then'](function(_0x3c8c33){if(_0x3c8c33){_0x1c90d3[_0x9f74('0x2e')]=_[_0x9f74('0x43')](db[_0x9f74('0x55')][_0x9f74('0x2a')]);_0x1c90d3[_0x9f74('0x30')]=_[_0x9f74('0x43')](_0x57e0c1['query']);_0x1c90d3[_0x9f74('0x37')]=_[_0x9f74('0x31')](_0x1c90d3[_0x9f74('0x2e')],_0x1c90d3[_0x9f74('0x30')]);_0x2b92f1[_0x9f74('0x33')]=_[_0x9f74('0x31')](_0x1c90d3[_0x9f74('0x2e')],qs[_0x9f74('0x32')](_0x57e0c1['query']['fields']));_0x2b92f1[_0x9f74('0x33')]=_0x2b92f1['attributes']['length']?_0x2b92f1[_0x9f74('0x33')]:_0x1c90d3['model'];if(!_0x57e0c1[_0x9f74('0x30')][_0x9f74('0x34')](_0x9f74('0x56'))){_0x2b92f1[_0x9f74('0x1c')]=qs[_0x9f74('0x1c')](_0x57e0c1['query'][_0x9f74('0x1c')]);_0x2b92f1[_0x9f74('0x1b')]=qs[_0x9f74('0x1b')](_0x57e0c1[_0x9f74('0x30')][_0x9f74('0x1b')]);}_0x2b92f1[_0x9f74('0x35')]=qs[_0x9f74('0x36')](_0x57e0c1[_0x9f74('0x30')][_0x9f74('0x36')]);_0x2b92f1['where']=qs['filters'](_[_0x9f74('0x38')](_0x57e0c1['query'],_0x1c90d3[_0x9f74('0x37')]));_0x2b92f1['where']['ProjectId']=_0x3c8c33['id'];if(_0x57e0c1['query'][_0x9f74('0x39')]){_0x2b92f1[_0x9f74('0x3a')]=_[_0x9f74('0x3b')](_0x2b92f1[_0x9f74('0x3a')],{'$or':_[_0x9f74('0x2f')](_0x2b92f1[_0x9f74('0x33')],function(_0x5d865a){var _0x419be5={};_0x419be5[_0x5d865a]={'$like':'%'+_0x57e0c1[_0x9f74('0x30')][_0x9f74('0x39')]+'%'};return _0x419be5;})});}_0x2b92f1=_['merge']({},_0x2b92f1,_0x57e0c1[_0x9f74('0x3c')]);return db['JscriptySessionReport'][_0x9f74('0x1a')]({'where':_0x2b92f1[_0x9f74('0x3a')]})['then'](function(_0x4272ad){_0x1f7400['count']=_0x4272ad;if(_0x57e0c1['query'][_0x9f74('0x3d')]){_0x2b92f1[_0x9f74('0x44')]=[{'all':!![]}];}return db[_0x9f74('0x55')]['findAll'](_0x2b92f1);})['then'](function(_0x2551c5){_0x1f7400[_0x9f74('0x40')]=_0x2551c5;return _0x1f7400;});}})[_0x9f74('0x23')](respondWithFilteredResult(_0x3fe446,_0x2b92f1))['catch'](handleError(_0x3fe446,null));};exports['getAnswers']=function(_0x5008fb,_0x4f1222,_0x427296){var _0x1b9345={'raw':!![],'where':{}};var _0x38d78d={};var _0x58f833={'count':0x0,'rows':[]};return db[_0x9f74('0x3e')][_0x9f74('0x54')]({'where':{'id':_0x5008fb[_0x9f74('0x42')]['id']}})[_0x9f74('0x23')](handleEntityNotFound(_0x4f1222,null))['then'](function(_0x11d4f7){if(_0x11d4f7){_0x38d78d[_0x9f74('0x2e')]=_[_0x9f74('0x43')](db[_0x9f74('0x57')][_0x9f74('0x2a')]);_0x38d78d[_0x9f74('0x30')]=_['keys'](_0x5008fb[_0x9f74('0x30')]);_0x38d78d[_0x9f74('0x37')]=_[_0x9f74('0x31')](_0x38d78d[_0x9f74('0x2e')],_0x38d78d[_0x9f74('0x30')]);_0x1b9345[_0x9f74('0x33')]=_[_0x9f74('0x31')](_0x38d78d[_0x9f74('0x2e')],qs[_0x9f74('0x32')](_0x5008fb[_0x9f74('0x30')]['fields']));_0x1b9345[_0x9f74('0x33')]=_0x1b9345[_0x9f74('0x33')][_0x9f74('0x4d')]?_0x1b9345[_0x9f74('0x33')]:_0x38d78d[_0x9f74('0x2e')];if(!_0x5008fb[_0x9f74('0x30')][_0x9f74('0x34')](_0x9f74('0x56'))){_0x1b9345['limit']=qs[_0x9f74('0x1c')](_0x5008fb['query'][_0x9f74('0x1c')]);_0x1b9345[_0x9f74('0x1b')]=qs[_0x9f74('0x1b')](_0x5008fb[_0x9f74('0x30')][_0x9f74('0x1b')]);}_0x1b9345['order']=qs[_0x9f74('0x36')](_0x5008fb[_0x9f74('0x30')]['sort']);_0x1b9345[_0x9f74('0x3a')]=qs['filters'](_[_0x9f74('0x38')](_0x5008fb['query'],_0x38d78d['filters']));_0x1b9345[_0x9f74('0x3a')]['ProjectId']=_0x11d4f7['id'];if(_0x5008fb[_0x9f74('0x30')][_0x9f74('0x39')]){_0x1b9345[_0x9f74('0x3a')]=_['merge'](_0x1b9345[_0x9f74('0x3a')],{'$or':_[_0x9f74('0x2f')](_0x1b9345[_0x9f74('0x33')],function(_0x3cfbed){var _0xba4dc={};_0xba4dc[_0x3cfbed]={'$like':'%'+_0x5008fb[_0x9f74('0x30')][_0x9f74('0x39')]+'%'};return _0xba4dc;})});}_0x1b9345=_['merge']({},_0x1b9345,_0x5008fb[_0x9f74('0x3c')]);return db[_0x9f74('0x57')]['count']({'where':_0x1b9345[_0x9f74('0x3a')]})[_0x9f74('0x23')](function(_0x1ac09e){_0x58f833[_0x9f74('0x1a')]=_0x1ac09e;if(_0x5008fb[_0x9f74('0x30')][_0x9f74('0x3d')]){_0x1b9345[_0x9f74('0x44')]=[{'all':!![]}];}return db[_0x9f74('0x57')][_0x9f74('0x3f')](_0x1b9345);})[_0x9f74('0x23')](function(_0x2fde96){_0x58f833[_0x9f74('0x40')]=_0x2fde96;return _0x58f833;});}})[_0x9f74('0x23')](respondWithFilteredResult(_0x4f1222,_0x1b9345))[_0x9f74('0x4b')](handleError(_0x4f1222,null));};function char(_0xb93015){return _0x9f74('0x58')===typeof _0xb93015?String[_0x9f74('0x59')][_0x9f74('0x1f')](null,arguments):_0xb93015;}function needsEncapsulation(_0x11e96e){return!!_0x11e96e&&(_0x11e96e[_0x9f74('0x5a')]()[_0x9f74('0x5b')](char(0xd))>=0x0||_0x11e96e[_0x9f74('0x5a')]()['indexOf'](char(0xa))>=0x0||_0x11e96e[_0x9f74('0x5a')]()['indexOf'](char(0x2c))>=0x0||_0x11e96e['toString']()[_0x9f74('0x5b')](char(0x22))>=0x0);}function encapsulate(_0x59bb72){var _0x8334d6=char(0x22),_0x29e0dc='\x5c'+char(0x22),_0x275c34=_0x59bb72['toString']()[_0x9f74('0x5c')](new RegExp(_0x8334d6,'g'),_0x29e0dc);return _0x8334d6+_0x275c34+_0x8334d6;}exports[_0x9f74('0x5d')]=function(_0x45cac3,_0x4f8ec5,_0x239e41){var _0x57304b,_0x51409e;var _0x5afe95={'where':{'ProjectId':_0x45cac3[_0x9f74('0x42')]['id']}};if(_0x45cac3[_0x9f74('0x30')][_0x9f74('0x5e')]){_0x5afe95[_0x9f74('0x3a')][_0x9f74('0x5f')]=JSON[_0x9f74('0x60')](_0x45cac3['query'][_0x9f74('0x5e')]);}return db['JscriptySessionReport'][_0x9f74('0x3f')](_0x5afe95)[_0x9f74('0x23')](handleEntityNotFound(_0x4f8ec5,null))['then'](function(_0x13bc3b){if(_0x13bc3b){_0x57304b=_0x13bc3b;return db[_0x9f74('0x61')]['findAll']({'where':{'SessionId':{'$in':_[_0x9f74('0x2f')](_0x57304b,'id')},'ProjectId':_0x45cac3[_0x9f74('0x42')]['id']},'order':_0x9f74('0x62')});}})[_0x9f74('0x23')](handleEntityNotFound(_0x4f8ec5,null))[_0x9f74('0x23')](function(_0x39b913){if(_0x39b913){_0x51409e=_0x39b913;var _0x1cd70a={};for(var _0x5bd726=0x0,_0x49e276=_0x51409e[_0x9f74('0x4d')];_0x5bd726<_0x49e276;_0x5bd726++){if(!_0x1cd70a[_0x9f74('0x34')](_0x51409e[_0x5bd726]['questionId'])){_0x1cd70a[_0x51409e[_0x5bd726][_0x9f74('0x63')]]=needsEncapsulation(_0x51409e[_0x5bd726]['question'])?encapsulate(_0x51409e[_0x5bd726][_0x9f74('0x64')]):_0x51409e[_0x5bd726][_0x9f74('0x64')];}}var _0x12ea5a=[],_0x3ab1a2={};for(var _0x2a95fe=0x0,_0x34e070=_0x57304b[_0x9f74('0x4d')];_0x2a95fe<_0x34e070;_0x2a95fe++){_0x3ab1a2={'ProjectId':_0x45cac3['params']['id'],'SessionId':_0x57304b[_0x2a95fe]['id'],'StartTime':moment(_0x57304b[_0x2a95fe][_0x9f74('0x5f')])[_0x9f74('0x65')]('YYYY-MM-DD\x20HH:mm:ss')};for(var _0x54a605=0x0,_0x341a14=_0x51409e[_0x9f74('0x4d')];_0x54a605<_0x341a14;_0x54a605++){if(_0x51409e[_0x54a605][_0x9f74('0x66')]==_0x57304b[_0x2a95fe]['id']&&_0x1cd70a[_0x9f74('0x34')](_0x51409e[_0x54a605][_0x9f74('0x63')])){_0x3ab1a2[_0x1cd70a[_0x51409e[_0x54a605]['questionId']]]=_0x51409e[_0x54a605][_0x9f74('0x67')];}}for(var _0x4d1c49 in _0x1cd70a){if(!_0x3ab1a2[_0x9f74('0x34')](_0x1cd70a[_0x4d1c49])){_0x3ab1a2[_0x1cd70a[_0x4d1c49]]=null;}}_0x12ea5a[_0x9f74('0x68')](_0x3ab1a2);}return _0x12ea5a;}})['then'](function(_0x5b005d){if(!_[_0x9f74('0x69')](_0x5b005d)){var _0x2f8ee3=toCsv(_0x5b005d);var _0x48c293=Date[_0x9f74('0x6a')]();fs[_0x9f74('0x6b')](util['format'](_0x9f74('0x6c'),_0x45cac3[_0x9f74('0x42')]['id'],_0x48c293),_0x2f8ee3);_0x4f8ec5[_0x9f74('0x6d')]('Content-disposition',_0x9f74('0x6e')+util[_0x9f74('0x65')](_0x9f74('0x6f'),_0x45cac3[_0x9f74('0x42')]['id'],_0x48c293));_0x4f8ec5[_0x9f74('0x6d')](_0x9f74('0x70'),_0x9f74('0x71'));return _0x4f8ec5[_0x9f74('0x72')](util['format'](_0x9f74('0x6c'),_0x45cac3[_0x9f74('0x42')]['id'],_0x48c293));}else{return _0x4f8ec5['sendStatus'](0xcc);}})[_0x9f74('0x4b')](handleError(_0x4f8ec5,null));};