Built motion from commit fa4c4286.|2.6.29
[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 _0x119c=['Content-disposition','Content-type','text/csv','download','rimraf','fast-json-patch','request-promise','moment','mustache','util','path','to-csv','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','save','update','then','destroy','get','Projects','sendStatus','error','name','send','index','JscriptyProject','rawAttributes','fieldName','type','key','model','query','filters','intersection','fields','attributes','length','order','sort','where','filter','map','VIRTUAL','merge','options','includeAll','include','findAll','rows','catch','show','keys','find','create','body','user','UserProfileSection','userProfileId','autoAssociation','clone','params','omit','createdAt','updatedAt','role','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getSessions','findOne','JscriptySessionReport','hasOwnProperty','nolimit','pick','ProjectId','getAnswers','JscriptyAnswerReport','fromCharCode','toString','indexOf','replace','getSummary','startTime','starttime','JscriptyQuestionReport','questionId','question','format','push','writeFileSync','/tmp/Jscripty_Project_%d_Summary_%s.csv','setHeader'];(function(_0xbb14db,_0x3ee8c6){var _0x36bed7=function(_0x16c478){while(--_0x16c478){_0xbb14db['push'](_0xbb14db['shift']());}};_0x36bed7(++_0x3ee8c6);}(_0x119c,0xea));var _0xc119=function(_0x4c12ec,_0x2e9103){_0x4c12ec=_0x4c12ec-0x0;var _0x3ae42c=_0x119c[_0x4c12ec];return _0x3ae42c;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xc119('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0xc119('0x1'));var rp=require(_0xc119('0x2'));var moment=require(_0xc119('0x3'));var BPromise=require('bluebird');var Mustache=require(_0xc119('0x4'));var util=require(_0xc119('0x5'));var path=require(_0xc119('0x6'));var sox=require('sox');var csv=require(_0xc119('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xc119('0x8'));var _=require('lodash');var squel=require(_0xc119('0x9'));var crypto=require(_0xc119('0xa'));var jsforce=require(_0xc119('0xb'));var deskjs=require(_0xc119('0xc'));var toCsv=require(_0xc119('0x7'));var querystring=require(_0xc119('0xd'));var Papa=require(_0xc119('0xe'));var Redis=require(_0xc119('0xf'));var authService=require(_0xc119('0x10'));var qs=require(_0xc119('0x11'));var as=require(_0xc119('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xc119('0x13'))('api');var utils=require(_0xc119('0x14'));var config=require(_0xc119('0x15'));var licenseUtil=require(_0xc119('0x16'));var db=require(_0xc119('0x17'))['db'];function respondWithStatusCode(_0x74df92,_0x3ac20c){_0x3ac20c=_0x3ac20c||0xcc;return function(_0x5903d5){if(_0x5903d5){return _0x74df92['sendStatus'](_0x3ac20c);}return _0x74df92[_0xc119('0x18')](_0x3ac20c)[_0xc119('0x19')]();};}function respondWithResult(_0x151e99,_0x11e6d0){_0x11e6d0=_0x11e6d0||0xc8;return function(_0x32704a){if(_0x32704a){return _0x151e99['status'](_0x11e6d0)[_0xc119('0x1a')](_0x32704a);}};}function respondWithFilteredResult(_0x4df6ae,_0x3c23d5){return function(_0x3b3d9c){if(_0x3b3d9c){var _0x4ebc72=typeof _0x3c23d5[_0xc119('0x1b')]===_0xc119('0x1c')&&typeof _0x3c23d5[_0xc119('0x1d')]===_0xc119('0x1c');var _0x1cb38b=_0x3b3d9c[_0xc119('0x1e')];var _0x47245c=_0x4ebc72?0x0:_0x3c23d5['offset'];var _0x849c9=_0x4ebc72?_0x3b3d9c['count']:_0x3c23d5[_0xc119('0x1b')]+_0x3c23d5[_0xc119('0x1d')];var _0x47ead7;if(_0x849c9>=_0x1cb38b){_0x849c9=_0x1cb38b;_0x47ead7=0xc8;}else{_0x47ead7=0xce;}_0x4df6ae[_0xc119('0x18')](_0x47ead7);return _0x4df6ae[_0xc119('0x1f')](_0xc119('0x20'),_0x47245c+'-'+_0x849c9+'/'+_0x1cb38b)[_0xc119('0x1a')](_0x3b3d9c);}return null;};}function patchUpdates(_0x2bf21d){return function(_0x6372db){try{jsonpatch[_0xc119('0x21')](_0x6372db,_0x2bf21d,!![]);}catch(_0x220452){return BPromise['reject'](_0x220452);}return _0x6372db[_0xc119('0x22')]();};}function saveUpdates(_0x50346a,_0x41f32b){return function(_0x15250a){if(_0x15250a){return _0x15250a[_0xc119('0x23')](_0x50346a)[_0xc119('0x24')](function(_0x4e1679){return _0x4e1679;});}return null;};}function removeEntity(_0x376a74,_0x13bad1){return function(_0x47769a){if(_0x47769a){return _0x47769a[_0xc119('0x25')]()[_0xc119('0x24')](function(){var _0x146629=_0x47769a[_0xc119('0x26')]({'plain':!![]});var _0x52faaa=_0xc119('0x27');return db['UserProfileResource']['destroy']({'where':{'type':_0x52faaa,'resourceId':_0x146629['id']}})[_0xc119('0x24')](function(){return _0x47769a;});})['then'](function(){_0x376a74[_0xc119('0x18')](0xcc)[_0xc119('0x19')]();});}};}function handleEntityNotFound(_0x499d11,_0x4ffe42){return function(_0x331e09){if(!_0x331e09){_0x499d11[_0xc119('0x28')](0x194);}return _0x331e09;};}function handleError(_0x4030f8,_0x1272cd){_0x1272cd=_0x1272cd||0x1f4;return function(_0x1cca7a){logger[_0xc119('0x29')](_0x1cca7a['stack']);if(_0x1cca7a[_0xc119('0x2a')]){delete _0x1cca7a['name'];}_0x4030f8[_0xc119('0x18')](_0x1272cd)[_0xc119('0x2b')](_0x1cca7a);};}exports[_0xc119('0x2c')]=function(_0x4bcda7,_0x4c4a60){var _0x25ad10={},_0xec1e0e={},_0x3255f8={'count':0x0,'rows':[]};var _0x2a2bda=_['map'](db[_0xc119('0x2d')][_0xc119('0x2e')],function(_0x3749bd){return{'name':_0x3749bd[_0xc119('0x2f')],'type':_0x3749bd[_0xc119('0x30')][_0xc119('0x31')]};});_0xec1e0e[_0xc119('0x32')]=_['map'](_0x2a2bda,_0xc119('0x2a'));_0xec1e0e[_0xc119('0x33')]=_['keys'](_0x4bcda7[_0xc119('0x33')]);_0xec1e0e[_0xc119('0x34')]=_[_0xc119('0x35')](_0xec1e0e[_0xc119('0x32')],_0xec1e0e[_0xc119('0x33')]);_0x25ad10['attributes']=_[_0xc119('0x35')](_0xec1e0e['model'],qs[_0xc119('0x36')](_0x4bcda7[_0xc119('0x33')]['fields']));_0x25ad10[_0xc119('0x37')]=_0x25ad10['attributes'][_0xc119('0x38')]?_0x25ad10[_0xc119('0x37')]:_0xec1e0e[_0xc119('0x32')];if(!_0x4bcda7[_0xc119('0x33')]['hasOwnProperty']('nolimit')){_0x25ad10[_0xc119('0x1d')]=qs[_0xc119('0x1d')](_0x4bcda7[_0xc119('0x33')][_0xc119('0x1d')]);_0x25ad10[_0xc119('0x1b')]=qs[_0xc119('0x1b')](_0x4bcda7[_0xc119('0x33')][_0xc119('0x1b')]);}_0x25ad10[_0xc119('0x39')]=qs[_0xc119('0x3a')](_0x4bcda7['query'][_0xc119('0x3a')]);_0x25ad10[_0xc119('0x3b')]=qs['filters'](_['pick'](_0x4bcda7['query'],_0xec1e0e[_0xc119('0x34')]),_0x2a2bda);if(_0x4bcda7[_0xc119('0x33')][_0xc119('0x3c')]){_0x25ad10[_0xc119('0x3b')]=_['merge'](_0x25ad10[_0xc119('0x3b')],{'$or':_[_0xc119('0x3d')](_0x2a2bda,function(_0x2caa6e){if(_0x2caa6e[_0xc119('0x30')]!==_0xc119('0x3e')){var _0x2f8642={};_0x2f8642[_0x2caa6e[_0xc119('0x2a')]]={'$like':'%'+_0x4bcda7[_0xc119('0x33')][_0xc119('0x3c')]+'%'};return _0x2f8642;}})});}_0x25ad10=_[_0xc119('0x3f')]({},_0x25ad10,_0x4bcda7[_0xc119('0x40')]);var _0x26e834={'where':_0x25ad10[_0xc119('0x3b')]};return db[_0xc119('0x2d')][_0xc119('0x1e')](_0x26e834)[_0xc119('0x24')](function(_0x2491d8){_0x3255f8[_0xc119('0x1e')]=_0x2491d8;if(_0x4bcda7[_0xc119('0x33')][_0xc119('0x41')]){_0x25ad10[_0xc119('0x42')]=[{'all':!![]}];}return db['JscriptyProject'][_0xc119('0x43')](_0x25ad10);})[_0xc119('0x24')](function(_0x589c32){_0x3255f8[_0xc119('0x44')]=_0x589c32;return _0x3255f8;})['then'](respondWithFilteredResult(_0x4c4a60,_0x25ad10))[_0xc119('0x45')](handleError(_0x4c4a60,null));};exports[_0xc119('0x46')]=function(_0x275d81,_0x1bcf3c){var _0x295ecd={'raw':![],'where':{'id':_0x275d81['params']['id']}},_0x5bd1e6={};_0x5bd1e6['model']=_[_0xc119('0x47')](db[_0xc119('0x2d')]['rawAttributes']);_0x5bd1e6[_0xc119('0x33')]=_[_0xc119('0x47')](_0x275d81[_0xc119('0x33')]);_0x5bd1e6[_0xc119('0x34')]=_[_0xc119('0x35')](_0x5bd1e6['model'],_0x5bd1e6[_0xc119('0x33')]);_0x295ecd[_0xc119('0x37')]=_[_0xc119('0x35')](_0x5bd1e6[_0xc119('0x32')],qs[_0xc119('0x36')](_0x275d81['query'][_0xc119('0x36')]));_0x295ecd['attributes']=_0x295ecd[_0xc119('0x37')][_0xc119('0x38')]?_0x295ecd[_0xc119('0x37')]:_0x5bd1e6[_0xc119('0x32')];if(_0x275d81[_0xc119('0x33')][_0xc119('0x41')]){_0x295ecd[_0xc119('0x42')]=[{'all':!![]}];}_0x295ecd=_[_0xc119('0x3f')]({},_0x295ecd,_0x275d81[_0xc119('0x40')]);return db['JscriptyProject'][_0xc119('0x48')](_0x295ecd)['then'](handleEntityNotFound(_0x1bcf3c,null))[_0xc119('0x24')](respondWithResult(_0x1bcf3c,null))[_0xc119('0x45')](handleError(_0x1bcf3c,null));};exports['create']=function(_0x25cd55,_0x2df273){return db[_0xc119('0x2d')][_0xc119('0x49')](_0x25cd55[_0xc119('0x4a')],{})[_0xc119('0x24')](function(_0x405cb6){var _0x2d6c2c=_0x25cd55[_0xc119('0x4b')][_0xc119('0x26')]({'plain':!![]});if(!_0x2d6c2c)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x2d6c2c['role']===_0xc119('0x4b')){var _0x6969f=_0x405cb6['get']({'plain':!![]});var _0x72baf6=_0xc119('0x27');return db[_0xc119('0x4c')][_0xc119('0x48')]({'where':{'name':_0x72baf6,'userProfileId':_0x2d6c2c[_0xc119('0x4d')]},'raw':!![]})[_0xc119('0x24')](function(_0x520783){if(_0x520783&&_0x520783[_0xc119('0x4e')]===0x0){return db['UserProfileResource'][_0xc119('0x49')]({'name':_0x6969f[_0xc119('0x2a')],'resourceId':_0x6969f['id'],'type':_0x520783[_0xc119('0x2a')],'sectionId':_0x520783['id']},{})[_0xc119('0x24')](function(){return _0x405cb6;});}else{return _0x405cb6;}})[_0xc119('0x45')](function(_0x19de39){logger[_0xc119('0x29')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x19de39);throw _0x19de39;});}return _0x405cb6;})[_0xc119('0x24')](respondWithResult(_0x2df273,0xc9))[_0xc119('0x45')](handleError(_0x2df273,null));};exports[_0xc119('0x4f')]=function(_0xb3b9b6,_0xb06725){var _0x3b2f28={'where':{'id':_0xb3b9b6[_0xc119('0x50')]['id']}},_0x3e09ec={};_0x3e09ec[_0xc119('0x32')]=_[_0xc119('0x47')](db[_0xc119('0x2d')][_0xc119('0x2e')]);_0x3b2f28[_0xc119('0x37')]=_[_0xc119('0x35')](_0x3e09ec[_0xc119('0x32')],qs['fields'](_0xb3b9b6['query'][_0xc119('0x36')]));_0x3b2f28['attributes']=_0x3b2f28[_0xc119('0x37')][_0xc119('0x38')]?_0x3b2f28['attributes']:_0x3e09ec[_0xc119('0x32')];if(_0xb3b9b6[_0xc119('0x33')]['includeAll']){_0x3b2f28[_0xc119('0x42')]=[{'all':!![]}];}_0x3b2f28=_['merge']({},_0x3b2f28,_0xb3b9b6['options']);return db[_0xc119('0x2d')][_0xc119('0x48')](_0x3b2f28)['then'](handleEntityNotFound(_0xb06725,null))[_0xc119('0x24')](function(_0x4fff79){if(_0x4fff79){var _0x4f56c5=_0x4fff79[_0xc119('0x26')]({'plain':!![]});_0x4f56c5=qs[_0xc119('0x51')](_0x4f56c5,['id',_0xc119('0x52'),'updatedAt']);_0xb3b9b6[_0xc119('0x4a')]=_[_0xc119('0x51')](_0xb3b9b6['body'],['id',_0xc119('0x52'),_0xc119('0x53')]);return db[_0xc119('0x2d')][_0xc119('0x49')](_[_0xc119('0x3f')](_0x4f56c5,_0xb3b9b6['body']),{'include':_0xb3b9b6[_0xc119('0x33')][_0xc119('0x41')]?[{'all':!![]}]:undefined})['then'](function(_0xeaaa36){var _0x18676b=_0xb3b9b6[_0xc119('0x4b')][_0xc119('0x26')]({'plain':!![]});if(!_0x18676b)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x18676b[_0xc119('0x54')]===_0xc119('0x4b')){var _0x81cef8=_0xeaaa36[_0xc119('0x26')]({'plain':!![]});var _0x54c8b4=_0xc119('0x27');return db[_0xc119('0x4c')][_0xc119('0x48')]({'where':{'name':_0x54c8b4,'userProfileId':_0x18676b['userProfileId']},'raw':!![]})[_0xc119('0x24')](function(_0xb12f77){if(_0xb12f77&&_0xb12f77['autoAssociation']===0x0){return db[_0xc119('0x55')][_0xc119('0x49')]({'name':_0x81cef8['name'],'resourceId':_0x81cef8['id'],'type':_0xb12f77[_0xc119('0x2a')],'sectionId':_0xb12f77['id']},{})[_0xc119('0x24')](function(){return _0xeaaa36;});}else{return _0xeaaa36;}})[_0xc119('0x45')](function(_0x5b0008){logger[_0xc119('0x29')](_0xc119('0x56'),_0x5b0008);throw _0x5b0008;});}return _0xeaaa36;});}})[_0xc119('0x24')](respondWithResult(_0xb06725,0xc9))[_0xc119('0x45')](handleError(_0xb06725,null));};exports[_0xc119('0x23')]=function(_0x1976a9,_0x4c07dd){if(_0x1976a9['body']['id']){delete _0x1976a9['body']['id'];}return db['JscriptyProject']['find']({'where':{'id':_0x1976a9[_0xc119('0x50')]['id']}})[_0xc119('0x24')](handleEntityNotFound(_0x4c07dd,null))['then'](saveUpdates(_0x1976a9[_0xc119('0x4a')],null))['then'](respondWithResult(_0x4c07dd,null))[_0xc119('0x45')](handleError(_0x4c07dd,null));};exports[_0xc119('0x25')]=function(_0x78599a,_0x576774){return db[_0xc119('0x2d')][_0xc119('0x48')]({'where':{'id':_0x78599a[_0xc119('0x50')]['id']}})[_0xc119('0x24')](handleEntityNotFound(_0x576774,null))[_0xc119('0x24')](removeEntity(_0x576774,null))[_0xc119('0x45')](handleError(_0x576774,null));};exports[_0xc119('0x57')]=function(_0xce231d,_0x4c5227,_0x379273){var _0x1bec61={'raw':!![],'where':{}};var _0x12166d={};var _0x445a51={'count':0x0,'rows':[]};return db[_0xc119('0x2d')][_0xc119('0x58')]({'where':{'id':_0xce231d[_0xc119('0x50')]['id']}})['then'](handleEntityNotFound(_0x4c5227,null))['then'](function(_0x93ab2d){if(_0x93ab2d){_0x12166d['model']=_[_0xc119('0x47')](db[_0xc119('0x59')]['rawAttributes']);_0x12166d['query']=_[_0xc119('0x47')](_0xce231d[_0xc119('0x33')]);_0x12166d[_0xc119('0x34')]=_['intersection'](_0x12166d[_0xc119('0x32')],_0x12166d['query']);_0x1bec61['attributes']=_[_0xc119('0x35')](_0x12166d[_0xc119('0x32')],qs[_0xc119('0x36')](_0xce231d[_0xc119('0x33')][_0xc119('0x36')]));_0x1bec61[_0xc119('0x37')]=_0x1bec61['attributes'][_0xc119('0x38')]?_0x1bec61[_0xc119('0x37')]:_0x12166d[_0xc119('0x32')];if(!_0xce231d[_0xc119('0x33')][_0xc119('0x5a')](_0xc119('0x5b'))){_0x1bec61[_0xc119('0x1d')]=qs['limit'](_0xce231d[_0xc119('0x33')][_0xc119('0x1d')]);_0x1bec61[_0xc119('0x1b')]=qs['offset'](_0xce231d[_0xc119('0x33')][_0xc119('0x1b')]);}_0x1bec61[_0xc119('0x39')]=qs[_0xc119('0x3a')](_0xce231d['query'][_0xc119('0x3a')]);_0x1bec61[_0xc119('0x3b')]=qs[_0xc119('0x34')](_[_0xc119('0x5c')](_0xce231d[_0xc119('0x33')],_0x12166d[_0xc119('0x34')]));_0x1bec61[_0xc119('0x3b')][_0xc119('0x5d')]=_0x93ab2d['id'];if(_0xce231d[_0xc119('0x33')][_0xc119('0x3c')]){_0x1bec61[_0xc119('0x3b')]=_['merge'](_0x1bec61[_0xc119('0x3b')],{'$or':_[_0xc119('0x3d')](_0x1bec61['attributes'],function(_0x4a3582){var _0x33834b={};_0x33834b[_0x4a3582]={'$like':'%'+_0xce231d[_0xc119('0x33')]['filter']+'%'};return _0x33834b;})});}_0x1bec61=_[_0xc119('0x3f')]({},_0x1bec61,_0xce231d['options']);return db[_0xc119('0x59')][_0xc119('0x1e')]({'where':_0x1bec61[_0xc119('0x3b')]})[_0xc119('0x24')](function(_0x34a8cd){_0x445a51[_0xc119('0x1e')]=_0x34a8cd;if(_0xce231d[_0xc119('0x33')][_0xc119('0x41')]){_0x1bec61[_0xc119('0x42')]=[{'all':!![]}];}return db[_0xc119('0x59')][_0xc119('0x43')](_0x1bec61);})['then'](function(_0x528098){_0x445a51['rows']=_0x528098;return _0x445a51;});}})[_0xc119('0x24')](respondWithFilteredResult(_0x4c5227,_0x1bec61))[_0xc119('0x45')](handleError(_0x4c5227,null));};exports[_0xc119('0x5e')]=function(_0x181479,_0x1d0add,_0x1c2d12){var _0x36aea8={'raw':!![],'where':{}};var _0xe00397={};var _0x41d235={'count':0x0,'rows':[]};return db['JscriptyProject'][_0xc119('0x58')]({'where':{'id':_0x181479[_0xc119('0x50')]['id']}})['then'](handleEntityNotFound(_0x1d0add,null))['then'](function(_0x583ed5){if(_0x583ed5){_0xe00397[_0xc119('0x32')]=_[_0xc119('0x47')](db[_0xc119('0x5f')][_0xc119('0x2e')]);_0xe00397[_0xc119('0x33')]=_['keys'](_0x181479[_0xc119('0x33')]);_0xe00397[_0xc119('0x34')]=_['intersection'](_0xe00397[_0xc119('0x32')],_0xe00397[_0xc119('0x33')]);_0x36aea8[_0xc119('0x37')]=_[_0xc119('0x35')](_0xe00397[_0xc119('0x32')],qs['fields'](_0x181479[_0xc119('0x33')]['fields']));_0x36aea8['attributes']=_0x36aea8['attributes'][_0xc119('0x38')]?_0x36aea8['attributes']:_0xe00397[_0xc119('0x32')];if(!_0x181479[_0xc119('0x33')][_0xc119('0x5a')](_0xc119('0x5b'))){_0x36aea8[_0xc119('0x1d')]=qs['limit'](_0x181479[_0xc119('0x33')][_0xc119('0x1d')]);_0x36aea8[_0xc119('0x1b')]=qs[_0xc119('0x1b')](_0x181479[_0xc119('0x33')]['offset']);}_0x36aea8[_0xc119('0x39')]=qs['sort'](_0x181479['query'][_0xc119('0x3a')]);_0x36aea8[_0xc119('0x3b')]=qs[_0xc119('0x34')](_[_0xc119('0x5c')](_0x181479[_0xc119('0x33')],_0xe00397[_0xc119('0x34')]));_0x36aea8[_0xc119('0x3b')][_0xc119('0x5d')]=_0x583ed5['id'];if(_0x181479[_0xc119('0x33')][_0xc119('0x3c')]){_0x36aea8[_0xc119('0x3b')]=_['merge'](_0x36aea8[_0xc119('0x3b')],{'$or':_[_0xc119('0x3d')](_0x36aea8[_0xc119('0x37')],function(_0x42ce33){var _0x4ae9e8={};_0x4ae9e8[_0x42ce33]={'$like':'%'+_0x181479[_0xc119('0x33')][_0xc119('0x3c')]+'%'};return _0x4ae9e8;})});}_0x36aea8=_[_0xc119('0x3f')]({},_0x36aea8,_0x181479['options']);return db['JscriptyAnswerReport'][_0xc119('0x1e')]({'where':_0x36aea8[_0xc119('0x3b')]})[_0xc119('0x24')](function(_0x1dbd65){_0x41d235[_0xc119('0x1e')]=_0x1dbd65;if(_0x181479[_0xc119('0x33')][_0xc119('0x41')]){_0x36aea8['include']=[{'all':!![]}];}return db['JscriptyAnswerReport'][_0xc119('0x43')](_0x36aea8);})[_0xc119('0x24')](function(_0x3b2f18){_0x41d235['rows']=_0x3b2f18;return _0x41d235;});}})[_0xc119('0x24')](respondWithFilteredResult(_0x1d0add,_0x36aea8))[_0xc119('0x45')](handleError(_0x1d0add,null));};function char(_0x196858){return'number'===typeof _0x196858?String[_0xc119('0x60')][_0xc119('0x21')](null,arguments):_0x196858;}function needsEncapsulation(_0x2d8529){return!!_0x2d8529&&(_0x2d8529[_0xc119('0x61')]()[_0xc119('0x62')](char(0xd))>=0x0||_0x2d8529[_0xc119('0x61')]()[_0xc119('0x62')](char(0xa))>=0x0||_0x2d8529['toString']()[_0xc119('0x62')](char(0x2c))>=0x0||_0x2d8529[_0xc119('0x61')]()[_0xc119('0x62')](char(0x22))>=0x0);}function encapsulate(_0x4b338d){var _0x47fdb5=char(0x22),_0x1c6893='\x5c'+char(0x22),_0x9146e3=_0x4b338d['toString']()[_0xc119('0x63')](new RegExp(_0x47fdb5,'g'),_0x1c6893);return _0x47fdb5+_0x9146e3+_0x47fdb5;}exports[_0xc119('0x64')]=function(_0x5f5c6d,_0x5a451f,_0x4c6d2a){var _0x175a96,_0x299735;var _0x50cde9={'where':{'ProjectId':_0x5f5c6d[_0xc119('0x50')]['id']}};if(_0x5f5c6d[_0xc119('0x33')][_0xc119('0x65')]){_0x50cde9[_0xc119('0x3b')][_0xc119('0x66')]=JSON['parse'](_0x5f5c6d['query'][_0xc119('0x65')]);}return db['JscriptySessionReport'][_0xc119('0x43')](_0x50cde9)['then'](handleEntityNotFound(_0x5a451f,null))[_0xc119('0x24')](function(_0x20cc8d){if(_0x20cc8d){_0x175a96=_0x20cc8d;return db[_0xc119('0x67')][_0xc119('0x43')]({'where':{'SessionId':{'$in':_[_0xc119('0x3d')](_0x175a96,'id')},'ProjectId':_0x5f5c6d[_0xc119('0x50')]['id']},'order':'-createdAt'});}})['then'](handleEntityNotFound(_0x5a451f,null))[_0xc119('0x24')](function(_0x56c513){if(_0x56c513){_0x299735=_0x56c513;var _0x1425b7={};for(var _0x128405=0x0,_0xc872fc=_0x299735['length'];_0x128405<_0xc872fc;_0x128405++){if(!_0x1425b7[_0xc119('0x5a')](_0x299735[_0x128405][_0xc119('0x68')])){_0x1425b7[_0x299735[_0x128405][_0xc119('0x68')]]=needsEncapsulation(_0x299735[_0x128405][_0xc119('0x69')])?encapsulate(_0x299735[_0x128405][_0xc119('0x69')]):_0x299735[_0x128405][_0xc119('0x69')];}}var _0x557697=[],_0x7727a8={};for(var _0x325a94=0x0,_0x2bdd72=_0x175a96[_0xc119('0x38')];_0x325a94<_0x2bdd72;_0x325a94++){_0x7727a8={'ProjectId':_0x5f5c6d[_0xc119('0x50')]['id'],'SessionId':_0x175a96[_0x325a94]['id'],'StartTime':moment(_0x175a96[_0x325a94]['starttime'])[_0xc119('0x6a')]('YYYY-MM-DD\x20HH:mm:ss')};for(var _0x47e54d=0x0,_0x2f05d2=_0x299735[_0xc119('0x38')];_0x47e54d<_0x2f05d2;_0x47e54d++){if(_0x299735[_0x47e54d]['SessionId']==_0x175a96[_0x325a94]['id']&&_0x1425b7[_0xc119('0x5a')](_0x299735[_0x47e54d][_0xc119('0x68')])){_0x7727a8[_0x1425b7[_0x299735[_0x47e54d][_0xc119('0x68')]]]=_0x299735[_0x47e54d]['answer'];}}for(var _0x2d9547 in _0x1425b7){if(!_0x7727a8['hasOwnProperty'](_0x1425b7[_0x2d9547])){_0x7727a8[_0x1425b7[_0x2d9547]]=null;}}_0x557697[_0xc119('0x6b')](_0x7727a8);}return _0x557697;}})[_0xc119('0x24')](function(_0x261bdc){if(!_['isEmpty'](_0x261bdc)){var _0x830bf4=toCsv(_0x261bdc);var _0xf0078c=Date['now']();fs[_0xc119('0x6c')](util[_0xc119('0x6a')](_0xc119('0x6d'),_0x5f5c6d[_0xc119('0x50')]['id'],_0xf0078c),_0x830bf4);_0x5a451f[_0xc119('0x6e')](_0xc119('0x6f'),'attachment;\x20filename='+util[_0xc119('0x6a')]('Jscripty_Project_%d_Summary_%s.csv',_0x5f5c6d['params']['id'],_0xf0078c));_0x5a451f[_0xc119('0x6e')](_0xc119('0x70'),_0xc119('0x71'));return _0x5a451f[_0xc119('0x72')](util[_0xc119('0x6a')](_0xc119('0x6d'),_0x5f5c6d[_0xc119('0x50')]['id'],_0xf0078c));}else{return _0x5a451f['sendStatus'](0xcc);}})['catch'](handleError(_0x5a451f,null));};