Built motion from commit 0900f080.|2.5.45
[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 _0xf960=['rows','params','keys','rawAttributes','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','find','userProfileId','catch','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','clone','omit','createdAt','updatedAt','autoAssociation','update','getSessions','findOne','JscriptySessionReport','order','ProjectId','JscriptyAnswerReport','nolimit','fromCharCode','apply','toString','indexOf','replace','getSummary','startTime','starttime','parse','JscriptyQuestionReport','questionId','question','answer','push','isEmpty','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','zip-dir','request-promise','moment','mustache','sox','to-csv','ejs','fs-extra','lodash','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','end','status','json','offset','undefined','limit','count','Content-Range','reject','save','then','destroy','get','Projects','UserProfileResource','error','stack','name','send','index','map','JscriptyProject','fieldName','type','key','model','query','attributes','intersection','fields','length','hasOwnProperty','sort','where','pick','filters','filter','merge','VIRTUAL','options','includeAll','include','findAll'];(function(_0x321bb2,_0x202794){var _0x9c12ed=function(_0x263dd3){while(--_0x263dd3){_0x321bb2['push'](_0x321bb2['shift']());}};_0x9c12ed(++_0x202794);}(_0xf960,0x193));var _0x0f96=function(_0x4d35f3,_0x19ba66){_0x4d35f3=_0x4d35f3-0x0;var _0x382fea=_0xf960[_0x4d35f3];return _0x382fea;};'use strict';var emlformat=require(_0x0f96('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x0f96('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x0f96('0x2'));var moment=require(_0x0f96('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x0f96('0x4'));var util=require('util');var path=require('path');var sox=require(_0x0f96('0x5'));var csv=require(_0x0f96('0x6'));var ejs=require(_0x0f96('0x7'));var fs=require('fs');var fs_extra=require(_0x0f96('0x8'));var _=require(_0x0f96('0x9'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x0f96('0xa'));var deskjs=require(_0x0f96('0xb'));var toCsv=require(_0x0f96('0x6'));var querystring=require(_0x0f96('0xc'));var Papa=require(_0x0f96('0xd'));var Redis=require(_0x0f96('0xe'));var authService=require('../../components/auth/service');var qs=require(_0x0f96('0xf'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x0f96('0x10'));var logger=require('../../config/logger')(_0x0f96('0x11'));var utils=require(_0x0f96('0x12'));var config=require(_0x0f96('0x13'));var licenseUtil=require(_0x0f96('0x14'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0xe8aee6,_0x23182a){_0x23182a=_0x23182a||0xcc;return function(_0x1c0283){if(_0x1c0283){return _0xe8aee6[_0x0f96('0x15')](_0x23182a);}return _0xe8aee6['status'](_0x23182a)[_0x0f96('0x16')]();};}function respondWithResult(_0x103185,_0x36d1ca){_0x36d1ca=_0x36d1ca||0xc8;return function(_0x386943){if(_0x386943){return _0x103185[_0x0f96('0x17')](_0x36d1ca)[_0x0f96('0x18')](_0x386943);}};}function respondWithFilteredResult(_0x5080c3,_0x232d94){return function(_0x47ba05){if(_0x47ba05){var _0x4f55cf=typeof _0x232d94[_0x0f96('0x19')]===_0x0f96('0x1a')&&typeof _0x232d94[_0x0f96('0x1b')]===_0x0f96('0x1a');var _0x3f1273=_0x47ba05[_0x0f96('0x1c')];var _0x2dc06c=_0x4f55cf?0x0:_0x232d94[_0x0f96('0x19')];var _0x36ded7=_0x4f55cf?_0x47ba05[_0x0f96('0x1c')]:_0x232d94[_0x0f96('0x19')]+_0x232d94[_0x0f96('0x1b')];var _0x173f3c;if(_0x36ded7>=_0x3f1273){_0x36ded7=_0x3f1273;_0x173f3c=0xc8;}else{_0x173f3c=0xce;}_0x5080c3[_0x0f96('0x17')](_0x173f3c);return _0x5080c3['set'](_0x0f96('0x1d'),_0x2dc06c+'-'+_0x36ded7+'/'+_0x3f1273)[_0x0f96('0x18')](_0x47ba05);}return null;};}function patchUpdates(_0x125b50){return function(_0xea96e0){try{jsonpatch['apply'](_0xea96e0,_0x125b50,!![]);}catch(_0x210a93){return BPromise[_0x0f96('0x1e')](_0x210a93);}return _0xea96e0[_0x0f96('0x1f')]();};}function saveUpdates(_0x47993c,_0x25494f){return function(_0x201226){if(_0x201226){return _0x201226['update'](_0x47993c)[_0x0f96('0x20')](function(_0x142de1){return _0x142de1;});}return null;};}function removeEntity(_0x366146,_0x21bd49){return function(_0x4b3d9f){if(_0x4b3d9f){return _0x4b3d9f[_0x0f96('0x21')]()[_0x0f96('0x20')](function(){var _0x213c30=_0x4b3d9f[_0x0f96('0x22')]({'plain':!![]});var _0x262353=_0x0f96('0x23');return db[_0x0f96('0x24')]['destroy']({'where':{'type':_0x262353,'resourceId':_0x213c30['id']}})[_0x0f96('0x20')](function(){return _0x4b3d9f;});})[_0x0f96('0x20')](function(){_0x366146[_0x0f96('0x17')](0xcc)['end']();});}};}function handleEntityNotFound(_0x43128e,_0x25e743){return function(_0x44b861){if(!_0x44b861){_0x43128e[_0x0f96('0x15')](0x194);}return _0x44b861;};}function handleError(_0x1b05f7,_0x591c91){_0x591c91=_0x591c91||0x1f4;return function(_0x2961e1){logger[_0x0f96('0x25')](_0x2961e1[_0x0f96('0x26')]);if(_0x2961e1[_0x0f96('0x27')]){delete _0x2961e1[_0x0f96('0x27')];}_0x1b05f7[_0x0f96('0x17')](_0x591c91)[_0x0f96('0x28')](_0x2961e1);};}exports[_0x0f96('0x29')]=function(_0x1bd85b,_0x163f5f){var _0x5432e0={},_0x12b6f4={},_0x42de95={'count':0x0,'rows':[]};var _0x56bbc7=_[_0x0f96('0x2a')](db[_0x0f96('0x2b')]['rawAttributes'],function(_0x47162c){return{'name':_0x47162c[_0x0f96('0x2c')],'type':_0x47162c[_0x0f96('0x2d')][_0x0f96('0x2e')]};});_0x12b6f4[_0x0f96('0x2f')]=_[_0x0f96('0x2a')](_0x56bbc7,_0x0f96('0x27'));_0x12b6f4['query']=_['keys'](_0x1bd85b[_0x0f96('0x30')]);_0x12b6f4['filters']=_['intersection'](_0x12b6f4['model'],_0x12b6f4[_0x0f96('0x30')]);_0x5432e0[_0x0f96('0x31')]=_[_0x0f96('0x32')](_0x12b6f4['model'],qs[_0x0f96('0x33')](_0x1bd85b[_0x0f96('0x30')][_0x0f96('0x33')]));_0x5432e0[_0x0f96('0x31')]=_0x5432e0[_0x0f96('0x31')][_0x0f96('0x34')]?_0x5432e0[_0x0f96('0x31')]:_0x12b6f4[_0x0f96('0x2f')];if(!_0x1bd85b['query'][_0x0f96('0x35')]('nolimit')){_0x5432e0[_0x0f96('0x1b')]=qs[_0x0f96('0x1b')](_0x1bd85b[_0x0f96('0x30')][_0x0f96('0x1b')]);_0x5432e0[_0x0f96('0x19')]=qs[_0x0f96('0x19')](_0x1bd85b[_0x0f96('0x30')]['offset']);}_0x5432e0['order']=qs[_0x0f96('0x36')](_0x1bd85b[_0x0f96('0x30')][_0x0f96('0x36')]);_0x5432e0[_0x0f96('0x37')]=qs['filters'](_[_0x0f96('0x38')](_0x1bd85b[_0x0f96('0x30')],_0x12b6f4[_0x0f96('0x39')]),_0x56bbc7);if(_0x1bd85b[_0x0f96('0x30')][_0x0f96('0x3a')]){_0x5432e0[_0x0f96('0x37')]=_[_0x0f96('0x3b')](_0x5432e0[_0x0f96('0x37')],{'$or':_[_0x0f96('0x2a')](_0x56bbc7,function(_0x59e0a7){if(_0x59e0a7[_0x0f96('0x2d')]!==_0x0f96('0x3c')){var _0x524385={};_0x524385[_0x59e0a7[_0x0f96('0x27')]]={'$like':'%'+_0x1bd85b[_0x0f96('0x30')][_0x0f96('0x3a')]+'%'};return _0x524385;}})});}_0x5432e0=_['merge']({},_0x5432e0,_0x1bd85b[_0x0f96('0x3d')]);var _0x13d33c={'where':_0x5432e0['where']};return db[_0x0f96('0x2b')][_0x0f96('0x1c')](_0x13d33c)['then'](function(_0x24a4d9){_0x42de95['count']=_0x24a4d9;if(_0x1bd85b['query'][_0x0f96('0x3e')]){_0x5432e0[_0x0f96('0x3f')]=[{'all':!![]}];}return db[_0x0f96('0x2b')][_0x0f96('0x40')](_0x5432e0);})[_0x0f96('0x20')](function(_0x1e6b76){_0x42de95[_0x0f96('0x41')]=_0x1e6b76;return _0x42de95;})[_0x0f96('0x20')](respondWithFilteredResult(_0x163f5f,_0x5432e0))['catch'](handleError(_0x163f5f,null));};exports['show']=function(_0x273a0a,_0x5ecc6c){var _0x3c9021={'raw':![],'where':{'id':_0x273a0a[_0x0f96('0x42')]['id']}},_0x1f0718={};_0x1f0718[_0x0f96('0x2f')]=_[_0x0f96('0x43')](db[_0x0f96('0x2b')][_0x0f96('0x44')]);_0x1f0718['query']=_[_0x0f96('0x43')](_0x273a0a[_0x0f96('0x30')]);_0x1f0718[_0x0f96('0x39')]=_[_0x0f96('0x32')](_0x1f0718[_0x0f96('0x2f')],_0x1f0718[_0x0f96('0x30')]);_0x3c9021[_0x0f96('0x31')]=_[_0x0f96('0x32')](_0x1f0718[_0x0f96('0x2f')],qs[_0x0f96('0x33')](_0x273a0a[_0x0f96('0x30')][_0x0f96('0x33')]));_0x3c9021['attributes']=_0x3c9021['attributes'][_0x0f96('0x34')]?_0x3c9021[_0x0f96('0x31')]:_0x1f0718[_0x0f96('0x2f')];if(_0x273a0a['query'][_0x0f96('0x3e')]){_0x3c9021[_0x0f96('0x3f')]=[{'all':!![]}];}_0x3c9021=_[_0x0f96('0x3b')]({},_0x3c9021,_0x273a0a[_0x0f96('0x3d')]);return db[_0x0f96('0x2b')]['find'](_0x3c9021)[_0x0f96('0x20')](handleEntityNotFound(_0x5ecc6c,null))[_0x0f96('0x20')](respondWithResult(_0x5ecc6c,null))['catch'](handleError(_0x5ecc6c,null));};exports['create']=function(_0x26a29a,_0x3fce0c){return db[_0x0f96('0x2b')][_0x0f96('0x45')](_0x26a29a[_0x0f96('0x46')],{})['then'](function(_0x3a59dd){var _0x3fb81e=_0x26a29a[_0x0f96('0x47')][_0x0f96('0x22')]({'plain':!![]});if(!_0x3fb81e)throw new Error(_0x0f96('0x48'));if(_0x3fb81e[_0x0f96('0x49')]===_0x0f96('0x47')){var _0xc61a62=_0x3a59dd['get']({'plain':!![]});var _0x10ec90='Projects';return db[_0x0f96('0x4a')][_0x0f96('0x4b')]({'where':{'name':_0x10ec90,'userProfileId':_0x3fb81e[_0x0f96('0x4c')]},'raw':!![]})[_0x0f96('0x20')](function(_0x332ff2){if(_0x332ff2&&_0x332ff2['autoAssociation']===0x0){return db[_0x0f96('0x24')]['create']({'name':_0xc61a62['name'],'resourceId':_0xc61a62['id'],'type':_0x332ff2[_0x0f96('0x27')],'sectionId':_0x332ff2['id']},{})[_0x0f96('0x20')](function(){return _0x3a59dd;});}else{return _0x3a59dd;}})[_0x0f96('0x4d')](function(_0x5e307c){logger['error'](_0x0f96('0x4e'),_0x5e307c);throw _0x5e307c;});}return _0x3a59dd;})['then'](respondWithResult(_0x3fce0c,0xc9))[_0x0f96('0x4d')](handleError(_0x3fce0c,null));};exports[_0x0f96('0x4f')]=function(_0x5eb63b,_0x58f1b8){var _0x515c93={'where':{'id':_0x5eb63b[_0x0f96('0x42')]['id']}},_0x4ffb51={};_0x4ffb51[_0x0f96('0x2f')]=_[_0x0f96('0x43')](db[_0x0f96('0x2b')][_0x0f96('0x44')]);_0x515c93[_0x0f96('0x31')]=_[_0x0f96('0x32')](_0x4ffb51[_0x0f96('0x2f')],qs[_0x0f96('0x33')](_0x5eb63b['query'][_0x0f96('0x33')]));_0x515c93['attributes']=_0x515c93[_0x0f96('0x31')][_0x0f96('0x34')]?_0x515c93['attributes']:_0x4ffb51[_0x0f96('0x2f')];if(_0x5eb63b['query'][_0x0f96('0x3e')]){_0x515c93['include']=[{'all':!![]}];}_0x515c93=_[_0x0f96('0x3b')]({},_0x515c93,_0x5eb63b[_0x0f96('0x3d')]);return db[_0x0f96('0x2b')]['find'](_0x515c93)[_0x0f96('0x20')](handleEntityNotFound(_0x58f1b8,null))[_0x0f96('0x20')](function(_0x441c92){if(_0x441c92){var _0x3eebc9=_0x441c92[_0x0f96('0x22')]({'plain':!![]});_0x3eebc9=qs[_0x0f96('0x50')](_0x3eebc9,['id',_0x0f96('0x51'),'updatedAt']);_0x5eb63b[_0x0f96('0x46')]=_['omit'](_0x5eb63b[_0x0f96('0x46')],['id',_0x0f96('0x51'),_0x0f96('0x52')]);return db[_0x0f96('0x2b')]['create'](_[_0x0f96('0x3b')](_0x3eebc9,_0x5eb63b['body']),{'include':_0x5eb63b[_0x0f96('0x30')]['includeAll']?[{'all':!![]}]:undefined})[_0x0f96('0x20')](function(_0x2e9333){var _0x5df686=_0x5eb63b['user'][_0x0f96('0x22')]({'plain':!![]});if(!_0x5df686)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x5df686['role']==='user'){var _0x590888=_0x2e9333['get']({'plain':!![]});var _0x27a191=_0x0f96('0x23');return db[_0x0f96('0x4a')][_0x0f96('0x4b')]({'where':{'name':_0x27a191,'userProfileId':_0x5df686[_0x0f96('0x4c')]},'raw':!![]})[_0x0f96('0x20')](function(_0x240db3){if(_0x240db3&&_0x240db3[_0x0f96('0x53')]===0x0){return db['UserProfileResource'][_0x0f96('0x45')]({'name':_0x590888[_0x0f96('0x27')],'resourceId':_0x590888['id'],'type':_0x240db3[_0x0f96('0x27')],'sectionId':_0x240db3['id']},{})['then'](function(){return _0x2e9333;});}else{return _0x2e9333;}})[_0x0f96('0x4d')](function(_0x3e69ee){logger[_0x0f96('0x25')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x3e69ee);throw _0x3e69ee;});}return _0x2e9333;});}})[_0x0f96('0x20')](respondWithResult(_0x58f1b8,0xc9))['catch'](handleError(_0x58f1b8,null));};exports[_0x0f96('0x54')]=function(_0x3ec026,_0x4de794){if(_0x3ec026[_0x0f96('0x46')]['id']){delete _0x3ec026['body']['id'];}return db[_0x0f96('0x2b')][_0x0f96('0x4b')]({'where':{'id':_0x3ec026[_0x0f96('0x42')]['id']}})[_0x0f96('0x20')](handleEntityNotFound(_0x4de794,null))['then'](saveUpdates(_0x3ec026[_0x0f96('0x46')],null))['then'](respondWithResult(_0x4de794,null))[_0x0f96('0x4d')](handleError(_0x4de794,null));};exports[_0x0f96('0x21')]=function(_0x44ee2c,_0x4ec124){return db['JscriptyProject']['find']({'where':{'id':_0x44ee2c['params']['id']}})[_0x0f96('0x20')](handleEntityNotFound(_0x4ec124,null))[_0x0f96('0x20')](removeEntity(_0x4ec124,null))['catch'](handleError(_0x4ec124,null));};exports[_0x0f96('0x55')]=function(_0x2b83f4,_0x4e5e27,_0x201074){var _0x3ff7b5={'raw':!![],'where':{}};var _0x137c87={};var _0x5d0c55={'count':0x0,'rows':[]};return db[_0x0f96('0x2b')][_0x0f96('0x56')]({'where':{'id':_0x2b83f4['params']['id']}})['then'](handleEntityNotFound(_0x4e5e27,null))[_0x0f96('0x20')](function(_0x42a42f){if(_0x42a42f){_0x137c87[_0x0f96('0x2f')]=_[_0x0f96('0x43')](db[_0x0f96('0x57')][_0x0f96('0x44')]);_0x137c87[_0x0f96('0x30')]=_[_0x0f96('0x43')](_0x2b83f4[_0x0f96('0x30')]);_0x137c87[_0x0f96('0x39')]=_[_0x0f96('0x32')](_0x137c87[_0x0f96('0x2f')],_0x137c87[_0x0f96('0x30')]);_0x3ff7b5[_0x0f96('0x31')]=_[_0x0f96('0x32')](_0x137c87[_0x0f96('0x2f')],qs[_0x0f96('0x33')](_0x2b83f4[_0x0f96('0x30')][_0x0f96('0x33')]));_0x3ff7b5[_0x0f96('0x31')]=_0x3ff7b5[_0x0f96('0x31')][_0x0f96('0x34')]?_0x3ff7b5[_0x0f96('0x31')]:_0x137c87[_0x0f96('0x2f')];if(!_0x2b83f4[_0x0f96('0x30')][_0x0f96('0x35')]('nolimit')){_0x3ff7b5[_0x0f96('0x1b')]=qs[_0x0f96('0x1b')](_0x2b83f4[_0x0f96('0x30')][_0x0f96('0x1b')]);_0x3ff7b5[_0x0f96('0x19')]=qs[_0x0f96('0x19')](_0x2b83f4[_0x0f96('0x30')][_0x0f96('0x19')]);}_0x3ff7b5[_0x0f96('0x58')]=qs[_0x0f96('0x36')](_0x2b83f4['query'][_0x0f96('0x36')]);_0x3ff7b5[_0x0f96('0x37')]=qs[_0x0f96('0x39')](_[_0x0f96('0x38')](_0x2b83f4[_0x0f96('0x30')],_0x137c87[_0x0f96('0x39')]));_0x3ff7b5[_0x0f96('0x37')][_0x0f96('0x59')]=_0x42a42f['id'];if(_0x2b83f4[_0x0f96('0x30')]['filter']){_0x3ff7b5[_0x0f96('0x37')]=_[_0x0f96('0x3b')](_0x3ff7b5['where'],{'$or':_[_0x0f96('0x2a')](_0x3ff7b5[_0x0f96('0x31')],function(_0xbd932f){var _0x31ee52={};_0x31ee52[_0xbd932f]={'$like':'%'+_0x2b83f4[_0x0f96('0x30')][_0x0f96('0x3a')]+'%'};return _0x31ee52;})});}_0x3ff7b5=_[_0x0f96('0x3b')]({},_0x3ff7b5,_0x2b83f4['options']);return db[_0x0f96('0x57')][_0x0f96('0x1c')]({'where':_0x3ff7b5[_0x0f96('0x37')]})[_0x0f96('0x20')](function(_0x5e0286){_0x5d0c55[_0x0f96('0x1c')]=_0x5e0286;if(_0x2b83f4[_0x0f96('0x30')][_0x0f96('0x3e')]){_0x3ff7b5['include']=[{'all':!![]}];}return db[_0x0f96('0x57')][_0x0f96('0x40')](_0x3ff7b5);})['then'](function(_0x1979cb){_0x5d0c55['rows']=_0x1979cb;return _0x5d0c55;});}})[_0x0f96('0x20')](respondWithFilteredResult(_0x4e5e27,_0x3ff7b5))[_0x0f96('0x4d')](handleError(_0x4e5e27,null));};exports['getAnswers']=function(_0x5d6b89,_0x2665ea,_0x1f8d8c){var _0x1b2dac={'raw':!![],'where':{}};var _0x3eda76={};var _0x1ca9be={'count':0x0,'rows':[]};return db['JscriptyProject'][_0x0f96('0x56')]({'where':{'id':_0x5d6b89[_0x0f96('0x42')]['id']}})[_0x0f96('0x20')](handleEntityNotFound(_0x2665ea,null))[_0x0f96('0x20')](function(_0x5226e7){if(_0x5226e7){_0x3eda76[_0x0f96('0x2f')]=_[_0x0f96('0x43')](db[_0x0f96('0x5a')][_0x0f96('0x44')]);_0x3eda76[_0x0f96('0x30')]=_[_0x0f96('0x43')](_0x5d6b89[_0x0f96('0x30')]);_0x3eda76[_0x0f96('0x39')]=_['intersection'](_0x3eda76['model'],_0x3eda76[_0x0f96('0x30')]);_0x1b2dac[_0x0f96('0x31')]=_[_0x0f96('0x32')](_0x3eda76[_0x0f96('0x2f')],qs[_0x0f96('0x33')](_0x5d6b89[_0x0f96('0x30')]['fields']));_0x1b2dac[_0x0f96('0x31')]=_0x1b2dac[_0x0f96('0x31')]['length']?_0x1b2dac[_0x0f96('0x31')]:_0x3eda76[_0x0f96('0x2f')];if(!_0x5d6b89['query']['hasOwnProperty'](_0x0f96('0x5b'))){_0x1b2dac[_0x0f96('0x1b')]=qs[_0x0f96('0x1b')](_0x5d6b89[_0x0f96('0x30')][_0x0f96('0x1b')]);_0x1b2dac[_0x0f96('0x19')]=qs[_0x0f96('0x19')](_0x5d6b89[_0x0f96('0x30')][_0x0f96('0x19')]);}_0x1b2dac[_0x0f96('0x58')]=qs[_0x0f96('0x36')](_0x5d6b89[_0x0f96('0x30')][_0x0f96('0x36')]);_0x1b2dac[_0x0f96('0x37')]=qs[_0x0f96('0x39')](_[_0x0f96('0x38')](_0x5d6b89[_0x0f96('0x30')],_0x3eda76[_0x0f96('0x39')]));_0x1b2dac['where'][_0x0f96('0x59')]=_0x5226e7['id'];if(_0x5d6b89[_0x0f96('0x30')]['filter']){_0x1b2dac[_0x0f96('0x37')]=_[_0x0f96('0x3b')](_0x1b2dac[_0x0f96('0x37')],{'$or':_[_0x0f96('0x2a')](_0x1b2dac['attributes'],function(_0x45beb0){var _0x5ddd4a={};_0x5ddd4a[_0x45beb0]={'$like':'%'+_0x5d6b89[_0x0f96('0x30')][_0x0f96('0x3a')]+'%'};return _0x5ddd4a;})});}_0x1b2dac=_[_0x0f96('0x3b')]({},_0x1b2dac,_0x5d6b89['options']);return db[_0x0f96('0x5a')][_0x0f96('0x1c')]({'where':_0x1b2dac[_0x0f96('0x37')]})[_0x0f96('0x20')](function(_0x15281f){_0x1ca9be[_0x0f96('0x1c')]=_0x15281f;if(_0x5d6b89[_0x0f96('0x30')][_0x0f96('0x3e')]){_0x1b2dac['include']=[{'all':!![]}];}return db[_0x0f96('0x5a')][_0x0f96('0x40')](_0x1b2dac);})[_0x0f96('0x20')](function(_0x3a1708){_0x1ca9be['rows']=_0x3a1708;return _0x1ca9be;});}})[_0x0f96('0x20')](respondWithFilteredResult(_0x2665ea,_0x1b2dac))[_0x0f96('0x4d')](handleError(_0x2665ea,null));};function char(_0x60b60){return'number'===typeof _0x60b60?String[_0x0f96('0x5c')][_0x0f96('0x5d')](null,arguments):_0x60b60;}function needsEncapsulation(_0x403ea1){return!!_0x403ea1&&(_0x403ea1[_0x0f96('0x5e')]()[_0x0f96('0x5f')](char(0xd))>=0x0||_0x403ea1[_0x0f96('0x5e')]()[_0x0f96('0x5f')](char(0xa))>=0x0||_0x403ea1['toString']()['indexOf'](char(0x2c))>=0x0||_0x403ea1[_0x0f96('0x5e')]()[_0x0f96('0x5f')](char(0x22))>=0x0);}function encapsulate(_0x4699fc){var _0x545039=char(0x22),_0x4b1b72='\x5c'+char(0x22),_0x493767=_0x4699fc[_0x0f96('0x5e')]()[_0x0f96('0x60')](new RegExp(_0x545039,'g'),_0x4b1b72);return _0x545039+_0x493767+_0x545039;}exports[_0x0f96('0x61')]=function(_0x307d2f,_0x4b2c3b,_0x2bb4ee){var _0x5d70cd,_0x3ae039;var _0x48ba88={'where':{'ProjectId':_0x307d2f['params']['id']}};if(_0x307d2f[_0x0f96('0x30')][_0x0f96('0x62')]){_0x48ba88[_0x0f96('0x37')][_0x0f96('0x63')]=JSON[_0x0f96('0x64')](_0x307d2f['query'][_0x0f96('0x62')]);}return db['JscriptySessionReport']['findAll'](_0x48ba88)[_0x0f96('0x20')](handleEntityNotFound(_0x4b2c3b,null))[_0x0f96('0x20')](function(_0x3b2c0f){if(_0x3b2c0f){_0x5d70cd=_0x3b2c0f;return db[_0x0f96('0x65')][_0x0f96('0x40')]({'where':{'SessionId':{'$in':_[_0x0f96('0x2a')](_0x5d70cd,'id')},'ProjectId':_0x307d2f[_0x0f96('0x42')]['id']},'order':'-createdAt'});}})['then'](handleEntityNotFound(_0x4b2c3b,null))[_0x0f96('0x20')](function(_0x55e502){if(_0x55e502){_0x3ae039=_0x55e502;var _0x364203={};for(var _0x538f38=0x0,_0x32561d=_0x3ae039[_0x0f96('0x34')];_0x538f38<_0x32561d;_0x538f38++){if(!_0x364203[_0x0f96('0x35')](_0x3ae039[_0x538f38][_0x0f96('0x66')])){_0x364203[_0x3ae039[_0x538f38][_0x0f96('0x66')]]=needsEncapsulation(_0x3ae039[_0x538f38][_0x0f96('0x67')])?encapsulate(_0x3ae039[_0x538f38]['question']):_0x3ae039[_0x538f38][_0x0f96('0x67')];}}var _0x1fe817=[],_0x1feb13={};for(var _0x3e1627=0x0,_0x148c93=_0x5d70cd[_0x0f96('0x34')];_0x3e1627<_0x148c93;_0x3e1627++){_0x1feb13={'ProjectId':_0x307d2f[_0x0f96('0x42')]['id'],'SessionId':_0x5d70cd[_0x3e1627]['id'],'StartTime':moment(_0x5d70cd[_0x3e1627][_0x0f96('0x63')])['format']('YYYY-MM-DD\x20HH:mm:ss')};for(var _0x49730d=0x0,_0x31e7ce=_0x3ae039['length'];_0x49730d<_0x31e7ce;_0x49730d++){if(_0x3ae039[_0x49730d]['SessionId']==_0x5d70cd[_0x3e1627]['id']&&_0x364203['hasOwnProperty'](_0x3ae039[_0x49730d][_0x0f96('0x66')])){_0x1feb13[_0x364203[_0x3ae039[_0x49730d][_0x0f96('0x66')]]]=_0x3ae039[_0x49730d][_0x0f96('0x68')];}}for(var _0x268706 in _0x364203){if(!_0x1feb13[_0x0f96('0x35')](_0x364203[_0x268706])){_0x1feb13[_0x364203[_0x268706]]=null;}}_0x1fe817[_0x0f96('0x69')](_0x1feb13);}return _0x1fe817;}})['then'](function(_0x520669){if(!_[_0x0f96('0x6a')](_0x520669)){var _0x4fb016=toCsv(_0x520669);var _0xd06eb9=Date[_0x0f96('0x6b')]();fs[_0x0f96('0x6c')](util[_0x0f96('0x6d')](_0x0f96('0x6e'),_0x307d2f['params']['id'],_0xd06eb9),_0x4fb016);_0x4b2c3b[_0x0f96('0x6f')](_0x0f96('0x70'),'attachment;\x20filename='+util['format'](_0x0f96('0x71'),_0x307d2f['params']['id'],_0xd06eb9));_0x4b2c3b[_0x0f96('0x6f')](_0x0f96('0x72'),_0x0f96('0x73'));return _0x4b2c3b[_0x0f96('0x74')](util[_0x0f96('0x6d')](_0x0f96('0x6e'),_0x307d2f[_0x0f96('0x42')]['id'],_0xd06eb9));}else{return _0x4b2c3b[_0x0f96('0x15')](0xcc);}})['catch'](handleError(_0x4b2c3b,null));};