2369148f75adb4f503752b9f3e760fb9770ff540
[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 _0x9df7=['zip-dir','fast-json-patch','moment','bluebird','mustache','path','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/license/util','sendStatus','status','end','offset','limit','Content-Range','json','apply','reject','update','then','destroy','get','Projects','UserProfileResource','error','name','send','map','rawAttributes','fieldName','type','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','options','count','includeAll','include','JscriptyProject','findAll','rows','show','params','find','catch','create','body','user','UserProfileSection','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','clone','omit','createdAt','updatedAt','role','autoAssociation','getSessions','JscriptySessionReport','ProjectId','JscriptyAnswerReport','fromCharCode','toString','indexOf','replace','getSummary','startTime','parse','JscriptyQuestionReport','-createdAt','questionId','question','starttime','YYYY-MM-DD\x20HH:mm:ss','SessionId','answer','push','isEmpty','now','writeFileSync','format','/tmp/Jscripty_Project_%d_Summary_%s.csv','setHeader','Content-disposition','attachment;\x20filename=','Jscripty_Project_%d_Summary_%s.csv','html-pdf','eml-format','rimraf'];(function(_0x4f091d,_0x5ab76d){var _0x254ce6=function(_0x408597){while(--_0x408597){_0x4f091d['push'](_0x4f091d['shift']());}};_0x254ce6(++_0x5ab76d);}(_0x9df7,0xdf));var _0x79df=function(_0x3cb6dc,_0x120dd3){_0x3cb6dc=_0x3cb6dc-0x0;var _0x47ec89=_0x9df7[_0x3cb6dc];return _0x47ec89;};'use strict';var pdf=require(_0x79df('0x0'));var emlformat=require(_0x79df('0x1'));var rimraf=require(_0x79df('0x2'));var zipdir=require(_0x79df('0x3'));var jsonpatch=require(_0x79df('0x4'));var rp=require('request-promise');var moment=require(_0x79df('0x5'));var BPromise=require(_0x79df('0x6'));var Mustache=require(_0x79df('0x7'));var util=require('util');var path=require(_0x79df('0x8'));var sox=require('sox');var csv=require(_0x79df('0x9'));var ejs=require(_0x79df('0xa'));var fs=require('fs');var _=require(_0x79df('0xb'));var squel=require(_0x79df('0xc'));var crypto=require(_0x79df('0xd'));var jsforce=require(_0x79df('0xe'));var deskjs=require(_0x79df('0xf'));var toCsv=require(_0x79df('0x9'));var querystring=require('querystring');var Papa=require(_0x79df('0x10'));var Redis=require('ioredis');var authService=require(_0x79df('0x11'));var qs=require(_0x79df('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x79df('0x13'))(_0x79df('0x14'));var utils=require(_0x79df('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0x79df('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x43ea4d,_0x52f2b0){_0x52f2b0=_0x52f2b0||0xcc;return function(_0x3699d4){if(_0x3699d4){return _0x43ea4d[_0x79df('0x17')](_0x52f2b0);}return _0x43ea4d[_0x79df('0x18')](_0x52f2b0)[_0x79df('0x19')]();};}function respondWithResult(_0x118be3,_0x54e414){_0x54e414=_0x54e414||0xc8;return function(_0x536c8a){if(_0x536c8a){return _0x118be3[_0x79df('0x18')](_0x54e414)['json'](_0x536c8a);}};}function respondWithFilteredResult(_0x31e027,_0x553d1e){return function(_0x273533){if(_0x273533){var _0x606bd3=_0x273533['count'],_0x45e77c=_0x553d1e[_0x79df('0x1a')],_0x3ac086=_0x553d1e[_0x79df('0x1a')]+_0x553d1e[_0x79df('0x1b')],_0x2d1e8a;if(_0x3ac086>=_0x606bd3){_0x3ac086=_0x606bd3;_0x2d1e8a=0xc8;}else{_0x2d1e8a=0xce;}_0x31e027['status'](_0x2d1e8a);return _0x31e027['set'](_0x79df('0x1c'),_0x45e77c+'-'+_0x3ac086+'/'+_0x606bd3)[_0x79df('0x1d')](_0x273533);}return null;};}function patchUpdates(_0x97db29){return function(_0x416085){try{jsonpatch[_0x79df('0x1e')](_0x416085,_0x97db29,!![]);}catch(_0x4b478e){return BPromise[_0x79df('0x1f')](_0x4b478e);}return _0x416085['save']();};}function saveUpdates(_0x4eebb1,_0x429901){return function(_0x4ea8da){if(_0x4ea8da){return _0x4ea8da[_0x79df('0x20')](_0x4eebb1)[_0x79df('0x21')](function(_0x114710){return _0x114710;});}return null;};}function removeEntity(_0x13e62a,_0x58ce6f){return function(_0x19783a){if(_0x19783a){return _0x19783a[_0x79df('0x22')]()[_0x79df('0x21')](function(){var _0x25c134=_0x19783a[_0x79df('0x23')]({'plain':!![]});var _0x5c7fc3=_0x79df('0x24');return db[_0x79df('0x25')]['destroy']({'where':{'type':_0x5c7fc3,'resourceId':_0x25c134['id']}})[_0x79df('0x21')](function(){return _0x19783a;});})[_0x79df('0x21')](function(){_0x13e62a[_0x79df('0x18')](0xcc)[_0x79df('0x19')]();});}};}function handleEntityNotFound(_0x3d524b,_0x348e16){return function(_0x5cdcff){if(!_0x5cdcff){_0x3d524b['sendStatus'](0x194);}return _0x5cdcff;};}function handleError(_0x3ff628,_0x5c0014){_0x5c0014=_0x5c0014||0x1f4;return function(_0x296e76){logger[_0x79df('0x26')](_0x296e76['stack']);if(_0x296e76[_0x79df('0x27')]){delete _0x296e76['name'];}_0x3ff628[_0x79df('0x18')](_0x5c0014)[_0x79df('0x28')](_0x296e76);};}exports['index']=function(_0x37285a,_0x2a7813){var _0x21a473={},_0x32804f={},_0x315c17={'count':0x0,'rows':[]};var _0x1387c7=_[_0x79df('0x29')](db['JscriptyProject'][_0x79df('0x2a')],function(_0x13e64c){return{'name':_0x13e64c[_0x79df('0x2b')],'type':_0x13e64c[_0x79df('0x2c')]['key']};});_0x32804f[_0x79df('0x2d')]=_[_0x79df('0x29')](_0x1387c7,_0x79df('0x27'));_0x32804f[_0x79df('0x2e')]=_[_0x79df('0x2f')](_0x37285a[_0x79df('0x2e')]);_0x32804f[_0x79df('0x30')]=_[_0x79df('0x31')](_0x32804f['model'],_0x32804f[_0x79df('0x2e')]);_0x21a473[_0x79df('0x32')]=_[_0x79df('0x31')](_0x32804f['model'],qs[_0x79df('0x33')](_0x37285a[_0x79df('0x2e')]['fields']));_0x21a473['attributes']=_0x21a473[_0x79df('0x32')][_0x79df('0x34')]?_0x21a473[_0x79df('0x32')]:_0x32804f['model'];if(!_0x37285a['query'][_0x79df('0x35')](_0x79df('0x36'))){_0x21a473[_0x79df('0x1b')]=qs[_0x79df('0x1b')](_0x37285a[_0x79df('0x2e')][_0x79df('0x1b')]);_0x21a473[_0x79df('0x1a')]=qs[_0x79df('0x1a')](_0x37285a[_0x79df('0x2e')][_0x79df('0x1a')]);}_0x21a473[_0x79df('0x37')]=qs[_0x79df('0x38')](_0x37285a['query']['sort']);_0x21a473[_0x79df('0x39')]=qs[_0x79df('0x30')](_[_0x79df('0x3a')](_0x37285a[_0x79df('0x2e')],_0x32804f['filters']),_0x1387c7);if(_0x37285a['query'][_0x79df('0x3b')]){_0x21a473['where']=_[_0x79df('0x3c')](_0x21a473[_0x79df('0x39')],{'$or':_[_0x79df('0x29')](_0x1387c7,function(_0x5a094d){if(_0x5a094d[_0x79df('0x2c')]!=='VIRTUAL'){var _0x1a63be={};_0x1a63be[_0x5a094d[_0x79df('0x27')]]={'$like':'%'+_0x37285a[_0x79df('0x2e')][_0x79df('0x3b')]+'%'};return _0x1a63be;}})});}_0x21a473=_[_0x79df('0x3c')]({},_0x21a473,_0x37285a[_0x79df('0x3d')]);var _0x3384b7={'where':_0x21a473[_0x79df('0x39')]};return db['JscriptyProject'][_0x79df('0x3e')](_0x3384b7)[_0x79df('0x21')](function(_0x51eb41){_0x315c17[_0x79df('0x3e')]=_0x51eb41;if(_0x37285a[_0x79df('0x2e')][_0x79df('0x3f')]){_0x21a473[_0x79df('0x40')]=[{'all':!![]}];}return db[_0x79df('0x41')][_0x79df('0x42')](_0x21a473);})[_0x79df('0x21')](function(_0x28e3d2){_0x315c17[_0x79df('0x43')]=_0x28e3d2;return _0x315c17;})[_0x79df('0x21')](respondWithFilteredResult(_0x2a7813,_0x21a473))['catch'](handleError(_0x2a7813,null));};exports[_0x79df('0x44')]=function(_0x5902ef,_0x2c6e81){var _0x1b6098={'raw':![],'where':{'id':_0x5902ef[_0x79df('0x45')]['id']}},_0x14197b={};_0x14197b[_0x79df('0x2d')]=_[_0x79df('0x2f')](db[_0x79df('0x41')][_0x79df('0x2a')]);_0x14197b[_0x79df('0x2e')]=_[_0x79df('0x2f')](_0x5902ef[_0x79df('0x2e')]);_0x14197b[_0x79df('0x30')]=_[_0x79df('0x31')](_0x14197b[_0x79df('0x2d')],_0x14197b[_0x79df('0x2e')]);_0x1b6098[_0x79df('0x32')]=_[_0x79df('0x31')](_0x14197b[_0x79df('0x2d')],qs[_0x79df('0x33')](_0x5902ef['query']['fields']));_0x1b6098['attributes']=_0x1b6098[_0x79df('0x32')]['length']?_0x1b6098[_0x79df('0x32')]:_0x14197b[_0x79df('0x2d')];if(_0x5902ef[_0x79df('0x2e')][_0x79df('0x3f')]){_0x1b6098['include']=[{'all':!![]}];}_0x1b6098=_[_0x79df('0x3c')]({},_0x1b6098,_0x5902ef[_0x79df('0x3d')]);return db['JscriptyProject'][_0x79df('0x46')](_0x1b6098)[_0x79df('0x21')](handleEntityNotFound(_0x2c6e81,null))[_0x79df('0x21')](respondWithResult(_0x2c6e81,null))[_0x79df('0x47')](handleError(_0x2c6e81,null));};exports[_0x79df('0x48')]=function(_0x4863bc,_0x6833d0){return db[_0x79df('0x41')][_0x79df('0x48')](_0x4863bc[_0x79df('0x49')],{})[_0x79df('0x21')](function(_0x450b7f){var _0x15878a=_0x4863bc[_0x79df('0x4a')][_0x79df('0x23')]({'plain':!![]});if(!_0x15878a)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x15878a['role']===_0x79df('0x4a')){var _0x1697f6=_0x450b7f[_0x79df('0x23')]({'plain':!![]});var _0x299ab0=_0x79df('0x24');return db[_0x79df('0x4b')][_0x79df('0x46')]({'where':{'name':_0x299ab0,'userProfileId':_0x15878a[_0x79df('0x4c')]},'raw':!![]})[_0x79df('0x21')](function(_0x35ed39){if(_0x35ed39&&_0x35ed39['autoAssociation']===0x0){return db[_0x79df('0x25')]['create']({'name':_0x1697f6[_0x79df('0x27')],'resourceId':_0x1697f6['id'],'type':_0x35ed39[_0x79df('0x27')],'sectionId':_0x35ed39['id']},{})['then'](function(){return _0x450b7f;});}else{return _0x450b7f;}})[_0x79df('0x47')](function(_0x290d1b){logger['error'](_0x79df('0x4d'),_0x290d1b);throw _0x290d1b;});}return _0x450b7f;})['then'](respondWithResult(_0x6833d0,0xc9))['catch'](handleError(_0x6833d0,null));};exports[_0x79df('0x4e')]=function(_0x22d6b3,_0x1fb243){var _0x1a9bc3={'where':{'id':_0x22d6b3[_0x79df('0x45')]['id']}},_0x3fd9f9={};_0x3fd9f9[_0x79df('0x2d')]=_[_0x79df('0x2f')](db[_0x79df('0x41')][_0x79df('0x2a')]);_0x1a9bc3['attributes']=_['intersection'](_0x3fd9f9[_0x79df('0x2d')],qs[_0x79df('0x33')](_0x22d6b3[_0x79df('0x2e')][_0x79df('0x33')]));_0x1a9bc3[_0x79df('0x32')]=_0x1a9bc3[_0x79df('0x32')]['length']?_0x1a9bc3['attributes']:_0x3fd9f9[_0x79df('0x2d')];if(_0x22d6b3[_0x79df('0x2e')]['includeAll']){_0x1a9bc3[_0x79df('0x40')]=[{'all':!![]}];}_0x1a9bc3=_[_0x79df('0x3c')]({},_0x1a9bc3,_0x22d6b3[_0x79df('0x3d')]);return db['JscriptyProject'][_0x79df('0x46')](_0x1a9bc3)[_0x79df('0x21')](handleEntityNotFound(_0x1fb243,null))[_0x79df('0x21')](function(_0x54520a){if(_0x54520a){var _0x4133d8=_0x54520a[_0x79df('0x23')]({'plain':!![]});_0x4133d8=qs[_0x79df('0x4f')](_0x4133d8,['id',_0x79df('0x50'),_0x79df('0x51')]);_0x22d6b3['body']=_[_0x79df('0x4f')](_0x22d6b3[_0x79df('0x49')],['id',_0x79df('0x50'),_0x79df('0x51')]);return db['JscriptyProject']['create'](_[_0x79df('0x3c')](_0x4133d8,_0x22d6b3[_0x79df('0x49')]),{'include':_0x22d6b3[_0x79df('0x2e')][_0x79df('0x3f')]?[{'all':!![]}]:undefined})[_0x79df('0x21')](function(_0x4798c8){var _0x475b49=_0x22d6b3[_0x79df('0x4a')][_0x79df('0x23')]({'plain':!![]});if(!_0x475b49)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x475b49[_0x79df('0x52')]==='user'){var _0x32f758=_0x4798c8[_0x79df('0x23')]({'plain':!![]});var _0x4be896=_0x79df('0x24');return db[_0x79df('0x4b')][_0x79df('0x46')]({'where':{'name':_0x4be896,'userProfileId':_0x475b49['userProfileId']},'raw':!![]})[_0x79df('0x21')](function(_0x597a68){if(_0x597a68&&_0x597a68[_0x79df('0x53')]===0x0){return db[_0x79df('0x25')][_0x79df('0x48')]({'name':_0x32f758[_0x79df('0x27')],'resourceId':_0x32f758['id'],'type':_0x597a68[_0x79df('0x27')],'sectionId':_0x597a68['id']},{})[_0x79df('0x21')](function(){return _0x4798c8;});}else{return _0x4798c8;}})[_0x79df('0x47')](function(_0x3e4c90){logger['error'](_0x79df('0x4d'),_0x3e4c90);throw _0x3e4c90;});}return _0x4798c8;});}})[_0x79df('0x21')](respondWithResult(_0x1fb243,0xc9))[_0x79df('0x47')](handleError(_0x1fb243,null));};exports['update']=function(_0x552859,_0x7993dd){if(_0x552859[_0x79df('0x49')]['id']){delete _0x552859['body']['id'];}return db[_0x79df('0x41')][_0x79df('0x46')]({'where':{'id':_0x552859[_0x79df('0x45')]['id']}})[_0x79df('0x21')](handleEntityNotFound(_0x7993dd,null))[_0x79df('0x21')](saveUpdates(_0x552859['body'],null))[_0x79df('0x21')](respondWithResult(_0x7993dd,null))[_0x79df('0x47')](handleError(_0x7993dd,null));};exports['destroy']=function(_0x2cff5d,_0x262693){return db['JscriptyProject'][_0x79df('0x46')]({'where':{'id':_0x2cff5d[_0x79df('0x45')]['id']}})['then'](handleEntityNotFound(_0x262693,null))['then'](removeEntity(_0x262693,null))[_0x79df('0x47')](handleError(_0x262693,null));};exports[_0x79df('0x54')]=function(_0x2d8059,_0xc0b130,_0x1dcdc8){var _0x4926ac={'raw':!![],'where':{}};var _0x142497={};var _0x30568f={'count':0x0,'rows':[]};return db['JscriptyProject']['findOne']({'where':{'id':_0x2d8059['params']['id']}})['then'](handleEntityNotFound(_0xc0b130,null))[_0x79df('0x21')](function(_0x3b5ef2){if(_0x3b5ef2){_0x142497[_0x79df('0x2d')]=_[_0x79df('0x2f')](db[_0x79df('0x55')]['rawAttributes']);_0x142497[_0x79df('0x2e')]=_['keys'](_0x2d8059[_0x79df('0x2e')]);_0x142497['filters']=_[_0x79df('0x31')](_0x142497['model'],_0x142497[_0x79df('0x2e')]);_0x4926ac[_0x79df('0x32')]=_[_0x79df('0x31')](_0x142497[_0x79df('0x2d')],qs[_0x79df('0x33')](_0x2d8059[_0x79df('0x2e')]['fields']));_0x4926ac[_0x79df('0x32')]=_0x4926ac[_0x79df('0x32')][_0x79df('0x34')]?_0x4926ac[_0x79df('0x32')]:_0x142497[_0x79df('0x2d')];if(!_0x2d8059[_0x79df('0x2e')][_0x79df('0x35')](_0x79df('0x36'))){_0x4926ac[_0x79df('0x1b')]=qs[_0x79df('0x1b')](_0x2d8059['query'][_0x79df('0x1b')]);_0x4926ac[_0x79df('0x1a')]=qs[_0x79df('0x1a')](_0x2d8059['query'][_0x79df('0x1a')]);}_0x4926ac[_0x79df('0x37')]=qs[_0x79df('0x38')](_0x2d8059[_0x79df('0x2e')][_0x79df('0x38')]);_0x4926ac['where']=qs['filters'](_[_0x79df('0x3a')](_0x2d8059[_0x79df('0x2e')],_0x142497[_0x79df('0x30')]));_0x4926ac['where'][_0x79df('0x56')]=_0x3b5ef2['id'];if(_0x2d8059['query']['filter']){_0x4926ac['where']=_[_0x79df('0x3c')](_0x4926ac[_0x79df('0x39')],{'$or':_[_0x79df('0x29')](_0x4926ac[_0x79df('0x32')],function(_0x2df450){var _0x3bdd11={};_0x3bdd11[_0x2df450]={'$like':'%'+_0x2d8059['query'][_0x79df('0x3b')]+'%'};return _0x3bdd11;})});}_0x4926ac=_[_0x79df('0x3c')]({},_0x4926ac,_0x2d8059[_0x79df('0x3d')]);return db['JscriptySessionReport'][_0x79df('0x3e')]({'where':_0x4926ac[_0x79df('0x39')]})['then'](function(_0x552bc5){_0x30568f[_0x79df('0x3e')]=_0x552bc5;if(_0x2d8059[_0x79df('0x2e')]['includeAll']){_0x4926ac['include']=[{'all':!![]}];}return db[_0x79df('0x55')]['findAll'](_0x4926ac);})[_0x79df('0x21')](function(_0x5b1e61){_0x30568f[_0x79df('0x43')]=_0x5b1e61;return _0x30568f;});}})[_0x79df('0x21')](respondWithFilteredResult(_0xc0b130,_0x4926ac))[_0x79df('0x47')](handleError(_0xc0b130,null));};exports['getAnswers']=function(_0x305199,_0x456842,_0x57fdba){var _0x1aadfa={'raw':!![],'where':{}};var _0x11715a={};var _0x58e380={'count':0x0,'rows':[]};return db[_0x79df('0x41')]['findOne']({'where':{'id':_0x305199[_0x79df('0x45')]['id']}})[_0x79df('0x21')](handleEntityNotFound(_0x456842,null))[_0x79df('0x21')](function(_0x27acfa){if(_0x27acfa){_0x11715a[_0x79df('0x2d')]=_[_0x79df('0x2f')](db['JscriptyAnswerReport'][_0x79df('0x2a')]);_0x11715a[_0x79df('0x2e')]=_[_0x79df('0x2f')](_0x305199[_0x79df('0x2e')]);_0x11715a[_0x79df('0x30')]=_[_0x79df('0x31')](_0x11715a[_0x79df('0x2d')],_0x11715a[_0x79df('0x2e')]);_0x1aadfa[_0x79df('0x32')]=_[_0x79df('0x31')](_0x11715a[_0x79df('0x2d')],qs[_0x79df('0x33')](_0x305199[_0x79df('0x2e')][_0x79df('0x33')]));_0x1aadfa[_0x79df('0x32')]=_0x1aadfa[_0x79df('0x32')]['length']?_0x1aadfa['attributes']:_0x11715a[_0x79df('0x2d')];if(!_0x305199['query'][_0x79df('0x35')](_0x79df('0x36'))){_0x1aadfa['limit']=qs[_0x79df('0x1b')](_0x305199[_0x79df('0x2e')][_0x79df('0x1b')]);_0x1aadfa[_0x79df('0x1a')]=qs['offset'](_0x305199['query'][_0x79df('0x1a')]);}_0x1aadfa[_0x79df('0x37')]=qs[_0x79df('0x38')](_0x305199[_0x79df('0x2e')]['sort']);_0x1aadfa['where']=qs[_0x79df('0x30')](_[_0x79df('0x3a')](_0x305199[_0x79df('0x2e')],_0x11715a[_0x79df('0x30')]));_0x1aadfa[_0x79df('0x39')][_0x79df('0x56')]=_0x27acfa['id'];if(_0x305199['query']['filter']){_0x1aadfa[_0x79df('0x39')]=_['merge'](_0x1aadfa[_0x79df('0x39')],{'$or':_[_0x79df('0x29')](_0x1aadfa['attributes'],function(_0xcdd1f4){var _0x2dc6f2={};_0x2dc6f2[_0xcdd1f4]={'$like':'%'+_0x305199[_0x79df('0x2e')][_0x79df('0x3b')]+'%'};return _0x2dc6f2;})});}_0x1aadfa=_[_0x79df('0x3c')]({},_0x1aadfa,_0x305199['options']);return db['JscriptyAnswerReport'][_0x79df('0x3e')]({'where':_0x1aadfa['where']})[_0x79df('0x21')](function(_0x383dbf){_0x58e380[_0x79df('0x3e')]=_0x383dbf;if(_0x305199[_0x79df('0x2e')][_0x79df('0x3f')]){_0x1aadfa[_0x79df('0x40')]=[{'all':!![]}];}return db[_0x79df('0x57')][_0x79df('0x42')](_0x1aadfa);})[_0x79df('0x21')](function(_0x53d142){_0x58e380[_0x79df('0x43')]=_0x53d142;return _0x58e380;});}})['then'](respondWithFilteredResult(_0x456842,_0x1aadfa))[_0x79df('0x47')](handleError(_0x456842,null));};function char(_0x303274){return'number'===typeof _0x303274?String[_0x79df('0x58')][_0x79df('0x1e')](null,arguments):_0x303274;}function needsEncapsulation(_0x5be711){return!!_0x5be711&&(_0x5be711[_0x79df('0x59')]()[_0x79df('0x5a')](char(0xd))>=0x0||_0x5be711['toString']()[_0x79df('0x5a')](char(0xa))>=0x0||_0x5be711['toString']()[_0x79df('0x5a')](char(0x2c))>=0x0||_0x5be711['toString']()['indexOf'](char(0x22))>=0x0);}function encapsulate(_0x5ecc9b){var _0x266baa=char(0x22),_0x5daad8='\x5c'+char(0x22),_0x1f9069=_0x5ecc9b[_0x79df('0x59')]()[_0x79df('0x5b')](new RegExp(_0x266baa,'g'),_0x5daad8);return _0x266baa+_0x1f9069+_0x266baa;}exports[_0x79df('0x5c')]=function(_0x55e89,_0x47187a,_0x20b162){var _0x3f9796,_0x2b4fb4;var _0x2e0d47={'where':{'ProjectId':_0x55e89[_0x79df('0x45')]['id']}};if(_0x55e89[_0x79df('0x2e')][_0x79df('0x5d')]){_0x2e0d47[_0x79df('0x39')]['starttime']=JSON[_0x79df('0x5e')](_0x55e89[_0x79df('0x2e')][_0x79df('0x5d')]);}return db['JscriptySessionReport'][_0x79df('0x42')](_0x2e0d47)[_0x79df('0x21')](handleEntityNotFound(_0x47187a,null))[_0x79df('0x21')](function(_0x448d07){if(_0x448d07){_0x3f9796=_0x448d07;return db[_0x79df('0x5f')][_0x79df('0x42')]({'where':{'SessionId':{'$in':_[_0x79df('0x29')](_0x3f9796,'id')},'ProjectId':_0x55e89[_0x79df('0x45')]['id']},'order':_0x79df('0x60')});}})[_0x79df('0x21')](handleEntityNotFound(_0x47187a,null))[_0x79df('0x21')](function(_0x431da3){if(_0x431da3){_0x2b4fb4=_0x431da3;var _0x4a0fd0={};for(var _0x174d7b=0x0,_0x193483=_0x2b4fb4['length'];_0x174d7b<_0x193483;_0x174d7b++){if(!_0x4a0fd0[_0x79df('0x35')](_0x2b4fb4[_0x174d7b][_0x79df('0x61')])){_0x4a0fd0[_0x2b4fb4[_0x174d7b][_0x79df('0x61')]]=needsEncapsulation(_0x2b4fb4[_0x174d7b][_0x79df('0x62')])?encapsulate(_0x2b4fb4[_0x174d7b][_0x79df('0x62')]):_0x2b4fb4[_0x174d7b][_0x79df('0x62')];}}var _0x4dc077=[],_0x45960b={};for(var _0x17422f=0x0,_0x285320=_0x3f9796[_0x79df('0x34')];_0x17422f<_0x285320;_0x17422f++){_0x45960b={'ProjectId':_0x55e89['params']['id'],'SessionId':_0x3f9796[_0x17422f]['id'],'StartTime':moment(_0x3f9796[_0x17422f][_0x79df('0x63')])['format'](_0x79df('0x64'))};for(var _0x57d74d=0x0,_0x5aef2f=_0x2b4fb4[_0x79df('0x34')];_0x57d74d<_0x5aef2f;_0x57d74d++){if(_0x2b4fb4[_0x57d74d][_0x79df('0x65')]==_0x3f9796[_0x17422f]['id']&&_0x4a0fd0['hasOwnProperty'](_0x2b4fb4[_0x57d74d][_0x79df('0x61')])){_0x45960b[_0x4a0fd0[_0x2b4fb4[_0x57d74d][_0x79df('0x61')]]]=_0x2b4fb4[_0x57d74d][_0x79df('0x66')];}}for(var _0xe28ec6 in _0x4a0fd0){if(!_0x45960b[_0x79df('0x35')](_0x4a0fd0[_0xe28ec6])){_0x45960b[_0x4a0fd0[_0xe28ec6]]=null;}}_0x4dc077[_0x79df('0x67')](_0x45960b);}return _0x4dc077;}})['then'](function(_0x16d0f7){if(!_[_0x79df('0x68')](_0x16d0f7)){var _0x4e928d=toCsv(_0x16d0f7);var _0x1b3144=Date[_0x79df('0x69')]();fs[_0x79df('0x6a')](util[_0x79df('0x6b')](_0x79df('0x6c'),_0x55e89[_0x79df('0x45')]['id'],_0x1b3144),_0x4e928d);_0x47187a[_0x79df('0x6d')](_0x79df('0x6e'),_0x79df('0x6f')+util['format'](_0x79df('0x70'),_0x55e89['params']['id'],_0x1b3144));_0x47187a[_0x79df('0x6d')]('Content-type','text/csv');return _0x47187a['download'](util[_0x79df('0x6b')](_0x79df('0x6c'),_0x55e89[_0x79df('0x45')]['id'],_0x1b3144));}else{return _0x47187a[_0x79df('0x17')](0xcc);}})[_0x79df('0x47')](handleError(_0x47187a,null));};