99328f17cc0d24fcdb7b10eaf34fdb414edda206
[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 _0x1e9c=['now','writeFileSync','format','/tmp/Jscripty_Project_%d_Summary_%s.csv','setHeader','attachment;\x20filename=','Jscripty_Project_%d_Summary_%s.csv','Content-type','download','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','sendStatus','status','end','undefined','offset','count','limit','Content-Range','json','apply','save','update','then','destroy','Projects','UserProfileResource','error','name','map','JscriptyProject','rawAttributes','type','key','model','keys','filters','intersection','query','attributes','fields','length','hasOwnProperty','order','sort','where','pick','merge','options','includeAll','include','rows','show','find','catch','create','body','user','role','get','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','clone','params','updatedAt','createdAt','UserProfileSection','getSessions','findOne','ProjectId','filter','JscriptySessionReport','findAll','getAnswers','JscriptyAnswerReport','nolimit','number','fromCharCode','toString','indexOf','replace','getSummary','startTime','starttime','parse','JscriptyQuestionReport','-createdAt','questionId','question','YYYY-MM-DD\x20HH:mm:ss','SessionId','answer'];(function(_0x9e5bcd,_0x41fadf){var _0x34297e=function(_0x1e7a52){while(--_0x1e7a52){_0x9e5bcd['push'](_0x9e5bcd['shift']());}};_0x34297e(++_0x41fadf);}(_0x1e9c,0x1d9));var _0xc1e9=function(_0x2aea9e,_0x1f587f){_0x2aea9e=_0x2aea9e-0x0;var _0x430b92=_0x1e9c[_0x2aea9e];return _0x430b92;};'use strict';var emlformat=require(_0xc1e9('0x0'));var rimraf=require(_0xc1e9('0x1'));var zipdir=require(_0xc1e9('0x2'));var jsonpatch=require(_0xc1e9('0x3'));var rp=require(_0xc1e9('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xc1e9('0x5'));var util=require(_0xc1e9('0x6'));var path=require(_0xc1e9('0x7'));var sox=require(_0xc1e9('0x8'));var csv=require(_0xc1e9('0x9'));var ejs=require(_0xc1e9('0xa'));var fs=require('fs');var fs_extra=require(_0xc1e9('0xb'));var _=require(_0xc1e9('0xc'));var squel=require(_0xc1e9('0xd'));var crypto=require(_0xc1e9('0xe'));var jsforce=require(_0xc1e9('0xf'));var deskjs=require(_0xc1e9('0x10'));var toCsv=require('to-csv');var querystring=require(_0xc1e9('0x11'));var Papa=require('papaparse');var Redis=require(_0xc1e9('0x12'));var authService=require(_0xc1e9('0x13'));var qs=require('../../components/parsers/qs');var as=require(_0xc1e9('0x14'));var hardwareService=require(_0xc1e9('0x15'));var logger=require(_0xc1e9('0x16'))(_0xc1e9('0x17'));var utils=require(_0xc1e9('0x18'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x52c9cc,_0x21d373){_0x21d373=_0x21d373||0xcc;return function(_0x2764e1){if(_0x2764e1){return _0x52c9cc[_0xc1e9('0x19')](_0x21d373);}return _0x52c9cc[_0xc1e9('0x1a')](_0x21d373)[_0xc1e9('0x1b')]();};}function respondWithResult(_0x4071df,_0x49ce67){_0x49ce67=_0x49ce67||0xc8;return function(_0x292260){if(_0x292260){return _0x4071df[_0xc1e9('0x1a')](_0x49ce67)['json'](_0x292260);}};}function respondWithFilteredResult(_0x45a1e1,_0x3891f0){return function(_0x53319c){if(_0x53319c){var _0x3e873b=typeof _0x3891f0['offset']==='undefined'&&typeof _0x3891f0['limit']===_0xc1e9('0x1c');var _0x2e257a=_0x53319c['count'];var _0xd7024a=_0x3e873b?0x0:_0x3891f0[_0xc1e9('0x1d')];var _0x3daaf7=_0x3e873b?_0x53319c[_0xc1e9('0x1e')]:_0x3891f0[_0xc1e9('0x1d')]+_0x3891f0[_0xc1e9('0x1f')];var _0x26d637;if(_0x3daaf7>=_0x2e257a){_0x3daaf7=_0x2e257a;_0x26d637=0xc8;}else{_0x26d637=0xce;}_0x45a1e1[_0xc1e9('0x1a')](_0x26d637);return _0x45a1e1['set'](_0xc1e9('0x20'),_0xd7024a+'-'+_0x3daaf7+'/'+_0x2e257a)[_0xc1e9('0x21')](_0x53319c);}return null;};}function patchUpdates(_0xaa1f74){return function(_0x367ac2){try{jsonpatch[_0xc1e9('0x22')](_0x367ac2,_0xaa1f74,!![]);}catch(_0x11a9c0){return BPromise['reject'](_0x11a9c0);}return _0x367ac2[_0xc1e9('0x23')]();};}function saveUpdates(_0x2de3fb,_0x570562){return function(_0x58cff3){if(_0x58cff3){return _0x58cff3[_0xc1e9('0x24')](_0x2de3fb)[_0xc1e9('0x25')](function(_0x382118){return _0x382118;});}return null;};}function removeEntity(_0x444111,_0x6d64d6){return function(_0xcb5a43){if(_0xcb5a43){return _0xcb5a43[_0xc1e9('0x26')]()[_0xc1e9('0x25')](function(){var _0x316f0b=_0xcb5a43['get']({'plain':!![]});var _0x81bec3=_0xc1e9('0x27');return db[_0xc1e9('0x28')]['destroy']({'where':{'type':_0x81bec3,'resourceId':_0x316f0b['id']}})[_0xc1e9('0x25')](function(){return _0xcb5a43;});})['then'](function(){_0x444111[_0xc1e9('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0xcaa7ae,_0x2ca6f1){return function(_0x1bf3d0){if(!_0x1bf3d0){_0xcaa7ae[_0xc1e9('0x19')](0x194);}return _0x1bf3d0;};}function handleError(_0x2eebe7,_0x1daac0){_0x1daac0=_0x1daac0||0x1f4;return function(_0x33818b){logger[_0xc1e9('0x29')](_0x33818b['stack']);if(_0x33818b[_0xc1e9('0x2a')]){delete _0x33818b[_0xc1e9('0x2a')];}_0x2eebe7['status'](_0x1daac0)['send'](_0x33818b);};}exports['index']=function(_0x28b9a8,_0x187010){var _0x241e12={},_0x406d06={},_0x1e7599={'count':0x0,'rows':[]};var _0x27e228=_[_0xc1e9('0x2b')](db[_0xc1e9('0x2c')][_0xc1e9('0x2d')],function(_0x4600b2){return{'name':_0x4600b2['fieldName'],'type':_0x4600b2[_0xc1e9('0x2e')][_0xc1e9('0x2f')]};});_0x406d06[_0xc1e9('0x30')]=_[_0xc1e9('0x2b')](_0x27e228,_0xc1e9('0x2a'));_0x406d06['query']=_[_0xc1e9('0x31')](_0x28b9a8['query']);_0x406d06[_0xc1e9('0x32')]=_[_0xc1e9('0x33')](_0x406d06[_0xc1e9('0x30')],_0x406d06[_0xc1e9('0x34')]);_0x241e12[_0xc1e9('0x35')]=_['intersection'](_0x406d06[_0xc1e9('0x30')],qs[_0xc1e9('0x36')](_0x28b9a8['query'][_0xc1e9('0x36')]));_0x241e12[_0xc1e9('0x35')]=_0x241e12[_0xc1e9('0x35')][_0xc1e9('0x37')]?_0x241e12[_0xc1e9('0x35')]:_0x406d06['model'];if(!_0x28b9a8[_0xc1e9('0x34')][_0xc1e9('0x38')]('nolimit')){_0x241e12[_0xc1e9('0x1f')]=qs['limit'](_0x28b9a8[_0xc1e9('0x34')][_0xc1e9('0x1f')]);_0x241e12[_0xc1e9('0x1d')]=qs[_0xc1e9('0x1d')](_0x28b9a8[_0xc1e9('0x34')][_0xc1e9('0x1d')]);}_0x241e12[_0xc1e9('0x39')]=qs[_0xc1e9('0x3a')](_0x28b9a8['query']['sort']);_0x241e12[_0xc1e9('0x3b')]=qs[_0xc1e9('0x32')](_[_0xc1e9('0x3c')](_0x28b9a8[_0xc1e9('0x34')],_0x406d06[_0xc1e9('0x32')]),_0x27e228);if(_0x28b9a8[_0xc1e9('0x34')]['filter']){_0x241e12[_0xc1e9('0x3b')]=_[_0xc1e9('0x3d')](_0x241e12['where'],{'$or':_['map'](_0x27e228,function(_0x230311){if(_0x230311['type']!=='VIRTUAL'){var _0xbbef08={};_0xbbef08[_0x230311['name']]={'$like':'%'+_0x28b9a8[_0xc1e9('0x34')]['filter']+'%'};return _0xbbef08;}})});}_0x241e12=_[_0xc1e9('0x3d')]({},_0x241e12,_0x28b9a8[_0xc1e9('0x3e')]);var _0x5514bb={'where':_0x241e12['where']};return db[_0xc1e9('0x2c')][_0xc1e9('0x1e')](_0x5514bb)['then'](function(_0x11f678){_0x1e7599['count']=_0x11f678;if(_0x28b9a8[_0xc1e9('0x34')][_0xc1e9('0x3f')]){_0x241e12[_0xc1e9('0x40')]=[{'all':!![]}];}return db[_0xc1e9('0x2c')]['findAll'](_0x241e12);})['then'](function(_0x2011e0){_0x1e7599[_0xc1e9('0x41')]=_0x2011e0;return _0x1e7599;})['then'](respondWithFilteredResult(_0x187010,_0x241e12))['catch'](handleError(_0x187010,null));};exports[_0xc1e9('0x42')]=function(_0x3f97a6,_0x589f8e){var _0x21b71a={'raw':![],'where':{'id':_0x3f97a6['params']['id']}},_0x1a3e01={};_0x1a3e01['model']=_[_0xc1e9('0x31')](db[_0xc1e9('0x2c')][_0xc1e9('0x2d')]);_0x1a3e01[_0xc1e9('0x34')]=_[_0xc1e9('0x31')](_0x3f97a6[_0xc1e9('0x34')]);_0x1a3e01[_0xc1e9('0x32')]=_[_0xc1e9('0x33')](_0x1a3e01[_0xc1e9('0x30')],_0x1a3e01['query']);_0x21b71a['attributes']=_[_0xc1e9('0x33')](_0x1a3e01[_0xc1e9('0x30')],qs[_0xc1e9('0x36')](_0x3f97a6[_0xc1e9('0x34')][_0xc1e9('0x36')]));_0x21b71a[_0xc1e9('0x35')]=_0x21b71a[_0xc1e9('0x35')]['length']?_0x21b71a[_0xc1e9('0x35')]:_0x1a3e01[_0xc1e9('0x30')];if(_0x3f97a6['query'][_0xc1e9('0x3f')]){_0x21b71a[_0xc1e9('0x40')]=[{'all':!![]}];}_0x21b71a=_[_0xc1e9('0x3d')]({},_0x21b71a,_0x3f97a6[_0xc1e9('0x3e')]);return db[_0xc1e9('0x2c')][_0xc1e9('0x43')](_0x21b71a)['then'](handleEntityNotFound(_0x589f8e,null))[_0xc1e9('0x25')](respondWithResult(_0x589f8e,null))[_0xc1e9('0x44')](handleError(_0x589f8e,null));};exports[_0xc1e9('0x45')]=function(_0x3d5aeb,_0x40d612){return db[_0xc1e9('0x2c')][_0xc1e9('0x45')](_0x3d5aeb[_0xc1e9('0x46')],{})[_0xc1e9('0x25')](function(_0x442cfd){var _0x2c3c2d=_0x3d5aeb[_0xc1e9('0x47')]['get']({'plain':!![]});if(!_0x2c3c2d)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x2c3c2d[_0xc1e9('0x48')]===_0xc1e9('0x47')){var _0x2b5188=_0x442cfd[_0xc1e9('0x49')]({'plain':!![]});var _0x2672aa='Projects';return db['UserProfileSection']['find']({'where':{'name':_0x2672aa,'userProfileId':_0x2c3c2d[_0xc1e9('0x4a')]},'raw':!![]})[_0xc1e9('0x25')](function(_0x3ec2b3){if(_0x3ec2b3&&_0x3ec2b3[_0xc1e9('0x4b')]===0x0){return db[_0xc1e9('0x28')][_0xc1e9('0x45')]({'name':_0x2b5188[_0xc1e9('0x2a')],'resourceId':_0x2b5188['id'],'type':_0x3ec2b3['name'],'sectionId':_0x3ec2b3['id']},{})[_0xc1e9('0x25')](function(){return _0x442cfd;});}else{return _0x442cfd;}})['catch'](function(_0xabe087){logger[_0xc1e9('0x29')](_0xc1e9('0x4c'),_0xabe087);throw _0xabe087;});}return _0x442cfd;})[_0xc1e9('0x25')](respondWithResult(_0x40d612,0xc9))[_0xc1e9('0x44')](handleError(_0x40d612,null));};exports[_0xc1e9('0x4d')]=function(_0x54fe39,_0x53b7ea){var _0x261291={'where':{'id':_0x54fe39[_0xc1e9('0x4e')]['id']}},_0x5405f1={};_0x5405f1[_0xc1e9('0x30')]=_[_0xc1e9('0x31')](db[_0xc1e9('0x2c')][_0xc1e9('0x2d')]);_0x261291[_0xc1e9('0x35')]=_[_0xc1e9('0x33')](_0x5405f1[_0xc1e9('0x30')],qs[_0xc1e9('0x36')](_0x54fe39[_0xc1e9('0x34')][_0xc1e9('0x36')]));_0x261291[_0xc1e9('0x35')]=_0x261291[_0xc1e9('0x35')][_0xc1e9('0x37')]?_0x261291[_0xc1e9('0x35')]:_0x5405f1[_0xc1e9('0x30')];if(_0x54fe39['query'][_0xc1e9('0x3f')]){_0x261291[_0xc1e9('0x40')]=[{'all':!![]}];}_0x261291=_[_0xc1e9('0x3d')]({},_0x261291,_0x54fe39[_0xc1e9('0x3e')]);return db[_0xc1e9('0x2c')][_0xc1e9('0x43')](_0x261291)['then'](handleEntityNotFound(_0x53b7ea,null))[_0xc1e9('0x25')](function(_0x47d680){if(_0x47d680){var _0x305eac=_0x47d680['get']({'plain':!![]});_0x305eac=qs['omit'](_0x305eac,['id','createdAt',_0xc1e9('0x4f')]);_0x54fe39['body']=_['omit'](_0x54fe39[_0xc1e9('0x46')],['id',_0xc1e9('0x50'),_0xc1e9('0x4f')]);return db[_0xc1e9('0x2c')]['create'](_[_0xc1e9('0x3d')](_0x305eac,_0x54fe39[_0xc1e9('0x46')]),{'include':_0x54fe39[_0xc1e9('0x34')][_0xc1e9('0x3f')]?[{'all':!![]}]:undefined})['then'](function(_0x184d37){var _0x42e666=_0x54fe39[_0xc1e9('0x47')][_0xc1e9('0x49')]({'plain':!![]});if(!_0x42e666)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x42e666[_0xc1e9('0x48')]==='user'){var _0x18ebf1=_0x184d37['get']({'plain':!![]});var _0x2bc1b0=_0xc1e9('0x27');return db[_0xc1e9('0x51')]['find']({'where':{'name':_0x2bc1b0,'userProfileId':_0x42e666[_0xc1e9('0x4a')]},'raw':!![]})[_0xc1e9('0x25')](function(_0xf92958){if(_0xf92958&&_0xf92958[_0xc1e9('0x4b')]===0x0){return db[_0xc1e9('0x28')][_0xc1e9('0x45')]({'name':_0x18ebf1[_0xc1e9('0x2a')],'resourceId':_0x18ebf1['id'],'type':_0xf92958[_0xc1e9('0x2a')],'sectionId':_0xf92958['id']},{})['then'](function(){return _0x184d37;});}else{return _0x184d37;}})[_0xc1e9('0x44')](function(_0x5a707e){logger[_0xc1e9('0x29')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x5a707e);throw _0x5a707e;});}return _0x184d37;});}})[_0xc1e9('0x25')](respondWithResult(_0x53b7ea,0xc9))[_0xc1e9('0x44')](handleError(_0x53b7ea,null));};exports['update']=function(_0x3962f7,_0x11c41e){if(_0x3962f7['body']['id']){delete _0x3962f7['body']['id'];}return db['JscriptyProject'][_0xc1e9('0x43')]({'where':{'id':_0x3962f7[_0xc1e9('0x4e')]['id']}})[_0xc1e9('0x25')](handleEntityNotFound(_0x11c41e,null))[_0xc1e9('0x25')](saveUpdates(_0x3962f7['body'],null))[_0xc1e9('0x25')](respondWithResult(_0x11c41e,null))[_0xc1e9('0x44')](handleError(_0x11c41e,null));};exports['destroy']=function(_0x747eaf,_0x41cc72){return db[_0xc1e9('0x2c')][_0xc1e9('0x43')]({'where':{'id':_0x747eaf[_0xc1e9('0x4e')]['id']}})[_0xc1e9('0x25')](handleEntityNotFound(_0x41cc72,null))[_0xc1e9('0x25')](removeEntity(_0x41cc72,null))[_0xc1e9('0x44')](handleError(_0x41cc72,null));};exports[_0xc1e9('0x52')]=function(_0x566f9d,_0x189404,_0x132f23){var _0x5edac8={'raw':!![],'where':{}};var _0x5310b1={};var _0x26e433={'count':0x0,'rows':[]};return db[_0xc1e9('0x2c')][_0xc1e9('0x53')]({'where':{'id':_0x566f9d[_0xc1e9('0x4e')]['id']}})[_0xc1e9('0x25')](handleEntityNotFound(_0x189404,null))['then'](function(_0x2110b3){if(_0x2110b3){_0x5310b1['model']=_[_0xc1e9('0x31')](db['JscriptySessionReport'][_0xc1e9('0x2d')]);_0x5310b1[_0xc1e9('0x34')]=_[_0xc1e9('0x31')](_0x566f9d[_0xc1e9('0x34')]);_0x5310b1[_0xc1e9('0x32')]=_[_0xc1e9('0x33')](_0x5310b1['model'],_0x5310b1[_0xc1e9('0x34')]);_0x5edac8[_0xc1e9('0x35')]=_[_0xc1e9('0x33')](_0x5310b1[_0xc1e9('0x30')],qs[_0xc1e9('0x36')](_0x566f9d[_0xc1e9('0x34')][_0xc1e9('0x36')]));_0x5edac8[_0xc1e9('0x35')]=_0x5edac8[_0xc1e9('0x35')][_0xc1e9('0x37')]?_0x5edac8[_0xc1e9('0x35')]:_0x5310b1[_0xc1e9('0x30')];if(!_0x566f9d[_0xc1e9('0x34')][_0xc1e9('0x38')]('nolimit')){_0x5edac8[_0xc1e9('0x1f')]=qs['limit'](_0x566f9d[_0xc1e9('0x34')][_0xc1e9('0x1f')]);_0x5edac8[_0xc1e9('0x1d')]=qs[_0xc1e9('0x1d')](_0x566f9d[_0xc1e9('0x34')][_0xc1e9('0x1d')]);}_0x5edac8[_0xc1e9('0x39')]=qs[_0xc1e9('0x3a')](_0x566f9d[_0xc1e9('0x34')][_0xc1e9('0x3a')]);_0x5edac8[_0xc1e9('0x3b')]=qs[_0xc1e9('0x32')](_[_0xc1e9('0x3c')](_0x566f9d['query'],_0x5310b1[_0xc1e9('0x32')]));_0x5edac8['where'][_0xc1e9('0x54')]=_0x2110b3['id'];if(_0x566f9d[_0xc1e9('0x34')]['filter']){_0x5edac8['where']=_[_0xc1e9('0x3d')](_0x5edac8[_0xc1e9('0x3b')],{'$or':_[_0xc1e9('0x2b')](_0x5edac8['attributes'],function(_0x34ea1c){var _0x86fe04={};_0x86fe04[_0x34ea1c]={'$like':'%'+_0x566f9d[_0xc1e9('0x34')][_0xc1e9('0x55')]+'%'};return _0x86fe04;})});}_0x5edac8=_['merge']({},_0x5edac8,_0x566f9d[_0xc1e9('0x3e')]);return db['JscriptySessionReport']['count']({'where':_0x5edac8[_0xc1e9('0x3b')]})['then'](function(_0x4a0991){_0x26e433[_0xc1e9('0x1e')]=_0x4a0991;if(_0x566f9d['query'][_0xc1e9('0x3f')]){_0x5edac8['include']=[{'all':!![]}];}return db[_0xc1e9('0x56')][_0xc1e9('0x57')](_0x5edac8);})[_0xc1e9('0x25')](function(_0x56e86f){_0x26e433['rows']=_0x56e86f;return _0x26e433;});}})['then'](respondWithFilteredResult(_0x189404,_0x5edac8))[_0xc1e9('0x44')](handleError(_0x189404,null));};exports[_0xc1e9('0x58')]=function(_0x37f24a,_0x46228b,_0x544cab){var _0x25cdc5={'raw':!![],'where':{}};var _0x8a095b={};var _0xf51620={'count':0x0,'rows':[]};return db[_0xc1e9('0x2c')][_0xc1e9('0x53')]({'where':{'id':_0x37f24a[_0xc1e9('0x4e')]['id']}})[_0xc1e9('0x25')](handleEntityNotFound(_0x46228b,null))['then'](function(_0x213dbd){if(_0x213dbd){_0x8a095b[_0xc1e9('0x30')]=_[_0xc1e9('0x31')](db[_0xc1e9('0x59')][_0xc1e9('0x2d')]);_0x8a095b['query']=_['keys'](_0x37f24a[_0xc1e9('0x34')]);_0x8a095b['filters']=_[_0xc1e9('0x33')](_0x8a095b[_0xc1e9('0x30')],_0x8a095b[_0xc1e9('0x34')]);_0x25cdc5[_0xc1e9('0x35')]=_[_0xc1e9('0x33')](_0x8a095b[_0xc1e9('0x30')],qs[_0xc1e9('0x36')](_0x37f24a['query'][_0xc1e9('0x36')]));_0x25cdc5[_0xc1e9('0x35')]=_0x25cdc5[_0xc1e9('0x35')][_0xc1e9('0x37')]?_0x25cdc5[_0xc1e9('0x35')]:_0x8a095b[_0xc1e9('0x30')];if(!_0x37f24a['query']['hasOwnProperty'](_0xc1e9('0x5a'))){_0x25cdc5['limit']=qs['limit'](_0x37f24a[_0xc1e9('0x34')][_0xc1e9('0x1f')]);_0x25cdc5[_0xc1e9('0x1d')]=qs[_0xc1e9('0x1d')](_0x37f24a[_0xc1e9('0x34')]['offset']);}_0x25cdc5[_0xc1e9('0x39')]=qs[_0xc1e9('0x3a')](_0x37f24a[_0xc1e9('0x34')]['sort']);_0x25cdc5[_0xc1e9('0x3b')]=qs[_0xc1e9('0x32')](_[_0xc1e9('0x3c')](_0x37f24a['query'],_0x8a095b[_0xc1e9('0x32')]));_0x25cdc5['where'][_0xc1e9('0x54')]=_0x213dbd['id'];if(_0x37f24a['query'][_0xc1e9('0x55')]){_0x25cdc5['where']=_[_0xc1e9('0x3d')](_0x25cdc5['where'],{'$or':_[_0xc1e9('0x2b')](_0x25cdc5[_0xc1e9('0x35')],function(_0x4ff67a){var _0x25c303={};_0x25c303[_0x4ff67a]={'$like':'%'+_0x37f24a[_0xc1e9('0x34')]['filter']+'%'};return _0x25c303;})});}_0x25cdc5=_[_0xc1e9('0x3d')]({},_0x25cdc5,_0x37f24a['options']);return db[_0xc1e9('0x59')][_0xc1e9('0x1e')]({'where':_0x25cdc5[_0xc1e9('0x3b')]})[_0xc1e9('0x25')](function(_0x345fa4){_0xf51620[_0xc1e9('0x1e')]=_0x345fa4;if(_0x37f24a['query'][_0xc1e9('0x3f')]){_0x25cdc5['include']=[{'all':!![]}];}return db['JscriptyAnswerReport'][_0xc1e9('0x57')](_0x25cdc5);})['then'](function(_0x5cef1a){_0xf51620[_0xc1e9('0x41')]=_0x5cef1a;return _0xf51620;});}})['then'](respondWithFilteredResult(_0x46228b,_0x25cdc5))[_0xc1e9('0x44')](handleError(_0x46228b,null));};function char(_0x4f1c74){return _0xc1e9('0x5b')===typeof _0x4f1c74?String[_0xc1e9('0x5c')][_0xc1e9('0x22')](null,arguments):_0x4f1c74;}function needsEncapsulation(_0x3d2ecd){return!!_0x3d2ecd&&(_0x3d2ecd[_0xc1e9('0x5d')]()['indexOf'](char(0xd))>=0x0||_0x3d2ecd[_0xc1e9('0x5d')]()[_0xc1e9('0x5e')](char(0xa))>=0x0||_0x3d2ecd[_0xc1e9('0x5d')]()[_0xc1e9('0x5e')](char(0x2c))>=0x0||_0x3d2ecd[_0xc1e9('0x5d')]()[_0xc1e9('0x5e')](char(0x22))>=0x0);}function encapsulate(_0x435d2b){var _0x2d2b77=char(0x22),_0x2cadd2='\x5c'+char(0x22),_0x266941=_0x435d2b['toString']()[_0xc1e9('0x5f')](new RegExp(_0x2d2b77,'g'),_0x2cadd2);return _0x2d2b77+_0x266941+_0x2d2b77;}exports[_0xc1e9('0x60')]=function(_0x19a5be,_0x802029,_0xb507c9){var _0x12c5a3,_0x5d7b77;var _0x4855d7={'where':{'ProjectId':_0x19a5be['params']['id']}};if(_0x19a5be[_0xc1e9('0x34')][_0xc1e9('0x61')]){_0x4855d7[_0xc1e9('0x3b')][_0xc1e9('0x62')]=JSON[_0xc1e9('0x63')](_0x19a5be[_0xc1e9('0x34')][_0xc1e9('0x61')]);}return db['JscriptySessionReport'][_0xc1e9('0x57')](_0x4855d7)[_0xc1e9('0x25')](handleEntityNotFound(_0x802029,null))[_0xc1e9('0x25')](function(_0x120770){if(_0x120770){_0x12c5a3=_0x120770;return db[_0xc1e9('0x64')]['findAll']({'where':{'SessionId':{'$in':_[_0xc1e9('0x2b')](_0x12c5a3,'id')},'ProjectId':_0x19a5be['params']['id']},'order':_0xc1e9('0x65')});}})[_0xc1e9('0x25')](handleEntityNotFound(_0x802029,null))['then'](function(_0x27e368){if(_0x27e368){_0x5d7b77=_0x27e368;var _0x18eac8={};for(var _0x23d690=0x0,_0x3f23a0=_0x5d7b77[_0xc1e9('0x37')];_0x23d690<_0x3f23a0;_0x23d690++){if(!_0x18eac8[_0xc1e9('0x38')](_0x5d7b77[_0x23d690]['questionId'])){_0x18eac8[_0x5d7b77[_0x23d690][_0xc1e9('0x66')]]=needsEncapsulation(_0x5d7b77[_0x23d690][_0xc1e9('0x67')])?encapsulate(_0x5d7b77[_0x23d690][_0xc1e9('0x67')]):_0x5d7b77[_0x23d690][_0xc1e9('0x67')];}}var _0x3e0625=[],_0x3f860d={};for(var _0x3b02f8=0x0,_0x38f2db=_0x12c5a3[_0xc1e9('0x37')];_0x3b02f8<_0x38f2db;_0x3b02f8++){_0x3f860d={'ProjectId':_0x19a5be[_0xc1e9('0x4e')]['id'],'SessionId':_0x12c5a3[_0x3b02f8]['id'],'StartTime':moment(_0x12c5a3[_0x3b02f8][_0xc1e9('0x62')])['format'](_0xc1e9('0x68'))};for(var _0x3694cb=0x0,_0x495813=_0x5d7b77[_0xc1e9('0x37')];_0x3694cb<_0x495813;_0x3694cb++){if(_0x5d7b77[_0x3694cb][_0xc1e9('0x69')]==_0x12c5a3[_0x3b02f8]['id']&&_0x18eac8[_0xc1e9('0x38')](_0x5d7b77[_0x3694cb][_0xc1e9('0x66')])){_0x3f860d[_0x18eac8[_0x5d7b77[_0x3694cb][_0xc1e9('0x66')]]]=_0x5d7b77[_0x3694cb][_0xc1e9('0x6a')];}}for(var _0x253e7b in _0x18eac8){if(!_0x3f860d[_0xc1e9('0x38')](_0x18eac8[_0x253e7b])){_0x3f860d[_0x18eac8[_0x253e7b]]=null;}}_0x3e0625['push'](_0x3f860d);}return _0x3e0625;}})[_0xc1e9('0x25')](function(_0x5d87eb){if(!_['isEmpty'](_0x5d87eb)){var _0x2c71eb=toCsv(_0x5d87eb);var _0x224d2b=Date[_0xc1e9('0x6b')]();fs[_0xc1e9('0x6c')](util[_0xc1e9('0x6d')](_0xc1e9('0x6e'),_0x19a5be[_0xc1e9('0x4e')]['id'],_0x224d2b),_0x2c71eb);_0x802029[_0xc1e9('0x6f')]('Content-disposition',_0xc1e9('0x70')+util[_0xc1e9('0x6d')](_0xc1e9('0x71'),_0x19a5be[_0xc1e9('0x4e')]['id'],_0x224d2b));_0x802029[_0xc1e9('0x6f')](_0xc1e9('0x72'),'text/csv');return _0x802029[_0xc1e9('0x73')](util[_0xc1e9('0x6d')](_0xc1e9('0x6e'),_0x19a5be['params']['id'],_0x224d2b));}else{return _0x802029[_0xc1e9('0x19')](0xcc);}})[_0xc1e9('0x44')](handleError(_0x802029,null));};