d723f1a62076b40361220b4f96684bff3dd4ce4b
[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 _0x3dbd=['starttime','parse','-createdAt','questionId','format','YYYY-MM-DD\x20HH:mm:ss','answer','push','isEmpty','now','writeFileSync','setHeader','Content-disposition','attachment;\x20filename=','Jscripty_Project_%d_Summary_%s.csv','Content-type','download','/tmp/Jscripty_Project_%d_Summary_%s.csv','eml-format','rimraf','zip-dir','request-promise','mustache','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','status','json','offset','undefined','count','set','Content-Range','reject','save','then','destroy','get','Projects','UserProfileResource','end','sendStatus','stack','name','send','render','merge','contact','interaction','index','map','JscriptyProject','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','limit','order','sort','where','pick','filter','options','include','rows','catch','show','length','includeAll','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','clone','params','omit','createdAt','updatedAt','update','getSessions','findOne','ProjectId','JscriptySessionReport','JscriptyAnswerReport','findAll','number','fromCharCode','apply','indexOf','toString','getSummary','startTime'];(function(_0x2d00d4,_0x3e7d3d){var _0x45f2b6=function(_0xed8fbf){while(--_0xed8fbf){_0x2d00d4['push'](_0x2d00d4['shift']());}};_0x45f2b6(++_0x3e7d3d);}(_0x3dbd,0x8a));var _0xd3db=function(_0x4711fc,_0x31742c){_0x4711fc=_0x4711fc-0x0;var _0x4c1eaf=_0x3dbd[_0x4711fc];return _0x4c1eaf;};'use strict';var emlformat=require(_0xd3db('0x0'));var rimraf=require(_0xd3db('0x1'));var zipdir=require(_0xd3db('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xd3db('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xd3db('0x4'));var util=require('util');var path=require('path');var sox=require('sox');var csv=require(_0xd3db('0x5'));var ejs=require(_0xd3db('0x6'));var fs=require('fs');var fs_extra=require(_0xd3db('0x7'));var _=require(_0xd3db('0x8'));var squel=require(_0xd3db('0x9'));var crypto=require(_0xd3db('0xa'));var jsforce=require(_0xd3db('0xb'));var deskjs=require(_0xd3db('0xc'));var toCsv=require('to-csv');var querystring=require(_0xd3db('0xd'));var Papa=require('papaparse');var Redis=require(_0xd3db('0xe'));var authService=require(_0xd3db('0xf'));var qs=require(_0xd3db('0x10'));var as=require(_0xd3db('0x11'));var hardwareService=require(_0xd3db('0x12'));var logger=require(_0xd3db('0x13'))(_0xd3db('0x14'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x50fbd8,_0x40122e){_0x40122e=_0x40122e||0xcc;return function(_0x4bf65c){if(_0x4bf65c){return _0x50fbd8['sendStatus'](_0x40122e);}return _0x50fbd8[_0xd3db('0x15')](_0x40122e)['end']();};}function respondWithResult(_0x271d31,_0x281892){_0x281892=_0x281892||0xc8;return function(_0x141fca){if(_0x141fca){return _0x271d31[_0xd3db('0x15')](_0x281892)[_0xd3db('0x16')](_0x141fca);}};}function respondWithFilteredResult(_0x5f1e78,_0x363d36){return function(_0x3b6ac9){if(_0x3b6ac9){var _0x654bb=typeof _0x363d36[_0xd3db('0x17')]===_0xd3db('0x18')&&typeof _0x363d36['limit']===_0xd3db('0x18');var _0x8e49c5=_0x3b6ac9[_0xd3db('0x19')];var _0x2845cf=_0x654bb?0x0:_0x363d36[_0xd3db('0x17')];var _0x5474a8=_0x654bb?_0x3b6ac9[_0xd3db('0x19')]:_0x363d36[_0xd3db('0x17')]+_0x363d36['limit'];var _0x2d23b9;if(_0x5474a8>=_0x8e49c5){_0x5474a8=_0x8e49c5;_0x2d23b9=0xc8;}else{_0x2d23b9=0xce;}_0x5f1e78[_0xd3db('0x15')](_0x2d23b9);return _0x5f1e78[_0xd3db('0x1a')](_0xd3db('0x1b'),_0x2845cf+'-'+_0x5474a8+'/'+_0x8e49c5)['json'](_0x3b6ac9);}return null;};}function patchUpdates(_0x2e328a){return function(_0x39e96c){try{jsonpatch['apply'](_0x39e96c,_0x2e328a,!![]);}catch(_0x44e848){return BPromise[_0xd3db('0x1c')](_0x44e848);}return _0x39e96c[_0xd3db('0x1d')]();};}function saveUpdates(_0x2afaa7,_0x201d3c){return function(_0x3acb3f){if(_0x3acb3f){return _0x3acb3f['update'](_0x2afaa7)[_0xd3db('0x1e')](function(_0x3f44cd){return _0x3f44cd;});}return null;};}function removeEntity(_0x3799a8,_0x4a8a80){return function(_0x4a3a29){if(_0x4a3a29){return _0x4a3a29[_0xd3db('0x1f')]()[_0xd3db('0x1e')](function(){var _0x8b4132=_0x4a3a29[_0xd3db('0x20')]({'plain':!![]});var _0xc72034=_0xd3db('0x21');return db[_0xd3db('0x22')][_0xd3db('0x1f')]({'where':{'type':_0xc72034,'resourceId':_0x8b4132['id']}})['then'](function(){return _0x4a3a29;});})['then'](function(){_0x3799a8[_0xd3db('0x15')](0xcc)[_0xd3db('0x23')]();});}};}function handleEntityNotFound(_0x499fed,_0x39e388){return function(_0x3697b3){if(!_0x3697b3){_0x499fed[_0xd3db('0x24')](0x194);}return _0x3697b3;};}function handleError(_0x5f5880,_0x876e25){_0x876e25=_0x876e25||0x1f4;return function(_0x3e661e){logger['error'](_0x3e661e[_0xd3db('0x25')]);if(_0x3e661e['name']){delete _0x3e661e[_0xd3db('0x26')];}_0x5f5880[_0xd3db('0x15')](_0x876e25)[_0xd3db('0x27')](_0x3e661e);};}function getMustacheRender(_0x3d4489,_0x4edbbe){return Mustache[_0xd3db('0x28')](_0x3d4489,_[_0xd3db('0x29')](_0x4edbbe['body'],{'contact':_0x4edbbe[_0xd3db('0x2a')],'message':_0x4edbbe['message'],'agent':_0x4edbbe['agent'],'interaction':_0x4edbbe[_0xd3db('0x2b')],'account':_0x4edbbe['account']}))||'';}exports[_0xd3db('0x2c')]=function(_0x2b18f5,_0x41087a){var _0x41a142={},_0x5d5ec7={},_0x458ed3={'count':0x0,'rows':[]};var _0x1e90ba=_[_0xd3db('0x2d')](db[_0xd3db('0x2e')][_0xd3db('0x2f')],function(_0x319393){return{'name':_0x319393[_0xd3db('0x30')],'type':_0x319393[_0xd3db('0x31')][_0xd3db('0x32')]};});_0x5d5ec7[_0xd3db('0x33')]=_[_0xd3db('0x2d')](_0x1e90ba,_0xd3db('0x26'));_0x5d5ec7[_0xd3db('0x34')]=_[_0xd3db('0x35')](_0x2b18f5[_0xd3db('0x34')]);_0x5d5ec7[_0xd3db('0x36')]=_[_0xd3db('0x37')](_0x5d5ec7[_0xd3db('0x33')],_0x5d5ec7['query']);_0x41a142[_0xd3db('0x38')]=_[_0xd3db('0x37')](_0x5d5ec7[_0xd3db('0x33')],qs[_0xd3db('0x39')](_0x2b18f5[_0xd3db('0x34')][_0xd3db('0x39')]));_0x41a142['attributes']=_0x41a142[_0xd3db('0x38')]['length']?_0x41a142[_0xd3db('0x38')]:_0x5d5ec7[_0xd3db('0x33')];if(!_0x2b18f5[_0xd3db('0x34')][_0xd3db('0x3a')]('nolimit')){_0x41a142[_0xd3db('0x3b')]=qs[_0xd3db('0x3b')](_0x2b18f5[_0xd3db('0x34')][_0xd3db('0x3b')]);_0x41a142['offset']=qs[_0xd3db('0x17')](_0x2b18f5[_0xd3db('0x34')][_0xd3db('0x17')]);}_0x41a142[_0xd3db('0x3c')]=qs[_0xd3db('0x3d')](_0x2b18f5[_0xd3db('0x34')][_0xd3db('0x3d')]);_0x41a142[_0xd3db('0x3e')]=qs[_0xd3db('0x36')](_[_0xd3db('0x3f')](_0x2b18f5[_0xd3db('0x34')],_0x5d5ec7[_0xd3db('0x36')]),_0x1e90ba);if(_0x2b18f5['query'][_0xd3db('0x40')]){_0x41a142['where']=_[_0xd3db('0x29')](_0x41a142[_0xd3db('0x3e')],{'$or':_[_0xd3db('0x2d')](_0x1e90ba,function(_0x7aff00){if(_0x7aff00[_0xd3db('0x31')]!=='VIRTUAL'){var _0x408cfa={};_0x408cfa[_0x7aff00[_0xd3db('0x26')]]={'$like':'%'+_0x2b18f5['query'][_0xd3db('0x40')]+'%'};return _0x408cfa;}})});}_0x41a142=_[_0xd3db('0x29')]({},_0x41a142,_0x2b18f5[_0xd3db('0x41')]);var _0x1bf0e6={'where':_0x41a142['where']};return db['JscriptyProject']['count'](_0x1bf0e6)[_0xd3db('0x1e')](function(_0xd4b6c0){_0x458ed3[_0xd3db('0x19')]=_0xd4b6c0;if(_0x2b18f5[_0xd3db('0x34')]['includeAll']){_0x41a142[_0xd3db('0x42')]=[{'all':!![]}];}return db[_0xd3db('0x2e')]['findAll'](_0x41a142);})['then'](function(_0x4e1782){_0x458ed3[_0xd3db('0x43')]=_0x4e1782;return _0x458ed3;})[_0xd3db('0x1e')](respondWithFilteredResult(_0x41087a,_0x41a142))[_0xd3db('0x44')](handleError(_0x41087a,null));};exports[_0xd3db('0x45')]=function(_0x1891d1,_0x58ba5c){var _0x4293b7={'raw':![],'where':{'id':_0x1891d1['params']['id']}},_0x334b84={};_0x334b84[_0xd3db('0x33')]=_[_0xd3db('0x35')](db[_0xd3db('0x2e')][_0xd3db('0x2f')]);_0x334b84[_0xd3db('0x34')]=_[_0xd3db('0x35')](_0x1891d1['query']);_0x334b84[_0xd3db('0x36')]=_[_0xd3db('0x37')](_0x334b84[_0xd3db('0x33')],_0x334b84[_0xd3db('0x34')]);_0x4293b7[_0xd3db('0x38')]=_[_0xd3db('0x37')](_0x334b84[_0xd3db('0x33')],qs[_0xd3db('0x39')](_0x1891d1[_0xd3db('0x34')][_0xd3db('0x39')]));_0x4293b7[_0xd3db('0x38')]=_0x4293b7[_0xd3db('0x38')][_0xd3db('0x46')]?_0x4293b7[_0xd3db('0x38')]:_0x334b84[_0xd3db('0x33')];if(_0x1891d1['query'][_0xd3db('0x47')]){_0x4293b7[_0xd3db('0x42')]=[{'all':!![]}];}_0x4293b7=_[_0xd3db('0x29')]({},_0x4293b7,_0x1891d1['options']);return db[_0xd3db('0x2e')][_0xd3db('0x48')](_0x4293b7)[_0xd3db('0x1e')](handleEntityNotFound(_0x58ba5c,null))[_0xd3db('0x1e')](respondWithResult(_0x58ba5c,null))[_0xd3db('0x44')](handleError(_0x58ba5c,null));};exports[_0xd3db('0x49')]=function(_0x334901,_0x1ce106){return db[_0xd3db('0x2e')][_0xd3db('0x49')](_0x334901[_0xd3db('0x4a')],{})[_0xd3db('0x1e')](function(_0x230f7e){var _0x109d55=_0x334901[_0xd3db('0x4b')][_0xd3db('0x20')]({'plain':!![]});if(!_0x109d55)throw new Error(_0xd3db('0x4c'));if(_0x109d55[_0xd3db('0x4d')]===_0xd3db('0x4b')){var _0x5c862e=_0x230f7e[_0xd3db('0x20')]({'plain':!![]});var _0x466630=_0xd3db('0x21');return db[_0xd3db('0x4e')][_0xd3db('0x48')]({'where':{'name':_0x466630,'userProfileId':_0x109d55[_0xd3db('0x4f')]},'raw':!![]})['then'](function(_0x52be95){if(_0x52be95&&_0x52be95[_0xd3db('0x50')]===0x0){return db['UserProfileResource']['create']({'name':_0x5c862e['name'],'resourceId':_0x5c862e['id'],'type':_0x52be95[_0xd3db('0x26')],'sectionId':_0x52be95['id']},{})[_0xd3db('0x1e')](function(){return _0x230f7e;});}else{return _0x230f7e;}})[_0xd3db('0x44')](function(_0x1a31d1){logger[_0xd3db('0x51')](_0xd3db('0x52'),_0x1a31d1);throw _0x1a31d1;});}return _0x230f7e;})[_0xd3db('0x1e')](respondWithResult(_0x1ce106,0xc9))['catch'](handleError(_0x1ce106,null));};exports[_0xd3db('0x53')]=function(_0x135f01,_0x1afd63){var _0x385a74={'where':{'id':_0x135f01[_0xd3db('0x54')]['id']}},_0x15aaf0={};_0x15aaf0[_0xd3db('0x33')]=_[_0xd3db('0x35')](db[_0xd3db('0x2e')][_0xd3db('0x2f')]);_0x385a74['attributes']=_['intersection'](_0x15aaf0[_0xd3db('0x33')],qs['fields'](_0x135f01[_0xd3db('0x34')][_0xd3db('0x39')]));_0x385a74[_0xd3db('0x38')]=_0x385a74[_0xd3db('0x38')][_0xd3db('0x46')]?_0x385a74[_0xd3db('0x38')]:_0x15aaf0[_0xd3db('0x33')];if(_0x135f01[_0xd3db('0x34')]['includeAll']){_0x385a74[_0xd3db('0x42')]=[{'all':!![]}];}_0x385a74=_['merge']({},_0x385a74,_0x135f01[_0xd3db('0x41')]);return db[_0xd3db('0x2e')]['find'](_0x385a74)[_0xd3db('0x1e')](handleEntityNotFound(_0x1afd63,null))['then'](function(_0x2936d5){if(_0x2936d5){var _0x180a61=_0x2936d5['get']({'plain':!![]});_0x180a61=qs[_0xd3db('0x55')](_0x180a61,['id',_0xd3db('0x56'),'updatedAt']);_0x135f01[_0xd3db('0x4a')]=_[_0xd3db('0x55')](_0x135f01[_0xd3db('0x4a')],['id',_0xd3db('0x56'),_0xd3db('0x57')]);return db[_0xd3db('0x2e')]['create'](_['merge'](_0x180a61,_0x135f01[_0xd3db('0x4a')]),{'include':_0x135f01[_0xd3db('0x34')][_0xd3db('0x47')]?[{'all':!![]}]:undefined})[_0xd3db('0x1e')](function(_0x2285bb){var _0x26a85b=_0x135f01[_0xd3db('0x4b')][_0xd3db('0x20')]({'plain':!![]});if(!_0x26a85b)throw new Error(_0xd3db('0x4c'));if(_0x26a85b['role']===_0xd3db('0x4b')){var _0x48c650=_0x2285bb[_0xd3db('0x20')]({'plain':!![]});var _0x5aa5f9=_0xd3db('0x21');return db['UserProfileSection'][_0xd3db('0x48')]({'where':{'name':_0x5aa5f9,'userProfileId':_0x26a85b[_0xd3db('0x4f')]},'raw':!![]})['then'](function(_0x3dfad8){if(_0x3dfad8&&_0x3dfad8[_0xd3db('0x50')]===0x0){return db['UserProfileResource']['create']({'name':_0x48c650['name'],'resourceId':_0x48c650['id'],'type':_0x3dfad8[_0xd3db('0x26')],'sectionId':_0x3dfad8['id']},{})['then'](function(){return _0x2285bb;});}else{return _0x2285bb;}})[_0xd3db('0x44')](function(_0x30c01c){logger['error'](_0xd3db('0x52'),_0x30c01c);throw _0x30c01c;});}return _0x2285bb;});}})[_0xd3db('0x1e')](respondWithResult(_0x1afd63,0xc9))['catch'](handleError(_0x1afd63,null));};exports[_0xd3db('0x58')]=function(_0xbfabaf,_0x5ed874){if(_0xbfabaf[_0xd3db('0x4a')]['id']){delete _0xbfabaf[_0xd3db('0x4a')]['id'];}return db['JscriptyProject'][_0xd3db('0x48')]({'where':{'id':_0xbfabaf[_0xd3db('0x54')]['id']}})[_0xd3db('0x1e')](handleEntityNotFound(_0x5ed874,null))[_0xd3db('0x1e')](saveUpdates(_0xbfabaf['body'],null))['then'](respondWithResult(_0x5ed874,null))['catch'](handleError(_0x5ed874,null));};exports[_0xd3db('0x1f')]=function(_0x3ebe1d,_0x4d1f95){return db['JscriptyProject']['find']({'where':{'id':_0x3ebe1d['params']['id']}})[_0xd3db('0x1e')](handleEntityNotFound(_0x4d1f95,null))[_0xd3db('0x1e')](removeEntity(_0x4d1f95,null))[_0xd3db('0x44')](handleError(_0x4d1f95,null));};exports[_0xd3db('0x59')]=function(_0x31ce01,_0x47d876,_0x163845){var _0x504eea={'raw':!![],'where':{}};var _0xa75590={};var _0x391c90={'count':0x0,'rows':[]};return db['JscriptyProject'][_0xd3db('0x5a')]({'where':{'id':_0x31ce01['params']['id']}})[_0xd3db('0x1e')](handleEntityNotFound(_0x47d876,null))[_0xd3db('0x1e')](function(_0x255705){if(_0x255705){_0xa75590[_0xd3db('0x33')]=_[_0xd3db('0x35')](db['JscriptySessionReport'][_0xd3db('0x2f')]);_0xa75590[_0xd3db('0x34')]=_[_0xd3db('0x35')](_0x31ce01[_0xd3db('0x34')]);_0xa75590[_0xd3db('0x36')]=_[_0xd3db('0x37')](_0xa75590[_0xd3db('0x33')],_0xa75590['query']);_0x504eea[_0xd3db('0x38')]=_[_0xd3db('0x37')](_0xa75590[_0xd3db('0x33')],qs[_0xd3db('0x39')](_0x31ce01[_0xd3db('0x34')][_0xd3db('0x39')]));_0x504eea[_0xd3db('0x38')]=_0x504eea['attributes'][_0xd3db('0x46')]?_0x504eea['attributes']:_0xa75590[_0xd3db('0x33')];if(!_0x31ce01['query'][_0xd3db('0x3a')]('nolimit')){_0x504eea[_0xd3db('0x3b')]=qs[_0xd3db('0x3b')](_0x31ce01[_0xd3db('0x34')][_0xd3db('0x3b')]);_0x504eea['offset']=qs[_0xd3db('0x17')](_0x31ce01[_0xd3db('0x34')][_0xd3db('0x17')]);}_0x504eea[_0xd3db('0x3c')]=qs[_0xd3db('0x3d')](_0x31ce01[_0xd3db('0x34')]['sort']);_0x504eea[_0xd3db('0x3e')]=qs['filters'](_[_0xd3db('0x3f')](_0x31ce01[_0xd3db('0x34')],_0xa75590['filters']));_0x504eea[_0xd3db('0x3e')][_0xd3db('0x5b')]=_0x255705['id'];if(_0x31ce01[_0xd3db('0x34')]['filter']){_0x504eea[_0xd3db('0x3e')]=_[_0xd3db('0x29')](_0x504eea[_0xd3db('0x3e')],{'$or':_['map'](_0x504eea[_0xd3db('0x38')],function(_0x488311){var _0x55ef72={};_0x55ef72[_0x488311]={'$like':'%'+_0x31ce01['query'][_0xd3db('0x40')]+'%'};return _0x55ef72;})});}_0x504eea=_['merge']({},_0x504eea,_0x31ce01[_0xd3db('0x41')]);return db[_0xd3db('0x5c')][_0xd3db('0x19')]({'where':_0x504eea['where']})['then'](function(_0x3fb7a7){_0x391c90[_0xd3db('0x19')]=_0x3fb7a7;if(_0x31ce01[_0xd3db('0x34')]['includeAll']){_0x504eea[_0xd3db('0x42')]=[{'all':!![]}];}return db[_0xd3db('0x5c')]['findAll'](_0x504eea);})[_0xd3db('0x1e')](function(_0x47286f){_0x391c90[_0xd3db('0x43')]=_0x47286f;return _0x391c90;});}})[_0xd3db('0x1e')](respondWithFilteredResult(_0x47d876,_0x504eea))['catch'](handleError(_0x47d876,null));};exports['getAnswers']=function(_0x32a0b9,_0x172be8,_0x2f7c4e){var _0x1b4efb={'raw':!![],'where':{}};var _0x3aa7cc={};var _0x48b6b0={'count':0x0,'rows':[]};return db[_0xd3db('0x2e')][_0xd3db('0x5a')]({'where':{'id':_0x32a0b9[_0xd3db('0x54')]['id']}})[_0xd3db('0x1e')](handleEntityNotFound(_0x172be8,null))[_0xd3db('0x1e')](function(_0xe266fa){if(_0xe266fa){_0x3aa7cc['model']=_[_0xd3db('0x35')](db[_0xd3db('0x5d')][_0xd3db('0x2f')]);_0x3aa7cc['query']=_[_0xd3db('0x35')](_0x32a0b9[_0xd3db('0x34')]);_0x3aa7cc['filters']=_[_0xd3db('0x37')](_0x3aa7cc[_0xd3db('0x33')],_0x3aa7cc[_0xd3db('0x34')]);_0x1b4efb[_0xd3db('0x38')]=_['intersection'](_0x3aa7cc[_0xd3db('0x33')],qs[_0xd3db('0x39')](_0x32a0b9[_0xd3db('0x34')][_0xd3db('0x39')]));_0x1b4efb[_0xd3db('0x38')]=_0x1b4efb[_0xd3db('0x38')][_0xd3db('0x46')]?_0x1b4efb['attributes']:_0x3aa7cc[_0xd3db('0x33')];if(!_0x32a0b9[_0xd3db('0x34')][_0xd3db('0x3a')]('nolimit')){_0x1b4efb[_0xd3db('0x3b')]=qs['limit'](_0x32a0b9[_0xd3db('0x34')][_0xd3db('0x3b')]);_0x1b4efb[_0xd3db('0x17')]=qs[_0xd3db('0x17')](_0x32a0b9['query'][_0xd3db('0x17')]);}_0x1b4efb[_0xd3db('0x3c')]=qs[_0xd3db('0x3d')](_0x32a0b9['query'][_0xd3db('0x3d')]);_0x1b4efb[_0xd3db('0x3e')]=qs[_0xd3db('0x36')](_[_0xd3db('0x3f')](_0x32a0b9[_0xd3db('0x34')],_0x3aa7cc[_0xd3db('0x36')]));_0x1b4efb[_0xd3db('0x3e')][_0xd3db('0x5b')]=_0xe266fa['id'];if(_0x32a0b9[_0xd3db('0x34')][_0xd3db('0x40')]){_0x1b4efb['where']=_['merge'](_0x1b4efb[_0xd3db('0x3e')],{'$or':_[_0xd3db('0x2d')](_0x1b4efb[_0xd3db('0x38')],function(_0x496f1b){var _0x54d5fa={};_0x54d5fa[_0x496f1b]={'$like':'%'+_0x32a0b9['query'][_0xd3db('0x40')]+'%'};return _0x54d5fa;})});}_0x1b4efb=_[_0xd3db('0x29')]({},_0x1b4efb,_0x32a0b9[_0xd3db('0x41')]);return db[_0xd3db('0x5d')][_0xd3db('0x19')]({'where':_0x1b4efb[_0xd3db('0x3e')]})['then'](function(_0x2fb834){_0x48b6b0[_0xd3db('0x19')]=_0x2fb834;if(_0x32a0b9['query'][_0xd3db('0x47')]){_0x1b4efb['include']=[{'all':!![]}];}return db[_0xd3db('0x5d')][_0xd3db('0x5e')](_0x1b4efb);})[_0xd3db('0x1e')](function(_0x5ec19b){_0x48b6b0['rows']=_0x5ec19b;return _0x48b6b0;});}})[_0xd3db('0x1e')](respondWithFilteredResult(_0x172be8,_0x1b4efb))[_0xd3db('0x44')](handleError(_0x172be8,null));};function char(_0x447ab2){return _0xd3db('0x5f')===typeof _0x447ab2?String[_0xd3db('0x60')][_0xd3db('0x61')](null,arguments):_0x447ab2;}function needsEncapsulation(_0x56b68f){return!!_0x56b68f&&(_0x56b68f['toString']()[_0xd3db('0x62')](char(0xd))>=0x0||_0x56b68f[_0xd3db('0x63')]()[_0xd3db('0x62')](char(0xa))>=0x0||_0x56b68f[_0xd3db('0x63')]()[_0xd3db('0x62')](char(0x2c))>=0x0||_0x56b68f[_0xd3db('0x63')]()[_0xd3db('0x62')](char(0x22))>=0x0);}function encapsulate(_0x4c2a9b){var _0x59687a=char(0x22),_0x40b582='\x5c'+char(0x22),_0x4bc87b=_0x4c2a9b[_0xd3db('0x63')]()['replace'](new RegExp(_0x59687a,'g'),_0x40b582);return _0x59687a+_0x4bc87b+_0x59687a;}exports[_0xd3db('0x64')]=function(_0x144db4,_0x1b1b0f,_0x254b09){var _0x12a671,_0x830e10;var _0x1b622e={'where':{'ProjectId':_0x144db4[_0xd3db('0x54')]['id']}};if(_0x144db4['query'][_0xd3db('0x65')]){_0x1b622e[_0xd3db('0x3e')][_0xd3db('0x66')]=JSON[_0xd3db('0x67')](_0x144db4[_0xd3db('0x34')][_0xd3db('0x65')]);}return db[_0xd3db('0x5c')][_0xd3db('0x5e')](_0x1b622e)[_0xd3db('0x1e')](handleEntityNotFound(_0x1b1b0f,null))[_0xd3db('0x1e')](function(_0x542506){if(_0x542506){_0x12a671=_0x542506;return db['JscriptyQuestionReport'][_0xd3db('0x5e')]({'where':{'SessionId':{'$in':_[_0xd3db('0x2d')](_0x12a671,'id')},'ProjectId':_0x144db4[_0xd3db('0x54')]['id']},'order':_0xd3db('0x68')});}})['then'](handleEntityNotFound(_0x1b1b0f,null))[_0xd3db('0x1e')](function(_0x5be3c4){if(_0x5be3c4){_0x830e10=_0x5be3c4;var _0x1fced4={};for(var _0x4fe302=0x0,_0x2ebe9b=_0x830e10[_0xd3db('0x46')];_0x4fe302<_0x2ebe9b;_0x4fe302++){if(!_0x1fced4[_0xd3db('0x3a')](_0x830e10[_0x4fe302]['questionId'])){_0x1fced4[_0x830e10[_0x4fe302][_0xd3db('0x69')]]=needsEncapsulation(_0x830e10[_0x4fe302]['question'])?encapsulate(_0x830e10[_0x4fe302]['question']):_0x830e10[_0x4fe302]['question'];}}var _0x25f3a0=[],_0x49598b={};for(var _0xb22c55=0x0,_0x53eada=_0x12a671[_0xd3db('0x46')];_0xb22c55<_0x53eada;_0xb22c55++){_0x49598b={'ProjectId':_0x144db4['params']['id'],'SessionId':_0x12a671[_0xb22c55]['id'],'StartTime':moment(_0x12a671[_0xb22c55]['starttime'])[_0xd3db('0x6a')](_0xd3db('0x6b'))};for(var _0x4e4f7e=0x0,_0x3709c6=_0x830e10[_0xd3db('0x46')];_0x4e4f7e<_0x3709c6;_0x4e4f7e++){if(_0x830e10[_0x4e4f7e]['SessionId']==_0x12a671[_0xb22c55]['id']&&_0x1fced4[_0xd3db('0x3a')](_0x830e10[_0x4e4f7e][_0xd3db('0x69')])){_0x49598b[_0x1fced4[_0x830e10[_0x4e4f7e][_0xd3db('0x69')]]]=_0x830e10[_0x4e4f7e][_0xd3db('0x6c')];}}for(var _0x1850f7 in _0x1fced4){if(!_0x49598b[_0xd3db('0x3a')](_0x1fced4[_0x1850f7])){_0x49598b[_0x1fced4[_0x1850f7]]=null;}}_0x25f3a0[_0xd3db('0x6d')](_0x49598b);}return _0x25f3a0;}})[_0xd3db('0x1e')](function(_0x15e645){if(!_[_0xd3db('0x6e')](_0x15e645)){var _0xe97622=toCsv(_0x15e645);var _0x28d3d9=Date[_0xd3db('0x6f')]();fs[_0xd3db('0x70')](util[_0xd3db('0x6a')]('/tmp/Jscripty_Project_%d_Summary_%s.csv',_0x144db4[_0xd3db('0x54')]['id'],_0x28d3d9),_0xe97622);_0x1b1b0f[_0xd3db('0x71')](_0xd3db('0x72'),_0xd3db('0x73')+util[_0xd3db('0x6a')](_0xd3db('0x74'),_0x144db4[_0xd3db('0x54')]['id'],_0x28d3d9));_0x1b1b0f[_0xd3db('0x71')](_0xd3db('0x75'),'text/csv');return _0x1b1b0f[_0xd3db('0x76')](util['format'](_0xd3db('0x77'),_0x144db4[_0xd3db('0x54')]['id'],_0x28d3d9));}else{return _0x1b1b0f['sendStatus'](0xcc);}})[_0xd3db('0x44')](handleError(_0x1b1b0f,null));};