aa741a2f936d6b206df5a6704c7c400111bd2859
[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 _0x3c90=['-createdAt','questionId','question','format','YYYY-MM-DD\x20HH:mm:ss','SessionId','answer','push','isEmpty','writeFileSync','/tmp/Jscripty_Project_%d_Summary_%s.csv','attachment;\x20filename=','Jscripty_Project_%d_Summary_%s.csv','setHeader','Content-type','text/csv','download','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','sox','to-csv','ejs','fs-extra','lodash','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','get','error','stack','name','index','map','rawAttributes','fieldName','type','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','filter','merge','includeAll','findAll','rows','catch','show','params','JscriptyProject','include','options','find','create','user','Projects','UserProfileSection','userProfileId','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','clone','omit','createdAt','updatedAt','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','autoAssociation','getSessions','findOne','JscriptySessionReport','order','JscriptyAnswerReport','number','fromCharCode','toString','indexOf','replace','getSummary','starttime','startTime','JscriptyQuestionReport'];(function(_0x525329,_0x2e5d32){var _0x38d9a2=function(_0xc96f98){while(--_0xc96f98){_0x525329['push'](_0x525329['shift']());}};_0x38d9a2(++_0x2e5d32);}(_0x3c90,0xfd));var _0x03c9=function(_0x334ea4,_0x47c06b){_0x334ea4=_0x334ea4-0x0;var _0x57cef7=_0x3c90[_0x334ea4];return _0x57cef7;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x03c9('0x0'));var zipdir=require(_0x03c9('0x1'));var jsonpatch=require(_0x03c9('0x2'));var rp=require(_0x03c9('0x3'));var moment=require(_0x03c9('0x4'));var BPromise=require(_0x03c9('0x5'));var Mustache=require('mustache');var util=require(_0x03c9('0x6'));var path=require('path');var sox=require(_0x03c9('0x7'));var csv=require(_0x03c9('0x8'));var ejs=require(_0x03c9('0x9'));var fs=require('fs');var fs_extra=require(_0x03c9('0xa'));var _=require(_0x03c9('0xb'));var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x03c9('0xc'));var Papa=require(_0x03c9('0xd'));var Redis=require(_0x03c9('0xe'));var authService=require(_0x03c9('0xf'));var qs=require(_0x03c9('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x03c9('0x11'));var logger=require(_0x03c9('0x12'))('api');var utils=require(_0x03c9('0x13'));var config=require(_0x03c9('0x14'));var licenseUtil=require('../../config/license/util');var db=require(_0x03c9('0x15'))['db'];function respondWithStatusCode(_0x34cf7c,_0x5ea0b4){_0x5ea0b4=_0x5ea0b4||0xcc;return function(_0x456615){if(_0x456615){return _0x34cf7c[_0x03c9('0x16')](_0x5ea0b4);}return _0x34cf7c[_0x03c9('0x17')](_0x5ea0b4)[_0x03c9('0x18')]();};}function respondWithResult(_0x151fbc,_0x461b42){_0x461b42=_0x461b42||0xc8;return function(_0x18c118){if(_0x18c118){return _0x151fbc[_0x03c9('0x17')](_0x461b42)[_0x03c9('0x19')](_0x18c118);}};}function respondWithFilteredResult(_0x4d0c31,_0x540f77){return function(_0x469824){if(_0x469824){var _0x35a250=typeof _0x540f77[_0x03c9('0x1a')]===_0x03c9('0x1b')&&typeof _0x540f77[_0x03c9('0x1c')]===_0x03c9('0x1b');var _0x58beea=_0x469824[_0x03c9('0x1d')];var _0x33cfe6=_0x35a250?0x0:_0x540f77[_0x03c9('0x1a')];var _0x386537=_0x35a250?_0x469824[_0x03c9('0x1d')]:_0x540f77[_0x03c9('0x1a')]+_0x540f77[_0x03c9('0x1c')];var _0x272e6f;if(_0x386537>=_0x58beea){_0x386537=_0x58beea;_0x272e6f=0xc8;}else{_0x272e6f=0xce;}_0x4d0c31[_0x03c9('0x17')](_0x272e6f);return _0x4d0c31[_0x03c9('0x1e')](_0x03c9('0x1f'),_0x33cfe6+'-'+_0x386537+'/'+_0x58beea)[_0x03c9('0x19')](_0x469824);}return null;};}function patchUpdates(_0x53f040){return function(_0x247ce9){try{jsonpatch[_0x03c9('0x20')](_0x247ce9,_0x53f040,!![]);}catch(_0x517689){return BPromise[_0x03c9('0x21')](_0x517689);}return _0x247ce9[_0x03c9('0x22')]();};}function saveUpdates(_0x2be17e,_0xcd34ad){return function(_0x3030d5){if(_0x3030d5){return _0x3030d5[_0x03c9('0x23')](_0x2be17e)[_0x03c9('0x24')](function(_0x379650){return _0x379650;});}return null;};}function removeEntity(_0x175a44,_0x236507){return function(_0x24034d){if(_0x24034d){return _0x24034d[_0x03c9('0x25')]()[_0x03c9('0x24')](function(){var _0x4e2e06=_0x24034d[_0x03c9('0x26')]({'plain':!![]});var _0x1763be='Projects';return db['UserProfileResource'][_0x03c9('0x25')]({'where':{'type':_0x1763be,'resourceId':_0x4e2e06['id']}})['then'](function(){return _0x24034d;});})[_0x03c9('0x24')](function(){_0x175a44[_0x03c9('0x17')](0xcc)['end']();});}};}function handleEntityNotFound(_0x215b9e,_0x46f5c5){return function(_0x3c3dcb){if(!_0x3c3dcb){_0x215b9e[_0x03c9('0x16')](0x194);}return _0x3c3dcb;};}function handleError(_0x266ce7,_0x217988){_0x217988=_0x217988||0x1f4;return function(_0x44f354){logger[_0x03c9('0x27')](_0x44f354[_0x03c9('0x28')]);if(_0x44f354[_0x03c9('0x29')]){delete _0x44f354[_0x03c9('0x29')];}_0x266ce7[_0x03c9('0x17')](_0x217988)['send'](_0x44f354);};}exports[_0x03c9('0x2a')]=function(_0x4d89a2,_0x325aa0){var _0x5728f3={},_0x775498={},_0x694bd4={'count':0x0,'rows':[]};var _0x336093=_[_0x03c9('0x2b')](db['JscriptyProject'][_0x03c9('0x2c')],function(_0x5a819b){return{'name':_0x5a819b[_0x03c9('0x2d')],'type':_0x5a819b[_0x03c9('0x2e')]['key']};});_0x775498[_0x03c9('0x2f')]=_[_0x03c9('0x2b')](_0x336093,_0x03c9('0x29'));_0x775498[_0x03c9('0x30')]=_[_0x03c9('0x31')](_0x4d89a2[_0x03c9('0x30')]);_0x775498[_0x03c9('0x32')]=_[_0x03c9('0x33')](_0x775498['model'],_0x775498[_0x03c9('0x30')]);_0x5728f3[_0x03c9('0x34')]=_[_0x03c9('0x33')](_0x775498[_0x03c9('0x2f')],qs['fields'](_0x4d89a2['query'][_0x03c9('0x35')]));_0x5728f3[_0x03c9('0x34')]=_0x5728f3[_0x03c9('0x34')][_0x03c9('0x36')]?_0x5728f3[_0x03c9('0x34')]:_0x775498[_0x03c9('0x2f')];if(!_0x4d89a2[_0x03c9('0x30')][_0x03c9('0x37')](_0x03c9('0x38'))){_0x5728f3[_0x03c9('0x1c')]=qs[_0x03c9('0x1c')](_0x4d89a2[_0x03c9('0x30')]['limit']);_0x5728f3[_0x03c9('0x1a')]=qs['offset'](_0x4d89a2[_0x03c9('0x30')][_0x03c9('0x1a')]);}_0x5728f3['order']=qs[_0x03c9('0x39')](_0x4d89a2[_0x03c9('0x30')]['sort']);_0x5728f3[_0x03c9('0x3a')]=qs[_0x03c9('0x32')](_[_0x03c9('0x3b')](_0x4d89a2[_0x03c9('0x30')],_0x775498[_0x03c9('0x32')]),_0x336093);if(_0x4d89a2[_0x03c9('0x30')][_0x03c9('0x3c')]){_0x5728f3['where']=_[_0x03c9('0x3d')](_0x5728f3[_0x03c9('0x3a')],{'$or':_[_0x03c9('0x2b')](_0x336093,function(_0x3a00fe){if(_0x3a00fe[_0x03c9('0x2e')]!=='VIRTUAL'){var _0x474428={};_0x474428[_0x3a00fe[_0x03c9('0x29')]]={'$like':'%'+_0x4d89a2['query'][_0x03c9('0x3c')]+'%'};return _0x474428;}})});}_0x5728f3=_['merge']({},_0x5728f3,_0x4d89a2['options']);var _0x4f4ad5={'where':_0x5728f3[_0x03c9('0x3a')]};return db['JscriptyProject'][_0x03c9('0x1d')](_0x4f4ad5)[_0x03c9('0x24')](function(_0x45106d){_0x694bd4[_0x03c9('0x1d')]=_0x45106d;if(_0x4d89a2[_0x03c9('0x30')][_0x03c9('0x3e')]){_0x5728f3['include']=[{'all':!![]}];}return db['JscriptyProject'][_0x03c9('0x3f')](_0x5728f3);})[_0x03c9('0x24')](function(_0x4e46e2){_0x694bd4[_0x03c9('0x40')]=_0x4e46e2;return _0x694bd4;})[_0x03c9('0x24')](respondWithFilteredResult(_0x325aa0,_0x5728f3))[_0x03c9('0x41')](handleError(_0x325aa0,null));};exports[_0x03c9('0x42')]=function(_0x2c561b,_0x19251b){var _0x42c365={'raw':![],'where':{'id':_0x2c561b[_0x03c9('0x43')]['id']}},_0x323e2c={};_0x323e2c[_0x03c9('0x2f')]=_[_0x03c9('0x31')](db[_0x03c9('0x44')][_0x03c9('0x2c')]);_0x323e2c[_0x03c9('0x30')]=_[_0x03c9('0x31')](_0x2c561b[_0x03c9('0x30')]);_0x323e2c['filters']=_[_0x03c9('0x33')](_0x323e2c[_0x03c9('0x2f')],_0x323e2c[_0x03c9('0x30')]);_0x42c365[_0x03c9('0x34')]=_[_0x03c9('0x33')](_0x323e2c['model'],qs[_0x03c9('0x35')](_0x2c561b['query']['fields']));_0x42c365[_0x03c9('0x34')]=_0x42c365[_0x03c9('0x34')]['length']?_0x42c365['attributes']:_0x323e2c[_0x03c9('0x2f')];if(_0x2c561b[_0x03c9('0x30')][_0x03c9('0x3e')]){_0x42c365[_0x03c9('0x45')]=[{'all':!![]}];}_0x42c365=_['merge']({},_0x42c365,_0x2c561b[_0x03c9('0x46')]);return db[_0x03c9('0x44')][_0x03c9('0x47')](_0x42c365)[_0x03c9('0x24')](handleEntityNotFound(_0x19251b,null))[_0x03c9('0x24')](respondWithResult(_0x19251b,null))[_0x03c9('0x41')](handleError(_0x19251b,null));};exports[_0x03c9('0x48')]=function(_0xbd9b89,_0xe1e94c){return db[_0x03c9('0x44')][_0x03c9('0x48')](_0xbd9b89['body'],{})[_0x03c9('0x24')](function(_0x40c123){var _0x1ec53f=_0xbd9b89[_0x03c9('0x49')][_0x03c9('0x26')]({'plain':!![]});if(!_0x1ec53f)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x1ec53f['role']===_0x03c9('0x49')){var _0x4a5009=_0x40c123[_0x03c9('0x26')]({'plain':!![]});var _0x5a0915=_0x03c9('0x4a');return db[_0x03c9('0x4b')]['find']({'where':{'name':_0x5a0915,'userProfileId':_0x1ec53f[_0x03c9('0x4c')]},'raw':!![]})[_0x03c9('0x24')](function(_0x39326e){if(_0x39326e&&_0x39326e['autoAssociation']===0x0){return db[_0x03c9('0x4d')]['create']({'name':_0x4a5009[_0x03c9('0x29')],'resourceId':_0x4a5009['id'],'type':_0x39326e[_0x03c9('0x29')],'sectionId':_0x39326e['id']},{})[_0x03c9('0x24')](function(){return _0x40c123;});}else{return _0x40c123;}})[_0x03c9('0x41')](function(_0x36d40c){logger[_0x03c9('0x27')](_0x03c9('0x4e'),_0x36d40c);throw _0x36d40c;});}return _0x40c123;})[_0x03c9('0x24')](respondWithResult(_0xe1e94c,0xc9))[_0x03c9('0x41')](handleError(_0xe1e94c,null));};exports[_0x03c9('0x4f')]=function(_0x1feb1b,_0x336825){var _0x1ecb5c={'where':{'id':_0x1feb1b[_0x03c9('0x43')]['id']}},_0x29cb56={};_0x29cb56['model']=_[_0x03c9('0x31')](db[_0x03c9('0x44')][_0x03c9('0x2c')]);_0x1ecb5c[_0x03c9('0x34')]=_[_0x03c9('0x33')](_0x29cb56[_0x03c9('0x2f')],qs[_0x03c9('0x35')](_0x1feb1b['query'][_0x03c9('0x35')]));_0x1ecb5c[_0x03c9('0x34')]=_0x1ecb5c['attributes'][_0x03c9('0x36')]?_0x1ecb5c[_0x03c9('0x34')]:_0x29cb56['model'];if(_0x1feb1b['query'][_0x03c9('0x3e')]){_0x1ecb5c['include']=[{'all':!![]}];}_0x1ecb5c=_[_0x03c9('0x3d')]({},_0x1ecb5c,_0x1feb1b['options']);return db['JscriptyProject']['find'](_0x1ecb5c)[_0x03c9('0x24')](handleEntityNotFound(_0x336825,null))[_0x03c9('0x24')](function(_0x3a85b6){if(_0x3a85b6){var _0x53f48d=_0x3a85b6['get']({'plain':!![]});_0x53f48d=qs[_0x03c9('0x50')](_0x53f48d,['id',_0x03c9('0x51'),_0x03c9('0x52')]);_0x1feb1b[_0x03c9('0x53')]=_[_0x03c9('0x50')](_0x1feb1b[_0x03c9('0x53')],['id',_0x03c9('0x51'),_0x03c9('0x52')]);return db['JscriptyProject']['create'](_[_0x03c9('0x3d')](_0x53f48d,_0x1feb1b[_0x03c9('0x53')]),{'include':_0x1feb1b[_0x03c9('0x30')][_0x03c9('0x3e')]?[{'all':!![]}]:undefined})['then'](function(_0x5c8d4a){var _0x54fd2c=_0x1feb1b['user'][_0x03c9('0x26')]({'plain':!![]});if(!_0x54fd2c)throw new Error(_0x03c9('0x54'));if(_0x54fd2c[_0x03c9('0x55')]===_0x03c9('0x49')){var _0x1033d5=_0x5c8d4a[_0x03c9('0x26')]({'plain':!![]});var _0x5c8420='Projects';return db[_0x03c9('0x4b')][_0x03c9('0x47')]({'where':{'name':_0x5c8420,'userProfileId':_0x54fd2c[_0x03c9('0x4c')]},'raw':!![]})[_0x03c9('0x24')](function(_0x3267d0){if(_0x3267d0&&_0x3267d0[_0x03c9('0x56')]===0x0){return db['UserProfileResource'][_0x03c9('0x48')]({'name':_0x1033d5[_0x03c9('0x29')],'resourceId':_0x1033d5['id'],'type':_0x3267d0['name'],'sectionId':_0x3267d0['id']},{})[_0x03c9('0x24')](function(){return _0x5c8d4a;});}else{return _0x5c8d4a;}})[_0x03c9('0x41')](function(_0xb30ee){logger[_0x03c9('0x27')](_0x03c9('0x4e'),_0xb30ee);throw _0xb30ee;});}return _0x5c8d4a;});}})[_0x03c9('0x24')](respondWithResult(_0x336825,0xc9))[_0x03c9('0x41')](handleError(_0x336825,null));};exports['update']=function(_0x1fdd5c,_0x436c71){if(_0x1fdd5c[_0x03c9('0x53')]['id']){delete _0x1fdd5c['body']['id'];}return db[_0x03c9('0x44')]['find']({'where':{'id':_0x1fdd5c['params']['id']}})[_0x03c9('0x24')](handleEntityNotFound(_0x436c71,null))['then'](saveUpdates(_0x1fdd5c[_0x03c9('0x53')],null))[_0x03c9('0x24')](respondWithResult(_0x436c71,null))[_0x03c9('0x41')](handleError(_0x436c71,null));};exports[_0x03c9('0x25')]=function(_0x328082,_0x1caf3b){return db['JscriptyProject'][_0x03c9('0x47')]({'where':{'id':_0x328082[_0x03c9('0x43')]['id']}})[_0x03c9('0x24')](handleEntityNotFound(_0x1caf3b,null))['then'](removeEntity(_0x1caf3b,null))[_0x03c9('0x41')](handleError(_0x1caf3b,null));};exports[_0x03c9('0x57')]=function(_0x496c2c,_0x1b8967,_0x4f01f4){var _0x2d9e50={'raw':!![],'where':{}};var _0x1b6f7f={};var _0xde489f={'count':0x0,'rows':[]};return db[_0x03c9('0x44')][_0x03c9('0x58')]({'where':{'id':_0x496c2c[_0x03c9('0x43')]['id']}})[_0x03c9('0x24')](handleEntityNotFound(_0x1b8967,null))['then'](function(_0xb5d4fa){if(_0xb5d4fa){_0x1b6f7f['model']=_['keys'](db[_0x03c9('0x59')]['rawAttributes']);_0x1b6f7f['query']=_[_0x03c9('0x31')](_0x496c2c[_0x03c9('0x30')]);_0x1b6f7f[_0x03c9('0x32')]=_[_0x03c9('0x33')](_0x1b6f7f[_0x03c9('0x2f')],_0x1b6f7f[_0x03c9('0x30')]);_0x2d9e50[_0x03c9('0x34')]=_[_0x03c9('0x33')](_0x1b6f7f['model'],qs[_0x03c9('0x35')](_0x496c2c[_0x03c9('0x30')]['fields']));_0x2d9e50[_0x03c9('0x34')]=_0x2d9e50[_0x03c9('0x34')][_0x03c9('0x36')]?_0x2d9e50['attributes']:_0x1b6f7f['model'];if(!_0x496c2c['query'][_0x03c9('0x37')](_0x03c9('0x38'))){_0x2d9e50[_0x03c9('0x1c')]=qs[_0x03c9('0x1c')](_0x496c2c[_0x03c9('0x30')]['limit']);_0x2d9e50[_0x03c9('0x1a')]=qs[_0x03c9('0x1a')](_0x496c2c[_0x03c9('0x30')][_0x03c9('0x1a')]);}_0x2d9e50[_0x03c9('0x5a')]=qs[_0x03c9('0x39')](_0x496c2c[_0x03c9('0x30')]['sort']);_0x2d9e50[_0x03c9('0x3a')]=qs[_0x03c9('0x32')](_[_0x03c9('0x3b')](_0x496c2c[_0x03c9('0x30')],_0x1b6f7f[_0x03c9('0x32')]));_0x2d9e50[_0x03c9('0x3a')]['ProjectId']=_0xb5d4fa['id'];if(_0x496c2c['query'][_0x03c9('0x3c')]){_0x2d9e50[_0x03c9('0x3a')]=_[_0x03c9('0x3d')](_0x2d9e50[_0x03c9('0x3a')],{'$or':_[_0x03c9('0x2b')](_0x2d9e50['attributes'],function(_0xf1afbd){var _0x4665f7={};_0x4665f7[_0xf1afbd]={'$like':'%'+_0x496c2c[_0x03c9('0x30')]['filter']+'%'};return _0x4665f7;})});}_0x2d9e50=_[_0x03c9('0x3d')]({},_0x2d9e50,_0x496c2c[_0x03c9('0x46')]);return db[_0x03c9('0x59')][_0x03c9('0x1d')]({'where':_0x2d9e50[_0x03c9('0x3a')]})[_0x03c9('0x24')](function(_0x1cfc0a){_0xde489f[_0x03c9('0x1d')]=_0x1cfc0a;if(_0x496c2c[_0x03c9('0x30')][_0x03c9('0x3e')]){_0x2d9e50[_0x03c9('0x45')]=[{'all':!![]}];}return db[_0x03c9('0x59')]['findAll'](_0x2d9e50);})[_0x03c9('0x24')](function(_0x50a34c){_0xde489f[_0x03c9('0x40')]=_0x50a34c;return _0xde489f;});}})[_0x03c9('0x24')](respondWithFilteredResult(_0x1b8967,_0x2d9e50))[_0x03c9('0x41')](handleError(_0x1b8967,null));};exports['getAnswers']=function(_0x491d38,_0x3c01ad,_0x274726){var _0x1909fb={'raw':!![],'where':{}};var _0x2bb8c1={};var _0x5128d8={'count':0x0,'rows':[]};return db['JscriptyProject'][_0x03c9('0x58')]({'where':{'id':_0x491d38[_0x03c9('0x43')]['id']}})['then'](handleEntityNotFound(_0x3c01ad,null))['then'](function(_0x5780f5){if(_0x5780f5){_0x2bb8c1[_0x03c9('0x2f')]=_['keys'](db['JscriptyAnswerReport']['rawAttributes']);_0x2bb8c1[_0x03c9('0x30')]=_[_0x03c9('0x31')](_0x491d38['query']);_0x2bb8c1[_0x03c9('0x32')]=_[_0x03c9('0x33')](_0x2bb8c1[_0x03c9('0x2f')],_0x2bb8c1[_0x03c9('0x30')]);_0x1909fb[_0x03c9('0x34')]=_['intersection'](_0x2bb8c1[_0x03c9('0x2f')],qs[_0x03c9('0x35')](_0x491d38[_0x03c9('0x30')][_0x03c9('0x35')]));_0x1909fb[_0x03c9('0x34')]=_0x1909fb['attributes'][_0x03c9('0x36')]?_0x1909fb[_0x03c9('0x34')]:_0x2bb8c1[_0x03c9('0x2f')];if(!_0x491d38[_0x03c9('0x30')]['hasOwnProperty'](_0x03c9('0x38'))){_0x1909fb[_0x03c9('0x1c')]=qs[_0x03c9('0x1c')](_0x491d38['query'][_0x03c9('0x1c')]);_0x1909fb['offset']=qs['offset'](_0x491d38[_0x03c9('0x30')][_0x03c9('0x1a')]);}_0x1909fb['order']=qs[_0x03c9('0x39')](_0x491d38['query'][_0x03c9('0x39')]);_0x1909fb[_0x03c9('0x3a')]=qs['filters'](_['pick'](_0x491d38[_0x03c9('0x30')],_0x2bb8c1[_0x03c9('0x32')]));_0x1909fb[_0x03c9('0x3a')]['ProjectId']=_0x5780f5['id'];if(_0x491d38[_0x03c9('0x30')][_0x03c9('0x3c')]){_0x1909fb[_0x03c9('0x3a')]=_[_0x03c9('0x3d')](_0x1909fb[_0x03c9('0x3a')],{'$or':_[_0x03c9('0x2b')](_0x1909fb[_0x03c9('0x34')],function(_0x177e96){var _0x489a28={};_0x489a28[_0x177e96]={'$like':'%'+_0x491d38[_0x03c9('0x30')][_0x03c9('0x3c')]+'%'};return _0x489a28;})});}_0x1909fb=_[_0x03c9('0x3d')]({},_0x1909fb,_0x491d38['options']);return db[_0x03c9('0x5b')][_0x03c9('0x1d')]({'where':_0x1909fb[_0x03c9('0x3a')]})['then'](function(_0x319492){_0x5128d8[_0x03c9('0x1d')]=_0x319492;if(_0x491d38['query'][_0x03c9('0x3e')]){_0x1909fb[_0x03c9('0x45')]=[{'all':!![]}];}return db[_0x03c9('0x5b')][_0x03c9('0x3f')](_0x1909fb);})['then'](function(_0x48d482){_0x5128d8[_0x03c9('0x40')]=_0x48d482;return _0x5128d8;});}})[_0x03c9('0x24')](respondWithFilteredResult(_0x3c01ad,_0x1909fb))[_0x03c9('0x41')](handleError(_0x3c01ad,null));};function char(_0x54eb54){return _0x03c9('0x5c')===typeof _0x54eb54?String[_0x03c9('0x5d')][_0x03c9('0x20')](null,arguments):_0x54eb54;}function needsEncapsulation(_0x24de76){return!!_0x24de76&&(_0x24de76[_0x03c9('0x5e')]()[_0x03c9('0x5f')](char(0xd))>=0x0||_0x24de76['toString']()[_0x03c9('0x5f')](char(0xa))>=0x0||_0x24de76[_0x03c9('0x5e')]()[_0x03c9('0x5f')](char(0x2c))>=0x0||_0x24de76[_0x03c9('0x5e')]()[_0x03c9('0x5f')](char(0x22))>=0x0);}function encapsulate(_0x419fc0){var _0x536038=char(0x22),_0x36ed72='\x5c'+char(0x22),_0x10816c=_0x419fc0[_0x03c9('0x5e')]()[_0x03c9('0x60')](new RegExp(_0x536038,'g'),_0x36ed72);return _0x536038+_0x10816c+_0x536038;}exports[_0x03c9('0x61')]=function(_0x5ec9aa,_0x1fb480,_0x1326a5){var _0x48e0c9,_0x3b7bcf;var _0x7c11a3={'where':{'ProjectId':_0x5ec9aa[_0x03c9('0x43')]['id']}};if(_0x5ec9aa[_0x03c9('0x30')]['startTime']){_0x7c11a3[_0x03c9('0x3a')][_0x03c9('0x62')]=JSON['parse'](_0x5ec9aa[_0x03c9('0x30')][_0x03c9('0x63')]);}return db[_0x03c9('0x59')]['findAll'](_0x7c11a3)['then'](handleEntityNotFound(_0x1fb480,null))[_0x03c9('0x24')](function(_0x4c0809){if(_0x4c0809){_0x48e0c9=_0x4c0809;return db[_0x03c9('0x64')][_0x03c9('0x3f')]({'where':{'SessionId':{'$in':_['map'](_0x48e0c9,'id')},'ProjectId':_0x5ec9aa[_0x03c9('0x43')]['id']},'order':_0x03c9('0x65')});}})[_0x03c9('0x24')](handleEntityNotFound(_0x1fb480,null))[_0x03c9('0x24')](function(_0x59310a){if(_0x59310a){_0x3b7bcf=_0x59310a;var _0x37530c={};for(var _0x15727d=0x0,_0x2993f5=_0x3b7bcf[_0x03c9('0x36')];_0x15727d<_0x2993f5;_0x15727d++){if(!_0x37530c['hasOwnProperty'](_0x3b7bcf[_0x15727d][_0x03c9('0x66')])){_0x37530c[_0x3b7bcf[_0x15727d][_0x03c9('0x66')]]=needsEncapsulation(_0x3b7bcf[_0x15727d][_0x03c9('0x67')])?encapsulate(_0x3b7bcf[_0x15727d][_0x03c9('0x67')]):_0x3b7bcf[_0x15727d][_0x03c9('0x67')];}}var _0x38dd2f=[],_0x43d347={};for(var _0xc27da0=0x0,_0x3e5b6f=_0x48e0c9[_0x03c9('0x36')];_0xc27da0<_0x3e5b6f;_0xc27da0++){_0x43d347={'ProjectId':_0x5ec9aa['params']['id'],'SessionId':_0x48e0c9[_0xc27da0]['id'],'StartTime':moment(_0x48e0c9[_0xc27da0][_0x03c9('0x62')])[_0x03c9('0x68')](_0x03c9('0x69'))};for(var _0x3173e0=0x0,_0x3153eb=_0x3b7bcf[_0x03c9('0x36')];_0x3173e0<_0x3153eb;_0x3173e0++){if(_0x3b7bcf[_0x3173e0][_0x03c9('0x6a')]==_0x48e0c9[_0xc27da0]['id']&&_0x37530c[_0x03c9('0x37')](_0x3b7bcf[_0x3173e0]['questionId'])){_0x43d347[_0x37530c[_0x3b7bcf[_0x3173e0]['questionId']]]=_0x3b7bcf[_0x3173e0][_0x03c9('0x6b')];}}for(var _0x52b7e5 in _0x37530c){if(!_0x43d347[_0x03c9('0x37')](_0x37530c[_0x52b7e5])){_0x43d347[_0x37530c[_0x52b7e5]]=null;}}_0x38dd2f[_0x03c9('0x6c')](_0x43d347);}return _0x38dd2f;}})['then'](function(_0x358479){if(!_[_0x03c9('0x6d')](_0x358479)){var _0x2570f8=toCsv(_0x358479);var _0x59013c=Date['now']();fs[_0x03c9('0x6e')](util[_0x03c9('0x68')](_0x03c9('0x6f'),_0x5ec9aa[_0x03c9('0x43')]['id'],_0x59013c),_0x2570f8);_0x1fb480['setHeader']('Content-disposition',_0x03c9('0x70')+util['format'](_0x03c9('0x71'),_0x5ec9aa[_0x03c9('0x43')]['id'],_0x59013c));_0x1fb480[_0x03c9('0x72')](_0x03c9('0x73'),_0x03c9('0x74'));return _0x1fb480[_0x03c9('0x75')](util[_0x03c9('0x68')]('/tmp/Jscripty_Project_%d_Summary_%s.csv',_0x5ec9aa[_0x03c9('0x43')]['id'],_0x59013c));}else{return _0x1fb480[_0x03c9('0x16')](0xcc);}})[_0x03c9('0x41')](handleError(_0x1fb480,null));};