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 _0x1822=['VIRTUAL','merge','JscriptyProject','count','findAll','rows','show','params','include','options','find','catch','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','clone','omit','createdAt','updatedAt','includeAll','update','findOne','ProjectId','JscriptySessionReport','getAnswers','JscriptyAnswerReport','fromCharCode','indexOf','toString','replace','getSummary','startTime','starttime','parse','-createdAt','questionId','question','format','SessionId','answer','isEmpty','now','writeFileSync','/tmp/Jscripty_Project_%d_Summary_%s.csv','setHeader','Content-disposition','attachment;\x20filename=','Jscripty_Project_%d_Summary_%s.csv','Content-type','text/csv','download','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','util','path','sox','ejs','lodash','crypto','jsforce','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','status','offset','limit','Content-Range','apply','reject','save','then','destroy','get','Projects','UserProfileResource','end','sendStatus','stack','name','send','rawAttributes','fieldName','type','model','map','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter'];(function(_0x1fb1c1,_0x4ebe69){var _0x1622df=function(_0x52b793){while(--_0x52b793){_0x1fb1c1['push'](_0x1fb1c1['shift']());}};_0x1622df(++_0x4ebe69);}(_0x1822,0xb0));var _0x2182=function(_0x2cfe6a,_0x41f7ea){_0x2cfe6a=_0x2cfe6a-0x0;var _0x168650=_0x1822[_0x2cfe6a];return _0x168650;};'use strict';var pdf=require(_0x2182('0x0'));var emlformat=require(_0x2182('0x1'));var rimraf=require(_0x2182('0x2'));var zipdir=require(_0x2182('0x3'));var jsonpatch=require(_0x2182('0x4'));var rp=require('request-promise');var moment=require(_0x2182('0x5'));var BPromise=require(_0x2182('0x6'));var Mustache=require('mustache');var util=require(_0x2182('0x7'));var path=require(_0x2182('0x8'));var sox=require(_0x2182('0x9'));var csv=require('to-csv');var ejs=require(_0x2182('0xa'));var fs=require('fs');var _=require(_0x2182('0xb'));var squel=require('squel');var crypto=require(_0x2182('0xc'));var jsforce=require(_0x2182('0xd'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x2182('0xe'));var Papa=require(_0x2182('0xf'));var Redis=require('ioredis');var authService=require(_0x2182('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0x2182('0x11'));var hardwareService=require(_0x2182('0x12'));var logger=require(_0x2182('0x13'))(_0x2182('0x14'));var utils=require(_0x2182('0x15'));var config=require(_0x2182('0x16'));var db=require(_0x2182('0x17'))['db'];function respondWithStatusCode(_0x129582,_0x1ef8ee){_0x1ef8ee=_0x1ef8ee||0xcc;return function(_0x39a3f1){if(_0x39a3f1){return _0x129582['sendStatus'](_0x1ef8ee);}return _0x129582[_0x2182('0x18')](_0x1ef8ee)['end']();};}function respondWithResult(_0x4f6138,_0x5df9bc){_0x5df9bc=_0x5df9bc||0xc8;return function(_0x3fb53e){if(_0x3fb53e){return _0x4f6138[_0x2182('0x18')](_0x5df9bc)['json'](_0x3fb53e);}};}function respondWithFilteredResult(_0xec6dd6,_0x5d66c5){return function(_0x839f31){if(_0x839f31){var _0x2e9cd6=_0x839f31['count'],_0x167e9e=_0x5d66c5[_0x2182('0x19')],_0x1ef1eb=_0x5d66c5[_0x2182('0x19')]+_0x5d66c5[_0x2182('0x1a')],_0x536b57;if(_0x1ef1eb>=_0x2e9cd6){_0x1ef1eb=_0x2e9cd6;_0x536b57=0xc8;}else{_0x536b57=0xce;}_0xec6dd6[_0x2182('0x18')](_0x536b57);return _0xec6dd6['set'](_0x2182('0x1b'),_0x167e9e+'-'+_0x1ef1eb+'/'+_0x2e9cd6)['json'](_0x839f31);}return null;};}function patchUpdates(_0x401b57){return function(_0x302c71){try{jsonpatch[_0x2182('0x1c')](_0x302c71,_0x401b57,!![]);}catch(_0x2c32e7){return BPromise[_0x2182('0x1d')](_0x2c32e7);}return _0x302c71[_0x2182('0x1e')]();};}function saveUpdates(_0x511dfe,_0x7139ea){return function(_0x23b947){if(_0x23b947){return _0x23b947['update'](_0x511dfe)[_0x2182('0x1f')](function(_0x4b9260){return _0x4b9260;});}return null;};}function removeEntity(_0x5bfb89,_0x3e2d8c){return function(_0x37d84b){if(_0x37d84b){return _0x37d84b[_0x2182('0x20')]()[_0x2182('0x1f')](function(){var _0x59e5a4=_0x37d84b[_0x2182('0x21')]({'plain':!![]});var _0x30ff84=_0x2182('0x22');return db[_0x2182('0x23')][_0x2182('0x20')]({'where':{'type':_0x30ff84,'resourceId':_0x59e5a4['id']}})[_0x2182('0x1f')](function(){return _0x37d84b;});})[_0x2182('0x1f')](function(){_0x5bfb89[_0x2182('0x18')](0xcc)[_0x2182('0x24')]();});}};}function handleEntityNotFound(_0x45de97,_0x2ed84e){return function(_0x410a47){if(!_0x410a47){_0x45de97[_0x2182('0x25')](0x194);}return _0x410a47;};}function handleError(_0x582db1,_0x4840c5){_0x4840c5=_0x4840c5||0x1f4;return function(_0x257d85){logger['error'](_0x257d85[_0x2182('0x26')]);if(_0x257d85[_0x2182('0x27')]){delete _0x257d85[_0x2182('0x27')];}_0x582db1[_0x2182('0x18')](_0x4840c5)[_0x2182('0x28')](_0x257d85);};}exports['index']=function(_0x138d56,_0x5032f4){var _0x457abf={},_0x18274c={},_0x3f13ab={'count':0x0,'rows':[]};var _0x4a208c=_['map'](db['JscriptyProject'][_0x2182('0x29')],function(_0xdf7e04){return{'name':_0xdf7e04[_0x2182('0x2a')],'type':_0xdf7e04[_0x2182('0x2b')]['key']};});_0x18274c[_0x2182('0x2c')]=_[_0x2182('0x2d')](_0x4a208c,_0x2182('0x27'));_0x18274c[_0x2182('0x2e')]=_[_0x2182('0x2f')](_0x138d56[_0x2182('0x2e')]);_0x18274c[_0x2182('0x30')]=_[_0x2182('0x31')](_0x18274c[_0x2182('0x2c')],_0x18274c['query']);_0x457abf[_0x2182('0x32')]=_[_0x2182('0x31')](_0x18274c[_0x2182('0x2c')],qs['fields'](_0x138d56[_0x2182('0x2e')][_0x2182('0x33')]));_0x457abf[_0x2182('0x32')]=_0x457abf[_0x2182('0x32')][_0x2182('0x34')]?_0x457abf[_0x2182('0x32')]:_0x18274c[_0x2182('0x2c')];if(!_0x138d56[_0x2182('0x2e')][_0x2182('0x35')](_0x2182('0x36'))){_0x457abf[_0x2182('0x1a')]=qs[_0x2182('0x1a')](_0x138d56[_0x2182('0x2e')][_0x2182('0x1a')]);_0x457abf[_0x2182('0x19')]=qs[_0x2182('0x19')](_0x138d56[_0x2182('0x2e')][_0x2182('0x19')]);}_0x457abf[_0x2182('0x37')]=qs[_0x2182('0x38')](_0x138d56[_0x2182('0x2e')][_0x2182('0x38')]);_0x457abf[_0x2182('0x39')]=qs['filters'](_[_0x2182('0x3a')](_0x138d56[_0x2182('0x2e')],_0x18274c[_0x2182('0x30')]),_0x4a208c);if(_0x138d56[_0x2182('0x2e')][_0x2182('0x3b')]){_0x457abf[_0x2182('0x39')]=_['merge'](_0x457abf[_0x2182('0x39')],{'$or':_[_0x2182('0x2d')](_0x4a208c,function(_0x4b183c){if(_0x4b183c[_0x2182('0x2b')]!==_0x2182('0x3c')){var _0x477cd0={};_0x477cd0[_0x4b183c[_0x2182('0x27')]]={'$like':'%'+_0x138d56[_0x2182('0x2e')]['filter']+'%'};return _0x477cd0;}})});}_0x457abf=_[_0x2182('0x3d')]({},_0x457abf,_0x138d56['options']);var _0x23fc75={'where':_0x457abf[_0x2182('0x39')]};return db[_0x2182('0x3e')][_0x2182('0x3f')](_0x23fc75)[_0x2182('0x1f')](function(_0x59d628){_0x3f13ab[_0x2182('0x3f')]=_0x59d628;if(_0x138d56[_0x2182('0x2e')]['includeAll']){_0x457abf['include']=[{'all':!![]}];}return db[_0x2182('0x3e')][_0x2182('0x40')](_0x457abf);})['then'](function(_0x2783b9){_0x3f13ab[_0x2182('0x41')]=_0x2783b9;return _0x3f13ab;})[_0x2182('0x1f')](respondWithFilteredResult(_0x5032f4,_0x457abf))['catch'](handleError(_0x5032f4,null));};exports[_0x2182('0x42')]=function(_0x3cc13d,_0x6ac0e5){var _0x3e1826={'raw':![],'where':{'id':_0x3cc13d[_0x2182('0x43')]['id']}},_0x52b92e={};_0x52b92e[_0x2182('0x2c')]=_['keys'](db['JscriptyProject']['rawAttributes']);_0x52b92e[_0x2182('0x2e')]=_[_0x2182('0x2f')](_0x3cc13d['query']);_0x52b92e['filters']=_['intersection'](_0x52b92e[_0x2182('0x2c')],_0x52b92e[_0x2182('0x2e')]);_0x3e1826[_0x2182('0x32')]=_[_0x2182('0x31')](_0x52b92e['model'],qs[_0x2182('0x33')](_0x3cc13d[_0x2182('0x2e')][_0x2182('0x33')]));_0x3e1826['attributes']=_0x3e1826[_0x2182('0x32')][_0x2182('0x34')]?_0x3e1826['attributes']:_0x52b92e[_0x2182('0x2c')];if(_0x3cc13d[_0x2182('0x2e')]['includeAll']){_0x3e1826[_0x2182('0x44')]=[{'all':!![]}];}_0x3e1826=_[_0x2182('0x3d')]({},_0x3e1826,_0x3cc13d[_0x2182('0x45')]);return db[_0x2182('0x3e')][_0x2182('0x46')](_0x3e1826)['then'](handleEntityNotFound(_0x6ac0e5,null))[_0x2182('0x1f')](respondWithResult(_0x6ac0e5,null))[_0x2182('0x47')](handleError(_0x6ac0e5,null));};exports[_0x2182('0x48')]=function(_0x4ced55,_0x493a93){return db[_0x2182('0x3e')]['create'](_0x4ced55[_0x2182('0x49')],{})['then'](function(_0xaad4db){var _0x3ddaab=_0x4ced55[_0x2182('0x4a')]['get']({'plain':!![]});if(!_0x3ddaab)throw new Error(_0x2182('0x4b'));if(_0x3ddaab[_0x2182('0x4c')]===_0x2182('0x4a')){var _0x323a1f=_0xaad4db[_0x2182('0x21')]({'plain':!![]});var _0x260dfa='Projects';return db[_0x2182('0x4d')][_0x2182('0x46')]({'where':{'name':_0x260dfa,'userProfileId':_0x3ddaab[_0x2182('0x4e')]},'raw':!![]})['then'](function(_0x17ae19){if(_0x17ae19&&_0x17ae19[_0x2182('0x4f')]===0x0){return db[_0x2182('0x23')][_0x2182('0x48')]({'name':_0x323a1f[_0x2182('0x27')],'resourceId':_0x323a1f['id'],'type':_0x17ae19[_0x2182('0x27')],'sectionId':_0x17ae19['id']},{})['then'](function(){return _0xaad4db;});}else{return _0xaad4db;}})[_0x2182('0x47')](function(_0x4e5260){logger[_0x2182('0x50')](_0x2182('0x51'),_0x4e5260);throw _0x4e5260;});}return _0xaad4db;})['then'](respondWithResult(_0x493a93,0xc9))[_0x2182('0x47')](handleError(_0x493a93,null));};exports[_0x2182('0x52')]=function(_0x359cbd,_0x1a99da){var _0x5b1237={'where':{'id':_0x359cbd['params']['id']}},_0x41c34b={};_0x41c34b[_0x2182('0x2c')]=_['keys'](db['JscriptyProject'][_0x2182('0x29')]);_0x5b1237[_0x2182('0x32')]=_[_0x2182('0x31')](_0x41c34b[_0x2182('0x2c')],qs[_0x2182('0x33')](_0x359cbd[_0x2182('0x2e')]['fields']));_0x5b1237['attributes']=_0x5b1237[_0x2182('0x32')][_0x2182('0x34')]?_0x5b1237[_0x2182('0x32')]:_0x41c34b[_0x2182('0x2c')];if(_0x359cbd[_0x2182('0x2e')]['includeAll']){_0x5b1237['include']=[{'all':!![]}];}_0x5b1237=_[_0x2182('0x3d')]({},_0x5b1237,_0x359cbd[_0x2182('0x45')]);return db[_0x2182('0x3e')][_0x2182('0x46')](_0x5b1237)[_0x2182('0x1f')](handleEntityNotFound(_0x1a99da,null))[_0x2182('0x1f')](function(_0x569c1c){if(_0x569c1c){var _0x365bbd=_0x569c1c['get']({'plain':!![]});_0x365bbd=qs[_0x2182('0x53')](_0x365bbd,['id',_0x2182('0x54'),'updatedAt']);_0x359cbd[_0x2182('0x49')]=_[_0x2182('0x53')](_0x359cbd[_0x2182('0x49')],['id',_0x2182('0x54'),_0x2182('0x55')]);return db['JscriptyProject'][_0x2182('0x48')](_[_0x2182('0x3d')](_0x365bbd,_0x359cbd['body']),{'include':_0x359cbd[_0x2182('0x2e')][_0x2182('0x56')]?[{'all':!![]}]:undefined})[_0x2182('0x1f')](function(_0x165a1b){var _0x5bc2a1=_0x359cbd[_0x2182('0x4a')][_0x2182('0x21')]({'plain':!![]});if(!_0x5bc2a1)throw new Error(_0x2182('0x4b'));if(_0x5bc2a1[_0x2182('0x4c')]===_0x2182('0x4a')){var _0x5a48f9=_0x165a1b['get']({'plain':!![]});var _0x5a8244=_0x2182('0x22');return db['UserProfileSection'][_0x2182('0x46')]({'where':{'name':_0x5a8244,'userProfileId':_0x5bc2a1[_0x2182('0x4e')]},'raw':!![]})[_0x2182('0x1f')](function(_0x411fcb){if(_0x411fcb&&_0x411fcb['autoAssociation']===0x0){return db[_0x2182('0x23')][_0x2182('0x48')]({'name':_0x5a48f9[_0x2182('0x27')],'resourceId':_0x5a48f9['id'],'type':_0x411fcb[_0x2182('0x27')],'sectionId':_0x411fcb['id']},{})[_0x2182('0x1f')](function(){return _0x165a1b;});}else{return _0x165a1b;}})[_0x2182('0x47')](function(_0x4d2e93){logger['error'](_0x2182('0x51'),_0x4d2e93);throw _0x4d2e93;});}return _0x165a1b;});}})[_0x2182('0x1f')](respondWithResult(_0x1a99da,0xc9))['catch'](handleError(_0x1a99da,null));};exports[_0x2182('0x57')]=function(_0x1131a7,_0x506b0a){if(_0x1131a7[_0x2182('0x49')]['id']){delete _0x1131a7[_0x2182('0x49')]['id'];}return db[_0x2182('0x3e')][_0x2182('0x46')]({'where':{'id':_0x1131a7[_0x2182('0x43')]['id']}})['then'](handleEntityNotFound(_0x506b0a,null))[_0x2182('0x1f')](saveUpdates(_0x1131a7[_0x2182('0x49')],null))[_0x2182('0x1f')](respondWithResult(_0x506b0a,null))[_0x2182('0x47')](handleError(_0x506b0a,null));};exports[_0x2182('0x20')]=function(_0x2fcaa1,_0x131f70){return db[_0x2182('0x3e')]['find']({'where':{'id':_0x2fcaa1['params']['id']}})['then'](handleEntityNotFound(_0x131f70,null))[_0x2182('0x1f')](removeEntity(_0x131f70,null))[_0x2182('0x47')](handleError(_0x131f70,null));};exports['getSessions']=function(_0x5cdfe1,_0x15fd40,_0x3c552d){var _0x3ba86d={'raw':!![],'where':{}};var _0x236372={};var _0x431b5d={'count':0x0,'rows':[]};return db[_0x2182('0x3e')][_0x2182('0x58')]({'where':{'id':_0x5cdfe1['params']['id']}})[_0x2182('0x1f')](handleEntityNotFound(_0x15fd40,null))['then'](function(_0x3a682a){if(_0x3a682a){_0x236372[_0x2182('0x2c')]=_[_0x2182('0x2f')](db['JscriptySessionReport'][_0x2182('0x29')]);_0x236372[_0x2182('0x2e')]=_['keys'](_0x5cdfe1[_0x2182('0x2e')]);_0x236372[_0x2182('0x30')]=_[_0x2182('0x31')](_0x236372[_0x2182('0x2c')],_0x236372[_0x2182('0x2e')]);_0x3ba86d['attributes']=_[_0x2182('0x31')](_0x236372['model'],qs[_0x2182('0x33')](_0x5cdfe1['query'][_0x2182('0x33')]));_0x3ba86d[_0x2182('0x32')]=_0x3ba86d[_0x2182('0x32')][_0x2182('0x34')]?_0x3ba86d['attributes']:_0x236372[_0x2182('0x2c')];if(!_0x5cdfe1['query'][_0x2182('0x35')](_0x2182('0x36'))){_0x3ba86d[_0x2182('0x1a')]=qs['limit'](_0x5cdfe1[_0x2182('0x2e')][_0x2182('0x1a')]);_0x3ba86d[_0x2182('0x19')]=qs[_0x2182('0x19')](_0x5cdfe1[_0x2182('0x2e')][_0x2182('0x19')]);}_0x3ba86d[_0x2182('0x37')]=qs['sort'](_0x5cdfe1[_0x2182('0x2e')][_0x2182('0x38')]);_0x3ba86d['where']=qs[_0x2182('0x30')](_[_0x2182('0x3a')](_0x5cdfe1[_0x2182('0x2e')],_0x236372['filters']));_0x3ba86d[_0x2182('0x39')][_0x2182('0x59')]=_0x3a682a['id'];if(_0x5cdfe1['query'][_0x2182('0x3b')]){_0x3ba86d[_0x2182('0x39')]=_[_0x2182('0x3d')](_0x3ba86d['where'],{'$or':_[_0x2182('0x2d')](_0x3ba86d['attributes'],function(_0x138cb0){var _0x3a0566={};_0x3a0566[_0x138cb0]={'$like':'%'+_0x5cdfe1[_0x2182('0x2e')]['filter']+'%'};return _0x3a0566;})});}_0x3ba86d=_[_0x2182('0x3d')]({},_0x3ba86d,_0x5cdfe1[_0x2182('0x45')]);return db['JscriptySessionReport']['count']({'where':_0x3ba86d[_0x2182('0x39')]})[_0x2182('0x1f')](function(_0x55a8de){_0x431b5d[_0x2182('0x3f')]=_0x55a8de;if(_0x5cdfe1[_0x2182('0x2e')][_0x2182('0x56')]){_0x3ba86d[_0x2182('0x44')]=[{'all':!![]}];}return db[_0x2182('0x5a')][_0x2182('0x40')](_0x3ba86d);})[_0x2182('0x1f')](function(_0x2967a1){_0x431b5d[_0x2182('0x41')]=_0x2967a1;return _0x431b5d;});}})[_0x2182('0x1f')](respondWithFilteredResult(_0x15fd40,_0x3ba86d))[_0x2182('0x47')](handleError(_0x15fd40,null));};exports[_0x2182('0x5b')]=function(_0x543150,_0x5bee14,_0x52bcc9){var _0x4b1960={'raw':!![],'where':{}};var _0x36d34d={};var _0x42168c={'count':0x0,'rows':[]};return db['JscriptyProject'][_0x2182('0x58')]({'where':{'id':_0x543150[_0x2182('0x43')]['id']}})[_0x2182('0x1f')](handleEntityNotFound(_0x5bee14,null))[_0x2182('0x1f')](function(_0x1336f1){if(_0x1336f1){_0x36d34d[_0x2182('0x2c')]=_[_0x2182('0x2f')](db[_0x2182('0x5c')][_0x2182('0x29')]);_0x36d34d[_0x2182('0x2e')]=_['keys'](_0x543150[_0x2182('0x2e')]);_0x36d34d[_0x2182('0x30')]=_[_0x2182('0x31')](_0x36d34d[_0x2182('0x2c')],_0x36d34d[_0x2182('0x2e')]);_0x4b1960[_0x2182('0x32')]=_['intersection'](_0x36d34d[_0x2182('0x2c')],qs[_0x2182('0x33')](_0x543150['query'][_0x2182('0x33')]));_0x4b1960[_0x2182('0x32')]=_0x4b1960[_0x2182('0x32')]['length']?_0x4b1960['attributes']:_0x36d34d[_0x2182('0x2c')];if(!_0x543150['query'][_0x2182('0x35')](_0x2182('0x36'))){_0x4b1960[_0x2182('0x1a')]=qs[_0x2182('0x1a')](_0x543150[_0x2182('0x2e')][_0x2182('0x1a')]);_0x4b1960['offset']=qs['offset'](_0x543150[_0x2182('0x2e')]['offset']);}_0x4b1960['order']=qs['sort'](_0x543150[_0x2182('0x2e')][_0x2182('0x38')]);_0x4b1960['where']=qs[_0x2182('0x30')](_['pick'](_0x543150[_0x2182('0x2e')],_0x36d34d['filters']));_0x4b1960['where'][_0x2182('0x59')]=_0x1336f1['id'];if(_0x543150[_0x2182('0x2e')]['filter']){_0x4b1960['where']=_[_0x2182('0x3d')](_0x4b1960[_0x2182('0x39')],{'$or':_['map'](_0x4b1960[_0x2182('0x32')],function(_0x233980){var _0x306da2={};_0x306da2[_0x233980]={'$like':'%'+_0x543150[_0x2182('0x2e')][_0x2182('0x3b')]+'%'};return _0x306da2;})});}_0x4b1960=_['merge']({},_0x4b1960,_0x543150[_0x2182('0x45')]);return db[_0x2182('0x5c')][_0x2182('0x3f')]({'where':_0x4b1960[_0x2182('0x39')]})[_0x2182('0x1f')](function(_0x3d0f7c){_0x42168c['count']=_0x3d0f7c;if(_0x543150['query'][_0x2182('0x56')]){_0x4b1960[_0x2182('0x44')]=[{'all':!![]}];}return db[_0x2182('0x5c')][_0x2182('0x40')](_0x4b1960);})[_0x2182('0x1f')](function(_0x445936){_0x42168c[_0x2182('0x41')]=_0x445936;return _0x42168c;});}})['then'](respondWithFilteredResult(_0x5bee14,_0x4b1960))[_0x2182('0x47')](handleError(_0x5bee14,null));};function char(_0x702bd6){return'number'===typeof _0x702bd6?String[_0x2182('0x5d')][_0x2182('0x1c')](null,arguments):_0x702bd6;}function needsEncapsulation(_0x129f20){return!!_0x129f20&&(_0x129f20['toString']()[_0x2182('0x5e')](char(0xd))>=0x0||_0x129f20[_0x2182('0x5f')]()[_0x2182('0x5e')](char(0xa))>=0x0||_0x129f20['toString']()[_0x2182('0x5e')](char(0x2c))>=0x0||_0x129f20['toString']()[_0x2182('0x5e')](char(0x22))>=0x0);}function encapsulate(_0x5d4672){var _0x9fbddc=char(0x22),_0x49d403='\x5c'+char(0x22),_0x4fdebb=_0x5d4672['toString']()[_0x2182('0x60')](new RegExp(_0x9fbddc,'g'),_0x49d403);return _0x9fbddc+_0x4fdebb+_0x9fbddc;}exports[_0x2182('0x61')]=function(_0x89a47c,_0x57da66,_0x15e52f){var _0x36d95a,_0xb5be86;var _0x533bd6={'where':{'ProjectId':_0x89a47c[_0x2182('0x43')]['id']}};if(_0x89a47c[_0x2182('0x2e')][_0x2182('0x62')]){_0x533bd6['where'][_0x2182('0x63')]=JSON[_0x2182('0x64')](_0x89a47c[_0x2182('0x2e')][_0x2182('0x62')]);}return db['JscriptySessionReport'][_0x2182('0x40')](_0x533bd6)[_0x2182('0x1f')](handleEntityNotFound(_0x57da66,null))[_0x2182('0x1f')](function(_0x50417e){if(_0x50417e){_0x36d95a=_0x50417e;return db['JscriptyQuestionReport'][_0x2182('0x40')]({'where':{'SessionId':{'$in':_['map'](_0x36d95a,'id')},'ProjectId':_0x89a47c[_0x2182('0x43')]['id']},'order':_0x2182('0x65')});}})[_0x2182('0x1f')](handleEntityNotFound(_0x57da66,null))[_0x2182('0x1f')](function(_0x27d532){if(_0x27d532){_0xb5be86=_0x27d532;var _0x5b034d={};for(var _0x12d606=0x0,_0x3bf6b2=_0xb5be86[_0x2182('0x34')];_0x12d606<_0x3bf6b2;_0x12d606++){if(!_0x5b034d['hasOwnProperty'](_0xb5be86[_0x12d606][_0x2182('0x66')])){_0x5b034d[_0xb5be86[_0x12d606]['questionId']]=needsEncapsulation(_0xb5be86[_0x12d606]['question'])?encapsulate(_0xb5be86[_0x12d606][_0x2182('0x67')]):_0xb5be86[_0x12d606][_0x2182('0x67')];}}var _0xbb9f10=[],_0x43ea70={};for(var _0x178413=0x0,_0x448140=_0x36d95a[_0x2182('0x34')];_0x178413<_0x448140;_0x178413++){_0x43ea70={'ProjectId':_0x89a47c[_0x2182('0x43')]['id'],'SessionId':_0x36d95a[_0x178413]['id'],'StartTime':moment(_0x36d95a[_0x178413][_0x2182('0x63')])[_0x2182('0x68')]('YYYY-MM-DD\x20HH:mm:ss')};for(var _0x56fb81=0x0,_0x22ba3a=_0xb5be86['length'];_0x56fb81<_0x22ba3a;_0x56fb81++){if(_0xb5be86[_0x56fb81][_0x2182('0x69')]==_0x36d95a[_0x178413]['id']&&_0x5b034d[_0x2182('0x35')](_0xb5be86[_0x56fb81]['questionId'])){_0x43ea70[_0x5b034d[_0xb5be86[_0x56fb81][_0x2182('0x66')]]]=_0xb5be86[_0x56fb81][_0x2182('0x6a')];}}for(var _0x433b9d in _0x5b034d){if(!_0x43ea70[_0x2182('0x35')](_0x5b034d[_0x433b9d])){_0x43ea70[_0x5b034d[_0x433b9d]]=null;}}_0xbb9f10['push'](_0x43ea70);}return _0xbb9f10;}})['then'](function(_0x4ad44a){if(!_[_0x2182('0x6b')](_0x4ad44a)){var _0x2a0fed=toCsv(_0x4ad44a);var _0x25e8ff=Date[_0x2182('0x6c')]();fs[_0x2182('0x6d')](util[_0x2182('0x68')](_0x2182('0x6e'),_0x89a47c[_0x2182('0x43')]['id'],_0x25e8ff),_0x2a0fed);_0x57da66[_0x2182('0x6f')](_0x2182('0x70'),_0x2182('0x71')+util[_0x2182('0x68')](_0x2182('0x72'),_0x89a47c[_0x2182('0x43')]['id'],_0x25e8ff));_0x57da66[_0x2182('0x6f')](_0x2182('0x73'),_0x2182('0x74'));return _0x57da66[_0x2182('0x75')](util[_0x2182('0x68')](_0x2182('0x6e'),_0x89a47c[_0x2182('0x43')]['id'],_0x25e8ff));}else{return _0x57da66[_0x2182('0x25')](0xcc);}})[_0x2182('0x47')](handleError(_0x57da66,null));};