a70e2470c2a64f633393b03f574b8a8fec0ab64c
[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 _0xd0f5=['number','fromCharCode','apply','toString','indexOf','replace','getSummary','startTime','parse','JscriptyQuestionReport','-createdAt','questionId','question','format','YYYY-MM-DD\x20HH:mm:ss','SessionId','push','isEmpty','now','writeFileSync','/tmp/Jscripty_Project_%d_Summary_%s.csv','setHeader','Content-disposition','Jscripty_Project_%d_Summary_%s.csv','text/csv','download','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','bluebird','util','path','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','json','offset','limit','reject','save','update','then','destroy','get','Projects','error','stack','name','send','index','map','JscriptyProject','rawAttributes','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','VIRTUAL','merge','count','includeAll','include','findAll','rows','catch','params','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','find','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','clone','options','omit','createdAt','userProfileId','UserProfileResource','findOne','JscriptySessionReport','ProjectId','getAnswers','JscriptyAnswerReport'];(function(_0xb05857,_0x3fa626){var _0x261167=function(_0x5d3a1d){while(--_0x5d3a1d){_0xb05857['push'](_0xb05857['shift']());}};_0x261167(++_0x3fa626);}(_0xd0f5,0x179));var _0x5d0f=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0xd0f5[_0x3dd15e];return _0x231fd0;};'use strict';var pdf=require(_0x5d0f('0x0'));var emlformat=require(_0x5d0f('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x5d0f('0x2'));var jsonpatch=require(_0x5d0f('0x3'));var rp=require(_0x5d0f('0x4'));var moment=require('moment');var BPromise=require(_0x5d0f('0x5'));var Mustache=require('mustache');var util=require(_0x5d0f('0x6'));var path=require(_0x5d0f('0x7'));var sox=require('sox');var csv=require(_0x5d0f('0x8'));var ejs=require(_0x5d0f('0x9'));var fs=require('fs');var _=require(_0x5d0f('0xa'));var squel=require(_0x5d0f('0xb'));var crypto=require(_0x5d0f('0xc'));var jsforce=require(_0x5d0f('0xd'));var deskjs=require(_0x5d0f('0xe'));var toCsv=require(_0x5d0f('0x8'));var querystring=require(_0x5d0f('0xf'));var Papa=require(_0x5d0f('0x10'));var Redis=require(_0x5d0f('0x11'));var authService=require(_0x5d0f('0x12'));var qs=require(_0x5d0f('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x5d0f('0x14'));var logger=require(_0x5d0f('0x15'))('api');var utils=require(_0x5d0f('0x16'));var config=require(_0x5d0f('0x17'));var licenseUtil=require(_0x5d0f('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x5d03be,_0x437db9){_0x437db9=_0x437db9||0xcc;return function(_0x59fa5d){if(_0x59fa5d){return _0x5d03be[_0x5d0f('0x19')](_0x437db9);}return _0x5d03be[_0x5d0f('0x1a')](_0x437db9)['end']();};}function respondWithResult(_0x1fca70,_0x8f8206){_0x8f8206=_0x8f8206||0xc8;return function(_0xa4b8d8){if(_0xa4b8d8){return _0x1fca70[_0x5d0f('0x1a')](_0x8f8206)[_0x5d0f('0x1b')](_0xa4b8d8);}};}function respondWithFilteredResult(_0x10af17,_0x17b2b6){return function(_0x5ca7c3){if(_0x5ca7c3){var _0x539250=_0x5ca7c3['count'],_0x467cb1=_0x17b2b6['offset'],_0x52153e=_0x17b2b6[_0x5d0f('0x1c')]+_0x17b2b6[_0x5d0f('0x1d')],_0x2ada04;if(_0x52153e>=_0x539250){_0x52153e=_0x539250;_0x2ada04=0xc8;}else{_0x2ada04=0xce;}_0x10af17[_0x5d0f('0x1a')](_0x2ada04);return _0x10af17['set']('Content-Range',_0x467cb1+'-'+_0x52153e+'/'+_0x539250)['json'](_0x5ca7c3);}return null;};}function patchUpdates(_0x4410f4){return function(_0x4b5314){try{jsonpatch['apply'](_0x4b5314,_0x4410f4,!![]);}catch(_0x2f8a4f){return BPromise[_0x5d0f('0x1e')](_0x2f8a4f);}return _0x4b5314[_0x5d0f('0x1f')]();};}function saveUpdates(_0x260747,_0x249cdc){return function(_0x144915){if(_0x144915){return _0x144915[_0x5d0f('0x20')](_0x260747)[_0x5d0f('0x21')](function(_0x13c833){return _0x13c833;});}return null;};}function removeEntity(_0x520f31,_0x3af8cc){return function(_0x4fa285){if(_0x4fa285){return _0x4fa285[_0x5d0f('0x22')]()['then'](function(){var _0xab4631=_0x4fa285[_0x5d0f('0x23')]({'plain':!![]});var _0x5c217e=_0x5d0f('0x24');return db['UserProfileResource']['destroy']({'where':{'type':_0x5c217e,'resourceId':_0xab4631['id']}})[_0x5d0f('0x21')](function(){return _0x4fa285;});})[_0x5d0f('0x21')](function(){_0x520f31[_0x5d0f('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x4dba20,_0x48d236){return function(_0x16b3da){if(!_0x16b3da){_0x4dba20['sendStatus'](0x194);}return _0x16b3da;};}function handleError(_0x5a60da,_0x204721){_0x204721=_0x204721||0x1f4;return function(_0x3bf6f1){logger[_0x5d0f('0x25')](_0x3bf6f1[_0x5d0f('0x26')]);if(_0x3bf6f1['name']){delete _0x3bf6f1[_0x5d0f('0x27')];}_0x5a60da[_0x5d0f('0x1a')](_0x204721)[_0x5d0f('0x28')](_0x3bf6f1);};}exports[_0x5d0f('0x29')]=function(_0x5173ff,_0x13d630){var _0x4ac009={},_0x5e26e8={},_0x5a3d6c={'count':0x0,'rows':[]};var _0x505626=_[_0x5d0f('0x2a')](db[_0x5d0f('0x2b')][_0x5d0f('0x2c')],function(_0x4e2c4a){return{'name':_0x4e2c4a['fieldName'],'type':_0x4e2c4a[_0x5d0f('0x2d')][_0x5d0f('0x2e')]};});_0x5e26e8[_0x5d0f('0x2f')]=_[_0x5d0f('0x2a')](_0x505626,_0x5d0f('0x27'));_0x5e26e8[_0x5d0f('0x30')]=_[_0x5d0f('0x31')](_0x5173ff['query']);_0x5e26e8[_0x5d0f('0x32')]=_[_0x5d0f('0x33')](_0x5e26e8[_0x5d0f('0x2f')],_0x5e26e8[_0x5d0f('0x30')]);_0x4ac009[_0x5d0f('0x34')]=_[_0x5d0f('0x33')](_0x5e26e8[_0x5d0f('0x2f')],qs[_0x5d0f('0x35')](_0x5173ff['query']['fields']));_0x4ac009[_0x5d0f('0x34')]=_0x4ac009['attributes'][_0x5d0f('0x36')]?_0x4ac009['attributes']:_0x5e26e8['model'];if(!_0x5173ff[_0x5d0f('0x30')][_0x5d0f('0x37')](_0x5d0f('0x38'))){_0x4ac009[_0x5d0f('0x1d')]=qs['limit'](_0x5173ff[_0x5d0f('0x30')][_0x5d0f('0x1d')]);_0x4ac009['offset']=qs[_0x5d0f('0x1c')](_0x5173ff[_0x5d0f('0x30')][_0x5d0f('0x1c')]);}_0x4ac009[_0x5d0f('0x39')]=qs[_0x5d0f('0x3a')](_0x5173ff[_0x5d0f('0x30')][_0x5d0f('0x3a')]);_0x4ac009[_0x5d0f('0x3b')]=qs[_0x5d0f('0x32')](_[_0x5d0f('0x3c')](_0x5173ff[_0x5d0f('0x30')],_0x5e26e8['filters']),_0x505626);if(_0x5173ff[_0x5d0f('0x30')][_0x5d0f('0x3d')]){_0x4ac009['where']=_['merge'](_0x4ac009[_0x5d0f('0x3b')],{'$or':_[_0x5d0f('0x2a')](_0x505626,function(_0x2ff03c){if(_0x2ff03c[_0x5d0f('0x2d')]!==_0x5d0f('0x3e')){var _0x3dd8b2={};_0x3dd8b2[_0x2ff03c[_0x5d0f('0x27')]]={'$like':'%'+_0x5173ff['query']['filter']+'%'};return _0x3dd8b2;}})});}_0x4ac009=_[_0x5d0f('0x3f')]({},_0x4ac009,_0x5173ff['options']);var _0x519e78={'where':_0x4ac009['where']};return db[_0x5d0f('0x2b')][_0x5d0f('0x40')](_0x519e78)['then'](function(_0x297555){_0x5a3d6c[_0x5d0f('0x40')]=_0x297555;if(_0x5173ff['query'][_0x5d0f('0x41')]){_0x4ac009[_0x5d0f('0x42')]=[{'all':!![]}];}return db[_0x5d0f('0x2b')][_0x5d0f('0x43')](_0x4ac009);})[_0x5d0f('0x21')](function(_0x399512){_0x5a3d6c[_0x5d0f('0x44')]=_0x399512;return _0x5a3d6c;})['then'](respondWithFilteredResult(_0x13d630,_0x4ac009))[_0x5d0f('0x45')](handleError(_0x13d630,null));};exports['show']=function(_0x5aaabc,_0x3214b9){var _0x1a2245={'raw':![],'where':{'id':_0x5aaabc[_0x5d0f('0x46')]['id']}},_0x37cde4={};_0x37cde4[_0x5d0f('0x2f')]=_[_0x5d0f('0x31')](db[_0x5d0f('0x2b')][_0x5d0f('0x2c')]);_0x37cde4[_0x5d0f('0x30')]=_[_0x5d0f('0x31')](_0x5aaabc['query']);_0x37cde4['filters']=_[_0x5d0f('0x33')](_0x37cde4[_0x5d0f('0x2f')],_0x37cde4[_0x5d0f('0x30')]);_0x1a2245[_0x5d0f('0x34')]=_[_0x5d0f('0x33')](_0x37cde4[_0x5d0f('0x2f')],qs[_0x5d0f('0x35')](_0x5aaabc[_0x5d0f('0x30')][_0x5d0f('0x35')]));_0x1a2245[_0x5d0f('0x34')]=_0x1a2245[_0x5d0f('0x34')]['length']?_0x1a2245[_0x5d0f('0x34')]:_0x37cde4['model'];if(_0x5aaabc['query']['includeAll']){_0x1a2245['include']=[{'all':!![]}];}_0x1a2245=_['merge']({},_0x1a2245,_0x5aaabc['options']);return db[_0x5d0f('0x2b')]['find'](_0x1a2245)[_0x5d0f('0x21')](handleEntityNotFound(_0x3214b9,null))[_0x5d0f('0x21')](respondWithResult(_0x3214b9,null))[_0x5d0f('0x45')](handleError(_0x3214b9,null));};exports['create']=function(_0x2af8fb,_0x1bff34){return db[_0x5d0f('0x2b')][_0x5d0f('0x47')](_0x2af8fb[_0x5d0f('0x48')],{})[_0x5d0f('0x21')](function(_0x3be75c){var _0xb93456=_0x2af8fb[_0x5d0f('0x49')][_0x5d0f('0x23')]({'plain':!![]});if(!_0xb93456)throw new Error(_0x5d0f('0x4a'));if(_0xb93456[_0x5d0f('0x4b')]===_0x5d0f('0x49')){var _0x37152b=_0x3be75c[_0x5d0f('0x23')]({'plain':!![]});var _0xa82c8a=_0x5d0f('0x24');return db[_0x5d0f('0x4c')][_0x5d0f('0x4d')]({'where':{'name':_0xa82c8a,'userProfileId':_0xb93456['userProfileId']},'raw':!![]})[_0x5d0f('0x21')](function(_0x1ceaa8){if(_0x1ceaa8&&_0x1ceaa8[_0x5d0f('0x4e')]===0x0){return db['UserProfileResource'][_0x5d0f('0x47')]({'name':_0x37152b[_0x5d0f('0x27')],'resourceId':_0x37152b['id'],'type':_0x1ceaa8[_0x5d0f('0x27')],'sectionId':_0x1ceaa8['id']},{})['then'](function(){return _0x3be75c;});}else{return _0x3be75c;}})[_0x5d0f('0x45')](function(_0x17b937){logger[_0x5d0f('0x25')](_0x5d0f('0x4f'),_0x17b937);throw _0x17b937;});}return _0x3be75c;})[_0x5d0f('0x21')](respondWithResult(_0x1bff34,0xc9))[_0x5d0f('0x45')](handleError(_0x1bff34,null));};exports[_0x5d0f('0x50')]=function(_0x1777c8,_0x2186f9){var _0x2142e3={'where':{'id':_0x1777c8[_0x5d0f('0x46')]['id']}},_0x188487={};_0x188487[_0x5d0f('0x2f')]=_[_0x5d0f('0x31')](db[_0x5d0f('0x2b')]['rawAttributes']);_0x2142e3[_0x5d0f('0x34')]=_[_0x5d0f('0x33')](_0x188487[_0x5d0f('0x2f')],qs[_0x5d0f('0x35')](_0x1777c8[_0x5d0f('0x30')][_0x5d0f('0x35')]));_0x2142e3[_0x5d0f('0x34')]=_0x2142e3[_0x5d0f('0x34')]['length']?_0x2142e3[_0x5d0f('0x34')]:_0x188487[_0x5d0f('0x2f')];if(_0x1777c8[_0x5d0f('0x30')][_0x5d0f('0x41')]){_0x2142e3[_0x5d0f('0x42')]=[{'all':!![]}];}_0x2142e3=_[_0x5d0f('0x3f')]({},_0x2142e3,_0x1777c8[_0x5d0f('0x51')]);return db[_0x5d0f('0x2b')][_0x5d0f('0x4d')](_0x2142e3)[_0x5d0f('0x21')](handleEntityNotFound(_0x2186f9,null))[_0x5d0f('0x21')](function(_0x4b785c){if(_0x4b785c){var _0x4100c8=_0x4b785c[_0x5d0f('0x23')]({'plain':!![]});_0x4100c8=qs[_0x5d0f('0x52')](_0x4100c8,['id',_0x5d0f('0x53'),'updatedAt']);_0x1777c8[_0x5d0f('0x48')]=_[_0x5d0f('0x52')](_0x1777c8[_0x5d0f('0x48')],['id',_0x5d0f('0x53'),'updatedAt']);return db[_0x5d0f('0x2b')][_0x5d0f('0x47')](_['merge'](_0x4100c8,_0x1777c8[_0x5d0f('0x48')]),{'include':_0x1777c8[_0x5d0f('0x30')][_0x5d0f('0x41')]?[{'all':!![]}]:undefined})[_0x5d0f('0x21')](function(_0x4a24be){var _0x4a7dae=_0x1777c8[_0x5d0f('0x49')][_0x5d0f('0x23')]({'plain':!![]});if(!_0x4a7dae)throw new Error(_0x5d0f('0x4a'));if(_0x4a7dae[_0x5d0f('0x4b')]==='user'){var _0x3e16d9=_0x4a24be[_0x5d0f('0x23')]({'plain':!![]});var _0x58bf65=_0x5d0f('0x24');return db[_0x5d0f('0x4c')][_0x5d0f('0x4d')]({'where':{'name':_0x58bf65,'userProfileId':_0x4a7dae[_0x5d0f('0x54')]},'raw':!![]})[_0x5d0f('0x21')](function(_0x3a9588){if(_0x3a9588&&_0x3a9588['autoAssociation']===0x0){return db[_0x5d0f('0x55')]['create']({'name':_0x3e16d9[_0x5d0f('0x27')],'resourceId':_0x3e16d9['id'],'type':_0x3a9588[_0x5d0f('0x27')],'sectionId':_0x3a9588['id']},{})[_0x5d0f('0x21')](function(){return _0x4a24be;});}else{return _0x4a24be;}})[_0x5d0f('0x45')](function(_0x1c9513){logger[_0x5d0f('0x25')](_0x5d0f('0x4f'),_0x1c9513);throw _0x1c9513;});}return _0x4a24be;});}})[_0x5d0f('0x21')](respondWithResult(_0x2186f9,0xc9))[_0x5d0f('0x45')](handleError(_0x2186f9,null));};exports[_0x5d0f('0x20')]=function(_0x3c5852,_0x5bddbd){if(_0x3c5852[_0x5d0f('0x48')]['id']){delete _0x3c5852[_0x5d0f('0x48')]['id'];}return db[_0x5d0f('0x2b')][_0x5d0f('0x4d')]({'where':{'id':_0x3c5852[_0x5d0f('0x46')]['id']}})[_0x5d0f('0x21')](handleEntityNotFound(_0x5bddbd,null))[_0x5d0f('0x21')](saveUpdates(_0x3c5852[_0x5d0f('0x48')],null))[_0x5d0f('0x21')](respondWithResult(_0x5bddbd,null))[_0x5d0f('0x45')](handleError(_0x5bddbd,null));};exports['destroy']=function(_0x37b784,_0x398a00){return db[_0x5d0f('0x2b')]['find']({'where':{'id':_0x37b784[_0x5d0f('0x46')]['id']}})[_0x5d0f('0x21')](handleEntityNotFound(_0x398a00,null))['then'](removeEntity(_0x398a00,null))[_0x5d0f('0x45')](handleError(_0x398a00,null));};exports['getSessions']=function(_0x54a6c4,_0x2296f0,_0xfc4e60){var _0x4e103b={'raw':!![],'where':{}};var _0x1dbb24={};var _0x396798={'count':0x0,'rows':[]};return db[_0x5d0f('0x2b')][_0x5d0f('0x56')]({'where':{'id':_0x54a6c4[_0x5d0f('0x46')]['id']}})[_0x5d0f('0x21')](handleEntityNotFound(_0x2296f0,null))['then'](function(_0x6d2974){if(_0x6d2974){_0x1dbb24[_0x5d0f('0x2f')]=_[_0x5d0f('0x31')](db[_0x5d0f('0x57')][_0x5d0f('0x2c')]);_0x1dbb24[_0x5d0f('0x30')]=_[_0x5d0f('0x31')](_0x54a6c4['query']);_0x1dbb24[_0x5d0f('0x32')]=_[_0x5d0f('0x33')](_0x1dbb24[_0x5d0f('0x2f')],_0x1dbb24['query']);_0x4e103b[_0x5d0f('0x34')]=_[_0x5d0f('0x33')](_0x1dbb24[_0x5d0f('0x2f')],qs[_0x5d0f('0x35')](_0x54a6c4['query']['fields']));_0x4e103b[_0x5d0f('0x34')]=_0x4e103b[_0x5d0f('0x34')][_0x5d0f('0x36')]?_0x4e103b[_0x5d0f('0x34')]:_0x1dbb24[_0x5d0f('0x2f')];if(!_0x54a6c4[_0x5d0f('0x30')][_0x5d0f('0x37')]('nolimit')){_0x4e103b[_0x5d0f('0x1d')]=qs['limit'](_0x54a6c4[_0x5d0f('0x30')][_0x5d0f('0x1d')]);_0x4e103b[_0x5d0f('0x1c')]=qs[_0x5d0f('0x1c')](_0x54a6c4[_0x5d0f('0x30')][_0x5d0f('0x1c')]);}_0x4e103b[_0x5d0f('0x39')]=qs[_0x5d0f('0x3a')](_0x54a6c4['query'][_0x5d0f('0x3a')]);_0x4e103b[_0x5d0f('0x3b')]=qs[_0x5d0f('0x32')](_[_0x5d0f('0x3c')](_0x54a6c4[_0x5d0f('0x30')],_0x1dbb24[_0x5d0f('0x32')]));_0x4e103b[_0x5d0f('0x3b')][_0x5d0f('0x58')]=_0x6d2974['id'];if(_0x54a6c4[_0x5d0f('0x30')][_0x5d0f('0x3d')]){_0x4e103b[_0x5d0f('0x3b')]=_[_0x5d0f('0x3f')](_0x4e103b[_0x5d0f('0x3b')],{'$or':_[_0x5d0f('0x2a')](_0x4e103b[_0x5d0f('0x34')],function(_0x4614c8){var _0x4838d4={};_0x4838d4[_0x4614c8]={'$like':'%'+_0x54a6c4[_0x5d0f('0x30')]['filter']+'%'};return _0x4838d4;})});}_0x4e103b=_[_0x5d0f('0x3f')]({},_0x4e103b,_0x54a6c4['options']);return db['JscriptySessionReport']['count']({'where':_0x4e103b[_0x5d0f('0x3b')]})[_0x5d0f('0x21')](function(_0x2e7846){_0x396798[_0x5d0f('0x40')]=_0x2e7846;if(_0x54a6c4[_0x5d0f('0x30')][_0x5d0f('0x41')]){_0x4e103b[_0x5d0f('0x42')]=[{'all':!![]}];}return db[_0x5d0f('0x57')][_0x5d0f('0x43')](_0x4e103b);})[_0x5d0f('0x21')](function(_0x48dc8a){_0x396798['rows']=_0x48dc8a;return _0x396798;});}})[_0x5d0f('0x21')](respondWithFilteredResult(_0x2296f0,_0x4e103b))['catch'](handleError(_0x2296f0,null));};exports[_0x5d0f('0x59')]=function(_0x493075,_0x1c8826,_0x5ef2ac){var _0x214230={'raw':!![],'where':{}};var _0x5832d7={};var _0x30e292={'count':0x0,'rows':[]};return db[_0x5d0f('0x2b')][_0x5d0f('0x56')]({'where':{'id':_0x493075[_0x5d0f('0x46')]['id']}})[_0x5d0f('0x21')](handleEntityNotFound(_0x1c8826,null))['then'](function(_0x1452ab){if(_0x1452ab){_0x5832d7[_0x5d0f('0x2f')]=_[_0x5d0f('0x31')](db['JscriptyAnswerReport'][_0x5d0f('0x2c')]);_0x5832d7[_0x5d0f('0x30')]=_['keys'](_0x493075[_0x5d0f('0x30')]);_0x5832d7[_0x5d0f('0x32')]=_[_0x5d0f('0x33')](_0x5832d7[_0x5d0f('0x2f')],_0x5832d7[_0x5d0f('0x30')]);_0x214230['attributes']=_['intersection'](_0x5832d7[_0x5d0f('0x2f')],qs['fields'](_0x493075['query'][_0x5d0f('0x35')]));_0x214230[_0x5d0f('0x34')]=_0x214230['attributes'][_0x5d0f('0x36')]?_0x214230[_0x5d0f('0x34')]:_0x5832d7[_0x5d0f('0x2f')];if(!_0x493075['query'][_0x5d0f('0x37')](_0x5d0f('0x38'))){_0x214230['limit']=qs[_0x5d0f('0x1d')](_0x493075['query']['limit']);_0x214230[_0x5d0f('0x1c')]=qs[_0x5d0f('0x1c')](_0x493075[_0x5d0f('0x30')][_0x5d0f('0x1c')]);}_0x214230[_0x5d0f('0x39')]=qs[_0x5d0f('0x3a')](_0x493075[_0x5d0f('0x30')][_0x5d0f('0x3a')]);_0x214230[_0x5d0f('0x3b')]=qs[_0x5d0f('0x32')](_[_0x5d0f('0x3c')](_0x493075[_0x5d0f('0x30')],_0x5832d7['filters']));_0x214230[_0x5d0f('0x3b')][_0x5d0f('0x58')]=_0x1452ab['id'];if(_0x493075[_0x5d0f('0x30')][_0x5d0f('0x3d')]){_0x214230[_0x5d0f('0x3b')]=_[_0x5d0f('0x3f')](_0x214230[_0x5d0f('0x3b')],{'$or':_[_0x5d0f('0x2a')](_0x214230[_0x5d0f('0x34')],function(_0x38de04){var _0x53f9ee={};_0x53f9ee[_0x38de04]={'$like':'%'+_0x493075[_0x5d0f('0x30')][_0x5d0f('0x3d')]+'%'};return _0x53f9ee;})});}_0x214230=_[_0x5d0f('0x3f')]({},_0x214230,_0x493075['options']);return db[_0x5d0f('0x5a')]['count']({'where':_0x214230[_0x5d0f('0x3b')]})[_0x5d0f('0x21')](function(_0x4914e8){_0x30e292[_0x5d0f('0x40')]=_0x4914e8;if(_0x493075[_0x5d0f('0x30')][_0x5d0f('0x41')]){_0x214230[_0x5d0f('0x42')]=[{'all':!![]}];}return db[_0x5d0f('0x5a')][_0x5d0f('0x43')](_0x214230);})[_0x5d0f('0x21')](function(_0x20ae10){_0x30e292[_0x5d0f('0x44')]=_0x20ae10;return _0x30e292;});}})['then'](respondWithFilteredResult(_0x1c8826,_0x214230))[_0x5d0f('0x45')](handleError(_0x1c8826,null));};function char(_0x56f06){return _0x5d0f('0x5b')===typeof _0x56f06?String[_0x5d0f('0x5c')][_0x5d0f('0x5d')](null,arguments):_0x56f06;}function needsEncapsulation(_0x2028e0){return!!_0x2028e0&&(_0x2028e0[_0x5d0f('0x5e')]()[_0x5d0f('0x5f')](char(0xd))>=0x0||_0x2028e0[_0x5d0f('0x5e')]()[_0x5d0f('0x5f')](char(0xa))>=0x0||_0x2028e0[_0x5d0f('0x5e')]()[_0x5d0f('0x5f')](char(0x2c))>=0x0||_0x2028e0['toString']()[_0x5d0f('0x5f')](char(0x22))>=0x0);}function encapsulate(_0x18cf9e){var _0x5dd4b8=char(0x22),_0x669404='\x5c'+char(0x22),_0x3e528a=_0x18cf9e[_0x5d0f('0x5e')]()[_0x5d0f('0x60')](new RegExp(_0x5dd4b8,'g'),_0x669404);return _0x5dd4b8+_0x3e528a+_0x5dd4b8;}exports[_0x5d0f('0x61')]=function(_0x22cc49,_0x14d289,_0xfade4f){var _0x512db0,_0x36a07b;var _0x1c254f={'where':{'ProjectId':_0x22cc49[_0x5d0f('0x46')]['id']}};if(_0x22cc49[_0x5d0f('0x30')][_0x5d0f('0x62')]){_0x1c254f[_0x5d0f('0x3b')]['starttime']=JSON[_0x5d0f('0x63')](_0x22cc49['query'][_0x5d0f('0x62')]);}return db[_0x5d0f('0x57')][_0x5d0f('0x43')](_0x1c254f)['then'](handleEntityNotFound(_0x14d289,null))[_0x5d0f('0x21')](function(_0x412c6e){if(_0x412c6e){_0x512db0=_0x412c6e;return db[_0x5d0f('0x64')][_0x5d0f('0x43')]({'where':{'SessionId':{'$in':_[_0x5d0f('0x2a')](_0x512db0,'id')},'ProjectId':_0x22cc49[_0x5d0f('0x46')]['id']},'order':_0x5d0f('0x65')});}})['then'](handleEntityNotFound(_0x14d289,null))[_0x5d0f('0x21')](function(_0x122bbe){if(_0x122bbe){_0x36a07b=_0x122bbe;var _0x5cd1bd={};for(var _0x2fd68d=0x0,_0x194c66=_0x36a07b[_0x5d0f('0x36')];_0x2fd68d<_0x194c66;_0x2fd68d++){if(!_0x5cd1bd[_0x5d0f('0x37')](_0x36a07b[_0x2fd68d]['questionId'])){_0x5cd1bd[_0x36a07b[_0x2fd68d][_0x5d0f('0x66')]]=needsEncapsulation(_0x36a07b[_0x2fd68d][_0x5d0f('0x67')])?encapsulate(_0x36a07b[_0x2fd68d][_0x5d0f('0x67')]):_0x36a07b[_0x2fd68d]['question'];}}var _0xe405f=[],_0x49f4bb={};for(var _0x464c06=0x0,_0x5f1de0=_0x512db0['length'];_0x464c06<_0x5f1de0;_0x464c06++){_0x49f4bb={'ProjectId':_0x22cc49['params']['id'],'SessionId':_0x512db0[_0x464c06]['id'],'StartTime':moment(_0x512db0[_0x464c06]['starttime'])[_0x5d0f('0x68')](_0x5d0f('0x69'))};for(var _0x10246a=0x0,_0x4d24d2=_0x36a07b[_0x5d0f('0x36')];_0x10246a<_0x4d24d2;_0x10246a++){if(_0x36a07b[_0x10246a][_0x5d0f('0x6a')]==_0x512db0[_0x464c06]['id']&&_0x5cd1bd[_0x5d0f('0x37')](_0x36a07b[_0x10246a]['questionId'])){_0x49f4bb[_0x5cd1bd[_0x36a07b[_0x10246a][_0x5d0f('0x66')]]]=_0x36a07b[_0x10246a]['answer'];}}for(var _0x19f395 in _0x5cd1bd){if(!_0x49f4bb[_0x5d0f('0x37')](_0x5cd1bd[_0x19f395])){_0x49f4bb[_0x5cd1bd[_0x19f395]]=null;}}_0xe405f[_0x5d0f('0x6b')](_0x49f4bb);}return _0xe405f;}})[_0x5d0f('0x21')](function(_0x5e6177){if(!_[_0x5d0f('0x6c')](_0x5e6177)){var _0x1a0013=toCsv(_0x5e6177);var _0x13e136=Date[_0x5d0f('0x6d')]();fs[_0x5d0f('0x6e')](util[_0x5d0f('0x68')](_0x5d0f('0x6f'),_0x22cc49[_0x5d0f('0x46')]['id'],_0x13e136),_0x1a0013);_0x14d289[_0x5d0f('0x70')](_0x5d0f('0x71'),'attachment;\x20filename='+util['format'](_0x5d0f('0x72'),_0x22cc49['params']['id'],_0x13e136));_0x14d289[_0x5d0f('0x70')]('Content-type',_0x5d0f('0x73'));return _0x14d289[_0x5d0f('0x74')](util['format'](_0x5d0f('0x6f'),_0x22cc49[_0x5d0f('0x46')]['id'],_0x13e136));}else{return _0x14d289[_0x5d0f('0x19')](0xcc);}})[_0x5d0f('0x45')](handleError(_0x14d289,null));};