2d40ea71bbe92d13a1d3575e816621284791ed5a
[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 _0x1917=['push','now','writeFileSync','Content-disposition','attachment;\x20filename=','Jscripty_Project_%d_Summary_%s.csv','setHeader','Content-type','text/csv','download','/tmp/Jscripty_Project_%d_Summary_%s.csv','sendStatus','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','sox','to-csv','ejs','lodash','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','status','offset','limit','set','Content-Range','json','apply','reject','save','update','then','get','Projects','UserProfileResource','end','stack','name','send','map','JscriptyProject','rawAttributes','type','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','options','count','includeAll','findAll','show','include','find','catch','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','autoAssociation','clone','params','omit','updatedAt','createdAt','error','findOne','JscriptySessionReport','rows','JscriptyAnswerReport','ProjectId','number','fromCharCode','toString','indexOf','getSummary','parse','startTime','JscriptyQuestionReport','questionId','question','starttime','format','YYYY-MM-DD\x20HH:mm:ss','SessionId','answer'];(function(_0x5e1f0f,_0x45a0e7){var _0x99c34a=function(_0x66dbdb){while(--_0x66dbdb){_0x5e1f0f['push'](_0x5e1f0f['shift']());}};_0x99c34a(++_0x45a0e7);}(_0x1917,0xf2));var _0x7191=function(_0x29d0f0,_0x2282c0){_0x29d0f0=_0x29d0f0-0x0;var _0x1ae6f0=_0x1917[_0x29d0f0];return _0x1ae6f0;};'use strict';var pdf=require(_0x7191('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x7191('0x1'));var zipdir=require(_0x7191('0x2'));var jsonpatch=require(_0x7191('0x3'));var rp=require(_0x7191('0x4'));var moment=require('moment');var BPromise=require(_0x7191('0x5'));var Mustache=require(_0x7191('0x6'));var util=require(_0x7191('0x7'));var path=require('path');var sox=require(_0x7191('0x8'));var csv=require(_0x7191('0x9'));var ejs=require(_0x7191('0xa'));var fs=require('fs');var _=require(_0x7191('0xb'));var squel=require('squel');var crypto=require(_0x7191('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x7191('0xd'));var toCsv=require(_0x7191('0x9'));var querystring=require(_0x7191('0xe'));var Papa=require(_0x7191('0xf'));var Redis=require(_0x7191('0x10'));var authService=require(_0x7191('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0x7191('0x12'));var hardwareService=require(_0x7191('0x13'));var logger=require(_0x7191('0x14'))('api');var utils=require(_0x7191('0x15'));var config=require(_0x7191('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x325800,_0x5d6b15){_0x5d6b15=_0x5d6b15||0xcc;return function(_0x204561){if(_0x204561){return _0x325800['sendStatus'](_0x5d6b15);}return _0x325800[_0x7191('0x17')](_0x5d6b15)['end']();};}function respondWithResult(_0xd750f2,_0x35a44e){_0x35a44e=_0x35a44e||0xc8;return function(_0x28c3df){if(_0x28c3df){return _0xd750f2[_0x7191('0x17')](_0x35a44e)['json'](_0x28c3df);}};}function respondWithFilteredResult(_0x4aee55,_0x4eb8bf){return function(_0x5cbf24){if(_0x5cbf24){var _0xd21514=_0x5cbf24['count'],_0x162361=_0x4eb8bf['offset'],_0x169557=_0x4eb8bf[_0x7191('0x18')]+_0x4eb8bf[_0x7191('0x19')],_0x144db5;if(_0x169557>=_0xd21514){_0x169557=_0xd21514;_0x144db5=0xc8;}else{_0x144db5=0xce;}_0x4aee55[_0x7191('0x17')](_0x144db5);return _0x4aee55[_0x7191('0x1a')](_0x7191('0x1b'),_0x162361+'-'+_0x169557+'/'+_0xd21514)[_0x7191('0x1c')](_0x5cbf24);}return null;};}function patchUpdates(_0x381723){return function(_0x3e47cc){try{jsonpatch[_0x7191('0x1d')](_0x3e47cc,_0x381723,!![]);}catch(_0x30b108){return BPromise[_0x7191('0x1e')](_0x30b108);}return _0x3e47cc[_0x7191('0x1f')]();};}function saveUpdates(_0x20624c,_0x3ebff0){return function(_0x1a693d){if(_0x1a693d){return _0x1a693d[_0x7191('0x20')](_0x20624c)['then'](function(_0x3c24b9){return _0x3c24b9;});}return null;};}function removeEntity(_0xea45e2,_0x35ab0){return function(_0x1ca370){if(_0x1ca370){return _0x1ca370['destroy']()[_0x7191('0x21')](function(){var _0x549780=_0x1ca370[_0x7191('0x22')]({'plain':!![]});var _0x5a4962=_0x7191('0x23');return db[_0x7191('0x24')]['destroy']({'where':{'type':_0x5a4962,'resourceId':_0x549780['id']}})[_0x7191('0x21')](function(){return _0x1ca370;});})[_0x7191('0x21')](function(){_0xea45e2[_0x7191('0x17')](0xcc)[_0x7191('0x25')]();});}};}function handleEntityNotFound(_0x204a3a,_0x1d9d9d){return function(_0x320f47){if(!_0x320f47){_0x204a3a['sendStatus'](0x194);}return _0x320f47;};}function handleError(_0x584450,_0x5d5916){_0x5d5916=_0x5d5916||0x1f4;return function(_0x3ccaec){logger['error'](_0x3ccaec[_0x7191('0x26')]);if(_0x3ccaec[_0x7191('0x27')]){delete _0x3ccaec[_0x7191('0x27')];}_0x584450[_0x7191('0x17')](_0x5d5916)[_0x7191('0x28')](_0x3ccaec);};}exports['index']=function(_0x327c59,_0x1b9eea){var _0xad2a4b={},_0x5a9d21={},_0x2a09de={'count':0x0,'rows':[]};var _0x1d30dd=_[_0x7191('0x29')](db[_0x7191('0x2a')][_0x7191('0x2b')],function(_0x17b2e3){return{'name':_0x17b2e3['fieldName'],'type':_0x17b2e3[_0x7191('0x2c')][_0x7191('0x2d')]};});_0x5a9d21[_0x7191('0x2e')]=_[_0x7191('0x29')](_0x1d30dd,_0x7191('0x27'));_0x5a9d21[_0x7191('0x2f')]=_[_0x7191('0x30')](_0x327c59[_0x7191('0x2f')]);_0x5a9d21[_0x7191('0x31')]=_[_0x7191('0x32')](_0x5a9d21[_0x7191('0x2e')],_0x5a9d21[_0x7191('0x2f')]);_0xad2a4b['attributes']=_[_0x7191('0x32')](_0x5a9d21[_0x7191('0x2e')],qs[_0x7191('0x33')](_0x327c59[_0x7191('0x2f')][_0x7191('0x33')]));_0xad2a4b[_0x7191('0x34')]=_0xad2a4b['attributes'][_0x7191('0x35')]?_0xad2a4b['attributes']:_0x5a9d21[_0x7191('0x2e')];if(!_0x327c59[_0x7191('0x2f')][_0x7191('0x36')](_0x7191('0x37'))){_0xad2a4b['limit']=qs[_0x7191('0x19')](_0x327c59[_0x7191('0x2f')][_0x7191('0x19')]);_0xad2a4b['offset']=qs[_0x7191('0x18')](_0x327c59[_0x7191('0x2f')][_0x7191('0x18')]);}_0xad2a4b[_0x7191('0x38')]=qs[_0x7191('0x39')](_0x327c59[_0x7191('0x2f')][_0x7191('0x39')]);_0xad2a4b[_0x7191('0x3a')]=qs[_0x7191('0x31')](_[_0x7191('0x3b')](_0x327c59[_0x7191('0x2f')],_0x5a9d21[_0x7191('0x31')]),_0x1d30dd);if(_0x327c59[_0x7191('0x2f')][_0x7191('0x3c')]){_0xad2a4b[_0x7191('0x3a')]=_['merge'](_0xad2a4b[_0x7191('0x3a')],{'$or':_[_0x7191('0x29')](_0x1d30dd,function(_0x514820){if(_0x514820['type']!=='VIRTUAL'){var _0xb3fe1d={};_0xb3fe1d[_0x514820[_0x7191('0x27')]]={'$like':'%'+_0x327c59['query'][_0x7191('0x3c')]+'%'};return _0xb3fe1d;}})});}_0xad2a4b=_[_0x7191('0x3d')]({},_0xad2a4b,_0x327c59[_0x7191('0x3e')]);var _0x5e7f86={'where':_0xad2a4b[_0x7191('0x3a')]};return db[_0x7191('0x2a')][_0x7191('0x3f')](_0x5e7f86)['then'](function(_0x3f29b2){_0x2a09de[_0x7191('0x3f')]=_0x3f29b2;if(_0x327c59[_0x7191('0x2f')][_0x7191('0x40')]){_0xad2a4b['include']=[{'all':!![]}];}return db[_0x7191('0x2a')][_0x7191('0x41')](_0xad2a4b);})[_0x7191('0x21')](function(_0x278da3){_0x2a09de['rows']=_0x278da3;return _0x2a09de;})['then'](respondWithFilteredResult(_0x1b9eea,_0xad2a4b))['catch'](handleError(_0x1b9eea,null));};exports[_0x7191('0x42')]=function(_0x2a3794,_0x4d3edf){var _0x2dd0c3={'raw':![],'where':{'id':_0x2a3794['params']['id']}},_0x53665d={};_0x53665d[_0x7191('0x2e')]=_[_0x7191('0x30')](db[_0x7191('0x2a')][_0x7191('0x2b')]);_0x53665d['query']=_[_0x7191('0x30')](_0x2a3794[_0x7191('0x2f')]);_0x53665d[_0x7191('0x31')]=_[_0x7191('0x32')](_0x53665d[_0x7191('0x2e')],_0x53665d[_0x7191('0x2f')]);_0x2dd0c3['attributes']=_['intersection'](_0x53665d[_0x7191('0x2e')],qs[_0x7191('0x33')](_0x2a3794['query']['fields']));_0x2dd0c3['attributes']=_0x2dd0c3[_0x7191('0x34')]['length']?_0x2dd0c3[_0x7191('0x34')]:_0x53665d['model'];if(_0x2a3794[_0x7191('0x2f')][_0x7191('0x40')]){_0x2dd0c3[_0x7191('0x43')]=[{'all':!![]}];}_0x2dd0c3=_[_0x7191('0x3d')]({},_0x2dd0c3,_0x2a3794[_0x7191('0x3e')]);return db[_0x7191('0x2a')][_0x7191('0x44')](_0x2dd0c3)[_0x7191('0x21')](handleEntityNotFound(_0x4d3edf,null))[_0x7191('0x21')](respondWithResult(_0x4d3edf,null))[_0x7191('0x45')](handleError(_0x4d3edf,null));};exports[_0x7191('0x46')]=function(_0x21538a,_0x3e5c6d){return db['JscriptyProject'][_0x7191('0x46')](_0x21538a[_0x7191('0x47')],{})[_0x7191('0x21')](function(_0x236bff){var _0x5cbd86=_0x21538a[_0x7191('0x48')]['get']({'plain':!![]});if(!_0x5cbd86)throw new Error(_0x7191('0x49'));if(_0x5cbd86[_0x7191('0x4a')]==='user'){var _0x320667=_0x236bff[_0x7191('0x22')]({'plain':!![]});var _0x481e96=_0x7191('0x23');return db['UserProfileSection'][_0x7191('0x44')]({'where':{'name':_0x481e96,'userProfileId':_0x5cbd86[_0x7191('0x4b')]},'raw':!![]})[_0x7191('0x21')](function(_0x277301){if(_0x277301&&_0x277301[_0x7191('0x4c')]===0x0){return db[_0x7191('0x24')][_0x7191('0x46')]({'name':_0x320667[_0x7191('0x27')],'resourceId':_0x320667['id'],'type':_0x277301['name'],'sectionId':_0x277301['id']},{})[_0x7191('0x21')](function(){return _0x236bff;});}else{return _0x236bff;}})[_0x7191('0x45')](function(_0x29d844){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x29d844);throw _0x29d844;});}return _0x236bff;})['then'](respondWithResult(_0x3e5c6d,0xc9))[_0x7191('0x45')](handleError(_0x3e5c6d,null));};exports[_0x7191('0x4d')]=function(_0x49d8ea,_0x2d015d){var _0x32e0c6={'where':{'id':_0x49d8ea[_0x7191('0x4e')]['id']}},_0x403947={};_0x403947['model']=_[_0x7191('0x30')](db[_0x7191('0x2a')][_0x7191('0x2b')]);_0x32e0c6[_0x7191('0x34')]=_[_0x7191('0x32')](_0x403947[_0x7191('0x2e')],qs[_0x7191('0x33')](_0x49d8ea[_0x7191('0x2f')][_0x7191('0x33')]));_0x32e0c6[_0x7191('0x34')]=_0x32e0c6['attributes'][_0x7191('0x35')]?_0x32e0c6['attributes']:_0x403947[_0x7191('0x2e')];if(_0x49d8ea[_0x7191('0x2f')][_0x7191('0x40')]){_0x32e0c6['include']=[{'all':!![]}];}_0x32e0c6=_[_0x7191('0x3d')]({},_0x32e0c6,_0x49d8ea['options']);return db[_0x7191('0x2a')][_0x7191('0x44')](_0x32e0c6)[_0x7191('0x21')](handleEntityNotFound(_0x2d015d,null))[_0x7191('0x21')](function(_0x4d6d40){if(_0x4d6d40){var _0x15afe8=_0x4d6d40[_0x7191('0x22')]({'plain':!![]});_0x15afe8=qs[_0x7191('0x4f')](_0x15afe8,['id','createdAt',_0x7191('0x50')]);_0x49d8ea[_0x7191('0x47')]=_[_0x7191('0x4f')](_0x49d8ea['body'],['id',_0x7191('0x51'),_0x7191('0x50')]);return db[_0x7191('0x2a')]['create'](_[_0x7191('0x3d')](_0x15afe8,_0x49d8ea['body']),{'include':_0x49d8ea[_0x7191('0x2f')][_0x7191('0x40')]?[{'all':!![]}]:undefined})[_0x7191('0x21')](function(_0x55c458){var _0x2dd03a=_0x49d8ea[_0x7191('0x48')][_0x7191('0x22')]({'plain':!![]});if(!_0x2dd03a)throw new Error(_0x7191('0x49'));if(_0x2dd03a[_0x7191('0x4a')]==='user'){var _0x5efe5e=_0x55c458[_0x7191('0x22')]({'plain':!![]});var _0x5a214f=_0x7191('0x23');return db['UserProfileSection']['find']({'where':{'name':_0x5a214f,'userProfileId':_0x2dd03a['userProfileId']},'raw':!![]})['then'](function(_0x4daca3){if(_0x4daca3&&_0x4daca3[_0x7191('0x4c')]===0x0){return db[_0x7191('0x24')][_0x7191('0x46')]({'name':_0x5efe5e[_0x7191('0x27')],'resourceId':_0x5efe5e['id'],'type':_0x4daca3[_0x7191('0x27')],'sectionId':_0x4daca3['id']},{})['then'](function(){return _0x55c458;});}else{return _0x55c458;}})[_0x7191('0x45')](function(_0x247849){logger[_0x7191('0x52')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x247849);throw _0x247849;});}return _0x55c458;});}})[_0x7191('0x21')](respondWithResult(_0x2d015d,0xc9))['catch'](handleError(_0x2d015d,null));};exports[_0x7191('0x20')]=function(_0x95fe15,_0xe64828){if(_0x95fe15['body']['id']){delete _0x95fe15[_0x7191('0x47')]['id'];}return db[_0x7191('0x2a')]['find']({'where':{'id':_0x95fe15['params']['id']}})[_0x7191('0x21')](handleEntityNotFound(_0xe64828,null))[_0x7191('0x21')](saveUpdates(_0x95fe15['body'],null))[_0x7191('0x21')](respondWithResult(_0xe64828,null))[_0x7191('0x45')](handleError(_0xe64828,null));};exports['destroy']=function(_0x545c92,_0x3d41b3){return db[_0x7191('0x2a')]['find']({'where':{'id':_0x545c92[_0x7191('0x4e')]['id']}})[_0x7191('0x21')](handleEntityNotFound(_0x3d41b3,null))['then'](removeEntity(_0x3d41b3,null))[_0x7191('0x45')](handleError(_0x3d41b3,null));};exports['getSessions']=function(_0x4296a8,_0x55d62a,_0x2a4e4){var _0x11bbae={'raw':!![],'where':{}};var _0x504788={};var _0x39ac04={'count':0x0,'rows':[]};return db[_0x7191('0x2a')][_0x7191('0x53')]({'where':{'id':_0x4296a8[_0x7191('0x4e')]['id']}})[_0x7191('0x21')](handleEntityNotFound(_0x55d62a,null))[_0x7191('0x21')](function(_0x154d5d){if(_0x154d5d){_0x504788['model']=_[_0x7191('0x30')](db[_0x7191('0x54')][_0x7191('0x2b')]);_0x504788['query']=_[_0x7191('0x30')](_0x4296a8[_0x7191('0x2f')]);_0x504788['filters']=_[_0x7191('0x32')](_0x504788[_0x7191('0x2e')],_0x504788[_0x7191('0x2f')]);_0x11bbae[_0x7191('0x34')]=_[_0x7191('0x32')](_0x504788[_0x7191('0x2e')],qs[_0x7191('0x33')](_0x4296a8[_0x7191('0x2f')][_0x7191('0x33')]));_0x11bbae[_0x7191('0x34')]=_0x11bbae['attributes']['length']?_0x11bbae['attributes']:_0x504788[_0x7191('0x2e')];if(!_0x4296a8['query']['hasOwnProperty'](_0x7191('0x37'))){_0x11bbae[_0x7191('0x19')]=qs[_0x7191('0x19')](_0x4296a8[_0x7191('0x2f')][_0x7191('0x19')]);_0x11bbae['offset']=qs[_0x7191('0x18')](_0x4296a8['query'][_0x7191('0x18')]);}_0x11bbae[_0x7191('0x38')]=qs[_0x7191('0x39')](_0x4296a8['query'][_0x7191('0x39')]);_0x11bbae[_0x7191('0x3a')]=qs[_0x7191('0x31')](_[_0x7191('0x3b')](_0x4296a8[_0x7191('0x2f')],_0x504788[_0x7191('0x31')]));_0x11bbae[_0x7191('0x3a')]['ProjectId']=_0x154d5d['id'];if(_0x4296a8[_0x7191('0x2f')]['filter']){_0x11bbae[_0x7191('0x3a')]=_[_0x7191('0x3d')](_0x11bbae[_0x7191('0x3a')],{'$or':_[_0x7191('0x29')](_0x11bbae[_0x7191('0x34')],function(_0xd1aec2){var _0x12cc78={};_0x12cc78[_0xd1aec2]={'$like':'%'+_0x4296a8[_0x7191('0x2f')][_0x7191('0x3c')]+'%'};return _0x12cc78;})});}_0x11bbae=_[_0x7191('0x3d')]({},_0x11bbae,_0x4296a8['options']);return db[_0x7191('0x54')]['count']({'where':_0x11bbae['where']})[_0x7191('0x21')](function(_0x62ae9a){_0x39ac04['count']=_0x62ae9a;if(_0x4296a8[_0x7191('0x2f')]['includeAll']){_0x11bbae[_0x7191('0x43')]=[{'all':!![]}];}return db[_0x7191('0x54')][_0x7191('0x41')](_0x11bbae);})[_0x7191('0x21')](function(_0x4e33c8){_0x39ac04[_0x7191('0x55')]=_0x4e33c8;return _0x39ac04;});}})[_0x7191('0x21')](respondWithFilteredResult(_0x55d62a,_0x11bbae))[_0x7191('0x45')](handleError(_0x55d62a,null));};exports['getAnswers']=function(_0x504189,_0x112e01,_0x5301cb){var _0x1efec8={'raw':!![],'where':{}};var _0x52ed62={};var _0x40fc80={'count':0x0,'rows':[]};return db[_0x7191('0x2a')]['findOne']({'where':{'id':_0x504189[_0x7191('0x4e')]['id']}})[_0x7191('0x21')](handleEntityNotFound(_0x112e01,null))[_0x7191('0x21')](function(_0x314cb3){if(_0x314cb3){_0x52ed62[_0x7191('0x2e')]=_[_0x7191('0x30')](db[_0x7191('0x56')][_0x7191('0x2b')]);_0x52ed62['query']=_['keys'](_0x504189[_0x7191('0x2f')]);_0x52ed62[_0x7191('0x31')]=_[_0x7191('0x32')](_0x52ed62[_0x7191('0x2e')],_0x52ed62[_0x7191('0x2f')]);_0x1efec8[_0x7191('0x34')]=_[_0x7191('0x32')](_0x52ed62[_0x7191('0x2e')],qs['fields'](_0x504189['query'][_0x7191('0x33')]));_0x1efec8['attributes']=_0x1efec8[_0x7191('0x34')]['length']?_0x1efec8[_0x7191('0x34')]:_0x52ed62[_0x7191('0x2e')];if(!_0x504189[_0x7191('0x2f')]['hasOwnProperty'](_0x7191('0x37'))){_0x1efec8['limit']=qs[_0x7191('0x19')](_0x504189[_0x7191('0x2f')][_0x7191('0x19')]);_0x1efec8['offset']=qs[_0x7191('0x18')](_0x504189[_0x7191('0x2f')][_0x7191('0x18')]);}_0x1efec8[_0x7191('0x38')]=qs[_0x7191('0x39')](_0x504189['query'][_0x7191('0x39')]);_0x1efec8['where']=qs[_0x7191('0x31')](_['pick'](_0x504189['query'],_0x52ed62[_0x7191('0x31')]));_0x1efec8[_0x7191('0x3a')][_0x7191('0x57')]=_0x314cb3['id'];if(_0x504189[_0x7191('0x2f')][_0x7191('0x3c')]){_0x1efec8[_0x7191('0x3a')]=_[_0x7191('0x3d')](_0x1efec8[_0x7191('0x3a')],{'$or':_[_0x7191('0x29')](_0x1efec8[_0x7191('0x34')],function(_0x132960){var _0xe635da={};_0xe635da[_0x132960]={'$like':'%'+_0x504189['query'][_0x7191('0x3c')]+'%'};return _0xe635da;})});}_0x1efec8=_[_0x7191('0x3d')]({},_0x1efec8,_0x504189[_0x7191('0x3e')]);return db[_0x7191('0x56')][_0x7191('0x3f')]({'where':_0x1efec8[_0x7191('0x3a')]})[_0x7191('0x21')](function(_0x2dd198){_0x40fc80[_0x7191('0x3f')]=_0x2dd198;if(_0x504189[_0x7191('0x2f')][_0x7191('0x40')]){_0x1efec8[_0x7191('0x43')]=[{'all':!![]}];}return db[_0x7191('0x56')][_0x7191('0x41')](_0x1efec8);})[_0x7191('0x21')](function(_0x30c0e8){_0x40fc80[_0x7191('0x55')]=_0x30c0e8;return _0x40fc80;});}})[_0x7191('0x21')](respondWithFilteredResult(_0x112e01,_0x1efec8))[_0x7191('0x45')](handleError(_0x112e01,null));};function char(_0x581304){return _0x7191('0x58')===typeof _0x581304?String[_0x7191('0x59')]['apply'](null,arguments):_0x581304;}function needsEncapsulation(_0x247b09){return!!_0x247b09&&(_0x247b09[_0x7191('0x5a')]()[_0x7191('0x5b')](char(0xd))>=0x0||_0x247b09[_0x7191('0x5a')]()[_0x7191('0x5b')](char(0xa))>=0x0||_0x247b09[_0x7191('0x5a')]()[_0x7191('0x5b')](char(0x2c))>=0x0||_0x247b09[_0x7191('0x5a')]()[_0x7191('0x5b')](char(0x22))>=0x0);}function encapsulate(_0x8d276a){var _0x1ee345=char(0x22),_0x3e9c55='\x5c'+char(0x22),_0x139743=_0x8d276a[_0x7191('0x5a')]()['replace'](new RegExp(_0x1ee345,'g'),_0x3e9c55);return _0x1ee345+_0x139743+_0x1ee345;}exports[_0x7191('0x5c')]=function(_0x390a7a,_0x3fe870,_0x4bf439){var _0x343344,_0x382b93;var _0x340371={'where':{'ProjectId':_0x390a7a[_0x7191('0x4e')]['id']}};if(_0x390a7a[_0x7191('0x2f')]['startTime']){_0x340371['where']['starttime']=JSON[_0x7191('0x5d')](_0x390a7a[_0x7191('0x2f')][_0x7191('0x5e')]);}return db[_0x7191('0x54')]['findAll'](_0x340371)[_0x7191('0x21')](handleEntityNotFound(_0x3fe870,null))[_0x7191('0x21')](function(_0x5527e4){if(_0x5527e4){_0x343344=_0x5527e4;return db[_0x7191('0x5f')][_0x7191('0x41')]({'where':{'SessionId':{'$in':_[_0x7191('0x29')](_0x343344,'id')},'ProjectId':_0x390a7a[_0x7191('0x4e')]['id']},'order':'-createdAt'});}})[_0x7191('0x21')](handleEntityNotFound(_0x3fe870,null))['then'](function(_0x5781c9){if(_0x5781c9){_0x382b93=_0x5781c9;var _0x19df68={};for(var _0x11ed66=0x0,_0x399024=_0x382b93[_0x7191('0x35')];_0x11ed66<_0x399024;_0x11ed66++){if(!_0x19df68['hasOwnProperty'](_0x382b93[_0x11ed66]['questionId'])){_0x19df68[_0x382b93[_0x11ed66][_0x7191('0x60')]]=needsEncapsulation(_0x382b93[_0x11ed66][_0x7191('0x61')])?encapsulate(_0x382b93[_0x11ed66][_0x7191('0x61')]):_0x382b93[_0x11ed66][_0x7191('0x61')];}}var _0x486d71=[],_0x541f9a={};for(var _0x3df89f=0x0,_0x545051=_0x343344[_0x7191('0x35')];_0x3df89f<_0x545051;_0x3df89f++){_0x541f9a={'ProjectId':_0x390a7a[_0x7191('0x4e')]['id'],'SessionId':_0x343344[_0x3df89f]['id'],'StartTime':moment(_0x343344[_0x3df89f][_0x7191('0x62')])[_0x7191('0x63')](_0x7191('0x64'))};for(var _0x412679=0x0,_0x198d27=_0x382b93['length'];_0x412679<_0x198d27;_0x412679++){if(_0x382b93[_0x412679][_0x7191('0x65')]==_0x343344[_0x3df89f]['id']&&_0x19df68['hasOwnProperty'](_0x382b93[_0x412679][_0x7191('0x60')])){_0x541f9a[_0x19df68[_0x382b93[_0x412679][_0x7191('0x60')]]]=_0x382b93[_0x412679][_0x7191('0x66')];}}for(var _0x339ec5 in _0x19df68){if(!_0x541f9a[_0x7191('0x36')](_0x19df68[_0x339ec5])){_0x541f9a[_0x19df68[_0x339ec5]]=null;}}_0x486d71[_0x7191('0x67')](_0x541f9a);}return _0x486d71;}})[_0x7191('0x21')](function(_0x24e9b9){if(!_['isEmpty'](_0x24e9b9)){var _0x27ce2a=toCsv(_0x24e9b9);var _0x175d1a=Date[_0x7191('0x68')]();fs[_0x7191('0x69')](util[_0x7191('0x63')]('/tmp/Jscripty_Project_%d_Summary_%s.csv',_0x390a7a['params']['id'],_0x175d1a),_0x27ce2a);_0x3fe870['setHeader'](_0x7191('0x6a'),_0x7191('0x6b')+util[_0x7191('0x63')](_0x7191('0x6c'),_0x390a7a[_0x7191('0x4e')]['id'],_0x175d1a));_0x3fe870[_0x7191('0x6d')](_0x7191('0x6e'),_0x7191('0x6f'));return _0x3fe870[_0x7191('0x70')](util[_0x7191('0x63')](_0x7191('0x71'),_0x390a7a['params']['id'],_0x175d1a));}else{return _0x3fe870[_0x7191('0x72')](0xcc);}})[_0x7191('0x45')](handleError(_0x3fe870,null));};