dd2a179bdbb0c0dd289ccb48d68b8efe5d990794
[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 _0x7655=['jsforce','papaparse','ioredis','../../config/license/hardware','../../config/logger','api','../../config/utils','sendStatus','end','status','json','count','offset','limit','set','Content-Range','reject','then','get','Projects','UserProfileResource','destroy','error','name','send','index','JscriptyProject','rawAttributes','fieldName','key','model','map','query','keys','filters','intersection','attributes','fields','length','nolimit','order','sort','where','pick','type','VIRTUAL','filter','merge','options','rows','catch','show','params','include','find','create','body','user','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','clone','includeAll','updatedAt','omit','createdAt','Unable\x20to\x20retrieve\x20the\x20current\x20user','userProfileId','getSessions','findOne','JscriptySessionReport','hasOwnProperty','ProjectId','findAll','getAnswers','JscriptyAnswerReport','number','fromCharCode','apply','toString','indexOf','replace','getSummary','startTime','parse','JscriptyQuestionReport','-createdAt','questionId','question','format','YYYY-MM-DD\x20HH:mm:ss','SessionId','answer','push','isEmpty','now','writeFileSync','/tmp/Jscripty_Project_%d_Summary_%s.csv','setHeader','Content-disposition','Jscripty_Project_%d_Summary_%s.csv','Content-type','text/csv','download','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','moment','util','path','to-csv','ejs','squel','crypto'];(function(_0x8f8f27,_0xbc801b){var _0x4374a5=function(_0x616cf8){while(--_0x616cf8){_0x8f8f27['push'](_0x8f8f27['shift']());}};_0x4374a5(++_0xbc801b);}(_0x7655,0x150));var _0x5765=function(_0x51d97,_0x70d413){_0x51d97=_0x51d97-0x0;var _0x381c36=_0x7655[_0x51d97];return _0x381c36;};'use strict';var pdf=require(_0x5765('0x0'));var emlformat=require(_0x5765('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x5765('0x2'));var jsonpatch=require(_0x5765('0x3'));var rp=require(_0x5765('0x4'));var moment=require(_0x5765('0x5'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x5765('0x6'));var path=require(_0x5765('0x7'));var sox=require('sox');var csv=require(_0x5765('0x8'));var ejs=require(_0x5765('0x9'));var fs=require('fs');var _=require('lodash');var squel=require(_0x5765('0xa'));var crypto=require(_0x5765('0xb'));var jsforce=require(_0x5765('0xc'));var deskjs=require('desk.js');var toCsv=require(_0x5765('0x8'));var querystring=require('querystring');var Papa=require(_0x5765('0xd'));var Redis=require(_0x5765('0xe'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x5765('0xf'));var logger=require(_0x5765('0x10'))(_0x5765('0x11'));var utils=require(_0x5765('0x12'));var config=require('../../config/environment');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x9ef603,_0x4cfcc7){_0x4cfcc7=_0x4cfcc7||0xcc;return function(_0x411586){if(_0x411586){return _0x9ef603[_0x5765('0x13')](_0x4cfcc7);}return _0x9ef603['status'](_0x4cfcc7)[_0x5765('0x14')]();};}function respondWithResult(_0x260930,_0x230b5b){_0x230b5b=_0x230b5b||0xc8;return function(_0x489505){if(_0x489505){return _0x260930[_0x5765('0x15')](_0x230b5b)[_0x5765('0x16')](_0x489505);}};}function respondWithFilteredResult(_0x58a0d5,_0x34de10){return function(_0x36bf21){if(_0x36bf21){var _0xa41552=_0x36bf21[_0x5765('0x17')],_0x4e5147=_0x34de10[_0x5765('0x18')],_0x50e71c=_0x34de10[_0x5765('0x18')]+_0x34de10[_0x5765('0x19')],_0x46dbc6;if(_0x50e71c>=_0xa41552){_0x50e71c=_0xa41552;_0x46dbc6=0xc8;}else{_0x46dbc6=0xce;}_0x58a0d5[_0x5765('0x15')](_0x46dbc6);return _0x58a0d5[_0x5765('0x1a')](_0x5765('0x1b'),_0x4e5147+'-'+_0x50e71c+'/'+_0xa41552)[_0x5765('0x16')](_0x36bf21);}return null;};}function patchUpdates(_0x1b8648){return function(_0x386199){try{jsonpatch['apply'](_0x386199,_0x1b8648,!![]);}catch(_0x271357){return BPromise[_0x5765('0x1c')](_0x271357);}return _0x386199['save']();};}function saveUpdates(_0x2a610b,_0x2e47b2){return function(_0x4ced23){if(_0x4ced23){return _0x4ced23['update'](_0x2a610b)[_0x5765('0x1d')](function(_0xc54252){return _0xc54252;});}return null;};}function removeEntity(_0x2fe988,_0xca7279){return function(_0x43f181){if(_0x43f181){return _0x43f181['destroy']()[_0x5765('0x1d')](function(){var _0x2f4623=_0x43f181[_0x5765('0x1e')]({'plain':!![]});var _0x10bcc8=_0x5765('0x1f');return db[_0x5765('0x20')][_0x5765('0x21')]({'where':{'type':_0x10bcc8,'resourceId':_0x2f4623['id']}})['then'](function(){return _0x43f181;});})['then'](function(){_0x2fe988['status'](0xcc)[_0x5765('0x14')]();});}};}function handleEntityNotFound(_0x5b146d,_0x5aa1a8){return function(_0x4098c3){if(!_0x4098c3){_0x5b146d[_0x5765('0x13')](0x194);}return _0x4098c3;};}function handleError(_0x41dbb9,_0x3eb54d){_0x3eb54d=_0x3eb54d||0x1f4;return function(_0x4955f1){logger[_0x5765('0x22')](_0x4955f1['stack']);if(_0x4955f1[_0x5765('0x23')]){delete _0x4955f1['name'];}_0x41dbb9['status'](_0x3eb54d)[_0x5765('0x24')](_0x4955f1);};}exports[_0x5765('0x25')]=function(_0x499ed3,_0x8c8a63){var _0x3af712={},_0x1b095d={},_0xe93445={'count':0x0,'rows':[]};var _0x165e9e=_['map'](db[_0x5765('0x26')][_0x5765('0x27')],function(_0x5056d9){return{'name':_0x5056d9[_0x5765('0x28')],'type':_0x5056d9['type'][_0x5765('0x29')]};});_0x1b095d[_0x5765('0x2a')]=_[_0x5765('0x2b')](_0x165e9e,_0x5765('0x23'));_0x1b095d[_0x5765('0x2c')]=_[_0x5765('0x2d')](_0x499ed3[_0x5765('0x2c')]);_0x1b095d[_0x5765('0x2e')]=_[_0x5765('0x2f')](_0x1b095d['model'],_0x1b095d[_0x5765('0x2c')]);_0x3af712[_0x5765('0x30')]=_[_0x5765('0x2f')](_0x1b095d[_0x5765('0x2a')],qs['fields'](_0x499ed3[_0x5765('0x2c')][_0x5765('0x31')]));_0x3af712[_0x5765('0x30')]=_0x3af712[_0x5765('0x30')][_0x5765('0x32')]?_0x3af712[_0x5765('0x30')]:_0x1b095d[_0x5765('0x2a')];if(!_0x499ed3['query']['hasOwnProperty'](_0x5765('0x33'))){_0x3af712['limit']=qs['limit'](_0x499ed3[_0x5765('0x2c')][_0x5765('0x19')]);_0x3af712[_0x5765('0x18')]=qs[_0x5765('0x18')](_0x499ed3[_0x5765('0x2c')][_0x5765('0x18')]);}_0x3af712[_0x5765('0x34')]=qs['sort'](_0x499ed3[_0x5765('0x2c')][_0x5765('0x35')]);_0x3af712[_0x5765('0x36')]=qs[_0x5765('0x2e')](_[_0x5765('0x37')](_0x499ed3['query'],_0x1b095d['filters']),_0x165e9e);if(_0x499ed3[_0x5765('0x2c')]['filter']){_0x3af712['where']=_['merge'](_0x3af712[_0x5765('0x36')],{'$or':_[_0x5765('0x2b')](_0x165e9e,function(_0x23dd17){if(_0x23dd17[_0x5765('0x38')]!==_0x5765('0x39')){var _0x70a462={};_0x70a462[_0x23dd17[_0x5765('0x23')]]={'$like':'%'+_0x499ed3[_0x5765('0x2c')][_0x5765('0x3a')]+'%'};return _0x70a462;}})});}_0x3af712=_[_0x5765('0x3b')]({},_0x3af712,_0x499ed3[_0x5765('0x3c')]);var _0x171022={'where':_0x3af712[_0x5765('0x36')]};return db['JscriptyProject']['count'](_0x171022)['then'](function(_0x20111f){_0xe93445[_0x5765('0x17')]=_0x20111f;if(_0x499ed3[_0x5765('0x2c')]['includeAll']){_0x3af712['include']=[{'all':!![]}];}return db[_0x5765('0x26')]['findAll'](_0x3af712);})[_0x5765('0x1d')](function(_0x3958e7){_0xe93445[_0x5765('0x3d')]=_0x3958e7;return _0xe93445;})[_0x5765('0x1d')](respondWithFilteredResult(_0x8c8a63,_0x3af712))[_0x5765('0x3e')](handleError(_0x8c8a63,null));};exports[_0x5765('0x3f')]=function(_0x45472e,_0x41ebb3){var _0x3f7de6={'raw':![],'where':{'id':_0x45472e[_0x5765('0x40')]['id']}},_0x7ab84={};_0x7ab84[_0x5765('0x2a')]=_[_0x5765('0x2d')](db[_0x5765('0x26')][_0x5765('0x27')]);_0x7ab84['query']=_['keys'](_0x45472e[_0x5765('0x2c')]);_0x7ab84[_0x5765('0x2e')]=_['intersection'](_0x7ab84[_0x5765('0x2a')],_0x7ab84['query']);_0x3f7de6[_0x5765('0x30')]=_[_0x5765('0x2f')](_0x7ab84['model'],qs[_0x5765('0x31')](_0x45472e[_0x5765('0x2c')][_0x5765('0x31')]));_0x3f7de6[_0x5765('0x30')]=_0x3f7de6[_0x5765('0x30')][_0x5765('0x32')]?_0x3f7de6[_0x5765('0x30')]:_0x7ab84[_0x5765('0x2a')];if(_0x45472e[_0x5765('0x2c')]['includeAll']){_0x3f7de6[_0x5765('0x41')]=[{'all':!![]}];}_0x3f7de6=_['merge']({},_0x3f7de6,_0x45472e['options']);return db[_0x5765('0x26')][_0x5765('0x42')](_0x3f7de6)['then'](handleEntityNotFound(_0x41ebb3,null))['then'](respondWithResult(_0x41ebb3,null))[_0x5765('0x3e')](handleError(_0x41ebb3,null));};exports[_0x5765('0x43')]=function(_0x42cdfc,_0x14d556){return db[_0x5765('0x26')]['create'](_0x42cdfc[_0x5765('0x44')],{})[_0x5765('0x1d')](function(_0x3c7229){var _0x5bf412=_0x42cdfc[_0x5765('0x45')][_0x5765('0x1e')]({'plain':!![]});if(!_0x5bf412)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x5bf412['role']===_0x5765('0x45')){var _0x3a141f=_0x3c7229['get']({'plain':!![]});var _0x5a53ff=_0x5765('0x1f');return db[_0x5765('0x46')][_0x5765('0x42')]({'where':{'name':_0x5a53ff,'userProfileId':_0x5bf412['userProfileId']},'raw':!![]})[_0x5765('0x1d')](function(_0x17a0cd){if(_0x17a0cd&&_0x17a0cd[_0x5765('0x47')]===0x0){return db['UserProfileResource'][_0x5765('0x43')]({'name':_0x3a141f[_0x5765('0x23')],'resourceId':_0x3a141f['id'],'type':_0x17a0cd[_0x5765('0x23')],'sectionId':_0x17a0cd['id']},{})[_0x5765('0x1d')](function(){return _0x3c7229;});}else{return _0x3c7229;}})['catch'](function(_0x49bba8){logger[_0x5765('0x22')](_0x5765('0x48'),_0x49bba8);throw _0x49bba8;});}return _0x3c7229;})[_0x5765('0x1d')](respondWithResult(_0x14d556,0xc9))[_0x5765('0x3e')](handleError(_0x14d556,null));};exports[_0x5765('0x49')]=function(_0x521cbd,_0x31afe8){var _0x40c8f3={'where':{'id':_0x521cbd['params']['id']}},_0x51b4d4={};_0x51b4d4[_0x5765('0x2a')]=_[_0x5765('0x2d')](db[_0x5765('0x26')][_0x5765('0x27')]);_0x40c8f3[_0x5765('0x30')]=_[_0x5765('0x2f')](_0x51b4d4[_0x5765('0x2a')],qs['fields'](_0x521cbd[_0x5765('0x2c')][_0x5765('0x31')]));_0x40c8f3[_0x5765('0x30')]=_0x40c8f3[_0x5765('0x30')][_0x5765('0x32')]?_0x40c8f3[_0x5765('0x30')]:_0x51b4d4[_0x5765('0x2a')];if(_0x521cbd[_0x5765('0x2c')][_0x5765('0x4a')]){_0x40c8f3[_0x5765('0x41')]=[{'all':!![]}];}_0x40c8f3=_[_0x5765('0x3b')]({},_0x40c8f3,_0x521cbd['options']);return db[_0x5765('0x26')][_0x5765('0x42')](_0x40c8f3)[_0x5765('0x1d')](handleEntityNotFound(_0x31afe8,null))[_0x5765('0x1d')](function(_0x5b13a0){if(_0x5b13a0){var _0x352201=_0x5b13a0[_0x5765('0x1e')]({'plain':!![]});_0x352201=qs['omit'](_0x352201,['id','createdAt',_0x5765('0x4b')]);_0x521cbd[_0x5765('0x44')]=_[_0x5765('0x4c')](_0x521cbd[_0x5765('0x44')],['id',_0x5765('0x4d'),'updatedAt']);return db[_0x5765('0x26')][_0x5765('0x43')](_[_0x5765('0x3b')](_0x352201,_0x521cbd[_0x5765('0x44')]),{'include':_0x521cbd['query'][_0x5765('0x4a')]?[{'all':!![]}]:undefined})['then'](function(_0x3de75d){var _0x189978=_0x521cbd[_0x5765('0x45')][_0x5765('0x1e')]({'plain':!![]});if(!_0x189978)throw new Error(_0x5765('0x4e'));if(_0x189978['role']===_0x5765('0x45')){var _0x472ee0=_0x3de75d['get']({'plain':!![]});var _0x2410dd=_0x5765('0x1f');return db[_0x5765('0x46')][_0x5765('0x42')]({'where':{'name':_0x2410dd,'userProfileId':_0x189978[_0x5765('0x4f')]},'raw':!![]})[_0x5765('0x1d')](function(_0x58e83d){if(_0x58e83d&&_0x58e83d[_0x5765('0x47')]===0x0){return db[_0x5765('0x20')][_0x5765('0x43')]({'name':_0x472ee0[_0x5765('0x23')],'resourceId':_0x472ee0['id'],'type':_0x58e83d[_0x5765('0x23')],'sectionId':_0x58e83d['id']},{})[_0x5765('0x1d')](function(){return _0x3de75d;});}else{return _0x3de75d;}})[_0x5765('0x3e')](function(_0x5c557b){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x5c557b);throw _0x5c557b;});}return _0x3de75d;});}})[_0x5765('0x1d')](respondWithResult(_0x31afe8,0xc9))[_0x5765('0x3e')](handleError(_0x31afe8,null));};exports['update']=function(_0x326e1c,_0x378bd4){if(_0x326e1c['body']['id']){delete _0x326e1c[_0x5765('0x44')]['id'];}return db[_0x5765('0x26')][_0x5765('0x42')]({'where':{'id':_0x326e1c[_0x5765('0x40')]['id']}})['then'](handleEntityNotFound(_0x378bd4,null))[_0x5765('0x1d')](saveUpdates(_0x326e1c[_0x5765('0x44')],null))[_0x5765('0x1d')](respondWithResult(_0x378bd4,null))[_0x5765('0x3e')](handleError(_0x378bd4,null));};exports[_0x5765('0x21')]=function(_0x39532a,_0x543979){return db[_0x5765('0x26')][_0x5765('0x42')]({'where':{'id':_0x39532a[_0x5765('0x40')]['id']}})[_0x5765('0x1d')](handleEntityNotFound(_0x543979,null))[_0x5765('0x1d')](removeEntity(_0x543979,null))[_0x5765('0x3e')](handleError(_0x543979,null));};exports[_0x5765('0x50')]=function(_0x128c66,_0xd4958a,_0x514b64){var _0x5c0d4c={'raw':!![],'where':{}};var _0x1030bb={};var _0x21c5ca={'count':0x0,'rows':[]};return db['JscriptyProject'][_0x5765('0x51')]({'where':{'id':_0x128c66['params']['id']}})[_0x5765('0x1d')](handleEntityNotFound(_0xd4958a,null))['then'](function(_0x47d550){if(_0x47d550){_0x1030bb['model']=_[_0x5765('0x2d')](db[_0x5765('0x52')][_0x5765('0x27')]);_0x1030bb[_0x5765('0x2c')]=_[_0x5765('0x2d')](_0x128c66[_0x5765('0x2c')]);_0x1030bb[_0x5765('0x2e')]=_[_0x5765('0x2f')](_0x1030bb[_0x5765('0x2a')],_0x1030bb[_0x5765('0x2c')]);_0x5c0d4c[_0x5765('0x30')]=_['intersection'](_0x1030bb['model'],qs['fields'](_0x128c66[_0x5765('0x2c')][_0x5765('0x31')]));_0x5c0d4c[_0x5765('0x30')]=_0x5c0d4c[_0x5765('0x30')]['length']?_0x5c0d4c[_0x5765('0x30')]:_0x1030bb['model'];if(!_0x128c66[_0x5765('0x2c')][_0x5765('0x53')](_0x5765('0x33'))){_0x5c0d4c[_0x5765('0x19')]=qs[_0x5765('0x19')](_0x128c66[_0x5765('0x2c')][_0x5765('0x19')]);_0x5c0d4c[_0x5765('0x18')]=qs[_0x5765('0x18')](_0x128c66[_0x5765('0x2c')]['offset']);}_0x5c0d4c[_0x5765('0x34')]=qs[_0x5765('0x35')](_0x128c66[_0x5765('0x2c')]['sort']);_0x5c0d4c[_0x5765('0x36')]=qs[_0x5765('0x2e')](_[_0x5765('0x37')](_0x128c66[_0x5765('0x2c')],_0x1030bb[_0x5765('0x2e')]));_0x5c0d4c[_0x5765('0x36')][_0x5765('0x54')]=_0x47d550['id'];if(_0x128c66[_0x5765('0x2c')]['filter']){_0x5c0d4c[_0x5765('0x36')]=_[_0x5765('0x3b')](_0x5c0d4c[_0x5765('0x36')],{'$or':_['map'](_0x5c0d4c['attributes'],function(_0xc3d8f4){var _0x3b7790={};_0x3b7790[_0xc3d8f4]={'$like':'%'+_0x128c66[_0x5765('0x2c')]['filter']+'%'};return _0x3b7790;})});}_0x5c0d4c=_[_0x5765('0x3b')]({},_0x5c0d4c,_0x128c66[_0x5765('0x3c')]);return db[_0x5765('0x52')][_0x5765('0x17')]({'where':_0x5c0d4c[_0x5765('0x36')]})['then'](function(_0x2cfe28){_0x21c5ca[_0x5765('0x17')]=_0x2cfe28;if(_0x128c66[_0x5765('0x2c')]['includeAll']){_0x5c0d4c[_0x5765('0x41')]=[{'all':!![]}];}return db[_0x5765('0x52')][_0x5765('0x55')](_0x5c0d4c);})['then'](function(_0x262122){_0x21c5ca[_0x5765('0x3d')]=_0x262122;return _0x21c5ca;});}})['then'](respondWithFilteredResult(_0xd4958a,_0x5c0d4c))[_0x5765('0x3e')](handleError(_0xd4958a,null));};exports[_0x5765('0x56')]=function(_0x56fa0b,_0x316a6b,_0x4c609b){var _0x499f50={'raw':!![],'where':{}};var _0x419e38={};var _0x342053={'count':0x0,'rows':[]};return db[_0x5765('0x26')]['findOne']({'where':{'id':_0x56fa0b[_0x5765('0x40')]['id']}})[_0x5765('0x1d')](handleEntityNotFound(_0x316a6b,null))['then'](function(_0x10bd43){if(_0x10bd43){_0x419e38[_0x5765('0x2a')]=_[_0x5765('0x2d')](db[_0x5765('0x57')][_0x5765('0x27')]);_0x419e38['query']=_['keys'](_0x56fa0b[_0x5765('0x2c')]);_0x419e38[_0x5765('0x2e')]=_[_0x5765('0x2f')](_0x419e38[_0x5765('0x2a')],_0x419e38['query']);_0x499f50[_0x5765('0x30')]=_[_0x5765('0x2f')](_0x419e38['model'],qs['fields'](_0x56fa0b['query']['fields']));_0x499f50[_0x5765('0x30')]=_0x499f50['attributes']['length']?_0x499f50[_0x5765('0x30')]:_0x419e38[_0x5765('0x2a')];if(!_0x56fa0b[_0x5765('0x2c')][_0x5765('0x53')](_0x5765('0x33'))){_0x499f50[_0x5765('0x19')]=qs['limit'](_0x56fa0b[_0x5765('0x2c')]['limit']);_0x499f50['offset']=qs[_0x5765('0x18')](_0x56fa0b[_0x5765('0x2c')][_0x5765('0x18')]);}_0x499f50[_0x5765('0x34')]=qs[_0x5765('0x35')](_0x56fa0b['query'][_0x5765('0x35')]);_0x499f50[_0x5765('0x36')]=qs[_0x5765('0x2e')](_[_0x5765('0x37')](_0x56fa0b[_0x5765('0x2c')],_0x419e38[_0x5765('0x2e')]));_0x499f50['where']['ProjectId']=_0x10bd43['id'];if(_0x56fa0b['query'][_0x5765('0x3a')]){_0x499f50[_0x5765('0x36')]=_[_0x5765('0x3b')](_0x499f50[_0x5765('0x36')],{'$or':_[_0x5765('0x2b')](_0x499f50[_0x5765('0x30')],function(_0x11e033){var _0x2cddba={};_0x2cddba[_0x11e033]={'$like':'%'+_0x56fa0b['query'][_0x5765('0x3a')]+'%'};return _0x2cddba;})});}_0x499f50=_[_0x5765('0x3b')]({},_0x499f50,_0x56fa0b[_0x5765('0x3c')]);return db[_0x5765('0x57')][_0x5765('0x17')]({'where':_0x499f50[_0x5765('0x36')]})[_0x5765('0x1d')](function(_0x1b25d6){_0x342053['count']=_0x1b25d6;if(_0x56fa0b[_0x5765('0x2c')][_0x5765('0x4a')]){_0x499f50[_0x5765('0x41')]=[{'all':!![]}];}return db['JscriptyAnswerReport'][_0x5765('0x55')](_0x499f50);})['then'](function(_0xf6c53f){_0x342053['rows']=_0xf6c53f;return _0x342053;});}})['then'](respondWithFilteredResult(_0x316a6b,_0x499f50))[_0x5765('0x3e')](handleError(_0x316a6b,null));};function char(_0x6b2784){return _0x5765('0x58')===typeof _0x6b2784?String[_0x5765('0x59')][_0x5765('0x5a')](null,arguments):_0x6b2784;}function needsEncapsulation(_0x4f3fd2){return!!_0x4f3fd2&&(_0x4f3fd2[_0x5765('0x5b')]()['indexOf'](char(0xd))>=0x0||_0x4f3fd2[_0x5765('0x5b')]()[_0x5765('0x5c')](char(0xa))>=0x0||_0x4f3fd2[_0x5765('0x5b')]()[_0x5765('0x5c')](char(0x2c))>=0x0||_0x4f3fd2[_0x5765('0x5b')]()[_0x5765('0x5c')](char(0x22))>=0x0);}function encapsulate(_0x3c4610){var _0x327883=char(0x22),_0x416db2='\x5c'+char(0x22),_0x28a56d=_0x3c4610[_0x5765('0x5b')]()[_0x5765('0x5d')](new RegExp(_0x327883,'g'),_0x416db2);return _0x327883+_0x28a56d+_0x327883;}exports[_0x5765('0x5e')]=function(_0x298c6e,_0x561923,_0x402935){var _0x20dc44,_0x14acab;var _0x34969a={'where':{'ProjectId':_0x298c6e['params']['id']}};if(_0x298c6e[_0x5765('0x2c')][_0x5765('0x5f')]){_0x34969a[_0x5765('0x36')]['starttime']=JSON[_0x5765('0x60')](_0x298c6e['query'][_0x5765('0x5f')]);}return db['JscriptySessionReport']['findAll'](_0x34969a)[_0x5765('0x1d')](handleEntityNotFound(_0x561923,null))[_0x5765('0x1d')](function(_0x4b9d54){if(_0x4b9d54){_0x20dc44=_0x4b9d54;return db[_0x5765('0x61')][_0x5765('0x55')]({'where':{'SessionId':{'$in':_['map'](_0x20dc44,'id')},'ProjectId':_0x298c6e[_0x5765('0x40')]['id']},'order':_0x5765('0x62')});}})[_0x5765('0x1d')](handleEntityNotFound(_0x561923,null))[_0x5765('0x1d')](function(_0x42d618){if(_0x42d618){_0x14acab=_0x42d618;var _0x7bc723={};for(var _0x4a4147=0x0,_0xabbb0=_0x14acab['length'];_0x4a4147<_0xabbb0;_0x4a4147++){if(!_0x7bc723[_0x5765('0x53')](_0x14acab[_0x4a4147][_0x5765('0x63')])){_0x7bc723[_0x14acab[_0x4a4147][_0x5765('0x63')]]=needsEncapsulation(_0x14acab[_0x4a4147][_0x5765('0x64')])?encapsulate(_0x14acab[_0x4a4147][_0x5765('0x64')]):_0x14acab[_0x4a4147][_0x5765('0x64')];}}var _0x1385b1=[],_0x5b41e2={};for(var _0x3745f6=0x0,_0x8fe462=_0x20dc44[_0x5765('0x32')];_0x3745f6<_0x8fe462;_0x3745f6++){_0x5b41e2={'ProjectId':_0x298c6e[_0x5765('0x40')]['id'],'SessionId':_0x20dc44[_0x3745f6]['id'],'StartTime':moment(_0x20dc44[_0x3745f6]['starttime'])[_0x5765('0x65')](_0x5765('0x66'))};for(var _0x293225=0x0,_0x29b484=_0x14acab['length'];_0x293225<_0x29b484;_0x293225++){if(_0x14acab[_0x293225][_0x5765('0x67')]==_0x20dc44[_0x3745f6]['id']&&_0x7bc723['hasOwnProperty'](_0x14acab[_0x293225][_0x5765('0x63')])){_0x5b41e2[_0x7bc723[_0x14acab[_0x293225][_0x5765('0x63')]]]=_0x14acab[_0x293225][_0x5765('0x68')];}}for(var _0x213598 in _0x7bc723){if(!_0x5b41e2['hasOwnProperty'](_0x7bc723[_0x213598])){_0x5b41e2[_0x7bc723[_0x213598]]=null;}}_0x1385b1[_0x5765('0x69')](_0x5b41e2);}return _0x1385b1;}})[_0x5765('0x1d')](function(_0x1c8167){if(!_[_0x5765('0x6a')](_0x1c8167)){var _0x334acf=toCsv(_0x1c8167);var _0xf092c2=Date[_0x5765('0x6b')]();fs[_0x5765('0x6c')](util['format'](_0x5765('0x6d'),_0x298c6e['params']['id'],_0xf092c2),_0x334acf);_0x561923[_0x5765('0x6e')](_0x5765('0x6f'),'attachment;\x20filename='+util[_0x5765('0x65')](_0x5765('0x70'),_0x298c6e[_0x5765('0x40')]['id'],_0xf092c2));_0x561923[_0x5765('0x6e')](_0x5765('0x71'),_0x5765('0x72'));return _0x561923[_0x5765('0x73')](util['format']('/tmp/Jscripty_Project_%d_Summary_%s.csv',_0x298c6e[_0x5765('0x40')]['id'],_0xf092c2));}else{return _0x561923['sendStatus'](0xcc);}})['catch'](handleError(_0x561923,null));};