5799aa79c67428e93f8ecced09d4f0fd3584dc3c
[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 _0x3514=['attachment;\x20filename=','Jscripty_Project_%d_Summary_%s.csv','Content-type','text/csv','/tmp/Jscripty_Project_%d_Summary_%s.csv','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','to-csv','ejs','lodash','squel','jsforce','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/logger','../../mysqldb','sendStatus','status','end','count','offset','set','json','apply','reject','update','then','destroy','Projects','UserProfileResource','stack','name','send','index','rawAttributes','fieldName','type','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','filters','pick','filter','where','merge','map','VIRTUAL','options','JscriptyProject','includeAll','include','rows','catch','show','params','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','find','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','clone','get','createdAt','updatedAt','omit','role','error','getSessions','findOne','JscriptySessionReport','ProjectId','findAll','getAnswers','JscriptyAnswerReport','number','fromCharCode','toString','indexOf','replace','starttime','-createdAt','questionId','question','format','SessionId','answer','push','writeFileSync','setHeader','Content-disposition'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x3514,0xe5));var _0x4351=function(_0x507cdc,_0x42b97a){_0x507cdc=_0x507cdc-0x0;var _0x2c1828=_0x3514[_0x507cdc];return _0x2c1828;};'use strict';var pdf=require(_0x4351('0x0'));var emlformat=require(_0x4351('0x1'));var rimraf=require(_0x4351('0x2'));var zipdir=require(_0x4351('0x3'));var jsonpatch=require(_0x4351('0x4'));var rp=require('request-promise');var moment=require(_0x4351('0x5'));var BPromise=require(_0x4351('0x6'));var Mustache=require(_0x4351('0x7'));var util=require(_0x4351('0x8'));var path=require(_0x4351('0x9'));var sox=require('sox');var csv=require(_0x4351('0xa'));var ejs=require(_0x4351('0xb'));var fs=require('fs');var _=require(_0x4351('0xc'));var squel=require(_0x4351('0xd'));var crypto=require('crypto');var jsforce=require(_0x4351('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x4351('0xa'));var querystring=require(_0x4351('0xf'));var Papa=require(_0x4351('0x10'));var Redis=require(_0x4351('0x11'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x4351('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x4351('0x13'))('api');var utils=require('../../config/utils');var config=require('../../config/environment');var db=require(_0x4351('0x14'))['db'];function respondWithStatusCode(_0x2f17f0,_0x482a32){_0x482a32=_0x482a32||0xcc;return function(_0x5aee4f){if(_0x5aee4f){return _0x2f17f0[_0x4351('0x15')](_0x482a32);}return _0x2f17f0[_0x4351('0x16')](_0x482a32)[_0x4351('0x17')]();};}function respondWithResult(_0x3827dc,_0x335d0f){_0x335d0f=_0x335d0f||0xc8;return function(_0xd0abec){if(_0xd0abec){return _0x3827dc['status'](_0x335d0f)['json'](_0xd0abec);}};}function respondWithFilteredResult(_0x543eb6,_0x259304){return function(_0x3dd9df){if(_0x3dd9df){var _0x3e51b5=_0x3dd9df[_0x4351('0x18')],_0x3063a6=_0x259304[_0x4351('0x19')],_0x50503e=_0x259304[_0x4351('0x19')]+_0x259304['limit'],_0x1a39f9;if(_0x50503e>=_0x3e51b5){_0x50503e=_0x3e51b5;_0x1a39f9=0xc8;}else{_0x1a39f9=0xce;}_0x543eb6[_0x4351('0x16')](_0x1a39f9);return _0x543eb6[_0x4351('0x1a')]('Content-Range',_0x3063a6+'-'+_0x50503e+'/'+_0x3e51b5)[_0x4351('0x1b')](_0x3dd9df);}return null;};}function patchUpdates(_0x310974){return function(_0x2db330){try{jsonpatch[_0x4351('0x1c')](_0x2db330,_0x310974,!![]);}catch(_0x4e696e){return BPromise[_0x4351('0x1d')](_0x4e696e);}return _0x2db330['save']();};}function saveUpdates(_0x3b65a2,_0x19aed7){return function(_0x56035b){if(_0x56035b){return _0x56035b[_0x4351('0x1e')](_0x3b65a2)[_0x4351('0x1f')](function(_0xce7580){return _0xce7580;});}return null;};}function removeEntity(_0x2d0ca2,_0xa5335f){return function(_0x534641){if(_0x534641){return _0x534641[_0x4351('0x20')]()[_0x4351('0x1f')](function(){var _0x259ba6=_0x534641['get']({'plain':!![]});var _0x24c673=_0x4351('0x21');return db[_0x4351('0x22')][_0x4351('0x20')]({'where':{'type':_0x24c673,'resourceId':_0x259ba6['id']}})[_0x4351('0x1f')](function(){return _0x534641;});})[_0x4351('0x1f')](function(){_0x2d0ca2[_0x4351('0x16')](0xcc)[_0x4351('0x17')]();});}};}function handleEntityNotFound(_0x40d182,_0xf75786){return function(_0xd66146){if(!_0xd66146){_0x40d182[_0x4351('0x15')](0x194);}return _0xd66146;};}function handleError(_0x444f81,_0x334cef){_0x334cef=_0x334cef||0x1f4;return function(_0x5e9e1f){logger['error'](_0x5e9e1f[_0x4351('0x23')]);if(_0x5e9e1f[_0x4351('0x24')]){delete _0x5e9e1f[_0x4351('0x24')];}_0x444f81[_0x4351('0x16')](_0x334cef)[_0x4351('0x25')](_0x5e9e1f);};}exports[_0x4351('0x26')]=function(_0x513a63,_0xa60246){var _0x553075={},_0x11a6c3={},_0x29276f={'count':0x0,'rows':[]};var _0x1516be=_['map'](db['JscriptyProject'][_0x4351('0x27')],function(_0x598bfc){return{'name':_0x598bfc[_0x4351('0x28')],'type':_0x598bfc[_0x4351('0x29')]['key']};});_0x11a6c3[_0x4351('0x2a')]=_['map'](_0x1516be,_0x4351('0x24'));_0x11a6c3[_0x4351('0x2b')]=_[_0x4351('0x2c')](_0x513a63[_0x4351('0x2b')]);_0x11a6c3['filters']=_[_0x4351('0x2d')](_0x11a6c3[_0x4351('0x2a')],_0x11a6c3[_0x4351('0x2b')]);_0x553075[_0x4351('0x2e')]=_['intersection'](_0x11a6c3[_0x4351('0x2a')],qs[_0x4351('0x2f')](_0x513a63[_0x4351('0x2b')][_0x4351('0x2f')]));_0x553075[_0x4351('0x2e')]=_0x553075['attributes'][_0x4351('0x30')]?_0x553075[_0x4351('0x2e')]:_0x11a6c3['model'];if(!_0x513a63[_0x4351('0x2b')][_0x4351('0x31')](_0x4351('0x32'))){_0x553075[_0x4351('0x33')]=qs[_0x4351('0x33')](_0x513a63[_0x4351('0x2b')][_0x4351('0x33')]);_0x553075[_0x4351('0x19')]=qs[_0x4351('0x19')](_0x513a63['query'][_0x4351('0x19')]);}_0x553075[_0x4351('0x34')]=qs['sort'](_0x513a63[_0x4351('0x2b')][_0x4351('0x35')]);_0x553075['where']=qs[_0x4351('0x36')](_[_0x4351('0x37')](_0x513a63['query'],_0x11a6c3[_0x4351('0x36')]),_0x1516be);if(_0x513a63['query'][_0x4351('0x38')]){_0x553075[_0x4351('0x39')]=_[_0x4351('0x3a')](_0x553075[_0x4351('0x39')],{'$or':_[_0x4351('0x3b')](_0x1516be,function(_0x5d52a4){if(_0x5d52a4[_0x4351('0x29')]!==_0x4351('0x3c')){var _0x3c7443={};_0x3c7443[_0x5d52a4[_0x4351('0x24')]]={'$like':'%'+_0x513a63['query']['filter']+'%'};return _0x3c7443;}})});}_0x553075=_['merge']({},_0x553075,_0x513a63[_0x4351('0x3d')]);var _0x4d3f87={'where':_0x553075['where']};return db[_0x4351('0x3e')][_0x4351('0x18')](_0x4d3f87)['then'](function(_0x550151){_0x29276f[_0x4351('0x18')]=_0x550151;if(_0x513a63[_0x4351('0x2b')][_0x4351('0x3f')]){_0x553075[_0x4351('0x40')]=[{'all':!![]}];}return db[_0x4351('0x3e')]['findAll'](_0x553075);})['then'](function(_0x300cb3){_0x29276f[_0x4351('0x41')]=_0x300cb3;return _0x29276f;})[_0x4351('0x1f')](respondWithFilteredResult(_0xa60246,_0x553075))[_0x4351('0x42')](handleError(_0xa60246,null));};exports[_0x4351('0x43')]=function(_0x501235,_0x21d9c8){var _0x518460={'raw':![],'where':{'id':_0x501235[_0x4351('0x44')]['id']}},_0x400a4d={};_0x400a4d[_0x4351('0x2a')]=_['keys'](db[_0x4351('0x3e')][_0x4351('0x27')]);_0x400a4d[_0x4351('0x2b')]=_[_0x4351('0x2c')](_0x501235[_0x4351('0x2b')]);_0x400a4d[_0x4351('0x36')]=_[_0x4351('0x2d')](_0x400a4d[_0x4351('0x2a')],_0x400a4d[_0x4351('0x2b')]);_0x518460[_0x4351('0x2e')]=_[_0x4351('0x2d')](_0x400a4d['model'],qs[_0x4351('0x2f')](_0x501235[_0x4351('0x2b')][_0x4351('0x2f')]));_0x518460[_0x4351('0x2e')]=_0x518460[_0x4351('0x2e')]['length']?_0x518460['attributes']:_0x400a4d[_0x4351('0x2a')];if(_0x501235[_0x4351('0x2b')][_0x4351('0x3f')]){_0x518460[_0x4351('0x40')]=[{'all':!![]}];}_0x518460=_[_0x4351('0x3a')]({},_0x518460,_0x501235['options']);return db[_0x4351('0x3e')]['find'](_0x518460)[_0x4351('0x1f')](handleEntityNotFound(_0x21d9c8,null))[_0x4351('0x1f')](respondWithResult(_0x21d9c8,null))[_0x4351('0x42')](handleError(_0x21d9c8,null));};exports[_0x4351('0x45')]=function(_0x5687cf,_0x58f5ad){return db['JscriptyProject']['create'](_0x5687cf[_0x4351('0x46')],{})['then'](function(_0x168316){var _0x51b565=_0x5687cf[_0x4351('0x47')]['get']({'plain':!![]});if(!_0x51b565)throw new Error(_0x4351('0x48'));if(_0x51b565['role']===_0x4351('0x47')){var _0x212a72=_0x168316['get']({'plain':!![]});var _0x3da02a='Projects';return db[_0x4351('0x49')][_0x4351('0x4a')]({'where':{'name':_0x3da02a,'userProfileId':_0x51b565['userProfileId']},'raw':!![]})[_0x4351('0x1f')](function(_0x415512){if(_0x415512&&_0x415512[_0x4351('0x4b')]===0x0){return db[_0x4351('0x22')][_0x4351('0x45')]({'name':_0x212a72['name'],'resourceId':_0x212a72['id'],'type':_0x415512[_0x4351('0x24')],'sectionId':_0x415512['id']},{})[_0x4351('0x1f')](function(){return _0x168316;});}else{return _0x168316;}})[_0x4351('0x42')](function(_0x38f260){logger['error'](_0x4351('0x4c'),_0x38f260);throw _0x38f260;});}return _0x168316;})[_0x4351('0x1f')](respondWithResult(_0x58f5ad,0xc9))[_0x4351('0x42')](handleError(_0x58f5ad,null));};exports[_0x4351('0x4d')]=function(_0x2a9318,_0x2ff167){var _0x3a1467={'where':{'id':_0x2a9318['params']['id']}},_0x1eb4b2={};_0x1eb4b2[_0x4351('0x2a')]=_[_0x4351('0x2c')](db['JscriptyProject']['rawAttributes']);_0x3a1467['attributes']=_['intersection'](_0x1eb4b2[_0x4351('0x2a')],qs[_0x4351('0x2f')](_0x2a9318[_0x4351('0x2b')][_0x4351('0x2f')]));_0x3a1467[_0x4351('0x2e')]=_0x3a1467[_0x4351('0x2e')][_0x4351('0x30')]?_0x3a1467[_0x4351('0x2e')]:_0x1eb4b2[_0x4351('0x2a')];if(_0x2a9318[_0x4351('0x2b')]['includeAll']){_0x3a1467[_0x4351('0x40')]=[{'all':!![]}];}_0x3a1467=_[_0x4351('0x3a')]({},_0x3a1467,_0x2a9318[_0x4351('0x3d')]);return db['JscriptyProject'][_0x4351('0x4a')](_0x3a1467)[_0x4351('0x1f')](handleEntityNotFound(_0x2ff167,null))[_0x4351('0x1f')](function(_0x4aa82a){if(_0x4aa82a){var _0x3a97ae=_0x4aa82a[_0x4351('0x4e')]({'plain':!![]});_0x3a97ae=qs['omit'](_0x3a97ae,['id',_0x4351('0x4f'),_0x4351('0x50')]);_0x2a9318[_0x4351('0x46')]=_[_0x4351('0x51')](_0x2a9318[_0x4351('0x46')],['id',_0x4351('0x4f'),_0x4351('0x50')]);return db[_0x4351('0x3e')][_0x4351('0x45')](_[_0x4351('0x3a')](_0x3a97ae,_0x2a9318[_0x4351('0x46')]),{'include':_0x2a9318[_0x4351('0x2b')][_0x4351('0x3f')]?[{'all':!![]}]:undefined})[_0x4351('0x1f')](function(_0x4bc045){var _0x4f437b=_0x2a9318[_0x4351('0x47')][_0x4351('0x4e')]({'plain':!![]});if(!_0x4f437b)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x4f437b[_0x4351('0x52')]===_0x4351('0x47')){var _0x4b4885=_0x4bc045[_0x4351('0x4e')]({'plain':!![]});var _0x98968c=_0x4351('0x21');return db['UserProfileSection'][_0x4351('0x4a')]({'where':{'name':_0x98968c,'userProfileId':_0x4f437b['userProfileId']},'raw':!![]})[_0x4351('0x1f')](function(_0x17dd04){if(_0x17dd04&&_0x17dd04[_0x4351('0x4b')]===0x0){return db['UserProfileResource'][_0x4351('0x45')]({'name':_0x4b4885[_0x4351('0x24')],'resourceId':_0x4b4885['id'],'type':_0x17dd04[_0x4351('0x24')],'sectionId':_0x17dd04['id']},{})['then'](function(){return _0x4bc045;});}else{return _0x4bc045;}})['catch'](function(_0x7c7a8f){logger[_0x4351('0x53')](_0x4351('0x4c'),_0x7c7a8f);throw _0x7c7a8f;});}return _0x4bc045;});}})[_0x4351('0x1f')](respondWithResult(_0x2ff167,0xc9))[_0x4351('0x42')](handleError(_0x2ff167,null));};exports[_0x4351('0x1e')]=function(_0x37c768,_0xc93f6d){if(_0x37c768['body']['id']){delete _0x37c768[_0x4351('0x46')]['id'];}return db[_0x4351('0x3e')][_0x4351('0x4a')]({'where':{'id':_0x37c768[_0x4351('0x44')]['id']}})[_0x4351('0x1f')](handleEntityNotFound(_0xc93f6d,null))['then'](saveUpdates(_0x37c768[_0x4351('0x46')],null))[_0x4351('0x1f')](respondWithResult(_0xc93f6d,null))[_0x4351('0x42')](handleError(_0xc93f6d,null));};exports[_0x4351('0x20')]=function(_0x5923cb,_0x228223){return db['JscriptyProject'][_0x4351('0x4a')]({'where':{'id':_0x5923cb[_0x4351('0x44')]['id']}})[_0x4351('0x1f')](handleEntityNotFound(_0x228223,null))[_0x4351('0x1f')](removeEntity(_0x228223,null))[_0x4351('0x42')](handleError(_0x228223,null));};exports[_0x4351('0x54')]=function(_0x2fef46,_0x15ea9a,_0x193769){var _0x34a359={'raw':!![],'where':{}};var _0x439f65={};var _0x57aeb8={'count':0x0,'rows':[]};return db[_0x4351('0x3e')][_0x4351('0x55')]({'where':{'id':_0x2fef46['params']['id']}})[_0x4351('0x1f')](handleEntityNotFound(_0x15ea9a,null))['then'](function(_0x4621d3){if(_0x4621d3){_0x439f65[_0x4351('0x2a')]=_[_0x4351('0x2c')](db[_0x4351('0x56')][_0x4351('0x27')]);_0x439f65[_0x4351('0x2b')]=_['keys'](_0x2fef46[_0x4351('0x2b')]);_0x439f65[_0x4351('0x36')]=_[_0x4351('0x2d')](_0x439f65[_0x4351('0x2a')],_0x439f65[_0x4351('0x2b')]);_0x34a359['attributes']=_[_0x4351('0x2d')](_0x439f65['model'],qs['fields'](_0x2fef46[_0x4351('0x2b')][_0x4351('0x2f')]));_0x34a359[_0x4351('0x2e')]=_0x34a359['attributes'][_0x4351('0x30')]?_0x34a359[_0x4351('0x2e')]:_0x439f65[_0x4351('0x2a')];if(!_0x2fef46['query'][_0x4351('0x31')](_0x4351('0x32'))){_0x34a359['limit']=qs['limit'](_0x2fef46[_0x4351('0x2b')][_0x4351('0x33')]);_0x34a359[_0x4351('0x19')]=qs[_0x4351('0x19')](_0x2fef46['query'][_0x4351('0x19')]);}_0x34a359[_0x4351('0x34')]=qs[_0x4351('0x35')](_0x2fef46[_0x4351('0x2b')][_0x4351('0x35')]);_0x34a359[_0x4351('0x39')]=qs[_0x4351('0x36')](_['pick'](_0x2fef46['query'],_0x439f65[_0x4351('0x36')]));_0x34a359[_0x4351('0x39')][_0x4351('0x57')]=_0x4621d3['id'];if(_0x2fef46['query'][_0x4351('0x38')]){_0x34a359['where']=_[_0x4351('0x3a')](_0x34a359['where'],{'$or':_[_0x4351('0x3b')](_0x34a359['attributes'],function(_0x24eaa8){var _0x151ca6={};_0x151ca6[_0x24eaa8]={'$like':'%'+_0x2fef46[_0x4351('0x2b')][_0x4351('0x38')]+'%'};return _0x151ca6;})});}_0x34a359=_['merge']({},_0x34a359,_0x2fef46[_0x4351('0x3d')]);return db[_0x4351('0x56')][_0x4351('0x18')]({'where':_0x34a359[_0x4351('0x39')]})[_0x4351('0x1f')](function(_0x5cac55){_0x57aeb8[_0x4351('0x18')]=_0x5cac55;if(_0x2fef46[_0x4351('0x2b')][_0x4351('0x3f')]){_0x34a359[_0x4351('0x40')]=[{'all':!![]}];}return db['JscriptySessionReport'][_0x4351('0x58')](_0x34a359);})[_0x4351('0x1f')](function(_0x1c8979){_0x57aeb8[_0x4351('0x41')]=_0x1c8979;return _0x57aeb8;});}})['then'](respondWithFilteredResult(_0x15ea9a,_0x34a359))[_0x4351('0x42')](handleError(_0x15ea9a,null));};exports[_0x4351('0x59')]=function(_0x3fde54,_0x3e0551,_0x5bf397){var _0x2c3ac4={'raw':!![],'where':{}};var _0x27aa3a={};var _0x111752={'count':0x0,'rows':[]};return db[_0x4351('0x3e')][_0x4351('0x55')]({'where':{'id':_0x3fde54[_0x4351('0x44')]['id']}})['then'](handleEntityNotFound(_0x3e0551,null))[_0x4351('0x1f')](function(_0xd68f3a){if(_0xd68f3a){_0x27aa3a['model']=_[_0x4351('0x2c')](db[_0x4351('0x5a')][_0x4351('0x27')]);_0x27aa3a[_0x4351('0x2b')]=_['keys'](_0x3fde54[_0x4351('0x2b')]);_0x27aa3a[_0x4351('0x36')]=_[_0x4351('0x2d')](_0x27aa3a['model'],_0x27aa3a[_0x4351('0x2b')]);_0x2c3ac4[_0x4351('0x2e')]=_[_0x4351('0x2d')](_0x27aa3a[_0x4351('0x2a')],qs[_0x4351('0x2f')](_0x3fde54[_0x4351('0x2b')][_0x4351('0x2f')]));_0x2c3ac4[_0x4351('0x2e')]=_0x2c3ac4[_0x4351('0x2e')][_0x4351('0x30')]?_0x2c3ac4['attributes']:_0x27aa3a['model'];if(!_0x3fde54[_0x4351('0x2b')][_0x4351('0x31')](_0x4351('0x32'))){_0x2c3ac4[_0x4351('0x33')]=qs[_0x4351('0x33')](_0x3fde54[_0x4351('0x2b')]['limit']);_0x2c3ac4[_0x4351('0x19')]=qs[_0x4351('0x19')](_0x3fde54['query']['offset']);}_0x2c3ac4[_0x4351('0x34')]=qs[_0x4351('0x35')](_0x3fde54[_0x4351('0x2b')][_0x4351('0x35')]);_0x2c3ac4[_0x4351('0x39')]=qs['filters'](_['pick'](_0x3fde54[_0x4351('0x2b')],_0x27aa3a[_0x4351('0x36')]));_0x2c3ac4[_0x4351('0x39')][_0x4351('0x57')]=_0xd68f3a['id'];if(_0x3fde54[_0x4351('0x2b')][_0x4351('0x38')]){_0x2c3ac4['where']=_[_0x4351('0x3a')](_0x2c3ac4[_0x4351('0x39')],{'$or':_[_0x4351('0x3b')](_0x2c3ac4[_0x4351('0x2e')],function(_0x11e918){var _0x116f94={};_0x116f94[_0x11e918]={'$like':'%'+_0x3fde54[_0x4351('0x2b')][_0x4351('0x38')]+'%'};return _0x116f94;})});}_0x2c3ac4=_['merge']({},_0x2c3ac4,_0x3fde54['options']);return db[_0x4351('0x5a')]['count']({'where':_0x2c3ac4[_0x4351('0x39')]})[_0x4351('0x1f')](function(_0x84a135){_0x111752['count']=_0x84a135;if(_0x3fde54[_0x4351('0x2b')][_0x4351('0x3f')]){_0x2c3ac4[_0x4351('0x40')]=[{'all':!![]}];}return db[_0x4351('0x5a')][_0x4351('0x58')](_0x2c3ac4);})[_0x4351('0x1f')](function(_0x182454){_0x111752[_0x4351('0x41')]=_0x182454;return _0x111752;});}})['then'](respondWithFilteredResult(_0x3e0551,_0x2c3ac4))['catch'](handleError(_0x3e0551,null));};function char(_0x2fd066){return _0x4351('0x5b')===typeof _0x2fd066?String[_0x4351('0x5c')][_0x4351('0x1c')](null,arguments):_0x2fd066;}function needsEncapsulation(_0x3a9d07){return!!_0x3a9d07&&(_0x3a9d07[_0x4351('0x5d')]()['indexOf'](char(0xd))>=0x0||_0x3a9d07[_0x4351('0x5d')]()[_0x4351('0x5e')](char(0xa))>=0x0||_0x3a9d07[_0x4351('0x5d')]()[_0x4351('0x5e')](char(0x2c))>=0x0||_0x3a9d07['toString']()[_0x4351('0x5e')](char(0x22))>=0x0);}function encapsulate(_0x2e79dc){var _0x59647b=char(0x22),_0xcf0882='\x5c'+char(0x22),_0x242d15=_0x2e79dc[_0x4351('0x5d')]()[_0x4351('0x5f')](new RegExp(_0x59647b,'g'),_0xcf0882);return _0x59647b+_0x242d15+_0x59647b;}exports['getSummary']=function(_0x4fc09f,_0x1910ad,_0x15eedc){var _0x4dac9e,_0x2cefb8;var _0x5f325e={'where':{'ProjectId':_0x4fc09f[_0x4351('0x44')]['id']}};if(_0x4fc09f[_0x4351('0x2b')]['startTime']){_0x5f325e[_0x4351('0x39')][_0x4351('0x60')]=JSON['parse'](_0x4fc09f[_0x4351('0x2b')]['startTime']);}return db[_0x4351('0x56')]['findAll'](_0x5f325e)['then'](handleEntityNotFound(_0x1910ad,null))['then'](function(_0x3220ca){if(_0x3220ca){_0x4dac9e=_0x3220ca;return db['JscriptyQuestionReport'][_0x4351('0x58')]({'where':{'SessionId':{'$in':_[_0x4351('0x3b')](_0x4dac9e,'id')},'ProjectId':_0x4fc09f[_0x4351('0x44')]['id']},'order':_0x4351('0x61')});}})['then'](handleEntityNotFound(_0x1910ad,null))[_0x4351('0x1f')](function(_0x3cc840){if(_0x3cc840){_0x2cefb8=_0x3cc840;var _0xadc4ad={};for(var _0x286a01=0x0,_0x2332b5=_0x2cefb8[_0x4351('0x30')];_0x286a01<_0x2332b5;_0x286a01++){if(!_0xadc4ad[_0x4351('0x31')](_0x2cefb8[_0x286a01][_0x4351('0x62')])){_0xadc4ad[_0x2cefb8[_0x286a01][_0x4351('0x62')]]=needsEncapsulation(_0x2cefb8[_0x286a01][_0x4351('0x63')])?encapsulate(_0x2cefb8[_0x286a01]['question']):_0x2cefb8[_0x286a01]['question'];}}var _0x11df1d=[],_0x430d98={};for(var _0x35d0f1=0x0,_0x28431d=_0x4dac9e['length'];_0x35d0f1<_0x28431d;_0x35d0f1++){_0x430d98={'ProjectId':_0x4fc09f[_0x4351('0x44')]['id'],'SessionId':_0x4dac9e[_0x35d0f1]['id'],'StartTime':moment(_0x4dac9e[_0x35d0f1]['starttime'])[_0x4351('0x64')]('YYYY-MM-DD\x20HH:mm:ss')};for(var _0x491fd7=0x0,_0x1233be=_0x2cefb8[_0x4351('0x30')];_0x491fd7<_0x1233be;_0x491fd7++){if(_0x2cefb8[_0x491fd7][_0x4351('0x65')]==_0x4dac9e[_0x35d0f1]['id']&&_0xadc4ad[_0x4351('0x31')](_0x2cefb8[_0x491fd7][_0x4351('0x62')])){_0x430d98[_0xadc4ad[_0x2cefb8[_0x491fd7][_0x4351('0x62')]]]=_0x2cefb8[_0x491fd7][_0x4351('0x66')];}}for(var _0x2e571a in _0xadc4ad){if(!_0x430d98['hasOwnProperty'](_0xadc4ad[_0x2e571a])){_0x430d98[_0xadc4ad[_0x2e571a]]=null;}}_0x11df1d[_0x4351('0x67')](_0x430d98);}return _0x11df1d;}})[_0x4351('0x1f')](function(_0x2ec366){if(!_['isEmpty'](_0x2ec366)){var _0x580f52=toCsv(_0x2ec366);var _0x560369=Date['now']();fs[_0x4351('0x68')](util[_0x4351('0x64')]('/tmp/Jscripty_Project_%d_Summary_%s.csv',_0x4fc09f[_0x4351('0x44')]['id'],_0x560369),_0x580f52);_0x1910ad[_0x4351('0x69')](_0x4351('0x6a'),_0x4351('0x6b')+util[_0x4351('0x64')](_0x4351('0x6c'),_0x4fc09f[_0x4351('0x44')]['id'],_0x560369));_0x1910ad[_0x4351('0x69')](_0x4351('0x6d'),_0x4351('0x6e'));return _0x1910ad['download'](util[_0x4351('0x64')](_0x4351('0x6f'),_0x4fc09f[_0x4351('0x44')]['id'],_0x560369));}else{return _0x1910ad[_0x4351('0x15')](0xcc);}})[_0x4351('0x42')](handleError(_0x1910ad,null));};