cd41d2edb304e20d6c94f37cdb9e662365a89bf1
[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 _0x13cc=['startTime','starttime','parse','-createdAt','questionId','question','format','YYYY-MM-DD\x20HH:mm:ss','answer','push','isEmpty','/tmp/Jscripty_Project_%d_Summary_%s.csv','setHeader','Content-disposition','Content-type','text/csv','download','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','ejs','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','limit','undefined','count','Content-Range','apply','save','destroy','then','get','stack','name','send','JscriptyProject','rawAttributes','fieldName','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','where','filter','type','VIRTUAL','merge','includeAll','include','findAll','rows','catch','params','options','find','create','body','user','role','Projects','UserProfileSection','userProfileId','UserProfileResource','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','omit','updatedAt','Unable\x20to\x20retrieve\x20the\x20current\x20user','autoAssociation','update','findOne','JscriptySessionReport','order','sort','pick','ProjectId','map','number','fromCharCode','toString','indexOf','replace','getSummary'];(function(_0x3ab9ee,_0x4a74b8){var _0x82ee88=function(_0x6ccc7e){while(--_0x6ccc7e){_0x3ab9ee['push'](_0x3ab9ee['shift']());}};_0x82ee88(++_0x4a74b8);}(_0x13cc,0x161));var _0xc13c=function(_0x23bc1f,_0x1a44cd){_0x23bc1f=_0x23bc1f-0x0;var _0x435db5=_0x13cc[_0x23bc1f];return _0x435db5;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xc13c('0x0'));var jsonpatch=require(_0xc13c('0x1'));var rp=require('request-promise');var moment=require(_0xc13c('0x2'));var BPromise=require(_0xc13c('0x3'));var Mustache=require(_0xc13c('0x4'));var util=require(_0xc13c('0x5'));var path=require(_0xc13c('0x6'));var sox=require(_0xc13c('0x7'));var csv=require('to-csv');var ejs=require(_0xc13c('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xc13c('0x9'));var squel=require(_0xc13c('0xa'));var crypto=require(_0xc13c('0xb'));var jsforce=require(_0xc13c('0xc'));var deskjs=require(_0xc13c('0xd'));var toCsv=require(_0xc13c('0xe'));var querystring=require(_0xc13c('0xf'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xc13c('0x10'));var as=require(_0xc13c('0x11'));var hardwareService=require(_0xc13c('0x12'));var logger=require(_0xc13c('0x13'))(_0xc13c('0x14'));var utils=require('../../config/utils');var config=require(_0xc13c('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0xc13c('0x16'))['db'];function respondWithStatusCode(_0x4e063d,_0x57b176){_0x57b176=_0x57b176||0xcc;return function(_0x18bfd5){if(_0x18bfd5){return _0x4e063d[_0xc13c('0x17')](_0x57b176);}return _0x4e063d[_0xc13c('0x18')](_0x57b176)[_0xc13c('0x19')]();};}function respondWithResult(_0x2854e4,_0x4175b2){_0x4175b2=_0x4175b2||0xc8;return function(_0x2e828a){if(_0x2e828a){return _0x2854e4[_0xc13c('0x18')](_0x4175b2)[_0xc13c('0x1a')](_0x2e828a);}};}function respondWithFilteredResult(_0x250070,_0x56b427){return function(_0x228497){if(_0x228497){var _0x63cf6f=typeof _0x56b427[_0xc13c('0x1b')]==='undefined'&&typeof _0x56b427[_0xc13c('0x1c')]===_0xc13c('0x1d');var _0x3e66b6=_0x228497[_0xc13c('0x1e')];var _0x18c11c=_0x63cf6f?0x0:_0x56b427[_0xc13c('0x1b')];var _0x265255=_0x63cf6f?_0x228497[_0xc13c('0x1e')]:_0x56b427['offset']+_0x56b427[_0xc13c('0x1c')];var _0xa4cc8e;if(_0x265255>=_0x3e66b6){_0x265255=_0x3e66b6;_0xa4cc8e=0xc8;}else{_0xa4cc8e=0xce;}_0x250070[_0xc13c('0x18')](_0xa4cc8e);return _0x250070['set'](_0xc13c('0x1f'),_0x18c11c+'-'+_0x265255+'/'+_0x3e66b6)[_0xc13c('0x1a')](_0x228497);}return null;};}function patchUpdates(_0x52bc34){return function(_0x592522){try{jsonpatch[_0xc13c('0x20')](_0x592522,_0x52bc34,!![]);}catch(_0x7b7391){return BPromise['reject'](_0x7b7391);}return _0x592522[_0xc13c('0x21')]();};}function saveUpdates(_0xf804dc,_0x17495d){return function(_0xa183d6){if(_0xa183d6){return _0xa183d6['update'](_0xf804dc)['then'](function(_0x36bb1c){return _0x36bb1c;});}return null;};}function removeEntity(_0x3c38b6,_0x30cc6d){return function(_0xcfa0ec){if(_0xcfa0ec){return _0xcfa0ec[_0xc13c('0x22')]()[_0xc13c('0x23')](function(){var _0x43fca3=_0xcfa0ec[_0xc13c('0x24')]({'plain':!![]});var _0x3eceec='Projects';return db['UserProfileResource'][_0xc13c('0x22')]({'where':{'type':_0x3eceec,'resourceId':_0x43fca3['id']}})[_0xc13c('0x23')](function(){return _0xcfa0ec;});})[_0xc13c('0x23')](function(){_0x3c38b6[_0xc13c('0x18')](0xcc)[_0xc13c('0x19')]();});}};}function handleEntityNotFound(_0x2a1b98,_0x458608){return function(_0x3c1564){if(!_0x3c1564){_0x2a1b98[_0xc13c('0x17')](0x194);}return _0x3c1564;};}function handleError(_0x5b230,_0x2f6220){_0x2f6220=_0x2f6220||0x1f4;return function(_0x1b005a){logger['error'](_0x1b005a[_0xc13c('0x25')]);if(_0x1b005a[_0xc13c('0x26')]){delete _0x1b005a[_0xc13c('0x26')];}_0x5b230[_0xc13c('0x18')](_0x2f6220)[_0xc13c('0x27')](_0x1b005a);};}exports['index']=function(_0xcac8b0,_0x1dbf82){var _0x1fc255={},_0x5b0c18={},_0x3922bb={'count':0x0,'rows':[]};var _0x4979a1=_['map'](db[_0xc13c('0x28')][_0xc13c('0x29')],function(_0x30e043){return{'name':_0x30e043[_0xc13c('0x2a')],'type':_0x30e043['type'][_0xc13c('0x2b')]};});_0x5b0c18[_0xc13c('0x2c')]=_['map'](_0x4979a1,_0xc13c('0x26'));_0x5b0c18[_0xc13c('0x2d')]=_[_0xc13c('0x2e')](_0xcac8b0['query']);_0x5b0c18[_0xc13c('0x2f')]=_[_0xc13c('0x30')](_0x5b0c18[_0xc13c('0x2c')],_0x5b0c18['query']);_0x1fc255[_0xc13c('0x31')]=_[_0xc13c('0x30')](_0x5b0c18['model'],qs[_0xc13c('0x32')](_0xcac8b0[_0xc13c('0x2d')][_0xc13c('0x32')]));_0x1fc255[_0xc13c('0x31')]=_0x1fc255[_0xc13c('0x31')][_0xc13c('0x33')]?_0x1fc255[_0xc13c('0x31')]:_0x5b0c18[_0xc13c('0x2c')];if(!_0xcac8b0[_0xc13c('0x2d')][_0xc13c('0x34')](_0xc13c('0x35'))){_0x1fc255['limit']=qs[_0xc13c('0x1c')](_0xcac8b0[_0xc13c('0x2d')][_0xc13c('0x1c')]);_0x1fc255[_0xc13c('0x1b')]=qs['offset'](_0xcac8b0[_0xc13c('0x2d')][_0xc13c('0x1b')]);}_0x1fc255['order']=qs['sort'](_0xcac8b0[_0xc13c('0x2d')]['sort']);_0x1fc255[_0xc13c('0x36')]=qs[_0xc13c('0x2f')](_['pick'](_0xcac8b0[_0xc13c('0x2d')],_0x5b0c18[_0xc13c('0x2f')]),_0x4979a1);if(_0xcac8b0[_0xc13c('0x2d')][_0xc13c('0x37')]){_0x1fc255['where']=_['merge'](_0x1fc255[_0xc13c('0x36')],{'$or':_['map'](_0x4979a1,function(_0x1d03b8){if(_0x1d03b8[_0xc13c('0x38')]!==_0xc13c('0x39')){var _0x157cc0={};_0x157cc0[_0x1d03b8['name']]={'$like':'%'+_0xcac8b0[_0xc13c('0x2d')]['filter']+'%'};return _0x157cc0;}})});}_0x1fc255=_[_0xc13c('0x3a')]({},_0x1fc255,_0xcac8b0['options']);var _0x2d6c43={'where':_0x1fc255[_0xc13c('0x36')]};return db[_0xc13c('0x28')][_0xc13c('0x1e')](_0x2d6c43)['then'](function(_0x250776){_0x3922bb[_0xc13c('0x1e')]=_0x250776;if(_0xcac8b0[_0xc13c('0x2d')][_0xc13c('0x3b')]){_0x1fc255[_0xc13c('0x3c')]=[{'all':!![]}];}return db[_0xc13c('0x28')][_0xc13c('0x3d')](_0x1fc255);})[_0xc13c('0x23')](function(_0x26354c){_0x3922bb[_0xc13c('0x3e')]=_0x26354c;return _0x3922bb;})[_0xc13c('0x23')](respondWithFilteredResult(_0x1dbf82,_0x1fc255))[_0xc13c('0x3f')](handleError(_0x1dbf82,null));};exports['show']=function(_0x4ad6c9,_0x11feb8){var _0x5f2d99={'raw':![],'where':{'id':_0x4ad6c9[_0xc13c('0x40')]['id']}},_0x5b1e47={};_0x5b1e47[_0xc13c('0x2c')]=_['keys'](db[_0xc13c('0x28')]['rawAttributes']);_0x5b1e47[_0xc13c('0x2d')]=_[_0xc13c('0x2e')](_0x4ad6c9[_0xc13c('0x2d')]);_0x5b1e47[_0xc13c('0x2f')]=_[_0xc13c('0x30')](_0x5b1e47['model'],_0x5b1e47[_0xc13c('0x2d')]);_0x5f2d99[_0xc13c('0x31')]=_[_0xc13c('0x30')](_0x5b1e47[_0xc13c('0x2c')],qs[_0xc13c('0x32')](_0x4ad6c9[_0xc13c('0x2d')][_0xc13c('0x32')]));_0x5f2d99[_0xc13c('0x31')]=_0x5f2d99[_0xc13c('0x31')][_0xc13c('0x33')]?_0x5f2d99[_0xc13c('0x31')]:_0x5b1e47[_0xc13c('0x2c')];if(_0x4ad6c9['query'][_0xc13c('0x3b')]){_0x5f2d99['include']=[{'all':!![]}];}_0x5f2d99=_[_0xc13c('0x3a')]({},_0x5f2d99,_0x4ad6c9[_0xc13c('0x41')]);return db[_0xc13c('0x28')][_0xc13c('0x42')](_0x5f2d99)[_0xc13c('0x23')](handleEntityNotFound(_0x11feb8,null))[_0xc13c('0x23')](respondWithResult(_0x11feb8,null))['catch'](handleError(_0x11feb8,null));};exports['create']=function(_0x227607,_0x4536ab){return db['JscriptyProject'][_0xc13c('0x43')](_0x227607[_0xc13c('0x44')],{})[_0xc13c('0x23')](function(_0x505c92){var _0x213d7c=_0x227607[_0xc13c('0x45')][_0xc13c('0x24')]({'plain':!![]});if(!_0x213d7c)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x213d7c[_0xc13c('0x46')]===_0xc13c('0x45')){var _0x11d7a9=_0x505c92[_0xc13c('0x24')]({'plain':!![]});var _0x4c4a98=_0xc13c('0x47');return db[_0xc13c('0x48')]['find']({'where':{'name':_0x4c4a98,'userProfileId':_0x213d7c[_0xc13c('0x49')]},'raw':!![]})[_0xc13c('0x23')](function(_0x348f19){if(_0x348f19&&_0x348f19['autoAssociation']===0x0){return db[_0xc13c('0x4a')][_0xc13c('0x43')]({'name':_0x11d7a9[_0xc13c('0x26')],'resourceId':_0x11d7a9['id'],'type':_0x348f19['name'],'sectionId':_0x348f19['id']},{})[_0xc13c('0x23')](function(){return _0x505c92;});}else{return _0x505c92;}})[_0xc13c('0x3f')](function(_0x458c0d){logger[_0xc13c('0x4b')](_0xc13c('0x4c'),_0x458c0d);throw _0x458c0d;});}return _0x505c92;})['then'](respondWithResult(_0x4536ab,0xc9))['catch'](handleError(_0x4536ab,null));};exports['clone']=function(_0x5c3b1d,_0x21aeb6){var _0x58fded={'where':{'id':_0x5c3b1d[_0xc13c('0x40')]['id']}},_0x39e6ed={};_0x39e6ed['model']=_[_0xc13c('0x2e')](db[_0xc13c('0x28')][_0xc13c('0x29')]);_0x58fded[_0xc13c('0x31')]=_[_0xc13c('0x30')](_0x39e6ed[_0xc13c('0x2c')],qs[_0xc13c('0x32')](_0x5c3b1d[_0xc13c('0x2d')][_0xc13c('0x32')]));_0x58fded['attributes']=_0x58fded[_0xc13c('0x31')][_0xc13c('0x33')]?_0x58fded[_0xc13c('0x31')]:_0x39e6ed[_0xc13c('0x2c')];if(_0x5c3b1d[_0xc13c('0x2d')][_0xc13c('0x3b')]){_0x58fded[_0xc13c('0x3c')]=[{'all':!![]}];}_0x58fded=_['merge']({},_0x58fded,_0x5c3b1d['options']);return db[_0xc13c('0x28')][_0xc13c('0x42')](_0x58fded)[_0xc13c('0x23')](handleEntityNotFound(_0x21aeb6,null))[_0xc13c('0x23')](function(_0x4f6702){if(_0x4f6702){var _0x384d82=_0x4f6702[_0xc13c('0x24')]({'plain':!![]});_0x384d82=qs[_0xc13c('0x4d')](_0x384d82,['id','createdAt',_0xc13c('0x4e')]);_0x5c3b1d[_0xc13c('0x44')]=_[_0xc13c('0x4d')](_0x5c3b1d[_0xc13c('0x44')],['id','createdAt',_0xc13c('0x4e')]);return db[_0xc13c('0x28')]['create'](_[_0xc13c('0x3a')](_0x384d82,_0x5c3b1d['body']),{'include':_0x5c3b1d['query'][_0xc13c('0x3b')]?[{'all':!![]}]:undefined})['then'](function(_0x386822){var _0x292b7d=_0x5c3b1d[_0xc13c('0x45')]['get']({'plain':!![]});if(!_0x292b7d)throw new Error(_0xc13c('0x4f'));if(_0x292b7d[_0xc13c('0x46')]==='user'){var _0x4d8a5e=_0x386822['get']({'plain':!![]});var _0x30437f=_0xc13c('0x47');return db['UserProfileSection'][_0xc13c('0x42')]({'where':{'name':_0x30437f,'userProfileId':_0x292b7d['userProfileId']},'raw':!![]})[_0xc13c('0x23')](function(_0x38adfe){if(_0x38adfe&&_0x38adfe[_0xc13c('0x50')]===0x0){return db[_0xc13c('0x4a')][_0xc13c('0x43')]({'name':_0x4d8a5e[_0xc13c('0x26')],'resourceId':_0x4d8a5e['id'],'type':_0x38adfe[_0xc13c('0x26')],'sectionId':_0x38adfe['id']},{})[_0xc13c('0x23')](function(){return _0x386822;});}else{return _0x386822;}})['catch'](function(_0x578097){logger[_0xc13c('0x4b')](_0xc13c('0x4c'),_0x578097);throw _0x578097;});}return _0x386822;});}})[_0xc13c('0x23')](respondWithResult(_0x21aeb6,0xc9))[_0xc13c('0x3f')](handleError(_0x21aeb6,null));};exports[_0xc13c('0x51')]=function(_0x5f457f,_0x325cae){if(_0x5f457f[_0xc13c('0x44')]['id']){delete _0x5f457f[_0xc13c('0x44')]['id'];}return db['JscriptyProject'][_0xc13c('0x42')]({'where':{'id':_0x5f457f[_0xc13c('0x40')]['id']}})[_0xc13c('0x23')](handleEntityNotFound(_0x325cae,null))[_0xc13c('0x23')](saveUpdates(_0x5f457f['body'],null))[_0xc13c('0x23')](respondWithResult(_0x325cae,null))['catch'](handleError(_0x325cae,null));};exports[_0xc13c('0x22')]=function(_0x2e2cca,_0x171c48){return db[_0xc13c('0x28')][_0xc13c('0x42')]({'where':{'id':_0x2e2cca['params']['id']}})[_0xc13c('0x23')](handleEntityNotFound(_0x171c48,null))[_0xc13c('0x23')](removeEntity(_0x171c48,null))[_0xc13c('0x3f')](handleError(_0x171c48,null));};exports['getSessions']=function(_0x2df9ea,_0x5cf263,_0x211fad){var _0xbc4a73={'raw':!![],'where':{}};var _0xc0bf7a={};var _0xf261a2={'count':0x0,'rows':[]};return db[_0xc13c('0x28')][_0xc13c('0x52')]({'where':{'id':_0x2df9ea[_0xc13c('0x40')]['id']}})['then'](handleEntityNotFound(_0x5cf263,null))[_0xc13c('0x23')](function(_0x418f73){if(_0x418f73){_0xc0bf7a[_0xc13c('0x2c')]=_[_0xc13c('0x2e')](db[_0xc13c('0x53')][_0xc13c('0x29')]);_0xc0bf7a[_0xc13c('0x2d')]=_['keys'](_0x2df9ea[_0xc13c('0x2d')]);_0xc0bf7a['filters']=_[_0xc13c('0x30')](_0xc0bf7a[_0xc13c('0x2c')],_0xc0bf7a[_0xc13c('0x2d')]);_0xbc4a73['attributes']=_[_0xc13c('0x30')](_0xc0bf7a[_0xc13c('0x2c')],qs['fields'](_0x2df9ea['query']['fields']));_0xbc4a73[_0xc13c('0x31')]=_0xbc4a73[_0xc13c('0x31')][_0xc13c('0x33')]?_0xbc4a73['attributes']:_0xc0bf7a[_0xc13c('0x2c')];if(!_0x2df9ea[_0xc13c('0x2d')][_0xc13c('0x34')](_0xc13c('0x35'))){_0xbc4a73[_0xc13c('0x1c')]=qs[_0xc13c('0x1c')](_0x2df9ea[_0xc13c('0x2d')][_0xc13c('0x1c')]);_0xbc4a73[_0xc13c('0x1b')]=qs[_0xc13c('0x1b')](_0x2df9ea[_0xc13c('0x2d')][_0xc13c('0x1b')]);}_0xbc4a73[_0xc13c('0x54')]=qs[_0xc13c('0x55')](_0x2df9ea[_0xc13c('0x2d')]['sort']);_0xbc4a73[_0xc13c('0x36')]=qs[_0xc13c('0x2f')](_[_0xc13c('0x56')](_0x2df9ea['query'],_0xc0bf7a[_0xc13c('0x2f')]));_0xbc4a73['where'][_0xc13c('0x57')]=_0x418f73['id'];if(_0x2df9ea['query'][_0xc13c('0x37')]){_0xbc4a73[_0xc13c('0x36')]=_[_0xc13c('0x3a')](_0xbc4a73[_0xc13c('0x36')],{'$or':_[_0xc13c('0x58')](_0xbc4a73['attributes'],function(_0xa0944f){var _0x1d40d4={};_0x1d40d4[_0xa0944f]={'$like':'%'+_0x2df9ea[_0xc13c('0x2d')][_0xc13c('0x37')]+'%'};return _0x1d40d4;})});}_0xbc4a73=_[_0xc13c('0x3a')]({},_0xbc4a73,_0x2df9ea[_0xc13c('0x41')]);return db[_0xc13c('0x53')][_0xc13c('0x1e')]({'where':_0xbc4a73[_0xc13c('0x36')]})['then'](function(_0x2ab129){_0xf261a2[_0xc13c('0x1e')]=_0x2ab129;if(_0x2df9ea['query']['includeAll']){_0xbc4a73['include']=[{'all':!![]}];}return db['JscriptySessionReport']['findAll'](_0xbc4a73);})['then'](function(_0x3d8260){_0xf261a2[_0xc13c('0x3e')]=_0x3d8260;return _0xf261a2;});}})['then'](respondWithFilteredResult(_0x5cf263,_0xbc4a73))[_0xc13c('0x3f')](handleError(_0x5cf263,null));};exports['getAnswers']=function(_0x4bbfe1,_0x210dc5,_0x19a4ae){var _0x23757c={'raw':!![],'where':{}};var _0x17714d={};var _0x18cace={'count':0x0,'rows':[]};return db['JscriptyProject'][_0xc13c('0x52')]({'where':{'id':_0x4bbfe1['params']['id']}})[_0xc13c('0x23')](handleEntityNotFound(_0x210dc5,null))[_0xc13c('0x23')](function(_0x5678b1){if(_0x5678b1){_0x17714d['model']=_[_0xc13c('0x2e')](db['JscriptyAnswerReport'][_0xc13c('0x29')]);_0x17714d[_0xc13c('0x2d')]=_[_0xc13c('0x2e')](_0x4bbfe1[_0xc13c('0x2d')]);_0x17714d[_0xc13c('0x2f')]=_[_0xc13c('0x30')](_0x17714d[_0xc13c('0x2c')],_0x17714d[_0xc13c('0x2d')]);_0x23757c[_0xc13c('0x31')]=_[_0xc13c('0x30')](_0x17714d['model'],qs[_0xc13c('0x32')](_0x4bbfe1['query'][_0xc13c('0x32')]));_0x23757c[_0xc13c('0x31')]=_0x23757c[_0xc13c('0x31')][_0xc13c('0x33')]?_0x23757c[_0xc13c('0x31')]:_0x17714d[_0xc13c('0x2c')];if(!_0x4bbfe1[_0xc13c('0x2d')]['hasOwnProperty'](_0xc13c('0x35'))){_0x23757c[_0xc13c('0x1c')]=qs[_0xc13c('0x1c')](_0x4bbfe1[_0xc13c('0x2d')][_0xc13c('0x1c')]);_0x23757c[_0xc13c('0x1b')]=qs['offset'](_0x4bbfe1[_0xc13c('0x2d')][_0xc13c('0x1b')]);}_0x23757c['order']=qs[_0xc13c('0x55')](_0x4bbfe1[_0xc13c('0x2d')][_0xc13c('0x55')]);_0x23757c[_0xc13c('0x36')]=qs['filters'](_['pick'](_0x4bbfe1[_0xc13c('0x2d')],_0x17714d[_0xc13c('0x2f')]));_0x23757c['where']['ProjectId']=_0x5678b1['id'];if(_0x4bbfe1[_0xc13c('0x2d')][_0xc13c('0x37')]){_0x23757c[_0xc13c('0x36')]=_[_0xc13c('0x3a')](_0x23757c[_0xc13c('0x36')],{'$or':_[_0xc13c('0x58')](_0x23757c[_0xc13c('0x31')],function(_0x1cd32a){var _0x15252b={};_0x15252b[_0x1cd32a]={'$like':'%'+_0x4bbfe1[_0xc13c('0x2d')][_0xc13c('0x37')]+'%'};return _0x15252b;})});}_0x23757c=_[_0xc13c('0x3a')]({},_0x23757c,_0x4bbfe1[_0xc13c('0x41')]);return db['JscriptyAnswerReport'][_0xc13c('0x1e')]({'where':_0x23757c[_0xc13c('0x36')]})[_0xc13c('0x23')](function(_0x4eb482){_0x18cace[_0xc13c('0x1e')]=_0x4eb482;if(_0x4bbfe1[_0xc13c('0x2d')]['includeAll']){_0x23757c[_0xc13c('0x3c')]=[{'all':!![]}];}return db['JscriptyAnswerReport'][_0xc13c('0x3d')](_0x23757c);})[_0xc13c('0x23')](function(_0x1afd92){_0x18cace['rows']=_0x1afd92;return _0x18cace;});}})[_0xc13c('0x23')](respondWithFilteredResult(_0x210dc5,_0x23757c))['catch'](handleError(_0x210dc5,null));};function char(_0x3579aa){return _0xc13c('0x59')===typeof _0x3579aa?String[_0xc13c('0x5a')][_0xc13c('0x20')](null,arguments):_0x3579aa;}function needsEncapsulation(_0x5a8664){return!!_0x5a8664&&(_0x5a8664[_0xc13c('0x5b')]()[_0xc13c('0x5c')](char(0xd))>=0x0||_0x5a8664[_0xc13c('0x5b')]()[_0xc13c('0x5c')](char(0xa))>=0x0||_0x5a8664[_0xc13c('0x5b')]()[_0xc13c('0x5c')](char(0x2c))>=0x0||_0x5a8664[_0xc13c('0x5b')]()[_0xc13c('0x5c')](char(0x22))>=0x0);}function encapsulate(_0x2687c0){var _0x2754dd=char(0x22),_0x30e452='\x5c'+char(0x22),_0x89c39e=_0x2687c0['toString']()[_0xc13c('0x5d')](new RegExp(_0x2754dd,'g'),_0x30e452);return _0x2754dd+_0x89c39e+_0x2754dd;}exports[_0xc13c('0x5e')]=function(_0x1bc28a,_0x4c0ce2,_0x51ca34){var _0x44e6a2,_0x43b7b0;var _0x55cd41={'where':{'ProjectId':_0x1bc28a[_0xc13c('0x40')]['id']}};if(_0x1bc28a['query'][_0xc13c('0x5f')]){_0x55cd41['where'][_0xc13c('0x60')]=JSON[_0xc13c('0x61')](_0x1bc28a[_0xc13c('0x2d')][_0xc13c('0x5f')]);}return db['JscriptySessionReport'][_0xc13c('0x3d')](_0x55cd41)[_0xc13c('0x23')](handleEntityNotFound(_0x4c0ce2,null))[_0xc13c('0x23')](function(_0xa94b64){if(_0xa94b64){_0x44e6a2=_0xa94b64;return db['JscriptyQuestionReport']['findAll']({'where':{'SessionId':{'$in':_[_0xc13c('0x58')](_0x44e6a2,'id')},'ProjectId':_0x1bc28a[_0xc13c('0x40')]['id']},'order':_0xc13c('0x62')});}})[_0xc13c('0x23')](handleEntityNotFound(_0x4c0ce2,null))[_0xc13c('0x23')](function(_0xbcfeba){if(_0xbcfeba){_0x43b7b0=_0xbcfeba;var _0x1421fa={};for(var _0x2fd6b9=0x0,_0x48a988=_0x43b7b0['length'];_0x2fd6b9<_0x48a988;_0x2fd6b9++){if(!_0x1421fa[_0xc13c('0x34')](_0x43b7b0[_0x2fd6b9][_0xc13c('0x63')])){_0x1421fa[_0x43b7b0[_0x2fd6b9]['questionId']]=needsEncapsulation(_0x43b7b0[_0x2fd6b9][_0xc13c('0x64')])?encapsulate(_0x43b7b0[_0x2fd6b9][_0xc13c('0x64')]):_0x43b7b0[_0x2fd6b9]['question'];}}var _0x3285c6=[],_0x32b9b7={};for(var _0x1ceafd=0x0,_0x54b32c=_0x44e6a2['length'];_0x1ceafd<_0x54b32c;_0x1ceafd++){_0x32b9b7={'ProjectId':_0x1bc28a['params']['id'],'SessionId':_0x44e6a2[_0x1ceafd]['id'],'StartTime':moment(_0x44e6a2[_0x1ceafd][_0xc13c('0x60')])[_0xc13c('0x65')](_0xc13c('0x66'))};for(var _0x195b16=0x0,_0x3f1449=_0x43b7b0[_0xc13c('0x33')];_0x195b16<_0x3f1449;_0x195b16++){if(_0x43b7b0[_0x195b16]['SessionId']==_0x44e6a2[_0x1ceafd]['id']&&_0x1421fa[_0xc13c('0x34')](_0x43b7b0[_0x195b16]['questionId'])){_0x32b9b7[_0x1421fa[_0x43b7b0[_0x195b16][_0xc13c('0x63')]]]=_0x43b7b0[_0x195b16][_0xc13c('0x67')];}}for(var _0x339bdb in _0x1421fa){if(!_0x32b9b7[_0xc13c('0x34')](_0x1421fa[_0x339bdb])){_0x32b9b7[_0x1421fa[_0x339bdb]]=null;}}_0x3285c6[_0xc13c('0x68')](_0x32b9b7);}return _0x3285c6;}})[_0xc13c('0x23')](function(_0x37f47e){if(!_[_0xc13c('0x69')](_0x37f47e)){var _0x4d3961=toCsv(_0x37f47e);var _0x5bc340=Date['now']();fs['writeFileSync'](util[_0xc13c('0x65')](_0xc13c('0x6a'),_0x1bc28a[_0xc13c('0x40')]['id'],_0x5bc340),_0x4d3961);_0x4c0ce2[_0xc13c('0x6b')](_0xc13c('0x6c'),'attachment;\x20filename='+util[_0xc13c('0x65')]('Jscripty_Project_%d_Summary_%s.csv',_0x1bc28a['params']['id'],_0x5bc340));_0x4c0ce2['setHeader'](_0xc13c('0x6d'),_0xc13c('0x6e'));return _0x4c0ce2[_0xc13c('0x6f')](util[_0xc13c('0x65')](_0xc13c('0x6a'),_0x1bc28a[_0xc13c('0x40')]['id'],_0x5bc340));}else{return _0x4c0ce2['sendStatus'](0xcc);}})['catch'](handleError(_0x4c0ce2,null));};