7841481e65e5ff64f99117ae64d7721c021189e1
[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 _0xdabc=['indexOf','toString','replace','getSummary','parse','JscriptyQuestionReport','-createdAt','questionId','question','starttime','format','YYYY-MM-DD\x20HH:mm:ss','SessionId','answer','push','isEmpty','/tmp/Jscripty_Project_%d_Summary_%s.csv','setHeader','Content-disposition','Jscripty_Project_%d_Summary_%s.csv','Content-type','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../mysqldb','sendStatus','offset','undefined','count','limit','set','Content-Range','json','reject','save','update','then','destroy','get','Projects','status','end','error','stack','name','send','map','rawAttributes','fieldName','key','query','keys','filters','model','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','filter','merge','options','JscriptyProject','rows','params','intersection','includeAll','include','find','catch','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','clone','createdAt','omit','updatedAt','role','getSessions','JscriptySessionReport','order','ProjectId','getAnswers','findOne','JscriptyAnswerReport','findAll','number','fromCharCode'];(function(_0x1f9e17,_0x127015){var _0x4fda50=function(_0x5c8ad4){while(--_0x5c8ad4){_0x1f9e17['push'](_0x1f9e17['shift']());}};_0x4fda50(++_0x127015);}(_0xdabc,0x16b));var _0xcdab=function(_0x3ebe6b,_0x50bbf7){_0x3ebe6b=_0x3ebe6b-0x0;var _0x334cfc=_0xdabc[_0x3ebe6b];return _0x334cfc;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xcdab('0x0'));var zipdir=require(_0xcdab('0x1'));var jsonpatch=require(_0xcdab('0x2'));var rp=require('request-promise');var moment=require(_0xcdab('0x3'));var BPromise=require(_0xcdab('0x4'));var Mustache=require(_0xcdab('0x5'));var util=require(_0xcdab('0x6'));var path=require(_0xcdab('0x7'));var sox=require(_0xcdab('0x8'));var csv=require(_0xcdab('0x9'));var ejs=require(_0xcdab('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xcdab('0xb'));var squel=require(_0xcdab('0xc'));var crypto=require(_0xcdab('0xd'));var jsforce=require('jsforce');var deskjs=require(_0xcdab('0xe'));var toCsv=require(_0xcdab('0x9'));var querystring=require(_0xcdab('0xf'));var Papa=require('papaparse');var Redis=require(_0xcdab('0x10'));var authService=require('../../components/auth/service');var qs=require(_0xcdab('0x11'));var as=require(_0xcdab('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xcdab('0x13'))('api');var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xcdab('0x14'))['db'];function respondWithStatusCode(_0x414b10,_0xd7644a){_0xd7644a=_0xd7644a||0xcc;return function(_0xc6048d){if(_0xc6048d){return _0x414b10[_0xcdab('0x15')](_0xd7644a);}return _0x414b10['status'](_0xd7644a)['end']();};}function respondWithResult(_0x39a5ae,_0x30a596){_0x30a596=_0x30a596||0xc8;return function(_0x516186){if(_0x516186){return _0x39a5ae['status'](_0x30a596)['json'](_0x516186);}};}function respondWithFilteredResult(_0x22fa04,_0x31ba87){return function(_0x29c14c){if(_0x29c14c){var _0x12ea56=typeof _0x31ba87[_0xcdab('0x16')]===_0xcdab('0x17')&&typeof _0x31ba87['limit']==='undefined';var _0x2c099d=_0x29c14c[_0xcdab('0x18')];var _0x5e21e6=_0x12ea56?0x0:_0x31ba87[_0xcdab('0x16')];var _0xd529a=_0x12ea56?_0x29c14c['count']:_0x31ba87['offset']+_0x31ba87[_0xcdab('0x19')];var _0x536d2d;if(_0xd529a>=_0x2c099d){_0xd529a=_0x2c099d;_0x536d2d=0xc8;}else{_0x536d2d=0xce;}_0x22fa04['status'](_0x536d2d);return _0x22fa04[_0xcdab('0x1a')](_0xcdab('0x1b'),_0x5e21e6+'-'+_0xd529a+'/'+_0x2c099d)[_0xcdab('0x1c')](_0x29c14c);}return null;};}function patchUpdates(_0x43dd38){return function(_0x3479ee){try{jsonpatch['apply'](_0x3479ee,_0x43dd38,!![]);}catch(_0x32d72f){return BPromise[_0xcdab('0x1d')](_0x32d72f);}return _0x3479ee[_0xcdab('0x1e')]();};}function saveUpdates(_0x1b4126,_0x3c2d36){return function(_0x547832){if(_0x547832){return _0x547832[_0xcdab('0x1f')](_0x1b4126)[_0xcdab('0x20')](function(_0x2b9556){return _0x2b9556;});}return null;};}function removeEntity(_0x3999f0,_0x2abb32){return function(_0x3bb70a){if(_0x3bb70a){return _0x3bb70a[_0xcdab('0x21')]()[_0xcdab('0x20')](function(){var _0x3cb8bf=_0x3bb70a[_0xcdab('0x22')]({'plain':!![]});var _0x5dc824=_0xcdab('0x23');return db['UserProfileResource'][_0xcdab('0x21')]({'where':{'type':_0x5dc824,'resourceId':_0x3cb8bf['id']}})[_0xcdab('0x20')](function(){return _0x3bb70a;});})[_0xcdab('0x20')](function(){_0x3999f0[_0xcdab('0x24')](0xcc)[_0xcdab('0x25')]();});}};}function handleEntityNotFound(_0x5ca8c7,_0x3061ac){return function(_0x1b280d){if(!_0x1b280d){_0x5ca8c7[_0xcdab('0x15')](0x194);}return _0x1b280d;};}function handleError(_0x17efdb,_0x4e902c){_0x4e902c=_0x4e902c||0x1f4;return function(_0x1bd3c5){logger[_0xcdab('0x26')](_0x1bd3c5[_0xcdab('0x27')]);if(_0x1bd3c5[_0xcdab('0x28')]){delete _0x1bd3c5[_0xcdab('0x28')];}_0x17efdb[_0xcdab('0x24')](_0x4e902c)[_0xcdab('0x29')](_0x1bd3c5);};}exports['index']=function(_0x47441e,_0x401766){var _0x387846={},_0x278683={},_0x41aae1={'count':0x0,'rows':[]};var _0x4f258d=_[_0xcdab('0x2a')](db['JscriptyProject'][_0xcdab('0x2b')],function(_0x46b4b6){return{'name':_0x46b4b6[_0xcdab('0x2c')],'type':_0x46b4b6['type'][_0xcdab('0x2d')]};});_0x278683['model']=_[_0xcdab('0x2a')](_0x4f258d,_0xcdab('0x28'));_0x278683[_0xcdab('0x2e')]=_[_0xcdab('0x2f')](_0x47441e[_0xcdab('0x2e')]);_0x278683[_0xcdab('0x30')]=_['intersection'](_0x278683[_0xcdab('0x31')],_0x278683[_0xcdab('0x2e')]);_0x387846[_0xcdab('0x32')]=_['intersection'](_0x278683['model'],qs[_0xcdab('0x33')](_0x47441e[_0xcdab('0x2e')][_0xcdab('0x33')]));_0x387846[_0xcdab('0x32')]=_0x387846['attributes'][_0xcdab('0x34')]?_0x387846[_0xcdab('0x32')]:_0x278683[_0xcdab('0x31')];if(!_0x47441e[_0xcdab('0x2e')][_0xcdab('0x35')](_0xcdab('0x36'))){_0x387846['limit']=qs['limit'](_0x47441e[_0xcdab('0x2e')]['limit']);_0x387846[_0xcdab('0x16')]=qs[_0xcdab('0x16')](_0x47441e[_0xcdab('0x2e')]['offset']);}_0x387846['order']=qs[_0xcdab('0x37')](_0x47441e[_0xcdab('0x2e')][_0xcdab('0x37')]);_0x387846[_0xcdab('0x38')]=qs[_0xcdab('0x30')](_[_0xcdab('0x39')](_0x47441e[_0xcdab('0x2e')],_0x278683[_0xcdab('0x30')]),_0x4f258d);if(_0x47441e['query'][_0xcdab('0x3a')]){_0x387846[_0xcdab('0x38')]=_[_0xcdab('0x3b')](_0x387846[_0xcdab('0x38')],{'$or':_['map'](_0x4f258d,function(_0x41b425){if(_0x41b425['type']!=='VIRTUAL'){var _0x1c644a={};_0x1c644a[_0x41b425[_0xcdab('0x28')]]={'$like':'%'+_0x47441e[_0xcdab('0x2e')]['filter']+'%'};return _0x1c644a;}})});}_0x387846=_[_0xcdab('0x3b')]({},_0x387846,_0x47441e[_0xcdab('0x3c')]);var _0x18afa1={'where':_0x387846[_0xcdab('0x38')]};return db['JscriptyProject'][_0xcdab('0x18')](_0x18afa1)['then'](function(_0x22b710){_0x41aae1[_0xcdab('0x18')]=_0x22b710;if(_0x47441e[_0xcdab('0x2e')]['includeAll']){_0x387846['include']=[{'all':!![]}];}return db[_0xcdab('0x3d')]['findAll'](_0x387846);})[_0xcdab('0x20')](function(_0x21b678){_0x41aae1[_0xcdab('0x3e')]=_0x21b678;return _0x41aae1;})[_0xcdab('0x20')](respondWithFilteredResult(_0x401766,_0x387846))['catch'](handleError(_0x401766,null));};exports['show']=function(_0x286867,_0x2fc565){var _0x432092={'raw':![],'where':{'id':_0x286867[_0xcdab('0x3f')]['id']}},_0x10d0bd={};_0x10d0bd[_0xcdab('0x31')]=_['keys'](db[_0xcdab('0x3d')][_0xcdab('0x2b')]);_0x10d0bd[_0xcdab('0x2e')]=_[_0xcdab('0x2f')](_0x286867[_0xcdab('0x2e')]);_0x10d0bd[_0xcdab('0x30')]=_[_0xcdab('0x40')](_0x10d0bd[_0xcdab('0x31')],_0x10d0bd[_0xcdab('0x2e')]);_0x432092['attributes']=_[_0xcdab('0x40')](_0x10d0bd[_0xcdab('0x31')],qs['fields'](_0x286867[_0xcdab('0x2e')]['fields']));_0x432092[_0xcdab('0x32')]=_0x432092[_0xcdab('0x32')][_0xcdab('0x34')]?_0x432092[_0xcdab('0x32')]:_0x10d0bd['model'];if(_0x286867[_0xcdab('0x2e')][_0xcdab('0x41')]){_0x432092[_0xcdab('0x42')]=[{'all':!![]}];}_0x432092=_['merge']({},_0x432092,_0x286867[_0xcdab('0x3c')]);return db[_0xcdab('0x3d')][_0xcdab('0x43')](_0x432092)[_0xcdab('0x20')](handleEntityNotFound(_0x2fc565,null))['then'](respondWithResult(_0x2fc565,null))[_0xcdab('0x44')](handleError(_0x2fc565,null));};exports[_0xcdab('0x45')]=function(_0x55032c,_0x303a25){return db[_0xcdab('0x3d')]['create'](_0x55032c[_0xcdab('0x46')],{})['then'](function(_0x88b8db){var _0x53eb2b=_0x55032c[_0xcdab('0x47')]['get']({'plain':!![]});if(!_0x53eb2b)throw new Error(_0xcdab('0x48'));if(_0x53eb2b['role']===_0xcdab('0x47')){var _0x56d737=_0x88b8db['get']({'plain':!![]});var _0x197bb0=_0xcdab('0x23');return db[_0xcdab('0x49')][_0xcdab('0x43')]({'where':{'name':_0x197bb0,'userProfileId':_0x53eb2b[_0xcdab('0x4a')]},'raw':!![]})[_0xcdab('0x20')](function(_0x358c65){if(_0x358c65&&_0x358c65[_0xcdab('0x4b')]===0x0){return db[_0xcdab('0x4c')][_0xcdab('0x45')]({'name':_0x56d737[_0xcdab('0x28')],'resourceId':_0x56d737['id'],'type':_0x358c65[_0xcdab('0x28')],'sectionId':_0x358c65['id']},{})['then'](function(){return _0x88b8db;});}else{return _0x88b8db;}})[_0xcdab('0x44')](function(_0x533574){logger[_0xcdab('0x26')](_0xcdab('0x4d'),_0x533574);throw _0x533574;});}return _0x88b8db;})[_0xcdab('0x20')](respondWithResult(_0x303a25,0xc9))[_0xcdab('0x44')](handleError(_0x303a25,null));};exports[_0xcdab('0x4e')]=function(_0x23a013,_0x5c29a7){var _0x41c1a2={'where':{'id':_0x23a013['params']['id']}},_0x18aa2a={};_0x18aa2a['model']=_[_0xcdab('0x2f')](db[_0xcdab('0x3d')][_0xcdab('0x2b')]);_0x41c1a2['attributes']=_[_0xcdab('0x40')](_0x18aa2a[_0xcdab('0x31')],qs['fields'](_0x23a013[_0xcdab('0x2e')][_0xcdab('0x33')]));_0x41c1a2[_0xcdab('0x32')]=_0x41c1a2[_0xcdab('0x32')][_0xcdab('0x34')]?_0x41c1a2[_0xcdab('0x32')]:_0x18aa2a[_0xcdab('0x31')];if(_0x23a013[_0xcdab('0x2e')][_0xcdab('0x41')]){_0x41c1a2['include']=[{'all':!![]}];}_0x41c1a2=_[_0xcdab('0x3b')]({},_0x41c1a2,_0x23a013[_0xcdab('0x3c')]);return db[_0xcdab('0x3d')][_0xcdab('0x43')](_0x41c1a2)[_0xcdab('0x20')](handleEntityNotFound(_0x5c29a7,null))[_0xcdab('0x20')](function(_0x8dc584){if(_0x8dc584){var _0x4d2dc1=_0x8dc584[_0xcdab('0x22')]({'plain':!![]});_0x4d2dc1=qs['omit'](_0x4d2dc1,['id',_0xcdab('0x4f'),'updatedAt']);_0x23a013[_0xcdab('0x46')]=_[_0xcdab('0x50')](_0x23a013['body'],['id','createdAt',_0xcdab('0x51')]);return db[_0xcdab('0x3d')][_0xcdab('0x45')](_[_0xcdab('0x3b')](_0x4d2dc1,_0x23a013[_0xcdab('0x46')]),{'include':_0x23a013[_0xcdab('0x2e')][_0xcdab('0x41')]?[{'all':!![]}]:undefined})[_0xcdab('0x20')](function(_0x23e685){var _0x31f288=_0x23a013[_0xcdab('0x47')][_0xcdab('0x22')]({'plain':!![]});if(!_0x31f288)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x31f288[_0xcdab('0x52')]===_0xcdab('0x47')){var _0x4f08b0=_0x23e685[_0xcdab('0x22')]({'plain':!![]});var _0x423a88=_0xcdab('0x23');return db[_0xcdab('0x49')][_0xcdab('0x43')]({'where':{'name':_0x423a88,'userProfileId':_0x31f288['userProfileId']},'raw':!![]})['then'](function(_0x1e9cd9){if(_0x1e9cd9&&_0x1e9cd9[_0xcdab('0x4b')]===0x0){return db[_0xcdab('0x4c')][_0xcdab('0x45')]({'name':_0x4f08b0[_0xcdab('0x28')],'resourceId':_0x4f08b0['id'],'type':_0x1e9cd9[_0xcdab('0x28')],'sectionId':_0x1e9cd9['id']},{})[_0xcdab('0x20')](function(){return _0x23e685;});}else{return _0x23e685;}})[_0xcdab('0x44')](function(_0xaa4065){logger[_0xcdab('0x26')](_0xcdab('0x4d'),_0xaa4065);throw _0xaa4065;});}return _0x23e685;});}})[_0xcdab('0x20')](respondWithResult(_0x5c29a7,0xc9))['catch'](handleError(_0x5c29a7,null));};exports[_0xcdab('0x1f')]=function(_0x40fb8e,_0x1a08bf){if(_0x40fb8e[_0xcdab('0x46')]['id']){delete _0x40fb8e[_0xcdab('0x46')]['id'];}return db[_0xcdab('0x3d')]['find']({'where':{'id':_0x40fb8e[_0xcdab('0x3f')]['id']}})[_0xcdab('0x20')](handleEntityNotFound(_0x1a08bf,null))[_0xcdab('0x20')](saveUpdates(_0x40fb8e['body'],null))[_0xcdab('0x20')](respondWithResult(_0x1a08bf,null))[_0xcdab('0x44')](handleError(_0x1a08bf,null));};exports[_0xcdab('0x21')]=function(_0x4af13f,_0x55ee0b){return db[_0xcdab('0x3d')]['find']({'where':{'id':_0x4af13f[_0xcdab('0x3f')]['id']}})[_0xcdab('0x20')](handleEntityNotFound(_0x55ee0b,null))[_0xcdab('0x20')](removeEntity(_0x55ee0b,null))[_0xcdab('0x44')](handleError(_0x55ee0b,null));};exports[_0xcdab('0x53')]=function(_0x18b3ba,_0x567e90,_0x1ae695){var _0x4a9bac={'raw':!![],'where':{}};var _0x1a362d={};var _0x5d0a1d={'count':0x0,'rows':[]};return db[_0xcdab('0x3d')]['findOne']({'where':{'id':_0x18b3ba[_0xcdab('0x3f')]['id']}})[_0xcdab('0x20')](handleEntityNotFound(_0x567e90,null))[_0xcdab('0x20')](function(_0x13eacf){if(_0x13eacf){_0x1a362d['model']=_[_0xcdab('0x2f')](db[_0xcdab('0x54')][_0xcdab('0x2b')]);_0x1a362d[_0xcdab('0x2e')]=_[_0xcdab('0x2f')](_0x18b3ba[_0xcdab('0x2e')]);_0x1a362d[_0xcdab('0x30')]=_['intersection'](_0x1a362d[_0xcdab('0x31')],_0x1a362d[_0xcdab('0x2e')]);_0x4a9bac[_0xcdab('0x32')]=_[_0xcdab('0x40')](_0x1a362d[_0xcdab('0x31')],qs['fields'](_0x18b3ba[_0xcdab('0x2e')][_0xcdab('0x33')]));_0x4a9bac[_0xcdab('0x32')]=_0x4a9bac[_0xcdab('0x32')]['length']?_0x4a9bac[_0xcdab('0x32')]:_0x1a362d[_0xcdab('0x31')];if(!_0x18b3ba[_0xcdab('0x2e')]['hasOwnProperty'](_0xcdab('0x36'))){_0x4a9bac[_0xcdab('0x19')]=qs['limit'](_0x18b3ba['query']['limit']);_0x4a9bac['offset']=qs[_0xcdab('0x16')](_0x18b3ba[_0xcdab('0x2e')][_0xcdab('0x16')]);}_0x4a9bac[_0xcdab('0x55')]=qs[_0xcdab('0x37')](_0x18b3ba[_0xcdab('0x2e')][_0xcdab('0x37')]);_0x4a9bac[_0xcdab('0x38')]=qs[_0xcdab('0x30')](_['pick'](_0x18b3ba[_0xcdab('0x2e')],_0x1a362d[_0xcdab('0x30')]));_0x4a9bac[_0xcdab('0x38')][_0xcdab('0x56')]=_0x13eacf['id'];if(_0x18b3ba[_0xcdab('0x2e')]['filter']){_0x4a9bac[_0xcdab('0x38')]=_['merge'](_0x4a9bac[_0xcdab('0x38')],{'$or':_['map'](_0x4a9bac[_0xcdab('0x32')],function(_0x4cccec){var _0x44f5ed={};_0x44f5ed[_0x4cccec]={'$like':'%'+_0x18b3ba[_0xcdab('0x2e')][_0xcdab('0x3a')]+'%'};return _0x44f5ed;})});}_0x4a9bac=_[_0xcdab('0x3b')]({},_0x4a9bac,_0x18b3ba[_0xcdab('0x3c')]);return db['JscriptySessionReport']['count']({'where':_0x4a9bac['where']})['then'](function(_0x3a199d){_0x5d0a1d[_0xcdab('0x18')]=_0x3a199d;if(_0x18b3ba[_0xcdab('0x2e')][_0xcdab('0x41')]){_0x4a9bac[_0xcdab('0x42')]=[{'all':!![]}];}return db['JscriptySessionReport']['findAll'](_0x4a9bac);})[_0xcdab('0x20')](function(_0x204273){_0x5d0a1d[_0xcdab('0x3e')]=_0x204273;return _0x5d0a1d;});}})[_0xcdab('0x20')](respondWithFilteredResult(_0x567e90,_0x4a9bac))[_0xcdab('0x44')](handleError(_0x567e90,null));};exports[_0xcdab('0x57')]=function(_0x1df5df,_0x1feac9,_0x45229d){var _0x5dd1ab={'raw':!![],'where':{}};var _0x49fd95={};var _0x2dfb9d={'count':0x0,'rows':[]};return db[_0xcdab('0x3d')][_0xcdab('0x58')]({'where':{'id':_0x1df5df[_0xcdab('0x3f')]['id']}})[_0xcdab('0x20')](handleEntityNotFound(_0x1feac9,null))[_0xcdab('0x20')](function(_0x512bb9){if(_0x512bb9){_0x49fd95[_0xcdab('0x31')]=_['keys'](db['JscriptyAnswerReport'][_0xcdab('0x2b')]);_0x49fd95[_0xcdab('0x2e')]=_['keys'](_0x1df5df['query']);_0x49fd95[_0xcdab('0x30')]=_[_0xcdab('0x40')](_0x49fd95[_0xcdab('0x31')],_0x49fd95[_0xcdab('0x2e')]);_0x5dd1ab[_0xcdab('0x32')]=_['intersection'](_0x49fd95[_0xcdab('0x31')],qs[_0xcdab('0x33')](_0x1df5df[_0xcdab('0x2e')][_0xcdab('0x33')]));_0x5dd1ab[_0xcdab('0x32')]=_0x5dd1ab[_0xcdab('0x32')][_0xcdab('0x34')]?_0x5dd1ab[_0xcdab('0x32')]:_0x49fd95[_0xcdab('0x31')];if(!_0x1df5df[_0xcdab('0x2e')][_0xcdab('0x35')]('nolimit')){_0x5dd1ab['limit']=qs[_0xcdab('0x19')](_0x1df5df[_0xcdab('0x2e')][_0xcdab('0x19')]);_0x5dd1ab[_0xcdab('0x16')]=qs['offset'](_0x1df5df[_0xcdab('0x2e')][_0xcdab('0x16')]);}_0x5dd1ab['order']=qs[_0xcdab('0x37')](_0x1df5df[_0xcdab('0x2e')][_0xcdab('0x37')]);_0x5dd1ab[_0xcdab('0x38')]=qs[_0xcdab('0x30')](_[_0xcdab('0x39')](_0x1df5df[_0xcdab('0x2e')],_0x49fd95['filters']));_0x5dd1ab[_0xcdab('0x38')][_0xcdab('0x56')]=_0x512bb9['id'];if(_0x1df5df['query'][_0xcdab('0x3a')]){_0x5dd1ab[_0xcdab('0x38')]=_['merge'](_0x5dd1ab[_0xcdab('0x38')],{'$or':_[_0xcdab('0x2a')](_0x5dd1ab['attributes'],function(_0x339d98){var _0x4c0d53={};_0x4c0d53[_0x339d98]={'$like':'%'+_0x1df5df['query'][_0xcdab('0x3a')]+'%'};return _0x4c0d53;})});}_0x5dd1ab=_[_0xcdab('0x3b')]({},_0x5dd1ab,_0x1df5df[_0xcdab('0x3c')]);return db['JscriptyAnswerReport'][_0xcdab('0x18')]({'where':_0x5dd1ab[_0xcdab('0x38')]})['then'](function(_0x571405){_0x2dfb9d[_0xcdab('0x18')]=_0x571405;if(_0x1df5df[_0xcdab('0x2e')][_0xcdab('0x41')]){_0x5dd1ab[_0xcdab('0x42')]=[{'all':!![]}];}return db[_0xcdab('0x59')][_0xcdab('0x5a')](_0x5dd1ab);})[_0xcdab('0x20')](function(_0x4791c3){_0x2dfb9d[_0xcdab('0x3e')]=_0x4791c3;return _0x2dfb9d;});}})['then'](respondWithFilteredResult(_0x1feac9,_0x5dd1ab))[_0xcdab('0x44')](handleError(_0x1feac9,null));};function char(_0x128259){return _0xcdab('0x5b')===typeof _0x128259?String[_0xcdab('0x5c')]['apply'](null,arguments):_0x128259;}function needsEncapsulation(_0x5f5b4d){return!!_0x5f5b4d&&(_0x5f5b4d['toString']()[_0xcdab('0x5d')](char(0xd))>=0x0||_0x5f5b4d['toString']()[_0xcdab('0x5d')](char(0xa))>=0x0||_0x5f5b4d[_0xcdab('0x5e')]()[_0xcdab('0x5d')](char(0x2c))>=0x0||_0x5f5b4d[_0xcdab('0x5e')]()[_0xcdab('0x5d')](char(0x22))>=0x0);}function encapsulate(_0x5c8b30){var _0x3fa63a=char(0x22),_0x52b6d9='\x5c'+char(0x22),_0x2005cd=_0x5c8b30['toString']()[_0xcdab('0x5f')](new RegExp(_0x3fa63a,'g'),_0x52b6d9);return _0x3fa63a+_0x2005cd+_0x3fa63a;}exports[_0xcdab('0x60')]=function(_0x566b8b,_0x48ab55,_0x406e43){var _0x4b9e2b,_0x1b5fdd;var _0x5c7cfc={'where':{'ProjectId':_0x566b8b[_0xcdab('0x3f')]['id']}};if(_0x566b8b[_0xcdab('0x2e')]['startTime']){_0x5c7cfc[_0xcdab('0x38')]['starttime']=JSON[_0xcdab('0x61')](_0x566b8b[_0xcdab('0x2e')]['startTime']);}return db['JscriptySessionReport'][_0xcdab('0x5a')](_0x5c7cfc)['then'](handleEntityNotFound(_0x48ab55,null))['then'](function(_0x25a546){if(_0x25a546){_0x4b9e2b=_0x25a546;return db[_0xcdab('0x62')][_0xcdab('0x5a')]({'where':{'SessionId':{'$in':_[_0xcdab('0x2a')](_0x4b9e2b,'id')},'ProjectId':_0x566b8b['params']['id']},'order':_0xcdab('0x63')});}})['then'](handleEntityNotFound(_0x48ab55,null))['then'](function(_0x3bddf7){if(_0x3bddf7){_0x1b5fdd=_0x3bddf7;var _0x1b83be={};for(var _0x2aad99=0x0,_0x182fd5=_0x1b5fdd[_0xcdab('0x34')];_0x2aad99<_0x182fd5;_0x2aad99++){if(!_0x1b83be[_0xcdab('0x35')](_0x1b5fdd[_0x2aad99][_0xcdab('0x64')])){_0x1b83be[_0x1b5fdd[_0x2aad99][_0xcdab('0x64')]]=needsEncapsulation(_0x1b5fdd[_0x2aad99][_0xcdab('0x65')])?encapsulate(_0x1b5fdd[_0x2aad99][_0xcdab('0x65')]):_0x1b5fdd[_0x2aad99][_0xcdab('0x65')];}}var _0x3cbea1=[],_0x244cf3={};for(var _0x1556c1=0x0,_0x462ae8=_0x4b9e2b[_0xcdab('0x34')];_0x1556c1<_0x462ae8;_0x1556c1++){_0x244cf3={'ProjectId':_0x566b8b[_0xcdab('0x3f')]['id'],'SessionId':_0x4b9e2b[_0x1556c1]['id'],'StartTime':moment(_0x4b9e2b[_0x1556c1][_0xcdab('0x66')])[_0xcdab('0x67')](_0xcdab('0x68'))};for(var _0x503098=0x0,_0x332448=_0x1b5fdd['length'];_0x503098<_0x332448;_0x503098++){if(_0x1b5fdd[_0x503098][_0xcdab('0x69')]==_0x4b9e2b[_0x1556c1]['id']&&_0x1b83be['hasOwnProperty'](_0x1b5fdd[_0x503098]['questionId'])){_0x244cf3[_0x1b83be[_0x1b5fdd[_0x503098][_0xcdab('0x64')]]]=_0x1b5fdd[_0x503098][_0xcdab('0x6a')];}}for(var _0x529caa in _0x1b83be){if(!_0x244cf3[_0xcdab('0x35')](_0x1b83be[_0x529caa])){_0x244cf3[_0x1b83be[_0x529caa]]=null;}}_0x3cbea1[_0xcdab('0x6b')](_0x244cf3);}return _0x3cbea1;}})[_0xcdab('0x20')](function(_0x1789b9){if(!_[_0xcdab('0x6c')](_0x1789b9)){var _0x20e4d9=toCsv(_0x1789b9);var _0x1ebc4f=Date['now']();fs['writeFileSync'](util[_0xcdab('0x67')](_0xcdab('0x6d'),_0x566b8b['params']['id'],_0x1ebc4f),_0x20e4d9);_0x48ab55[_0xcdab('0x6e')](_0xcdab('0x6f'),'attachment;\x20filename='+util[_0xcdab('0x67')](_0xcdab('0x70'),_0x566b8b[_0xcdab('0x3f')]['id'],_0x1ebc4f));_0x48ab55['setHeader'](_0xcdab('0x71'),'text/csv');return _0x48ab55['download'](util[_0xcdab('0x67')](_0xcdab('0x6d'),_0x566b8b[_0xcdab('0x3f')]['id'],_0x1ebc4f));}else{return _0x48ab55[_0xcdab('0x15')](0xcc);}})[_0xcdab('0x44')](handleError(_0x48ab55,null));};