8218ac72a3d313c63ca4a90f837dec96b972931e
[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 _0x38dc=['pick','filter','VIRTUAL','merge','options','JscriptyProject','includeAll','include','findAll','rows','catch','show','params','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','find','omit','createdAt','userProfileId','error','update','getSessions','findOne','JscriptySessionReport','ProjectId','getAnswers','JscriptyAnswerReport','number','fromCharCode','toString','indexOf','replace','getSummary','startTime','starttime','JscriptyQuestionReport','questionId','question','format','YYYY-MM-DD\x20HH:mm:ss','SessionId','push','isEmpty','now','writeFileSync','setHeader','Content-disposition','attachment;\x20filename=','text/csv','download','/tmp/Jscripty_Project_%d_Summary_%s.csv','zip-dir','fast-json-patch','mustache','path','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../mysqldb','status','end','json','offset','undefined','limit','count','reject','then','destroy','get','Projects','UserProfileResource','name','index','rawAttributes','fieldName','type','key','model','map','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where'];(function(_0x18a81a,_0x4fc65b){var _0x114027=function(_0x1b7e0f){while(--_0x1b7e0f){_0x18a81a['push'](_0x18a81a['shift']());}};_0x114027(++_0x4fc65b);}(_0x38dc,0x117));var _0xc38d=function(_0x3ab51d,_0x2fa01d){_0x3ab51d=_0x3ab51d-0x0;var _0x29a04e=_0x38dc[_0x3ab51d];return _0x29a04e;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xc38d('0x0'));var jsonpatch=require(_0xc38d('0x1'));var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xc38d('0x2'));var util=require('util');var path=require(_0xc38d('0x3'));var sox=require('sox');var csv=require(_0xc38d('0x4'));var ejs=require(_0xc38d('0x5'));var fs=require('fs');var fs_extra=require(_0xc38d('0x6'));var _=require(_0xc38d('0x7'));var squel=require(_0xc38d('0x8'));var crypto=require(_0xc38d('0x9'));var jsforce=require('jsforce');var deskjs=require(_0xc38d('0xa'));var toCsv=require(_0xc38d('0x4'));var querystring=require(_0xc38d('0xb'));var Papa=require(_0xc38d('0xc'));var Redis=require(_0xc38d('0xd'));var authService=require(_0xc38d('0xe'));var qs=require(_0xc38d('0xf'));var as=require(_0xc38d('0x10'));var hardwareService=require(_0xc38d('0x11'));var logger=require('../../config/logger')(_0xc38d('0x12'));var utils=require('../../config/utils');var config=require(_0xc38d('0x13'));var licenseUtil=require('../../config/license/util');var db=require(_0xc38d('0x14'))['db'];function respondWithStatusCode(_0x3f9148,_0x55fadd){_0x55fadd=_0x55fadd||0xcc;return function(_0x5d1a05){if(_0x5d1a05){return _0x3f9148['sendStatus'](_0x55fadd);}return _0x3f9148[_0xc38d('0x15')](_0x55fadd)[_0xc38d('0x16')]();};}function respondWithResult(_0x7fe769,_0x33cb70){_0x33cb70=_0x33cb70||0xc8;return function(_0x21c3f9){if(_0x21c3f9){return _0x7fe769[_0xc38d('0x15')](_0x33cb70)[_0xc38d('0x17')](_0x21c3f9);}};}function respondWithFilteredResult(_0x4a3c4f,_0x73c0c2){return function(_0x5e9785){if(_0x5e9785){var _0x405097=typeof _0x73c0c2[_0xc38d('0x18')]===_0xc38d('0x19')&&typeof _0x73c0c2[_0xc38d('0x1a')]==='undefined';var _0x174bcd=_0x5e9785[_0xc38d('0x1b')];var _0xc01865=_0x405097?0x0:_0x73c0c2['offset'];var _0x27c320=_0x405097?_0x5e9785[_0xc38d('0x1b')]:_0x73c0c2['offset']+_0x73c0c2[_0xc38d('0x1a')];var _0x2f68fb;if(_0x27c320>=_0x174bcd){_0x27c320=_0x174bcd;_0x2f68fb=0xc8;}else{_0x2f68fb=0xce;}_0x4a3c4f[_0xc38d('0x15')](_0x2f68fb);return _0x4a3c4f['set']('Content-Range',_0xc01865+'-'+_0x27c320+'/'+_0x174bcd)[_0xc38d('0x17')](_0x5e9785);}return null;};}function patchUpdates(_0x40654b){return function(_0x4f5f76){try{jsonpatch['apply'](_0x4f5f76,_0x40654b,!![]);}catch(_0x3ab83b){return BPromise[_0xc38d('0x1c')](_0x3ab83b);}return _0x4f5f76['save']();};}function saveUpdates(_0x5571ed,_0x29b63a){return function(_0x2c14cb){if(_0x2c14cb){return _0x2c14cb['update'](_0x5571ed)[_0xc38d('0x1d')](function(_0x35bd12){return _0x35bd12;});}return null;};}function removeEntity(_0x523e36,_0x1e23f5){return function(_0xf42036){if(_0xf42036){return _0xf42036[_0xc38d('0x1e')]()['then'](function(){var _0xf2258f=_0xf42036[_0xc38d('0x1f')]({'plain':!![]});var _0x4a57c5=_0xc38d('0x20');return db[_0xc38d('0x21')][_0xc38d('0x1e')]({'where':{'type':_0x4a57c5,'resourceId':_0xf2258f['id']}})['then'](function(){return _0xf42036;});})[_0xc38d('0x1d')](function(){_0x523e36[_0xc38d('0x15')](0xcc)['end']();});}};}function handleEntityNotFound(_0x797c7d,_0x2ee943){return function(_0x5f48a2){if(!_0x5f48a2){_0x797c7d['sendStatus'](0x194);}return _0x5f48a2;};}function handleError(_0x425f3b,_0x5036ae){_0x5036ae=_0x5036ae||0x1f4;return function(_0x40a121){logger['error'](_0x40a121['stack']);if(_0x40a121[_0xc38d('0x22')]){delete _0x40a121[_0xc38d('0x22')];}_0x425f3b[_0xc38d('0x15')](_0x5036ae)['send'](_0x40a121);};}exports[_0xc38d('0x23')]=function(_0x37290c,_0xb046c6){var _0x5a553e={},_0x696ee4={},_0x47354c={'count':0x0,'rows':[]};var _0x9cb572=_['map'](db['JscriptyProject'][_0xc38d('0x24')],function(_0x594ac5){return{'name':_0x594ac5[_0xc38d('0x25')],'type':_0x594ac5[_0xc38d('0x26')][_0xc38d('0x27')]};});_0x696ee4[_0xc38d('0x28')]=_[_0xc38d('0x29')](_0x9cb572,_0xc38d('0x22'));_0x696ee4[_0xc38d('0x2a')]=_[_0xc38d('0x2b')](_0x37290c[_0xc38d('0x2a')]);_0x696ee4[_0xc38d('0x2c')]=_[_0xc38d('0x2d')](_0x696ee4[_0xc38d('0x28')],_0x696ee4[_0xc38d('0x2a')]);_0x5a553e[_0xc38d('0x2e')]=_['intersection'](_0x696ee4[_0xc38d('0x28')],qs['fields'](_0x37290c[_0xc38d('0x2a')][_0xc38d('0x2f')]));_0x5a553e[_0xc38d('0x2e')]=_0x5a553e[_0xc38d('0x2e')][_0xc38d('0x30')]?_0x5a553e['attributes']:_0x696ee4[_0xc38d('0x28')];if(!_0x37290c['query'][_0xc38d('0x31')](_0xc38d('0x32'))){_0x5a553e[_0xc38d('0x1a')]=qs['limit'](_0x37290c[_0xc38d('0x2a')][_0xc38d('0x1a')]);_0x5a553e[_0xc38d('0x18')]=qs[_0xc38d('0x18')](_0x37290c[_0xc38d('0x2a')][_0xc38d('0x18')]);}_0x5a553e[_0xc38d('0x33')]=qs['sort'](_0x37290c['query'][_0xc38d('0x34')]);_0x5a553e[_0xc38d('0x35')]=qs[_0xc38d('0x2c')](_[_0xc38d('0x36')](_0x37290c[_0xc38d('0x2a')],_0x696ee4[_0xc38d('0x2c')]),_0x9cb572);if(_0x37290c[_0xc38d('0x2a')][_0xc38d('0x37')]){_0x5a553e[_0xc38d('0x35')]=_['merge'](_0x5a553e[_0xc38d('0x35')],{'$or':_['map'](_0x9cb572,function(_0x8cbf1b){if(_0x8cbf1b[_0xc38d('0x26')]!==_0xc38d('0x38')){var _0x5a9d5d={};_0x5a9d5d[_0x8cbf1b[_0xc38d('0x22')]]={'$like':'%'+_0x37290c[_0xc38d('0x2a')][_0xc38d('0x37')]+'%'};return _0x5a9d5d;}})});}_0x5a553e=_[_0xc38d('0x39')]({},_0x5a553e,_0x37290c[_0xc38d('0x3a')]);var _0x39e4d0={'where':_0x5a553e[_0xc38d('0x35')]};return db[_0xc38d('0x3b')]['count'](_0x39e4d0)['then'](function(_0x59bfc6){_0x47354c[_0xc38d('0x1b')]=_0x59bfc6;if(_0x37290c[_0xc38d('0x2a')][_0xc38d('0x3c')]){_0x5a553e[_0xc38d('0x3d')]=[{'all':!![]}];}return db[_0xc38d('0x3b')][_0xc38d('0x3e')](_0x5a553e);})[_0xc38d('0x1d')](function(_0x4941ed){_0x47354c[_0xc38d('0x3f')]=_0x4941ed;return _0x47354c;})[_0xc38d('0x1d')](respondWithFilteredResult(_0xb046c6,_0x5a553e))[_0xc38d('0x40')](handleError(_0xb046c6,null));};exports[_0xc38d('0x41')]=function(_0x1243cf,_0x351821){var _0x2f00b9={'raw':![],'where':{'id':_0x1243cf[_0xc38d('0x42')]['id']}},_0x46ec86={};_0x46ec86[_0xc38d('0x28')]=_['keys'](db[_0xc38d('0x3b')]['rawAttributes']);_0x46ec86[_0xc38d('0x2a')]=_['keys'](_0x1243cf['query']);_0x46ec86['filters']=_[_0xc38d('0x2d')](_0x46ec86[_0xc38d('0x28')],_0x46ec86[_0xc38d('0x2a')]);_0x2f00b9['attributes']=_[_0xc38d('0x2d')](_0x46ec86['model'],qs[_0xc38d('0x2f')](_0x1243cf[_0xc38d('0x2a')][_0xc38d('0x2f')]));_0x2f00b9['attributes']=_0x2f00b9[_0xc38d('0x2e')][_0xc38d('0x30')]?_0x2f00b9[_0xc38d('0x2e')]:_0x46ec86[_0xc38d('0x28')];if(_0x1243cf[_0xc38d('0x2a')][_0xc38d('0x3c')]){_0x2f00b9[_0xc38d('0x3d')]=[{'all':!![]}];}_0x2f00b9=_[_0xc38d('0x39')]({},_0x2f00b9,_0x1243cf[_0xc38d('0x3a')]);return db[_0xc38d('0x3b')]['find'](_0x2f00b9)['then'](handleEntityNotFound(_0x351821,null))['then'](respondWithResult(_0x351821,null))[_0xc38d('0x40')](handleError(_0x351821,null));};exports['create']=function(_0x190b09,_0x2280e3){return db[_0xc38d('0x3b')][_0xc38d('0x43')](_0x190b09[_0xc38d('0x44')],{})['then'](function(_0x31c5a7){var _0x2e9c96=_0x190b09[_0xc38d('0x45')][_0xc38d('0x1f')]({'plain':!![]});if(!_0x2e9c96)throw new Error(_0xc38d('0x46'));if(_0x2e9c96[_0xc38d('0x47')]===_0xc38d('0x45')){var _0x3f287b=_0x31c5a7['get']({'plain':!![]});var _0x2bb650=_0xc38d('0x20');return db[_0xc38d('0x48')]['find']({'where':{'name':_0x2bb650,'userProfileId':_0x2e9c96['userProfileId']},'raw':!![]})[_0xc38d('0x1d')](function(_0x1de93b){if(_0x1de93b&&_0x1de93b[_0xc38d('0x49')]===0x0){return db['UserProfileResource']['create']({'name':_0x3f287b[_0xc38d('0x22')],'resourceId':_0x3f287b['id'],'type':_0x1de93b[_0xc38d('0x22')],'sectionId':_0x1de93b['id']},{})['then'](function(){return _0x31c5a7;});}else{return _0x31c5a7;}})[_0xc38d('0x40')](function(_0x16bdce){logger['error'](_0xc38d('0x4a'),_0x16bdce);throw _0x16bdce;});}return _0x31c5a7;})['then'](respondWithResult(_0x2280e3,0xc9))['catch'](handleError(_0x2280e3,null));};exports['clone']=function(_0x2de3ea,_0x336063){var _0x4891db={'where':{'id':_0x2de3ea[_0xc38d('0x42')]['id']}},_0x42bf80={};_0x42bf80[_0xc38d('0x28')]=_[_0xc38d('0x2b')](db['JscriptyProject']['rawAttributes']);_0x4891db[_0xc38d('0x2e')]=_[_0xc38d('0x2d')](_0x42bf80[_0xc38d('0x28')],qs[_0xc38d('0x2f')](_0x2de3ea['query'][_0xc38d('0x2f')]));_0x4891db['attributes']=_0x4891db['attributes']['length']?_0x4891db[_0xc38d('0x2e')]:_0x42bf80['model'];if(_0x2de3ea['query'][_0xc38d('0x3c')]){_0x4891db[_0xc38d('0x3d')]=[{'all':!![]}];}_0x4891db=_[_0xc38d('0x39')]({},_0x4891db,_0x2de3ea['options']);return db[_0xc38d('0x3b')][_0xc38d('0x4b')](_0x4891db)[_0xc38d('0x1d')](handleEntityNotFound(_0x336063,null))[_0xc38d('0x1d')](function(_0x324cc6){if(_0x324cc6){var _0x432ede=_0x324cc6['get']({'plain':!![]});_0x432ede=qs[_0xc38d('0x4c')](_0x432ede,['id',_0xc38d('0x4d'),'updatedAt']);_0x2de3ea[_0xc38d('0x44')]=_[_0xc38d('0x4c')](_0x2de3ea[_0xc38d('0x44')],['id',_0xc38d('0x4d'),'updatedAt']);return db['JscriptyProject'][_0xc38d('0x43')](_[_0xc38d('0x39')](_0x432ede,_0x2de3ea['body']),{'include':_0x2de3ea['query'][_0xc38d('0x3c')]?[{'all':!![]}]:undefined})[_0xc38d('0x1d')](function(_0x17b5f8){var _0x459651=_0x2de3ea[_0xc38d('0x45')][_0xc38d('0x1f')]({'plain':!![]});if(!_0x459651)throw new Error(_0xc38d('0x46'));if(_0x459651['role']==='user'){var _0x37be5c=_0x17b5f8['get']({'plain':!![]});var _0x594533=_0xc38d('0x20');return db[_0xc38d('0x48')][_0xc38d('0x4b')]({'where':{'name':_0x594533,'userProfileId':_0x459651[_0xc38d('0x4e')]},'raw':!![]})[_0xc38d('0x1d')](function(_0x203d45){if(_0x203d45&&_0x203d45['autoAssociation']===0x0){return db[_0xc38d('0x21')][_0xc38d('0x43')]({'name':_0x37be5c[_0xc38d('0x22')],'resourceId':_0x37be5c['id'],'type':_0x203d45[_0xc38d('0x22')],'sectionId':_0x203d45['id']},{})[_0xc38d('0x1d')](function(){return _0x17b5f8;});}else{return _0x17b5f8;}})[_0xc38d('0x40')](function(_0x5bdad6){logger[_0xc38d('0x4f')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x5bdad6);throw _0x5bdad6;});}return _0x17b5f8;});}})['then'](respondWithResult(_0x336063,0xc9))['catch'](handleError(_0x336063,null));};exports[_0xc38d('0x50')]=function(_0x3ba459,_0xfdee8b){if(_0x3ba459[_0xc38d('0x44')]['id']){delete _0x3ba459['body']['id'];}return db[_0xc38d('0x3b')][_0xc38d('0x4b')]({'where':{'id':_0x3ba459[_0xc38d('0x42')]['id']}})[_0xc38d('0x1d')](handleEntityNotFound(_0xfdee8b,null))[_0xc38d('0x1d')](saveUpdates(_0x3ba459[_0xc38d('0x44')],null))[_0xc38d('0x1d')](respondWithResult(_0xfdee8b,null))[_0xc38d('0x40')](handleError(_0xfdee8b,null));};exports['destroy']=function(_0x30cbfc,_0x18b517){return db['JscriptyProject'][_0xc38d('0x4b')]({'where':{'id':_0x30cbfc['params']['id']}})['then'](handleEntityNotFound(_0x18b517,null))[_0xc38d('0x1d')](removeEntity(_0x18b517,null))[_0xc38d('0x40')](handleError(_0x18b517,null));};exports[_0xc38d('0x51')]=function(_0x259d8c,_0x3383eb,_0x5089a2){var _0x217bf2={'raw':!![],'where':{}};var _0x3ca637={};var _0x33f98a={'count':0x0,'rows':[]};return db[_0xc38d('0x3b')][_0xc38d('0x52')]({'where':{'id':_0x259d8c[_0xc38d('0x42')]['id']}})[_0xc38d('0x1d')](handleEntityNotFound(_0x3383eb,null))[_0xc38d('0x1d')](function(_0x537b11){if(_0x537b11){_0x3ca637[_0xc38d('0x28')]=_[_0xc38d('0x2b')](db[_0xc38d('0x53')]['rawAttributes']);_0x3ca637[_0xc38d('0x2a')]=_[_0xc38d('0x2b')](_0x259d8c[_0xc38d('0x2a')]);_0x3ca637[_0xc38d('0x2c')]=_[_0xc38d('0x2d')](_0x3ca637[_0xc38d('0x28')],_0x3ca637[_0xc38d('0x2a')]);_0x217bf2[_0xc38d('0x2e')]=_[_0xc38d('0x2d')](_0x3ca637['model'],qs[_0xc38d('0x2f')](_0x259d8c['query']['fields']));_0x217bf2[_0xc38d('0x2e')]=_0x217bf2[_0xc38d('0x2e')][_0xc38d('0x30')]?_0x217bf2[_0xc38d('0x2e')]:_0x3ca637[_0xc38d('0x28')];if(!_0x259d8c['query'][_0xc38d('0x31')](_0xc38d('0x32'))){_0x217bf2[_0xc38d('0x1a')]=qs[_0xc38d('0x1a')](_0x259d8c[_0xc38d('0x2a')][_0xc38d('0x1a')]);_0x217bf2[_0xc38d('0x18')]=qs[_0xc38d('0x18')](_0x259d8c['query']['offset']);}_0x217bf2[_0xc38d('0x33')]=qs[_0xc38d('0x34')](_0x259d8c['query'][_0xc38d('0x34')]);_0x217bf2[_0xc38d('0x35')]=qs['filters'](_[_0xc38d('0x36')](_0x259d8c[_0xc38d('0x2a')],_0x3ca637[_0xc38d('0x2c')]));_0x217bf2[_0xc38d('0x35')][_0xc38d('0x54')]=_0x537b11['id'];if(_0x259d8c[_0xc38d('0x2a')]['filter']){_0x217bf2[_0xc38d('0x35')]=_[_0xc38d('0x39')](_0x217bf2[_0xc38d('0x35')],{'$or':_[_0xc38d('0x29')](_0x217bf2[_0xc38d('0x2e')],function(_0x2c8cea){var _0x41d683={};_0x41d683[_0x2c8cea]={'$like':'%'+_0x259d8c[_0xc38d('0x2a')][_0xc38d('0x37')]+'%'};return _0x41d683;})});}_0x217bf2=_[_0xc38d('0x39')]({},_0x217bf2,_0x259d8c[_0xc38d('0x3a')]);return db['JscriptySessionReport'][_0xc38d('0x1b')]({'where':_0x217bf2['where']})[_0xc38d('0x1d')](function(_0x34b56b){_0x33f98a['count']=_0x34b56b;if(_0x259d8c[_0xc38d('0x2a')][_0xc38d('0x3c')]){_0x217bf2[_0xc38d('0x3d')]=[{'all':!![]}];}return db['JscriptySessionReport'][_0xc38d('0x3e')](_0x217bf2);})[_0xc38d('0x1d')](function(_0x5ef449){_0x33f98a[_0xc38d('0x3f')]=_0x5ef449;return _0x33f98a;});}})[_0xc38d('0x1d')](respondWithFilteredResult(_0x3383eb,_0x217bf2))[_0xc38d('0x40')](handleError(_0x3383eb,null));};exports[_0xc38d('0x55')]=function(_0x42bfe1,_0x39cb58,_0x89e98b){var _0x1fd36d={'raw':!![],'where':{}};var _0x27b793={};var _0xd3b25e={'count':0x0,'rows':[]};return db[_0xc38d('0x3b')][_0xc38d('0x52')]({'where':{'id':_0x42bfe1[_0xc38d('0x42')]['id']}})['then'](handleEntityNotFound(_0x39cb58,null))[_0xc38d('0x1d')](function(_0x3bb254){if(_0x3bb254){_0x27b793['model']=_[_0xc38d('0x2b')](db['JscriptyAnswerReport'][_0xc38d('0x24')]);_0x27b793['query']=_['keys'](_0x42bfe1[_0xc38d('0x2a')]);_0x27b793[_0xc38d('0x2c')]=_[_0xc38d('0x2d')](_0x27b793[_0xc38d('0x28')],_0x27b793[_0xc38d('0x2a')]);_0x1fd36d[_0xc38d('0x2e')]=_[_0xc38d('0x2d')](_0x27b793[_0xc38d('0x28')],qs[_0xc38d('0x2f')](_0x42bfe1[_0xc38d('0x2a')][_0xc38d('0x2f')]));_0x1fd36d[_0xc38d('0x2e')]=_0x1fd36d['attributes'][_0xc38d('0x30')]?_0x1fd36d['attributes']:_0x27b793[_0xc38d('0x28')];if(!_0x42bfe1[_0xc38d('0x2a')][_0xc38d('0x31')]('nolimit')){_0x1fd36d[_0xc38d('0x1a')]=qs[_0xc38d('0x1a')](_0x42bfe1[_0xc38d('0x2a')]['limit']);_0x1fd36d[_0xc38d('0x18')]=qs[_0xc38d('0x18')](_0x42bfe1['query'][_0xc38d('0x18')]);}_0x1fd36d[_0xc38d('0x33')]=qs[_0xc38d('0x34')](_0x42bfe1[_0xc38d('0x2a')]['sort']);_0x1fd36d[_0xc38d('0x35')]=qs['filters'](_['pick'](_0x42bfe1[_0xc38d('0x2a')],_0x27b793[_0xc38d('0x2c')]));_0x1fd36d[_0xc38d('0x35')][_0xc38d('0x54')]=_0x3bb254['id'];if(_0x42bfe1[_0xc38d('0x2a')][_0xc38d('0x37')]){_0x1fd36d[_0xc38d('0x35')]=_[_0xc38d('0x39')](_0x1fd36d[_0xc38d('0x35')],{'$or':_[_0xc38d('0x29')](_0x1fd36d['attributes'],function(_0x1704b7){var _0x22a371={};_0x22a371[_0x1704b7]={'$like':'%'+_0x42bfe1[_0xc38d('0x2a')][_0xc38d('0x37')]+'%'};return _0x22a371;})});}_0x1fd36d=_['merge']({},_0x1fd36d,_0x42bfe1[_0xc38d('0x3a')]);return db[_0xc38d('0x56')][_0xc38d('0x1b')]({'where':_0x1fd36d['where']})[_0xc38d('0x1d')](function(_0x493244){_0xd3b25e[_0xc38d('0x1b')]=_0x493244;if(_0x42bfe1[_0xc38d('0x2a')][_0xc38d('0x3c')]){_0x1fd36d['include']=[{'all':!![]}];}return db[_0xc38d('0x56')][_0xc38d('0x3e')](_0x1fd36d);})['then'](function(_0x2f3ae9){_0xd3b25e['rows']=_0x2f3ae9;return _0xd3b25e;});}})[_0xc38d('0x1d')](respondWithFilteredResult(_0x39cb58,_0x1fd36d))[_0xc38d('0x40')](handleError(_0x39cb58,null));};function char(_0x21a7ad){return _0xc38d('0x57')===typeof _0x21a7ad?String[_0xc38d('0x58')]['apply'](null,arguments):_0x21a7ad;}function needsEncapsulation(_0x3bad85){return!!_0x3bad85&&(_0x3bad85[_0xc38d('0x59')]()[_0xc38d('0x5a')](char(0xd))>=0x0||_0x3bad85[_0xc38d('0x59')]()[_0xc38d('0x5a')](char(0xa))>=0x0||_0x3bad85[_0xc38d('0x59')]()['indexOf'](char(0x2c))>=0x0||_0x3bad85[_0xc38d('0x59')]()[_0xc38d('0x5a')](char(0x22))>=0x0);}function encapsulate(_0x3f005e){var _0x31d1b1=char(0x22),_0x5da593='\x5c'+char(0x22),_0x4f3ecb=_0x3f005e['toString']()[_0xc38d('0x5b')](new RegExp(_0x31d1b1,'g'),_0x5da593);return _0x31d1b1+_0x4f3ecb+_0x31d1b1;}exports[_0xc38d('0x5c')]=function(_0x3502c3,_0x128752,_0x2221ce){var _0x551139,_0x2166e9;var _0x1a2f7d={'where':{'ProjectId':_0x3502c3['params']['id']}};if(_0x3502c3[_0xc38d('0x2a')][_0xc38d('0x5d')]){_0x1a2f7d[_0xc38d('0x35')][_0xc38d('0x5e')]=JSON['parse'](_0x3502c3[_0xc38d('0x2a')][_0xc38d('0x5d')]);}return db[_0xc38d('0x53')]['findAll'](_0x1a2f7d)[_0xc38d('0x1d')](handleEntityNotFound(_0x128752,null))[_0xc38d('0x1d')](function(_0x5c2c05){if(_0x5c2c05){_0x551139=_0x5c2c05;return db[_0xc38d('0x5f')][_0xc38d('0x3e')]({'where':{'SessionId':{'$in':_[_0xc38d('0x29')](_0x551139,'id')},'ProjectId':_0x3502c3[_0xc38d('0x42')]['id']},'order':'-createdAt'});}})['then'](handleEntityNotFound(_0x128752,null))[_0xc38d('0x1d')](function(_0x51b573){if(_0x51b573){_0x2166e9=_0x51b573;var _0x4261f6={};for(var _0x45cc1e=0x0,_0x2acec8=_0x2166e9[_0xc38d('0x30')];_0x45cc1e<_0x2acec8;_0x45cc1e++){if(!_0x4261f6['hasOwnProperty'](_0x2166e9[_0x45cc1e][_0xc38d('0x60')])){_0x4261f6[_0x2166e9[_0x45cc1e][_0xc38d('0x60')]]=needsEncapsulation(_0x2166e9[_0x45cc1e][_0xc38d('0x61')])?encapsulate(_0x2166e9[_0x45cc1e][_0xc38d('0x61')]):_0x2166e9[_0x45cc1e]['question'];}}var _0x5ac76d=[],_0x958c12={};for(var _0x26f6c4=0x0,_0x3914ba=_0x551139[_0xc38d('0x30')];_0x26f6c4<_0x3914ba;_0x26f6c4++){_0x958c12={'ProjectId':_0x3502c3[_0xc38d('0x42')]['id'],'SessionId':_0x551139[_0x26f6c4]['id'],'StartTime':moment(_0x551139[_0x26f6c4][_0xc38d('0x5e')])[_0xc38d('0x62')](_0xc38d('0x63'))};for(var _0x44e0a1=0x0,_0x48c79d=_0x2166e9[_0xc38d('0x30')];_0x44e0a1<_0x48c79d;_0x44e0a1++){if(_0x2166e9[_0x44e0a1][_0xc38d('0x64')]==_0x551139[_0x26f6c4]['id']&&_0x4261f6[_0xc38d('0x31')](_0x2166e9[_0x44e0a1][_0xc38d('0x60')])){_0x958c12[_0x4261f6[_0x2166e9[_0x44e0a1][_0xc38d('0x60')]]]=_0x2166e9[_0x44e0a1]['answer'];}}for(var _0x575c69 in _0x4261f6){if(!_0x958c12['hasOwnProperty'](_0x4261f6[_0x575c69])){_0x958c12[_0x4261f6[_0x575c69]]=null;}}_0x5ac76d[_0xc38d('0x65')](_0x958c12);}return _0x5ac76d;}})['then'](function(_0x39d3f3){if(!_[_0xc38d('0x66')](_0x39d3f3)){var _0x24b2f3=toCsv(_0x39d3f3);var _0x198e0b=Date[_0xc38d('0x67')]();fs[_0xc38d('0x68')](util['format']('/tmp/Jscripty_Project_%d_Summary_%s.csv',_0x3502c3[_0xc38d('0x42')]['id'],_0x198e0b),_0x24b2f3);_0x128752[_0xc38d('0x69')](_0xc38d('0x6a'),_0xc38d('0x6b')+util[_0xc38d('0x62')]('Jscripty_Project_%d_Summary_%s.csv',_0x3502c3[_0xc38d('0x42')]['id'],_0x198e0b));_0x128752[_0xc38d('0x69')]('Content-type',_0xc38d('0x6c'));return _0x128752[_0xc38d('0x6d')](util[_0xc38d('0x62')](_0xc38d('0x6e'),_0x3502c3['params']['id'],_0x198e0b));}else{return _0x128752['sendStatus'](0xcc);}})[_0xc38d('0x40')](handleError(_0x128752,null));};