7e1a6fb2fe5ec8511c873d6d8fdfa2a1a8a8fef8
[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 _0xbca0=['findOne','ProjectId','JscriptySessionReport','JscriptyAnswerReport','toString','indexOf','getSummary','startTime','starttime','-createdAt','questionId','question','YYYY-MM-DD\x20HH:mm:ss','SessionId','answer','push','now','writeFileSync','format','/tmp/Jscripty_Project_%d_Summary_%s.csv','setHeader','Content-disposition','Jscripty_Project_%d_Summary_%s.csv','Content-type','text/csv','download','eml-format','rimraf','moment','bluebird','mustache','util','to-csv','ejs','fs-extra','lodash','desk.js','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','apply','reject','update','then','destroy','get','Projects','UserProfileResource','error','stack','name','index','map','JscriptyProject','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','include','findAll','rows','show','catch','create','user','UserProfileSection','find','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','clone','params','includeAll','omit','updatedAt','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','getSessions'];(function(_0x591dee,_0x287d08){var _0x2f529b=function(_0x37c606){while(--_0x37c606){_0x591dee['push'](_0x591dee['shift']());}};_0x2f529b(++_0x287d08);}(_0xbca0,0x8b));var _0x0bca=function(_0x542319,_0x232615){_0x542319=_0x542319-0x0;var _0x2a69d4=_0xbca0[_0x542319];return _0x2a69d4;};'use strict';var emlformat=require(_0x0bca('0x0'));var rimraf=require(_0x0bca('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x0bca('0x2'));var BPromise=require(_0x0bca('0x3'));var Mustache=require(_0x0bca('0x4'));var util=require(_0x0bca('0x5'));var path=require('path');var sox=require('sox');var csv=require(_0x0bca('0x6'));var ejs=require(_0x0bca('0x7'));var fs=require('fs');var fs_extra=require(_0x0bca('0x8'));var _=require(_0x0bca('0x9'));var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x0bca('0xa'));var toCsv=require(_0x0bca('0x6'));var querystring=require(_0x0bca('0xb'));var Papa=require(_0x0bca('0xc'));var Redis=require(_0x0bca('0xd'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x0bca('0xe'));var hardwareService=require(_0x0bca('0xf'));var logger=require(_0x0bca('0x10'))(_0x0bca('0x11'));var utils=require(_0x0bca('0x12'));var config=require(_0x0bca('0x13'));var licenseUtil=require(_0x0bca('0x14'));var db=require(_0x0bca('0x15'))['db'];function respondWithStatusCode(_0x4533bf,_0x465266){_0x465266=_0x465266||0xcc;return function(_0x14921d){if(_0x14921d){return _0x4533bf[_0x0bca('0x16')](_0x465266);}return _0x4533bf[_0x0bca('0x17')](_0x465266)[_0x0bca('0x18')]();};}function respondWithResult(_0x244f59,_0x2ceb98){_0x2ceb98=_0x2ceb98||0xc8;return function(_0x20d6bf){if(_0x20d6bf){return _0x244f59[_0x0bca('0x17')](_0x2ceb98)[_0x0bca('0x19')](_0x20d6bf);}};}function respondWithFilteredResult(_0x4c7ba8,_0x1b0f06){return function(_0x464fbf){if(_0x464fbf){var _0x13c80a=typeof _0x1b0f06[_0x0bca('0x1a')]===_0x0bca('0x1b')&&typeof _0x1b0f06[_0x0bca('0x1c')]===_0x0bca('0x1b');var _0x512830=_0x464fbf[_0x0bca('0x1d')];var _0x3589e9=_0x13c80a?0x0:_0x1b0f06[_0x0bca('0x1a')];var _0x1111c3=_0x13c80a?_0x464fbf[_0x0bca('0x1d')]:_0x1b0f06[_0x0bca('0x1a')]+_0x1b0f06[_0x0bca('0x1c')];var _0x4c4e25;if(_0x1111c3>=_0x512830){_0x1111c3=_0x512830;_0x4c4e25=0xc8;}else{_0x4c4e25=0xce;}_0x4c7ba8[_0x0bca('0x17')](_0x4c4e25);return _0x4c7ba8['set']('Content-Range',_0x3589e9+'-'+_0x1111c3+'/'+_0x512830)[_0x0bca('0x19')](_0x464fbf);}return null;};}function patchUpdates(_0x3fbfad){return function(_0xcc2790){try{jsonpatch[_0x0bca('0x1e')](_0xcc2790,_0x3fbfad,!![]);}catch(_0x202caa){return BPromise[_0x0bca('0x1f')](_0x202caa);}return _0xcc2790['save']();};}function saveUpdates(_0x10d170,_0x3c7c51){return function(_0x5c0a6c){if(_0x5c0a6c){return _0x5c0a6c[_0x0bca('0x20')](_0x10d170)[_0x0bca('0x21')](function(_0x3e66b9){return _0x3e66b9;});}return null;};}function removeEntity(_0x37e43c,_0xa96ced){return function(_0x40565a){if(_0x40565a){return _0x40565a[_0x0bca('0x22')]()['then'](function(){var _0x1ae87d=_0x40565a[_0x0bca('0x23')]({'plain':!![]});var _0x2cece9=_0x0bca('0x24');return db[_0x0bca('0x25')][_0x0bca('0x22')]({'where':{'type':_0x2cece9,'resourceId':_0x1ae87d['id']}})[_0x0bca('0x21')](function(){return _0x40565a;});})[_0x0bca('0x21')](function(){_0x37e43c[_0x0bca('0x17')](0xcc)[_0x0bca('0x18')]();});}};}function handleEntityNotFound(_0x365f63,_0x3fc816){return function(_0x45f4da){if(!_0x45f4da){_0x365f63[_0x0bca('0x16')](0x194);}return _0x45f4da;};}function handleError(_0x111f4a,_0x3055b9){_0x3055b9=_0x3055b9||0x1f4;return function(_0x3d687c){logger[_0x0bca('0x26')](_0x3d687c[_0x0bca('0x27')]);if(_0x3d687c[_0x0bca('0x28')]){delete _0x3d687c[_0x0bca('0x28')];}_0x111f4a[_0x0bca('0x17')](_0x3055b9)['send'](_0x3d687c);};}exports[_0x0bca('0x29')]=function(_0x75ef08,_0x18cdaa){var _0x3faad1={},_0xe5190e={},_0x4e8b17={'count':0x0,'rows':[]};var _0x47cc6a=_[_0x0bca('0x2a')](db[_0x0bca('0x2b')][_0x0bca('0x2c')],function(_0x3d9e0e){return{'name':_0x3d9e0e[_0x0bca('0x2d')],'type':_0x3d9e0e[_0x0bca('0x2e')][_0x0bca('0x2f')]};});_0xe5190e[_0x0bca('0x30')]=_[_0x0bca('0x2a')](_0x47cc6a,_0x0bca('0x28'));_0xe5190e[_0x0bca('0x31')]=_[_0x0bca('0x32')](_0x75ef08[_0x0bca('0x31')]);_0xe5190e[_0x0bca('0x33')]=_[_0x0bca('0x34')](_0xe5190e[_0x0bca('0x30')],_0xe5190e[_0x0bca('0x31')]);_0x3faad1[_0x0bca('0x35')]=_[_0x0bca('0x34')](_0xe5190e[_0x0bca('0x30')],qs[_0x0bca('0x36')](_0x75ef08['query'][_0x0bca('0x36')]));_0x3faad1[_0x0bca('0x35')]=_0x3faad1[_0x0bca('0x35')][_0x0bca('0x37')]?_0x3faad1[_0x0bca('0x35')]:_0xe5190e[_0x0bca('0x30')];if(!_0x75ef08[_0x0bca('0x31')][_0x0bca('0x38')](_0x0bca('0x39'))){_0x3faad1[_0x0bca('0x1c')]=qs['limit'](_0x75ef08[_0x0bca('0x31')][_0x0bca('0x1c')]);_0x3faad1[_0x0bca('0x1a')]=qs[_0x0bca('0x1a')](_0x75ef08[_0x0bca('0x31')][_0x0bca('0x1a')]);}_0x3faad1[_0x0bca('0x3a')]=qs['sort'](_0x75ef08[_0x0bca('0x31')][_0x0bca('0x3b')]);_0x3faad1[_0x0bca('0x3c')]=qs[_0x0bca('0x33')](_[_0x0bca('0x3d')](_0x75ef08[_0x0bca('0x31')],_0xe5190e[_0x0bca('0x33')]),_0x47cc6a);if(_0x75ef08[_0x0bca('0x31')][_0x0bca('0x3e')]){_0x3faad1[_0x0bca('0x3c')]=_[_0x0bca('0x3f')](_0x3faad1['where'],{'$or':_[_0x0bca('0x2a')](_0x47cc6a,function(_0x3b481a){if(_0x3b481a[_0x0bca('0x2e')]!==_0x0bca('0x40')){var _0x4dff99={};_0x4dff99[_0x3b481a[_0x0bca('0x28')]]={'$like':'%'+_0x75ef08[_0x0bca('0x31')]['filter']+'%'};return _0x4dff99;}})});}_0x3faad1=_['merge']({},_0x3faad1,_0x75ef08[_0x0bca('0x41')]);var _0x2f0163={'where':_0x3faad1[_0x0bca('0x3c')]};return db['JscriptyProject']['count'](_0x2f0163)['then'](function(_0x3b81fc){_0x4e8b17[_0x0bca('0x1d')]=_0x3b81fc;if(_0x75ef08['query']['includeAll']){_0x3faad1[_0x0bca('0x42')]=[{'all':!![]}];}return db['JscriptyProject'][_0x0bca('0x43')](_0x3faad1);})[_0x0bca('0x21')](function(_0x11ac00){_0x4e8b17[_0x0bca('0x44')]=_0x11ac00;return _0x4e8b17;})[_0x0bca('0x21')](respondWithFilteredResult(_0x18cdaa,_0x3faad1))['catch'](handleError(_0x18cdaa,null));};exports[_0x0bca('0x45')]=function(_0x177ca8,_0x59c0e1){var _0x550455={'raw':![],'where':{'id':_0x177ca8['params']['id']}},_0x282070={};_0x282070[_0x0bca('0x30')]=_[_0x0bca('0x32')](db[_0x0bca('0x2b')][_0x0bca('0x2c')]);_0x282070[_0x0bca('0x31')]=_[_0x0bca('0x32')](_0x177ca8[_0x0bca('0x31')]);_0x282070[_0x0bca('0x33')]=_[_0x0bca('0x34')](_0x282070['model'],_0x282070['query']);_0x550455[_0x0bca('0x35')]=_[_0x0bca('0x34')](_0x282070[_0x0bca('0x30')],qs[_0x0bca('0x36')](_0x177ca8['query'][_0x0bca('0x36')]));_0x550455['attributes']=_0x550455['attributes'][_0x0bca('0x37')]?_0x550455['attributes']:_0x282070[_0x0bca('0x30')];if(_0x177ca8['query']['includeAll']){_0x550455[_0x0bca('0x42')]=[{'all':!![]}];}_0x550455=_[_0x0bca('0x3f')]({},_0x550455,_0x177ca8[_0x0bca('0x41')]);return db['JscriptyProject']['find'](_0x550455)[_0x0bca('0x21')](handleEntityNotFound(_0x59c0e1,null))[_0x0bca('0x21')](respondWithResult(_0x59c0e1,null))[_0x0bca('0x46')](handleError(_0x59c0e1,null));};exports[_0x0bca('0x47')]=function(_0x2931cf,_0x3a5f1d){return db['JscriptyProject'][_0x0bca('0x47')](_0x2931cf['body'],{})[_0x0bca('0x21')](function(_0x43b1dc){var _0xb9ecf0=_0x2931cf[_0x0bca('0x48')][_0x0bca('0x23')]({'plain':!![]});if(!_0xb9ecf0)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0xb9ecf0['role']===_0x0bca('0x48')){var _0x46cfa6=_0x43b1dc['get']({'plain':!![]});var _0x126b54=_0x0bca('0x24');return db[_0x0bca('0x49')][_0x0bca('0x4a')]({'where':{'name':_0x126b54,'userProfileId':_0xb9ecf0['userProfileId']},'raw':!![]})[_0x0bca('0x21')](function(_0x1f16b3){if(_0x1f16b3&&_0x1f16b3[_0x0bca('0x4b')]===0x0){return db['UserProfileResource'][_0x0bca('0x47')]({'name':_0x46cfa6[_0x0bca('0x28')],'resourceId':_0x46cfa6['id'],'type':_0x1f16b3[_0x0bca('0x28')],'sectionId':_0x1f16b3['id']},{})[_0x0bca('0x21')](function(){return _0x43b1dc;});}else{return _0x43b1dc;}})[_0x0bca('0x46')](function(_0x3dca10){logger[_0x0bca('0x26')](_0x0bca('0x4c'),_0x3dca10);throw _0x3dca10;});}return _0x43b1dc;})[_0x0bca('0x21')](respondWithResult(_0x3a5f1d,0xc9))[_0x0bca('0x46')](handleError(_0x3a5f1d,null));};exports[_0x0bca('0x4d')]=function(_0x10f064,_0x18309f){var _0x2a1260={'where':{'id':_0x10f064[_0x0bca('0x4e')]['id']}},_0x4c9709={};_0x4c9709[_0x0bca('0x30')]=_[_0x0bca('0x32')](db[_0x0bca('0x2b')]['rawAttributes']);_0x2a1260['attributes']=_['intersection'](_0x4c9709['model'],qs[_0x0bca('0x36')](_0x10f064['query']['fields']));_0x2a1260[_0x0bca('0x35')]=_0x2a1260['attributes'][_0x0bca('0x37')]?_0x2a1260[_0x0bca('0x35')]:_0x4c9709[_0x0bca('0x30')];if(_0x10f064[_0x0bca('0x31')][_0x0bca('0x4f')]){_0x2a1260[_0x0bca('0x42')]=[{'all':!![]}];}_0x2a1260=_['merge']({},_0x2a1260,_0x10f064[_0x0bca('0x41')]);return db[_0x0bca('0x2b')][_0x0bca('0x4a')](_0x2a1260)[_0x0bca('0x21')](handleEntityNotFound(_0x18309f,null))[_0x0bca('0x21')](function(_0x3b9152){if(_0x3b9152){var _0x126818=_0x3b9152['get']({'plain':!![]});_0x126818=qs[_0x0bca('0x50')](_0x126818,['id','createdAt',_0x0bca('0x51')]);_0x10f064[_0x0bca('0x52')]=_['omit'](_0x10f064[_0x0bca('0x52')],['id','createdAt',_0x0bca('0x51')]);return db['JscriptyProject']['create'](_[_0x0bca('0x3f')](_0x126818,_0x10f064[_0x0bca('0x52')]),{'include':_0x10f064[_0x0bca('0x31')]['includeAll']?[{'all':!![]}]:undefined})[_0x0bca('0x21')](function(_0x5051e1){var _0x2266fb=_0x10f064[_0x0bca('0x48')][_0x0bca('0x23')]({'plain':!![]});if(!_0x2266fb)throw new Error(_0x0bca('0x53'));if(_0x2266fb[_0x0bca('0x54')]==='user'){var _0x5c4674=_0x5051e1[_0x0bca('0x23')]({'plain':!![]});var _0x4bd207='Projects';return db['UserProfileSection'][_0x0bca('0x4a')]({'where':{'name':_0x4bd207,'userProfileId':_0x2266fb[_0x0bca('0x55')]},'raw':!![]})[_0x0bca('0x21')](function(_0x5439c3){if(_0x5439c3&&_0x5439c3[_0x0bca('0x4b')]===0x0){return db[_0x0bca('0x25')][_0x0bca('0x47')]({'name':_0x5c4674[_0x0bca('0x28')],'resourceId':_0x5c4674['id'],'type':_0x5439c3['name'],'sectionId':_0x5439c3['id']},{})[_0x0bca('0x21')](function(){return _0x5051e1;});}else{return _0x5051e1;}})[_0x0bca('0x46')](function(_0x25cd39){logger[_0x0bca('0x26')](_0x0bca('0x4c'),_0x25cd39);throw _0x25cd39;});}return _0x5051e1;});}})[_0x0bca('0x21')](respondWithResult(_0x18309f,0xc9))[_0x0bca('0x46')](handleError(_0x18309f,null));};exports['update']=function(_0x4f2908,_0x456527){if(_0x4f2908[_0x0bca('0x52')]['id']){delete _0x4f2908['body']['id'];}return db['JscriptyProject'][_0x0bca('0x4a')]({'where':{'id':_0x4f2908[_0x0bca('0x4e')]['id']}})[_0x0bca('0x21')](handleEntityNotFound(_0x456527,null))['then'](saveUpdates(_0x4f2908[_0x0bca('0x52')],null))[_0x0bca('0x21')](respondWithResult(_0x456527,null))['catch'](handleError(_0x456527,null));};exports[_0x0bca('0x22')]=function(_0x367ac5,_0x22b622){return db[_0x0bca('0x2b')][_0x0bca('0x4a')]({'where':{'id':_0x367ac5[_0x0bca('0x4e')]['id']}})[_0x0bca('0x21')](handleEntityNotFound(_0x22b622,null))[_0x0bca('0x21')](removeEntity(_0x22b622,null))['catch'](handleError(_0x22b622,null));};exports[_0x0bca('0x56')]=function(_0x4ba96d,_0x5e06c9,_0x2c0b9e){var _0x529b02={'raw':!![],'where':{}};var _0x2cfac={};var _0x58ac1c={'count':0x0,'rows':[]};return db[_0x0bca('0x2b')][_0x0bca('0x57')]({'where':{'id':_0x4ba96d['params']['id']}})[_0x0bca('0x21')](handleEntityNotFound(_0x5e06c9,null))['then'](function(_0x17923f){if(_0x17923f){_0x2cfac[_0x0bca('0x30')]=_[_0x0bca('0x32')](db['JscriptySessionReport'][_0x0bca('0x2c')]);_0x2cfac[_0x0bca('0x31')]=_[_0x0bca('0x32')](_0x4ba96d['query']);_0x2cfac[_0x0bca('0x33')]=_[_0x0bca('0x34')](_0x2cfac[_0x0bca('0x30')],_0x2cfac[_0x0bca('0x31')]);_0x529b02['attributes']=_['intersection'](_0x2cfac[_0x0bca('0x30')],qs[_0x0bca('0x36')](_0x4ba96d[_0x0bca('0x31')][_0x0bca('0x36')]));_0x529b02[_0x0bca('0x35')]=_0x529b02[_0x0bca('0x35')][_0x0bca('0x37')]?_0x529b02[_0x0bca('0x35')]:_0x2cfac[_0x0bca('0x30')];if(!_0x4ba96d['query'][_0x0bca('0x38')]('nolimit')){_0x529b02['limit']=qs[_0x0bca('0x1c')](_0x4ba96d[_0x0bca('0x31')][_0x0bca('0x1c')]);_0x529b02['offset']=qs[_0x0bca('0x1a')](_0x4ba96d['query']['offset']);}_0x529b02['order']=qs[_0x0bca('0x3b')](_0x4ba96d['query']['sort']);_0x529b02[_0x0bca('0x3c')]=qs[_0x0bca('0x33')](_[_0x0bca('0x3d')](_0x4ba96d[_0x0bca('0x31')],_0x2cfac[_0x0bca('0x33')]));_0x529b02[_0x0bca('0x3c')][_0x0bca('0x58')]=_0x17923f['id'];if(_0x4ba96d[_0x0bca('0x31')]['filter']){_0x529b02[_0x0bca('0x3c')]=_['merge'](_0x529b02['where'],{'$or':_[_0x0bca('0x2a')](_0x529b02[_0x0bca('0x35')],function(_0x13ef63){var _0x50359a={};_0x50359a[_0x13ef63]={'$like':'%'+_0x4ba96d[_0x0bca('0x31')][_0x0bca('0x3e')]+'%'};return _0x50359a;})});}_0x529b02=_[_0x0bca('0x3f')]({},_0x529b02,_0x4ba96d[_0x0bca('0x41')]);return db[_0x0bca('0x59')]['count']({'where':_0x529b02[_0x0bca('0x3c')]})[_0x0bca('0x21')](function(_0xf7cfc4){_0x58ac1c[_0x0bca('0x1d')]=_0xf7cfc4;if(_0x4ba96d['query'][_0x0bca('0x4f')]){_0x529b02['include']=[{'all':!![]}];}return db['JscriptySessionReport'][_0x0bca('0x43')](_0x529b02);})['then'](function(_0x1a8ce2){_0x58ac1c[_0x0bca('0x44')]=_0x1a8ce2;return _0x58ac1c;});}})[_0x0bca('0x21')](respondWithFilteredResult(_0x5e06c9,_0x529b02))['catch'](handleError(_0x5e06c9,null));};exports['getAnswers']=function(_0x534833,_0xaf71d9,_0x14274a){var _0x3eaafb={'raw':!![],'where':{}};var _0x4a14da={};var _0x549d3f={'count':0x0,'rows':[]};return db[_0x0bca('0x2b')][_0x0bca('0x57')]({'where':{'id':_0x534833['params']['id']}})[_0x0bca('0x21')](handleEntityNotFound(_0xaf71d9,null))['then'](function(_0x2a384c){if(_0x2a384c){_0x4a14da[_0x0bca('0x30')]=_[_0x0bca('0x32')](db[_0x0bca('0x5a')]['rawAttributes']);_0x4a14da['query']=_[_0x0bca('0x32')](_0x534833[_0x0bca('0x31')]);_0x4a14da[_0x0bca('0x33')]=_['intersection'](_0x4a14da[_0x0bca('0x30')],_0x4a14da[_0x0bca('0x31')]);_0x3eaafb['attributes']=_['intersection'](_0x4a14da['model'],qs[_0x0bca('0x36')](_0x534833['query'][_0x0bca('0x36')]));_0x3eaafb[_0x0bca('0x35')]=_0x3eaafb[_0x0bca('0x35')][_0x0bca('0x37')]?_0x3eaafb[_0x0bca('0x35')]:_0x4a14da[_0x0bca('0x30')];if(!_0x534833['query'][_0x0bca('0x38')]('nolimit')){_0x3eaafb[_0x0bca('0x1c')]=qs['limit'](_0x534833['query'][_0x0bca('0x1c')]);_0x3eaafb[_0x0bca('0x1a')]=qs[_0x0bca('0x1a')](_0x534833['query'][_0x0bca('0x1a')]);}_0x3eaafb['order']=qs[_0x0bca('0x3b')](_0x534833[_0x0bca('0x31')][_0x0bca('0x3b')]);_0x3eaafb[_0x0bca('0x3c')]=qs[_0x0bca('0x33')](_[_0x0bca('0x3d')](_0x534833[_0x0bca('0x31')],_0x4a14da[_0x0bca('0x33')]));_0x3eaafb[_0x0bca('0x3c')][_0x0bca('0x58')]=_0x2a384c['id'];if(_0x534833[_0x0bca('0x31')]['filter']){_0x3eaafb[_0x0bca('0x3c')]=_[_0x0bca('0x3f')](_0x3eaafb[_0x0bca('0x3c')],{'$or':_[_0x0bca('0x2a')](_0x3eaafb[_0x0bca('0x35')],function(_0x29fe14){var _0x11c8f5={};_0x11c8f5[_0x29fe14]={'$like':'%'+_0x534833[_0x0bca('0x31')][_0x0bca('0x3e')]+'%'};return _0x11c8f5;})});}_0x3eaafb=_['merge']({},_0x3eaafb,_0x534833[_0x0bca('0x41')]);return db['JscriptyAnswerReport'][_0x0bca('0x1d')]({'where':_0x3eaafb[_0x0bca('0x3c')]})[_0x0bca('0x21')](function(_0x1817b1){_0x549d3f[_0x0bca('0x1d')]=_0x1817b1;if(_0x534833[_0x0bca('0x31')]['includeAll']){_0x3eaafb[_0x0bca('0x42')]=[{'all':!![]}];}return db[_0x0bca('0x5a')][_0x0bca('0x43')](_0x3eaafb);})[_0x0bca('0x21')](function(_0x31ca6f){_0x549d3f['rows']=_0x31ca6f;return _0x549d3f;});}})[_0x0bca('0x21')](respondWithFilteredResult(_0xaf71d9,_0x3eaafb))[_0x0bca('0x46')](handleError(_0xaf71d9,null));};function char(_0x3b7cf4){return'number'===typeof _0x3b7cf4?String['fromCharCode'][_0x0bca('0x1e')](null,arguments):_0x3b7cf4;}function needsEncapsulation(_0x387107){return!!_0x387107&&(_0x387107[_0x0bca('0x5b')]()[_0x0bca('0x5c')](char(0xd))>=0x0||_0x387107['toString']()[_0x0bca('0x5c')](char(0xa))>=0x0||_0x387107[_0x0bca('0x5b')]()[_0x0bca('0x5c')](char(0x2c))>=0x0||_0x387107[_0x0bca('0x5b')]()[_0x0bca('0x5c')](char(0x22))>=0x0);}function encapsulate(_0x36cbfc){var _0x111a0f=char(0x22),_0xedd918='\x5c'+char(0x22),_0x4bc75b=_0x36cbfc[_0x0bca('0x5b')]()['replace'](new RegExp(_0x111a0f,'g'),_0xedd918);return _0x111a0f+_0x4bc75b+_0x111a0f;}exports[_0x0bca('0x5d')]=function(_0x8c25e5,_0x412080,_0x31a9f3){var _0x6d8052,_0x559181;var _0x5385b5={'where':{'ProjectId':_0x8c25e5[_0x0bca('0x4e')]['id']}};if(_0x8c25e5[_0x0bca('0x31')][_0x0bca('0x5e')]){_0x5385b5['where'][_0x0bca('0x5f')]=JSON['parse'](_0x8c25e5[_0x0bca('0x31')][_0x0bca('0x5e')]);}return db[_0x0bca('0x59')][_0x0bca('0x43')](_0x5385b5)[_0x0bca('0x21')](handleEntityNotFound(_0x412080,null))[_0x0bca('0x21')](function(_0xf390fa){if(_0xf390fa){_0x6d8052=_0xf390fa;return db['JscriptyQuestionReport']['findAll']({'where':{'SessionId':{'$in':_['map'](_0x6d8052,'id')},'ProjectId':_0x8c25e5[_0x0bca('0x4e')]['id']},'order':_0x0bca('0x60')});}})['then'](handleEntityNotFound(_0x412080,null))[_0x0bca('0x21')](function(_0x2153bf){if(_0x2153bf){_0x559181=_0x2153bf;var _0x2baa94={};for(var _0x40074f=0x0,_0x3c3192=_0x559181[_0x0bca('0x37')];_0x40074f<_0x3c3192;_0x40074f++){if(!_0x2baa94['hasOwnProperty'](_0x559181[_0x40074f]['questionId'])){_0x2baa94[_0x559181[_0x40074f][_0x0bca('0x61')]]=needsEncapsulation(_0x559181[_0x40074f][_0x0bca('0x62')])?encapsulate(_0x559181[_0x40074f][_0x0bca('0x62')]):_0x559181[_0x40074f][_0x0bca('0x62')];}}var _0x2ca78a=[],_0x5ea23d={};for(var _0x5e3511=0x0,_0x277768=_0x6d8052[_0x0bca('0x37')];_0x5e3511<_0x277768;_0x5e3511++){_0x5ea23d={'ProjectId':_0x8c25e5[_0x0bca('0x4e')]['id'],'SessionId':_0x6d8052[_0x5e3511]['id'],'StartTime':moment(_0x6d8052[_0x5e3511]['starttime'])['format'](_0x0bca('0x63'))};for(var _0x37a5e6=0x0,_0x56f109=_0x559181[_0x0bca('0x37')];_0x37a5e6<_0x56f109;_0x37a5e6++){if(_0x559181[_0x37a5e6][_0x0bca('0x64')]==_0x6d8052[_0x5e3511]['id']&&_0x2baa94[_0x0bca('0x38')](_0x559181[_0x37a5e6][_0x0bca('0x61')])){_0x5ea23d[_0x2baa94[_0x559181[_0x37a5e6][_0x0bca('0x61')]]]=_0x559181[_0x37a5e6][_0x0bca('0x65')];}}for(var _0x842299 in _0x2baa94){if(!_0x5ea23d[_0x0bca('0x38')](_0x2baa94[_0x842299])){_0x5ea23d[_0x2baa94[_0x842299]]=null;}}_0x2ca78a[_0x0bca('0x66')](_0x5ea23d);}return _0x2ca78a;}})[_0x0bca('0x21')](function(_0x1c216e){if(!_['isEmpty'](_0x1c216e)){var _0x42455c=toCsv(_0x1c216e);var _0x3378de=Date[_0x0bca('0x67')]();fs[_0x0bca('0x68')](util[_0x0bca('0x69')](_0x0bca('0x6a'),_0x8c25e5['params']['id'],_0x3378de),_0x42455c);_0x412080[_0x0bca('0x6b')](_0x0bca('0x6c'),'attachment;\x20filename='+util[_0x0bca('0x69')](_0x0bca('0x6d'),_0x8c25e5[_0x0bca('0x4e')]['id'],_0x3378de));_0x412080[_0x0bca('0x6b')](_0x0bca('0x6e'),_0x0bca('0x6f'));return _0x412080[_0x0bca('0x70')](util['format'](_0x0bca('0x6a'),_0x8c25e5[_0x0bca('0x4e')]['id'],_0x3378de));}else{return _0x412080['sendStatus'](0xcc);}})['catch'](handleError(_0x412080,null));};