Built motion from commit (unavailable).|2.5.3
[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 _0xd84f=['apply','reject','save','then','destroy','get','Projects','UserProfileResource','error','stack','name','send','index','JscriptyProject','fieldName','type','model','map','query','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','filter','VIRTUAL','merge','options','includeAll','findAll','rows','show','rawAttributes','keys','include','find','catch','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','clone','params','omit','createdAt','updatedAt','update','JscriptySessionReport','nolimit','JscriptyAnswerReport','ProjectId','number','fromCharCode','toString','indexOf','replace','startTime','parse','JscriptyQuestionReport','-createdAt','questionId','question','format','answer','push','isEmpty','now','/tmp/Jscripty_Project_%d_Summary_%s.csv','setHeader','Jscripty_Project_%d_Summary_%s.csv','text/csv','download','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','lodash','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','status','end','count','offset','limit','Content-Range','json'];(function(_0x11ffcf,_0x35dc30){var _0x50e678=function(_0x1a73b5){while(--_0x1a73b5){_0x11ffcf['push'](_0x11ffcf['shift']());}};_0x50e678(++_0x35dc30);}(_0xd84f,0x1a4));var _0xfd84=function(_0x542d34,_0x4f09ee){_0x542d34=_0x542d34-0x0;var _0x3d421d=_0xd84f[_0x542d34];return _0x3d421d;};'use strict';var pdf=require(_0xfd84('0x0'));var emlformat=require(_0xfd84('0x1'));var rimraf=require(_0xfd84('0x2'));var zipdir=require(_0xfd84('0x3'));var jsonpatch=require(_0xfd84('0x4'));var rp=require(_0xfd84('0x5'));var moment=require(_0xfd84('0x6'));var BPromise=require(_0xfd84('0x7'));var Mustache=require(_0xfd84('0x8'));var util=require('util');var path=require(_0xfd84('0x9'));var sox=require(_0xfd84('0xa'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0xfd84('0xb'));var squel=require('squel');var crypto=require(_0xfd84('0xc'));var jsforce=require(_0xfd84('0xd'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0xfd84('0xe'));var Papa=require(_0xfd84('0xf'));var Redis=require(_0xfd84('0x10'));var authService=require(_0xfd84('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0xfd84('0x12'));var hardwareService=require(_0xfd84('0x13'));var logger=require(_0xfd84('0x14'))(_0xfd84('0x15'));var utils=require(_0xfd84('0x16'));var config=require(_0xfd84('0x17'));var db=require(_0xfd84('0x18'))['db'];function respondWithStatusCode(_0x463aa5,_0x2a3d3a){_0x2a3d3a=_0x2a3d3a||0xcc;return function(_0x401964){if(_0x401964){return _0x463aa5['sendStatus'](_0x2a3d3a);}return _0x463aa5[_0xfd84('0x19')](_0x2a3d3a)[_0xfd84('0x1a')]();};}function respondWithResult(_0x3007fa,_0x5ad259){_0x5ad259=_0x5ad259||0xc8;return function(_0x4961f7){if(_0x4961f7){return _0x3007fa[_0xfd84('0x19')](_0x5ad259)['json'](_0x4961f7);}};}function respondWithFilteredResult(_0x313b66,_0x3c8e13){return function(_0x5ba21f){if(_0x5ba21f){var _0x393e57=_0x5ba21f[_0xfd84('0x1b')],_0x1647d2=_0x3c8e13['offset'],_0x5a9a8e=_0x3c8e13[_0xfd84('0x1c')]+_0x3c8e13[_0xfd84('0x1d')],_0x971bf0;if(_0x5a9a8e>=_0x393e57){_0x5a9a8e=_0x393e57;_0x971bf0=0xc8;}else{_0x971bf0=0xce;}_0x313b66[_0xfd84('0x19')](_0x971bf0);return _0x313b66['set'](_0xfd84('0x1e'),_0x1647d2+'-'+_0x5a9a8e+'/'+_0x393e57)[_0xfd84('0x1f')](_0x5ba21f);}return null;};}function patchUpdates(_0x1583d2){return function(_0x2e3cd4){try{jsonpatch[_0xfd84('0x20')](_0x2e3cd4,_0x1583d2,!![]);}catch(_0x262be3){return BPromise[_0xfd84('0x21')](_0x262be3);}return _0x2e3cd4[_0xfd84('0x22')]();};}function saveUpdates(_0x35627b,_0x3c2ad3){return function(_0x54993){if(_0x54993){return _0x54993['update'](_0x35627b)[_0xfd84('0x23')](function(_0x5bfe61){return _0x5bfe61;});}return null;};}function removeEntity(_0x3b9755,_0x5ee0dc){return function(_0x53ab2a){if(_0x53ab2a){return _0x53ab2a[_0xfd84('0x24')]()[_0xfd84('0x23')](function(){var _0x182b9f=_0x53ab2a[_0xfd84('0x25')]({'plain':!![]});var _0x2f92dd=_0xfd84('0x26');return db[_0xfd84('0x27')][_0xfd84('0x24')]({'where':{'type':_0x2f92dd,'resourceId':_0x182b9f['id']}})[_0xfd84('0x23')](function(){return _0x53ab2a;});})[_0xfd84('0x23')](function(){_0x3b9755[_0xfd84('0x19')](0xcc)[_0xfd84('0x1a')]();});}};}function handleEntityNotFound(_0x9024cd,_0x4c83b6){return function(_0x3a090c){if(!_0x3a090c){_0x9024cd['sendStatus'](0x194);}return _0x3a090c;};}function handleError(_0x3692c9,_0x3aa190){_0x3aa190=_0x3aa190||0x1f4;return function(_0x3c0ed9){logger[_0xfd84('0x28')](_0x3c0ed9[_0xfd84('0x29')]);if(_0x3c0ed9[_0xfd84('0x2a')]){delete _0x3c0ed9[_0xfd84('0x2a')];}_0x3692c9[_0xfd84('0x19')](_0x3aa190)[_0xfd84('0x2b')](_0x3c0ed9);};}exports[_0xfd84('0x2c')]=function(_0x248067,_0x58b56f){var _0x1ed13e={},_0x10d94d={},_0x5de916={'count':0x0,'rows':[]};var _0x2b0f9f=_['map'](db[_0xfd84('0x2d')]['rawAttributes'],function(_0x15a4cc){return{'name':_0x15a4cc[_0xfd84('0x2e')],'type':_0x15a4cc[_0xfd84('0x2f')]['key']};});_0x10d94d[_0xfd84('0x30')]=_[_0xfd84('0x31')](_0x2b0f9f,'name');_0x10d94d[_0xfd84('0x32')]=_['keys'](_0x248067[_0xfd84('0x32')]);_0x10d94d[_0xfd84('0x33')]=_[_0xfd84('0x34')](_0x10d94d[_0xfd84('0x30')],_0x10d94d[_0xfd84('0x32')]);_0x1ed13e[_0xfd84('0x35')]=_[_0xfd84('0x34')](_0x10d94d[_0xfd84('0x30')],qs['fields'](_0x248067['query'][_0xfd84('0x36')]));_0x1ed13e[_0xfd84('0x35')]=_0x1ed13e[_0xfd84('0x35')][_0xfd84('0x37')]?_0x1ed13e[_0xfd84('0x35')]:_0x10d94d[_0xfd84('0x30')];if(!_0x248067[_0xfd84('0x32')][_0xfd84('0x38')]('nolimit')){_0x1ed13e['limit']=qs['limit'](_0x248067[_0xfd84('0x32')][_0xfd84('0x1d')]);_0x1ed13e[_0xfd84('0x1c')]=qs['offset'](_0x248067['query'][_0xfd84('0x1c')]);}_0x1ed13e[_0xfd84('0x39')]=qs[_0xfd84('0x3a')](_0x248067[_0xfd84('0x32')][_0xfd84('0x3a')]);_0x1ed13e[_0xfd84('0x3b')]=qs[_0xfd84('0x33')](_['pick'](_0x248067[_0xfd84('0x32')],_0x10d94d['filters']),_0x2b0f9f);if(_0x248067[_0xfd84('0x32')][_0xfd84('0x3c')]){_0x1ed13e[_0xfd84('0x3b')]=_['merge'](_0x1ed13e[_0xfd84('0x3b')],{'$or':_[_0xfd84('0x31')](_0x2b0f9f,function(_0x3bed9a){if(_0x3bed9a['type']!==_0xfd84('0x3d')){var _0x24cb85={};_0x24cb85[_0x3bed9a[_0xfd84('0x2a')]]={'$like':'%'+_0x248067['query'][_0xfd84('0x3c')]+'%'};return _0x24cb85;}})});}_0x1ed13e=_[_0xfd84('0x3e')]({},_0x1ed13e,_0x248067[_0xfd84('0x3f')]);var _0x2b9b52={'where':_0x1ed13e[_0xfd84('0x3b')]};return db[_0xfd84('0x2d')]['count'](_0x2b9b52)[_0xfd84('0x23')](function(_0x42718c){_0x5de916[_0xfd84('0x1b')]=_0x42718c;if(_0x248067['query'][_0xfd84('0x40')]){_0x1ed13e['include']=[{'all':!![]}];}return db[_0xfd84('0x2d')][_0xfd84('0x41')](_0x1ed13e);})[_0xfd84('0x23')](function(_0x323df3){_0x5de916[_0xfd84('0x42')]=_0x323df3;return _0x5de916;})[_0xfd84('0x23')](respondWithFilteredResult(_0x58b56f,_0x1ed13e))['catch'](handleError(_0x58b56f,null));};exports[_0xfd84('0x43')]=function(_0x17109e,_0x3bea41){var _0x4911e0={'raw':![],'where':{'id':_0x17109e['params']['id']}},_0x26aae3={};_0x26aae3[_0xfd84('0x30')]=_['keys'](db['JscriptyProject'][_0xfd84('0x44')]);_0x26aae3[_0xfd84('0x32')]=_[_0xfd84('0x45')](_0x17109e[_0xfd84('0x32')]);_0x26aae3['filters']=_[_0xfd84('0x34')](_0x26aae3['model'],_0x26aae3[_0xfd84('0x32')]);_0x4911e0['attributes']=_[_0xfd84('0x34')](_0x26aae3['model'],qs['fields'](_0x17109e[_0xfd84('0x32')][_0xfd84('0x36')]));_0x4911e0[_0xfd84('0x35')]=_0x4911e0[_0xfd84('0x35')][_0xfd84('0x37')]?_0x4911e0['attributes']:_0x26aae3[_0xfd84('0x30')];if(_0x17109e[_0xfd84('0x32')][_0xfd84('0x40')]){_0x4911e0[_0xfd84('0x46')]=[{'all':!![]}];}_0x4911e0=_[_0xfd84('0x3e')]({},_0x4911e0,_0x17109e['options']);return db['JscriptyProject'][_0xfd84('0x47')](_0x4911e0)[_0xfd84('0x23')](handleEntityNotFound(_0x3bea41,null))['then'](respondWithResult(_0x3bea41,null))[_0xfd84('0x48')](handleError(_0x3bea41,null));};exports['create']=function(_0x12db27,_0x36608f){return db[_0xfd84('0x2d')][_0xfd84('0x49')](_0x12db27[_0xfd84('0x4a')],{})[_0xfd84('0x23')](function(_0x556125){var _0x29433a=_0x12db27[_0xfd84('0x4b')][_0xfd84('0x25')]({'plain':!![]});if(!_0x29433a)throw new Error(_0xfd84('0x4c'));if(_0x29433a[_0xfd84('0x4d')]===_0xfd84('0x4b')){var _0x2d0763=_0x556125[_0xfd84('0x25')]({'plain':!![]});var _0x1d080f=_0xfd84('0x26');return db[_0xfd84('0x4e')][_0xfd84('0x47')]({'where':{'name':_0x1d080f,'userProfileId':_0x29433a[_0xfd84('0x4f')]},'raw':!![]})['then'](function(_0xcf18cc){if(_0xcf18cc&&_0xcf18cc[_0xfd84('0x50')]===0x0){return db['UserProfileResource'][_0xfd84('0x49')]({'name':_0x2d0763[_0xfd84('0x2a')],'resourceId':_0x2d0763['id'],'type':_0xcf18cc[_0xfd84('0x2a')],'sectionId':_0xcf18cc['id']},{})[_0xfd84('0x23')](function(){return _0x556125;});}else{return _0x556125;}})['catch'](function(_0x5a1305){logger[_0xfd84('0x28')](_0xfd84('0x51'),_0x5a1305);throw _0x5a1305;});}return _0x556125;})[_0xfd84('0x23')](respondWithResult(_0x36608f,0xc9))[_0xfd84('0x48')](handleError(_0x36608f,null));};exports[_0xfd84('0x52')]=function(_0x1a5b73,_0x5aadfd){var _0x2d47dd={'where':{'id':_0x1a5b73[_0xfd84('0x53')]['id']}},_0x3bbb3d={};_0x3bbb3d['model']=_['keys'](db[_0xfd84('0x2d')][_0xfd84('0x44')]);_0x2d47dd['attributes']=_[_0xfd84('0x34')](_0x3bbb3d[_0xfd84('0x30')],qs['fields'](_0x1a5b73[_0xfd84('0x32')]['fields']));_0x2d47dd[_0xfd84('0x35')]=_0x2d47dd[_0xfd84('0x35')][_0xfd84('0x37')]?_0x2d47dd[_0xfd84('0x35')]:_0x3bbb3d[_0xfd84('0x30')];if(_0x1a5b73[_0xfd84('0x32')][_0xfd84('0x40')]){_0x2d47dd['include']=[{'all':!![]}];}_0x2d47dd=_[_0xfd84('0x3e')]({},_0x2d47dd,_0x1a5b73[_0xfd84('0x3f')]);return db[_0xfd84('0x2d')][_0xfd84('0x47')](_0x2d47dd)[_0xfd84('0x23')](handleEntityNotFound(_0x5aadfd,null))[_0xfd84('0x23')](function(_0x8470a){if(_0x8470a){var _0x50ceae=_0x8470a[_0xfd84('0x25')]({'plain':!![]});_0x50ceae=qs[_0xfd84('0x54')](_0x50ceae,['id',_0xfd84('0x55'),_0xfd84('0x56')]);_0x1a5b73[_0xfd84('0x4a')]=_[_0xfd84('0x54')](_0x1a5b73[_0xfd84('0x4a')],['id','createdAt','updatedAt']);return db['JscriptyProject']['create'](_['merge'](_0x50ceae,_0x1a5b73[_0xfd84('0x4a')]),{'include':_0x1a5b73[_0xfd84('0x32')][_0xfd84('0x40')]?[{'all':!![]}]:undefined})[_0xfd84('0x23')](function(_0x2230fc){var _0x487bdd=_0x1a5b73[_0xfd84('0x4b')][_0xfd84('0x25')]({'plain':!![]});if(!_0x487bdd)throw new Error(_0xfd84('0x4c'));if(_0x487bdd[_0xfd84('0x4d')]===_0xfd84('0x4b')){var _0x53cf3e=_0x2230fc[_0xfd84('0x25')]({'plain':!![]});var _0x438c11=_0xfd84('0x26');return db[_0xfd84('0x4e')]['find']({'where':{'name':_0x438c11,'userProfileId':_0x487bdd['userProfileId']},'raw':!![]})[_0xfd84('0x23')](function(_0x45a4a9){if(_0x45a4a9&&_0x45a4a9['autoAssociation']===0x0){return db[_0xfd84('0x27')][_0xfd84('0x49')]({'name':_0x53cf3e[_0xfd84('0x2a')],'resourceId':_0x53cf3e['id'],'type':_0x45a4a9[_0xfd84('0x2a')],'sectionId':_0x45a4a9['id']},{})[_0xfd84('0x23')](function(){return _0x2230fc;});}else{return _0x2230fc;}})[_0xfd84('0x48')](function(_0xef894b){logger[_0xfd84('0x28')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0xef894b);throw _0xef894b;});}return _0x2230fc;});}})[_0xfd84('0x23')](respondWithResult(_0x5aadfd,0xc9))[_0xfd84('0x48')](handleError(_0x5aadfd,null));};exports[_0xfd84('0x57')]=function(_0x4f683c,_0x14c7aa){if(_0x4f683c[_0xfd84('0x4a')]['id']){delete _0x4f683c[_0xfd84('0x4a')]['id'];}return db[_0xfd84('0x2d')][_0xfd84('0x47')]({'where':{'id':_0x4f683c[_0xfd84('0x53')]['id']}})[_0xfd84('0x23')](handleEntityNotFound(_0x14c7aa,null))[_0xfd84('0x23')](saveUpdates(_0x4f683c['body'],null))[_0xfd84('0x23')](respondWithResult(_0x14c7aa,null))['catch'](handleError(_0x14c7aa,null));};exports['destroy']=function(_0x36529c,_0x4859f2){return db[_0xfd84('0x2d')][_0xfd84('0x47')]({'where':{'id':_0x36529c[_0xfd84('0x53')]['id']}})['then'](handleEntityNotFound(_0x4859f2,null))[_0xfd84('0x23')](removeEntity(_0x4859f2,null))[_0xfd84('0x48')](handleError(_0x4859f2,null));};exports['getSessions']=function(_0x17333c,_0x54c8a5,_0x2e5a82){var _0x33660d={'raw':!![],'where':{}};var _0x1a73d9={};var _0x416818={'count':0x0,'rows':[]};return db['JscriptyProject']['findOne']({'where':{'id':_0x17333c[_0xfd84('0x53')]['id']}})['then'](handleEntityNotFound(_0x54c8a5,null))['then'](function(_0x5967de){if(_0x5967de){_0x1a73d9[_0xfd84('0x30')]=_[_0xfd84('0x45')](db[_0xfd84('0x58')][_0xfd84('0x44')]);_0x1a73d9['query']=_['keys'](_0x17333c['query']);_0x1a73d9[_0xfd84('0x33')]=_['intersection'](_0x1a73d9[_0xfd84('0x30')],_0x1a73d9['query']);_0x33660d[_0xfd84('0x35')]=_[_0xfd84('0x34')](_0x1a73d9[_0xfd84('0x30')],qs['fields'](_0x17333c['query'][_0xfd84('0x36')]));_0x33660d[_0xfd84('0x35')]=_0x33660d[_0xfd84('0x35')][_0xfd84('0x37')]?_0x33660d[_0xfd84('0x35')]:_0x1a73d9[_0xfd84('0x30')];if(!_0x17333c[_0xfd84('0x32')][_0xfd84('0x38')](_0xfd84('0x59'))){_0x33660d[_0xfd84('0x1d')]=qs['limit'](_0x17333c['query'][_0xfd84('0x1d')]);_0x33660d[_0xfd84('0x1c')]=qs[_0xfd84('0x1c')](_0x17333c[_0xfd84('0x32')]['offset']);}_0x33660d[_0xfd84('0x39')]=qs['sort'](_0x17333c[_0xfd84('0x32')][_0xfd84('0x3a')]);_0x33660d[_0xfd84('0x3b')]=qs[_0xfd84('0x33')](_['pick'](_0x17333c[_0xfd84('0x32')],_0x1a73d9[_0xfd84('0x33')]));_0x33660d['where']['ProjectId']=_0x5967de['id'];if(_0x17333c['query']['filter']){_0x33660d['where']=_['merge'](_0x33660d[_0xfd84('0x3b')],{'$or':_[_0xfd84('0x31')](_0x33660d['attributes'],function(_0x35ec9d){var _0x297d40={};_0x297d40[_0x35ec9d]={'$like':'%'+_0x17333c[_0xfd84('0x32')][_0xfd84('0x3c')]+'%'};return _0x297d40;})});}_0x33660d=_[_0xfd84('0x3e')]({},_0x33660d,_0x17333c[_0xfd84('0x3f')]);return db['JscriptySessionReport'][_0xfd84('0x1b')]({'where':_0x33660d[_0xfd84('0x3b')]})[_0xfd84('0x23')](function(_0x38e16c){_0x416818[_0xfd84('0x1b')]=_0x38e16c;if(_0x17333c[_0xfd84('0x32')][_0xfd84('0x40')]){_0x33660d['include']=[{'all':!![]}];}return db[_0xfd84('0x58')][_0xfd84('0x41')](_0x33660d);})[_0xfd84('0x23')](function(_0x4f1c92){_0x416818['rows']=_0x4f1c92;return _0x416818;});}})[_0xfd84('0x23')](respondWithFilteredResult(_0x54c8a5,_0x33660d))[_0xfd84('0x48')](handleError(_0x54c8a5,null));};exports['getAnswers']=function(_0x2fcbe9,_0x5c111e,_0x1e261c){var _0x2cc1d2={'raw':!![],'where':{}};var _0x3698bc={};var _0x24ca89={'count':0x0,'rows':[]};return db[_0xfd84('0x2d')]['findOne']({'where':{'id':_0x2fcbe9[_0xfd84('0x53')]['id']}})[_0xfd84('0x23')](handleEntityNotFound(_0x5c111e,null))[_0xfd84('0x23')](function(_0xb9480d){if(_0xb9480d){_0x3698bc[_0xfd84('0x30')]=_[_0xfd84('0x45')](db[_0xfd84('0x5a')]['rawAttributes']);_0x3698bc['query']=_[_0xfd84('0x45')](_0x2fcbe9[_0xfd84('0x32')]);_0x3698bc['filters']=_[_0xfd84('0x34')](_0x3698bc[_0xfd84('0x30')],_0x3698bc[_0xfd84('0x32')]);_0x2cc1d2[_0xfd84('0x35')]=_[_0xfd84('0x34')](_0x3698bc[_0xfd84('0x30')],qs[_0xfd84('0x36')](_0x2fcbe9['query'][_0xfd84('0x36')]));_0x2cc1d2['attributes']=_0x2cc1d2[_0xfd84('0x35')][_0xfd84('0x37')]?_0x2cc1d2['attributes']:_0x3698bc[_0xfd84('0x30')];if(!_0x2fcbe9[_0xfd84('0x32')]['hasOwnProperty'](_0xfd84('0x59'))){_0x2cc1d2[_0xfd84('0x1d')]=qs[_0xfd84('0x1d')](_0x2fcbe9[_0xfd84('0x32')][_0xfd84('0x1d')]);_0x2cc1d2[_0xfd84('0x1c')]=qs[_0xfd84('0x1c')](_0x2fcbe9[_0xfd84('0x32')]['offset']);}_0x2cc1d2[_0xfd84('0x39')]=qs[_0xfd84('0x3a')](_0x2fcbe9[_0xfd84('0x32')]['sort']);_0x2cc1d2[_0xfd84('0x3b')]=qs[_0xfd84('0x33')](_['pick'](_0x2fcbe9[_0xfd84('0x32')],_0x3698bc['filters']));_0x2cc1d2[_0xfd84('0x3b')][_0xfd84('0x5b')]=_0xb9480d['id'];if(_0x2fcbe9[_0xfd84('0x32')][_0xfd84('0x3c')]){_0x2cc1d2[_0xfd84('0x3b')]=_[_0xfd84('0x3e')](_0x2cc1d2[_0xfd84('0x3b')],{'$or':_[_0xfd84('0x31')](_0x2cc1d2[_0xfd84('0x35')],function(_0x3fd832){var _0x1b51f7={};_0x1b51f7[_0x3fd832]={'$like':'%'+_0x2fcbe9[_0xfd84('0x32')][_0xfd84('0x3c')]+'%'};return _0x1b51f7;})});}_0x2cc1d2=_['merge']({},_0x2cc1d2,_0x2fcbe9[_0xfd84('0x3f')]);return db['JscriptyAnswerReport'][_0xfd84('0x1b')]({'where':_0x2cc1d2['where']})['then'](function(_0x9ae0fd){_0x24ca89[_0xfd84('0x1b')]=_0x9ae0fd;if(_0x2fcbe9[_0xfd84('0x32')][_0xfd84('0x40')]){_0x2cc1d2[_0xfd84('0x46')]=[{'all':!![]}];}return db[_0xfd84('0x5a')][_0xfd84('0x41')](_0x2cc1d2);})['then'](function(_0x39ff1a){_0x24ca89[_0xfd84('0x42')]=_0x39ff1a;return _0x24ca89;});}})['then'](respondWithFilteredResult(_0x5c111e,_0x2cc1d2))['catch'](handleError(_0x5c111e,null));};function char(_0x526ca4){return _0xfd84('0x5c')===typeof _0x526ca4?String[_0xfd84('0x5d')][_0xfd84('0x20')](null,arguments):_0x526ca4;}function needsEncapsulation(_0x2270d4){return!!_0x2270d4&&(_0x2270d4[_0xfd84('0x5e')]()[_0xfd84('0x5f')](char(0xd))>=0x0||_0x2270d4[_0xfd84('0x5e')]()[_0xfd84('0x5f')](char(0xa))>=0x0||_0x2270d4[_0xfd84('0x5e')]()[_0xfd84('0x5f')](char(0x2c))>=0x0||_0x2270d4[_0xfd84('0x5e')]()[_0xfd84('0x5f')](char(0x22))>=0x0);}function encapsulate(_0x15ee46){var _0x11122e=char(0x22),_0x49a716='\x5c'+char(0x22),_0x35bf1e=_0x15ee46['toString']()[_0xfd84('0x60')](new RegExp(_0x11122e,'g'),_0x49a716);return _0x11122e+_0x35bf1e+_0x11122e;}exports['getSummary']=function(_0xa70d8b,_0x316260,_0xc89661){var _0x69b57f,_0x4ad3a8;var _0x17bdee={'where':{'ProjectId':_0xa70d8b['params']['id']}};if(_0xa70d8b[_0xfd84('0x32')][_0xfd84('0x61')]){_0x17bdee[_0xfd84('0x3b')]['starttime']=JSON[_0xfd84('0x62')](_0xa70d8b[_0xfd84('0x32')][_0xfd84('0x61')]);}return db[_0xfd84('0x58')][_0xfd84('0x41')](_0x17bdee)['then'](handleEntityNotFound(_0x316260,null))[_0xfd84('0x23')](function(_0x4fed24){if(_0x4fed24){_0x69b57f=_0x4fed24;return db[_0xfd84('0x63')][_0xfd84('0x41')]({'where':{'SessionId':{'$in':_[_0xfd84('0x31')](_0x69b57f,'id')},'ProjectId':_0xa70d8b[_0xfd84('0x53')]['id']},'order':_0xfd84('0x64')});}})[_0xfd84('0x23')](handleEntityNotFound(_0x316260,null))[_0xfd84('0x23')](function(_0xddbbef){if(_0xddbbef){_0x4ad3a8=_0xddbbef;var _0x2f85b8={};for(var _0x2b7f72=0x0,_0x47d4ad=_0x4ad3a8[_0xfd84('0x37')];_0x2b7f72<_0x47d4ad;_0x2b7f72++){if(!_0x2f85b8[_0xfd84('0x38')](_0x4ad3a8[_0x2b7f72][_0xfd84('0x65')])){_0x2f85b8[_0x4ad3a8[_0x2b7f72][_0xfd84('0x65')]]=needsEncapsulation(_0x4ad3a8[_0x2b7f72]['question'])?encapsulate(_0x4ad3a8[_0x2b7f72]['question']):_0x4ad3a8[_0x2b7f72][_0xfd84('0x66')];}}var _0x5b4829=[],_0x132564={};for(var _0x2b88fb=0x0,_0x1656cf=_0x69b57f[_0xfd84('0x37')];_0x2b88fb<_0x1656cf;_0x2b88fb++){_0x132564={'ProjectId':_0xa70d8b['params']['id'],'SessionId':_0x69b57f[_0x2b88fb]['id'],'StartTime':moment(_0x69b57f[_0x2b88fb]['starttime'])[_0xfd84('0x67')]('YYYY-MM-DD\x20HH:mm:ss')};for(var _0x15caad=0x0,_0x178192=_0x4ad3a8[_0xfd84('0x37')];_0x15caad<_0x178192;_0x15caad++){if(_0x4ad3a8[_0x15caad]['SessionId']==_0x69b57f[_0x2b88fb]['id']&&_0x2f85b8[_0xfd84('0x38')](_0x4ad3a8[_0x15caad][_0xfd84('0x65')])){_0x132564[_0x2f85b8[_0x4ad3a8[_0x15caad]['questionId']]]=_0x4ad3a8[_0x15caad][_0xfd84('0x68')];}}for(var _0x5b5218 in _0x2f85b8){if(!_0x132564[_0xfd84('0x38')](_0x2f85b8[_0x5b5218])){_0x132564[_0x2f85b8[_0x5b5218]]=null;}}_0x5b4829[_0xfd84('0x69')](_0x132564);}return _0x5b4829;}})[_0xfd84('0x23')](function(_0x1add26){if(!_[_0xfd84('0x6a')](_0x1add26)){var _0x2356f2=toCsv(_0x1add26);var _0x3fe4e1=Date[_0xfd84('0x6b')]();fs['writeFileSync'](util[_0xfd84('0x67')](_0xfd84('0x6c'),_0xa70d8b['params']['id'],_0x3fe4e1),_0x2356f2);_0x316260[_0xfd84('0x6d')]('Content-disposition','attachment;\x20filename='+util['format'](_0xfd84('0x6e'),_0xa70d8b[_0xfd84('0x53')]['id'],_0x3fe4e1));_0x316260[_0xfd84('0x6d')]('Content-type',_0xfd84('0x6f'));return _0x316260[_0xfd84('0x70')](util['format'](_0xfd84('0x6c'),_0xa70d8b['params']['id'],_0x3fe4e1));}else{return _0x316260['sendStatus'](0xcc);}})[_0xfd84('0x48')](handleError(_0x316260,null));};