dbdec1279a7654fe0cd6c30e831ea81f6cc10c0b
[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 _0x1184=['role','user','UserProfileSection','userProfileId','autoAssociation','clone','params','createdAt','updatedAt','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','destroy','getSessions','findOne','JscriptySessionReport','nolimit','order','ProjectId','getAnswers','JscriptyAnswerReport','number','toString','indexOf','replace','getSummary','startTime','starttime','parse','JscriptyQuestionReport','-createdAt','question','format','questionId','answer','push','isEmpty','now','writeFileSync','/tmp/Jscripty_Project_%d_Summary_%s.csv','setHeader','Content-disposition','attachment;\x20filename=','Content-type','text/csv','eml-format','zip-dir','fast-json-patch','moment','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','querystring','../../components/auth/service','../../components/parsers/qs','api','../../config/environment','sendStatus','status','end','offset','limit','undefined','count','set','Content-Range','json','apply','reject','save','update','then','get','Projects','UserProfileResource','error','stack','send','index','map','JscriptyProject','rawAttributes','fieldName','type','key','model','name','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','sort','where','pick','VIRTUAL','filter','merge','options','includeAll','include','findAll','rows','show','find','catch','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user'];(function(_0x694cf9,_0x4428c4){var _0x3a4604=function(_0x25ccc6){while(--_0x25ccc6){_0x694cf9['push'](_0x694cf9['shift']());}};_0x3a4604(++_0x4428c4);}(_0x1184,0xa0));var _0x4118=function(_0x29462a,_0x28bb1a){_0x29462a=_0x29462a-0x0;var _0x196462=_0x1184[_0x29462a];return _0x196462;};'use strict';var emlformat=require(_0x4118('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x4118('0x1'));var jsonpatch=require(_0x4118('0x2'));var rp=require('request-promise');var moment=require(_0x4118('0x3'));var BPromise=require(_0x4118('0x4'));var Mustache=require(_0x4118('0x5'));var util=require(_0x4118('0x6'));var path=require('path');var sox=require(_0x4118('0x7'));var csv=require(_0x4118('0x8'));var ejs=require(_0x4118('0x9'));var fs=require('fs');var fs_extra=require(_0x4118('0xa'));var _=require('lodash');var squel=require(_0x4118('0xb'));var crypto=require(_0x4118('0xc'));var jsforce=require(_0x4118('0xd'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x4118('0xe'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x4118('0xf'));var qs=require(_0x4118('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x4118('0x11'));var utils=require('../../config/utils');var config=require(_0x4118('0x12'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x24e172,_0x5439de){_0x5439de=_0x5439de||0xcc;return function(_0x52c3dd){if(_0x52c3dd){return _0x24e172[_0x4118('0x13')](_0x5439de);}return _0x24e172[_0x4118('0x14')](_0x5439de)[_0x4118('0x15')]();};}function respondWithResult(_0x5aeaac,_0x292086){_0x292086=_0x292086||0xc8;return function(_0xc9fee9){if(_0xc9fee9){return _0x5aeaac[_0x4118('0x14')](_0x292086)['json'](_0xc9fee9);}};}function respondWithFilteredResult(_0x30e9e4,_0x5c9b25){return function(_0x18d135){if(_0x18d135){var _0x45ec56=typeof _0x5c9b25[_0x4118('0x16')]==='undefined'&&typeof _0x5c9b25[_0x4118('0x17')]===_0x4118('0x18');var _0x33eb6d=_0x18d135[_0x4118('0x19')];var _0x1fb629=_0x45ec56?0x0:_0x5c9b25['offset'];var _0x2d48ec=_0x45ec56?_0x18d135[_0x4118('0x19')]:_0x5c9b25[_0x4118('0x16')]+_0x5c9b25[_0x4118('0x17')];var _0x1e1824;if(_0x2d48ec>=_0x33eb6d){_0x2d48ec=_0x33eb6d;_0x1e1824=0xc8;}else{_0x1e1824=0xce;}_0x30e9e4['status'](_0x1e1824);return _0x30e9e4[_0x4118('0x1a')](_0x4118('0x1b'),_0x1fb629+'-'+_0x2d48ec+'/'+_0x33eb6d)[_0x4118('0x1c')](_0x18d135);}return null;};}function patchUpdates(_0x545bc9){return function(_0x34c62f){try{jsonpatch[_0x4118('0x1d')](_0x34c62f,_0x545bc9,!![]);}catch(_0x3a0fe0){return BPromise[_0x4118('0x1e')](_0x3a0fe0);}return _0x34c62f[_0x4118('0x1f')]();};}function saveUpdates(_0x2e8dec,_0x5dc4a7){return function(_0x70906e){if(_0x70906e){return _0x70906e[_0x4118('0x20')](_0x2e8dec)[_0x4118('0x21')](function(_0x1ee843){return _0x1ee843;});}return null;};}function removeEntity(_0xa6c615,_0x4b49b0){return function(_0x4af9c5){if(_0x4af9c5){return _0x4af9c5['destroy']()['then'](function(){var _0x5eba49=_0x4af9c5[_0x4118('0x22')]({'plain':!![]});var _0x21aca4=_0x4118('0x23');return db[_0x4118('0x24')]['destroy']({'where':{'type':_0x21aca4,'resourceId':_0x5eba49['id']}})[_0x4118('0x21')](function(){return _0x4af9c5;});})['then'](function(){_0xa6c615[_0x4118('0x14')](0xcc)[_0x4118('0x15')]();});}};}function handleEntityNotFound(_0x8e261e,_0x2773b2){return function(_0x35d809){if(!_0x35d809){_0x8e261e[_0x4118('0x13')](0x194);}return _0x35d809;};}function handleError(_0x49a5dd,_0x138df2){_0x138df2=_0x138df2||0x1f4;return function(_0x170a67){logger[_0x4118('0x25')](_0x170a67[_0x4118('0x26')]);if(_0x170a67['name']){delete _0x170a67['name'];}_0x49a5dd[_0x4118('0x14')](_0x138df2)[_0x4118('0x27')](_0x170a67);};}exports[_0x4118('0x28')]=function(_0x359783,_0x132e76){var _0x5949c5={},_0x5f115e={},_0x2462d1={'count':0x0,'rows':[]};var _0x36f0c5=_[_0x4118('0x29')](db[_0x4118('0x2a')][_0x4118('0x2b')],function(_0x2638ff){return{'name':_0x2638ff[_0x4118('0x2c')],'type':_0x2638ff[_0x4118('0x2d')][_0x4118('0x2e')]};});_0x5f115e[_0x4118('0x2f')]=_[_0x4118('0x29')](_0x36f0c5,_0x4118('0x30'));_0x5f115e[_0x4118('0x31')]=_[_0x4118('0x32')](_0x359783[_0x4118('0x31')]);_0x5f115e[_0x4118('0x33')]=_[_0x4118('0x34')](_0x5f115e[_0x4118('0x2f')],_0x5f115e[_0x4118('0x31')]);_0x5949c5['attributes']=_[_0x4118('0x34')](_0x5f115e[_0x4118('0x2f')],qs[_0x4118('0x35')](_0x359783[_0x4118('0x31')][_0x4118('0x35')]));_0x5949c5[_0x4118('0x36')]=_0x5949c5['attributes'][_0x4118('0x37')]?_0x5949c5['attributes']:_0x5f115e['model'];if(!_0x359783[_0x4118('0x31')][_0x4118('0x38')]('nolimit')){_0x5949c5[_0x4118('0x17')]=qs[_0x4118('0x17')](_0x359783[_0x4118('0x31')]['limit']);_0x5949c5[_0x4118('0x16')]=qs[_0x4118('0x16')](_0x359783[_0x4118('0x31')]['offset']);}_0x5949c5['order']=qs[_0x4118('0x39')](_0x359783[_0x4118('0x31')][_0x4118('0x39')]);_0x5949c5[_0x4118('0x3a')]=qs[_0x4118('0x33')](_[_0x4118('0x3b')](_0x359783['query'],_0x5f115e[_0x4118('0x33')]),_0x36f0c5);if(_0x359783['query']['filter']){_0x5949c5[_0x4118('0x3a')]=_['merge'](_0x5949c5[_0x4118('0x3a')],{'$or':_[_0x4118('0x29')](_0x36f0c5,function(_0x2f151a){if(_0x2f151a['type']!==_0x4118('0x3c')){var _0x1ef488={};_0x1ef488[_0x2f151a[_0x4118('0x30')]]={'$like':'%'+_0x359783[_0x4118('0x31')][_0x4118('0x3d')]+'%'};return _0x1ef488;}})});}_0x5949c5=_[_0x4118('0x3e')]({},_0x5949c5,_0x359783[_0x4118('0x3f')]);var _0x30e355={'where':_0x5949c5['where']};return db[_0x4118('0x2a')][_0x4118('0x19')](_0x30e355)[_0x4118('0x21')](function(_0x12cac6){_0x2462d1[_0x4118('0x19')]=_0x12cac6;if(_0x359783[_0x4118('0x31')][_0x4118('0x40')]){_0x5949c5[_0x4118('0x41')]=[{'all':!![]}];}return db['JscriptyProject'][_0x4118('0x42')](_0x5949c5);})['then'](function(_0x38cac1){_0x2462d1[_0x4118('0x43')]=_0x38cac1;return _0x2462d1;})['then'](respondWithFilteredResult(_0x132e76,_0x5949c5))['catch'](handleError(_0x132e76,null));};exports[_0x4118('0x44')]=function(_0x8a16ec,_0x3c929f){var _0x2b24ac={'raw':![],'where':{'id':_0x8a16ec['params']['id']}},_0x5e72a1={};_0x5e72a1['model']=_['keys'](db[_0x4118('0x2a')]['rawAttributes']);_0x5e72a1[_0x4118('0x31')]=_[_0x4118('0x32')](_0x8a16ec[_0x4118('0x31')]);_0x5e72a1[_0x4118('0x33')]=_[_0x4118('0x34')](_0x5e72a1[_0x4118('0x2f')],_0x5e72a1['query']);_0x2b24ac[_0x4118('0x36')]=_[_0x4118('0x34')](_0x5e72a1[_0x4118('0x2f')],qs[_0x4118('0x35')](_0x8a16ec[_0x4118('0x31')][_0x4118('0x35')]));_0x2b24ac['attributes']=_0x2b24ac['attributes']['length']?_0x2b24ac[_0x4118('0x36')]:_0x5e72a1[_0x4118('0x2f')];if(_0x8a16ec['query'][_0x4118('0x40')]){_0x2b24ac[_0x4118('0x41')]=[{'all':!![]}];}_0x2b24ac=_[_0x4118('0x3e')]({},_0x2b24ac,_0x8a16ec[_0x4118('0x3f')]);return db['JscriptyProject'][_0x4118('0x45')](_0x2b24ac)[_0x4118('0x21')](handleEntityNotFound(_0x3c929f,null))[_0x4118('0x21')](respondWithResult(_0x3c929f,null))[_0x4118('0x46')](handleError(_0x3c929f,null));};exports[_0x4118('0x47')]=function(_0x291461,_0x4421d6){return db[_0x4118('0x2a')][_0x4118('0x47')](_0x291461[_0x4118('0x48')],{})[_0x4118('0x21')](function(_0x5e3f0d){var _0x5970e1=_0x291461['user'][_0x4118('0x22')]({'plain':!![]});if(!_0x5970e1)throw new Error(_0x4118('0x49'));if(_0x5970e1[_0x4118('0x4a')]===_0x4118('0x4b')){var _0x526478=_0x5e3f0d[_0x4118('0x22')]({'plain':!![]});var _0x448aa2=_0x4118('0x23');return db[_0x4118('0x4c')][_0x4118('0x45')]({'where':{'name':_0x448aa2,'userProfileId':_0x5970e1[_0x4118('0x4d')]},'raw':!![]})[_0x4118('0x21')](function(_0x147148){if(_0x147148&&_0x147148[_0x4118('0x4e')]===0x0){return db[_0x4118('0x24')][_0x4118('0x47')]({'name':_0x526478['name'],'resourceId':_0x526478['id'],'type':_0x147148[_0x4118('0x30')],'sectionId':_0x147148['id']},{})[_0x4118('0x21')](function(){return _0x5e3f0d;});}else{return _0x5e3f0d;}})['catch'](function(_0x1f8e3b){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x1f8e3b);throw _0x1f8e3b;});}return _0x5e3f0d;})[_0x4118('0x21')](respondWithResult(_0x4421d6,0xc9))[_0x4118('0x46')](handleError(_0x4421d6,null));};exports[_0x4118('0x4f')]=function(_0x5e285d,_0x2e195c){var _0x5377a8={'where':{'id':_0x5e285d[_0x4118('0x50')]['id']}},_0x51dddd={};_0x51dddd['model']=_[_0x4118('0x32')](db[_0x4118('0x2a')][_0x4118('0x2b')]);_0x5377a8['attributes']=_[_0x4118('0x34')](_0x51dddd['model'],qs[_0x4118('0x35')](_0x5e285d['query'][_0x4118('0x35')]));_0x5377a8[_0x4118('0x36')]=_0x5377a8[_0x4118('0x36')][_0x4118('0x37')]?_0x5377a8[_0x4118('0x36')]:_0x51dddd[_0x4118('0x2f')];if(_0x5e285d[_0x4118('0x31')][_0x4118('0x40')]){_0x5377a8['include']=[{'all':!![]}];}_0x5377a8=_[_0x4118('0x3e')]({},_0x5377a8,_0x5e285d[_0x4118('0x3f')]);return db['JscriptyProject']['find'](_0x5377a8)[_0x4118('0x21')](handleEntityNotFound(_0x2e195c,null))['then'](function(_0x5bf1fe){if(_0x5bf1fe){var _0x5f34aa=_0x5bf1fe[_0x4118('0x22')]({'plain':!![]});_0x5f34aa=qs['omit'](_0x5f34aa,['id',_0x4118('0x51'),_0x4118('0x52')]);_0x5e285d[_0x4118('0x48')]=_['omit'](_0x5e285d[_0x4118('0x48')],['id','createdAt',_0x4118('0x52')]);return db['JscriptyProject'][_0x4118('0x47')](_['merge'](_0x5f34aa,_0x5e285d['body']),{'include':_0x5e285d[_0x4118('0x31')][_0x4118('0x40')]?[{'all':!![]}]:undefined})['then'](function(_0x506cd1){var _0x504fc1=_0x5e285d[_0x4118('0x4b')]['get']({'plain':!![]});if(!_0x504fc1)throw new Error(_0x4118('0x49'));if(_0x504fc1[_0x4118('0x4a')]===_0x4118('0x4b')){var _0x500833=_0x506cd1[_0x4118('0x22')]({'plain':!![]});var _0x3cac26=_0x4118('0x23');return db[_0x4118('0x4c')][_0x4118('0x45')]({'where':{'name':_0x3cac26,'userProfileId':_0x504fc1[_0x4118('0x4d')]},'raw':!![]})[_0x4118('0x21')](function(_0x27cf50){if(_0x27cf50&&_0x27cf50[_0x4118('0x4e')]===0x0){return db[_0x4118('0x24')][_0x4118('0x47')]({'name':_0x500833[_0x4118('0x30')],'resourceId':_0x500833['id'],'type':_0x27cf50[_0x4118('0x30')],'sectionId':_0x27cf50['id']},{})[_0x4118('0x21')](function(){return _0x506cd1;});}else{return _0x506cd1;}})['catch'](function(_0x20a937){logger['error'](_0x4118('0x53'),_0x20a937);throw _0x20a937;});}return _0x506cd1;});}})['then'](respondWithResult(_0x2e195c,0xc9))[_0x4118('0x46')](handleError(_0x2e195c,null));};exports[_0x4118('0x20')]=function(_0x5e92d1,_0x1a0a8c){if(_0x5e92d1['body']['id']){delete _0x5e92d1['body']['id'];}return db[_0x4118('0x2a')][_0x4118('0x45')]({'where':{'id':_0x5e92d1['params']['id']}})[_0x4118('0x21')](handleEntityNotFound(_0x1a0a8c,null))[_0x4118('0x21')](saveUpdates(_0x5e92d1[_0x4118('0x48')],null))[_0x4118('0x21')](respondWithResult(_0x1a0a8c,null))[_0x4118('0x46')](handleError(_0x1a0a8c,null));};exports[_0x4118('0x54')]=function(_0x2705a9,_0x4f699f){return db[_0x4118('0x2a')]['find']({'where':{'id':_0x2705a9[_0x4118('0x50')]['id']}})[_0x4118('0x21')](handleEntityNotFound(_0x4f699f,null))[_0x4118('0x21')](removeEntity(_0x4f699f,null))[_0x4118('0x46')](handleError(_0x4f699f,null));};exports[_0x4118('0x55')]=function(_0x13bcbc,_0x413724,_0x5a1846){var _0x552448={'raw':!![],'where':{}};var _0x42844f={};var _0x2e31ed={'count':0x0,'rows':[]};return db['JscriptyProject'][_0x4118('0x56')]({'where':{'id':_0x13bcbc[_0x4118('0x50')]['id']}})[_0x4118('0x21')](handleEntityNotFound(_0x413724,null))['then'](function(_0x54529e){if(_0x54529e){_0x42844f[_0x4118('0x2f')]=_[_0x4118('0x32')](db[_0x4118('0x57')][_0x4118('0x2b')]);_0x42844f[_0x4118('0x31')]=_[_0x4118('0x32')](_0x13bcbc[_0x4118('0x31')]);_0x42844f['filters']=_[_0x4118('0x34')](_0x42844f[_0x4118('0x2f')],_0x42844f[_0x4118('0x31')]);_0x552448[_0x4118('0x36')]=_[_0x4118('0x34')](_0x42844f['model'],qs[_0x4118('0x35')](_0x13bcbc[_0x4118('0x31')][_0x4118('0x35')]));_0x552448['attributes']=_0x552448[_0x4118('0x36')]['length']?_0x552448[_0x4118('0x36')]:_0x42844f[_0x4118('0x2f')];if(!_0x13bcbc[_0x4118('0x31')]['hasOwnProperty'](_0x4118('0x58'))){_0x552448['limit']=qs['limit'](_0x13bcbc[_0x4118('0x31')][_0x4118('0x17')]);_0x552448[_0x4118('0x16')]=qs[_0x4118('0x16')](_0x13bcbc[_0x4118('0x31')][_0x4118('0x16')]);}_0x552448[_0x4118('0x59')]=qs['sort'](_0x13bcbc[_0x4118('0x31')][_0x4118('0x39')]);_0x552448[_0x4118('0x3a')]=qs[_0x4118('0x33')](_[_0x4118('0x3b')](_0x13bcbc[_0x4118('0x31')],_0x42844f[_0x4118('0x33')]));_0x552448[_0x4118('0x3a')][_0x4118('0x5a')]=_0x54529e['id'];if(_0x13bcbc[_0x4118('0x31')]['filter']){_0x552448['where']=_[_0x4118('0x3e')](_0x552448[_0x4118('0x3a')],{'$or':_[_0x4118('0x29')](_0x552448[_0x4118('0x36')],function(_0x133e9d){var _0x14ab8e={};_0x14ab8e[_0x133e9d]={'$like':'%'+_0x13bcbc['query']['filter']+'%'};return _0x14ab8e;})});}_0x552448=_[_0x4118('0x3e')]({},_0x552448,_0x13bcbc[_0x4118('0x3f')]);return db[_0x4118('0x57')][_0x4118('0x19')]({'where':_0x552448[_0x4118('0x3a')]})[_0x4118('0x21')](function(_0x11be80){_0x2e31ed[_0x4118('0x19')]=_0x11be80;if(_0x13bcbc['query']['includeAll']){_0x552448['include']=[{'all':!![]}];}return db[_0x4118('0x57')][_0x4118('0x42')](_0x552448);})[_0x4118('0x21')](function(_0x4ff32f){_0x2e31ed[_0x4118('0x43')]=_0x4ff32f;return _0x2e31ed;});}})[_0x4118('0x21')](respondWithFilteredResult(_0x413724,_0x552448))['catch'](handleError(_0x413724,null));};exports[_0x4118('0x5b')]=function(_0x4da54b,_0xf26d53,_0x5b3d89){var _0x21ea00={'raw':!![],'where':{}};var _0x5a3b3b={};var _0x5400d3={'count':0x0,'rows':[]};return db['JscriptyProject'][_0x4118('0x56')]({'where':{'id':_0x4da54b[_0x4118('0x50')]['id']}})['then'](handleEntityNotFound(_0xf26d53,null))[_0x4118('0x21')](function(_0x3ed43c){if(_0x3ed43c){_0x5a3b3b[_0x4118('0x2f')]=_[_0x4118('0x32')](db[_0x4118('0x5c')][_0x4118('0x2b')]);_0x5a3b3b[_0x4118('0x31')]=_[_0x4118('0x32')](_0x4da54b[_0x4118('0x31')]);_0x5a3b3b[_0x4118('0x33')]=_[_0x4118('0x34')](_0x5a3b3b[_0x4118('0x2f')],_0x5a3b3b[_0x4118('0x31')]);_0x21ea00[_0x4118('0x36')]=_[_0x4118('0x34')](_0x5a3b3b[_0x4118('0x2f')],qs[_0x4118('0x35')](_0x4da54b['query']['fields']));_0x21ea00[_0x4118('0x36')]=_0x21ea00[_0x4118('0x36')][_0x4118('0x37')]?_0x21ea00[_0x4118('0x36')]:_0x5a3b3b[_0x4118('0x2f')];if(!_0x4da54b[_0x4118('0x31')][_0x4118('0x38')](_0x4118('0x58'))){_0x21ea00['limit']=qs['limit'](_0x4da54b[_0x4118('0x31')][_0x4118('0x17')]);_0x21ea00['offset']=qs[_0x4118('0x16')](_0x4da54b['query']['offset']);}_0x21ea00[_0x4118('0x59')]=qs['sort'](_0x4da54b[_0x4118('0x31')][_0x4118('0x39')]);_0x21ea00[_0x4118('0x3a')]=qs[_0x4118('0x33')](_[_0x4118('0x3b')](_0x4da54b[_0x4118('0x31')],_0x5a3b3b[_0x4118('0x33')]));_0x21ea00[_0x4118('0x3a')][_0x4118('0x5a')]=_0x3ed43c['id'];if(_0x4da54b[_0x4118('0x31')]['filter']){_0x21ea00['where']=_[_0x4118('0x3e')](_0x21ea00[_0x4118('0x3a')],{'$or':_['map'](_0x21ea00['attributes'],function(_0x58885e){var _0x317cad={};_0x317cad[_0x58885e]={'$like':'%'+_0x4da54b[_0x4118('0x31')][_0x4118('0x3d')]+'%'};return _0x317cad;})});}_0x21ea00=_[_0x4118('0x3e')]({},_0x21ea00,_0x4da54b[_0x4118('0x3f')]);return db['JscriptyAnswerReport'][_0x4118('0x19')]({'where':_0x21ea00['where']})['then'](function(_0x5d57aa){_0x5400d3[_0x4118('0x19')]=_0x5d57aa;if(_0x4da54b[_0x4118('0x31')]['includeAll']){_0x21ea00[_0x4118('0x41')]=[{'all':!![]}];}return db[_0x4118('0x5c')][_0x4118('0x42')](_0x21ea00);})[_0x4118('0x21')](function(_0x42c45d){_0x5400d3[_0x4118('0x43')]=_0x42c45d;return _0x5400d3;});}})[_0x4118('0x21')](respondWithFilteredResult(_0xf26d53,_0x21ea00))[_0x4118('0x46')](handleError(_0xf26d53,null));};function char(_0x4f8e5f){return _0x4118('0x5d')===typeof _0x4f8e5f?String['fromCharCode'][_0x4118('0x1d')](null,arguments):_0x4f8e5f;}function needsEncapsulation(_0x585e27){return!!_0x585e27&&(_0x585e27[_0x4118('0x5e')]()[_0x4118('0x5f')](char(0xd))>=0x0||_0x585e27[_0x4118('0x5e')]()['indexOf'](char(0xa))>=0x0||_0x585e27[_0x4118('0x5e')]()[_0x4118('0x5f')](char(0x2c))>=0x0||_0x585e27['toString']()[_0x4118('0x5f')](char(0x22))>=0x0);}function encapsulate(_0x4f7426){var _0x49af03=char(0x22),_0x11eb2d='\x5c'+char(0x22),_0x407c74=_0x4f7426[_0x4118('0x5e')]()[_0x4118('0x60')](new RegExp(_0x49af03,'g'),_0x11eb2d);return _0x49af03+_0x407c74+_0x49af03;}exports[_0x4118('0x61')]=function(_0xfdbd0f,_0x58c464,_0xc51d8e){var _0x3cb136,_0x495aa4;var _0x4ed269={'where':{'ProjectId':_0xfdbd0f[_0x4118('0x50')]['id']}};if(_0xfdbd0f[_0x4118('0x31')][_0x4118('0x62')]){_0x4ed269[_0x4118('0x3a')][_0x4118('0x63')]=JSON[_0x4118('0x64')](_0xfdbd0f['query']['startTime']);}return db['JscriptySessionReport'][_0x4118('0x42')](_0x4ed269)['then'](handleEntityNotFound(_0x58c464,null))['then'](function(_0x7e9eaf){if(_0x7e9eaf){_0x3cb136=_0x7e9eaf;return db[_0x4118('0x65')][_0x4118('0x42')]({'where':{'SessionId':{'$in':_['map'](_0x3cb136,'id')},'ProjectId':_0xfdbd0f[_0x4118('0x50')]['id']},'order':_0x4118('0x66')});}})[_0x4118('0x21')](handleEntityNotFound(_0x58c464,null))[_0x4118('0x21')](function(_0x510aef){if(_0x510aef){_0x495aa4=_0x510aef;var _0x2bb6e9={};for(var _0x912782=0x0,_0x53211c=_0x495aa4[_0x4118('0x37')];_0x912782<_0x53211c;_0x912782++){if(!_0x2bb6e9['hasOwnProperty'](_0x495aa4[_0x912782]['questionId'])){_0x2bb6e9[_0x495aa4[_0x912782]['questionId']]=needsEncapsulation(_0x495aa4[_0x912782][_0x4118('0x67')])?encapsulate(_0x495aa4[_0x912782][_0x4118('0x67')]):_0x495aa4[_0x912782][_0x4118('0x67')];}}var _0x3ba61f=[],_0x29134e={};for(var _0x316f0e=0x0,_0x69d772=_0x3cb136[_0x4118('0x37')];_0x316f0e<_0x69d772;_0x316f0e++){_0x29134e={'ProjectId':_0xfdbd0f[_0x4118('0x50')]['id'],'SessionId':_0x3cb136[_0x316f0e]['id'],'StartTime':moment(_0x3cb136[_0x316f0e]['starttime'])[_0x4118('0x68')]('YYYY-MM-DD\x20HH:mm:ss')};for(var _0x2af1eb=0x0,_0x52e152=_0x495aa4[_0x4118('0x37')];_0x2af1eb<_0x52e152;_0x2af1eb++){if(_0x495aa4[_0x2af1eb]['SessionId']==_0x3cb136[_0x316f0e]['id']&&_0x2bb6e9[_0x4118('0x38')](_0x495aa4[_0x2af1eb][_0x4118('0x69')])){_0x29134e[_0x2bb6e9[_0x495aa4[_0x2af1eb][_0x4118('0x69')]]]=_0x495aa4[_0x2af1eb][_0x4118('0x6a')];}}for(var _0x22a2b6 in _0x2bb6e9){if(!_0x29134e[_0x4118('0x38')](_0x2bb6e9[_0x22a2b6])){_0x29134e[_0x2bb6e9[_0x22a2b6]]=null;}}_0x3ba61f[_0x4118('0x6b')](_0x29134e);}return _0x3ba61f;}})['then'](function(_0x5ef2b9){if(!_[_0x4118('0x6c')](_0x5ef2b9)){var _0x36379b=toCsv(_0x5ef2b9);var _0x59672a=Date[_0x4118('0x6d')]();fs[_0x4118('0x6e')](util['format'](_0x4118('0x6f'),_0xfdbd0f[_0x4118('0x50')]['id'],_0x59672a),_0x36379b);_0x58c464[_0x4118('0x70')](_0x4118('0x71'),_0x4118('0x72')+util[_0x4118('0x68')]('Jscripty_Project_%d_Summary_%s.csv',_0xfdbd0f[_0x4118('0x50')]['id'],_0x59672a));_0x58c464[_0x4118('0x70')](_0x4118('0x73'),_0x4118('0x74'));return _0x58c464['download'](util[_0x4118('0x68')](_0x4118('0x6f'),_0xfdbd0f[_0x4118('0x50')]['id'],_0x59672a));}else{return _0x58c464['sendStatus'](0xcc);}})[_0x4118('0x46')](handleError(_0x58c464,null));};