Built motion from commit (unavailable).|2.5.21
[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 _0x9bc9=['count','includeAll','include','findAll','rows','catch','show','params','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','clone','omit','createdAt','updatedAt','body','Projects','autoAssociation','update','findOne','JscriptySessionReport','JscriptyAnswerReport','ProjectId','number','toString','indexOf','replace','getSummary','startTime','starttime','parse','-createdAt','questionId','question','format','YYYY-MM-DD\x20HH:mm:ss','SessionId','answer','isEmpty','now','/tmp/Jscripty_Project_%d_Summary_%s.csv','setHeader','Content-disposition','attachment;\x20filename=','text/csv','download','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','ejs','lodash','squel','jsforce','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/license/util','../../mysqldb','status','json','offset','limit','reject','destroy','get','UserProfileResource','then','end','sendStatus','error','name','send','JscriptyProject','rawAttributes','fieldName','map','query','keys','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','merge','type','VIRTUAL','options'];(function(_0x3e1226,_0x4199d6){var _0x1ff634=function(_0x4dbed0){while(--_0x4dbed0){_0x3e1226['push'](_0x3e1226['shift']());}};_0x1ff634(++_0x4199d6);}(_0x9bc9,0x183));var _0x99bc=function(_0x5e5424,_0x1c70b7){_0x5e5424=_0x5e5424-0x0;var _0x356d76=_0x9bc9[_0x5e5424];return _0x356d76;};'use strict';var pdf=require(_0x99bc('0x0'));var emlformat=require(_0x99bc('0x1'));var rimraf=require(_0x99bc('0x2'));var zipdir=require(_0x99bc('0x3'));var jsonpatch=require(_0x99bc('0x4'));var rp=require(_0x99bc('0x5'));var moment=require('moment');var BPromise=require(_0x99bc('0x6'));var Mustache=require(_0x99bc('0x7'));var util=require(_0x99bc('0x8'));var path=require(_0x99bc('0x9'));var sox=require(_0x99bc('0xa'));var csv=require('to-csv');var ejs=require(_0x99bc('0xb'));var fs=require('fs');var _=require(_0x99bc('0xc'));var squel=require(_0x99bc('0xd'));var crypto=require('crypto');var jsforce=require(_0x99bc('0xe'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x99bc('0xf'));var Papa=require(_0x99bc('0x10'));var Redis=require(_0x99bc('0x11'));var authService=require('../../components/auth/service');var qs=require(_0x99bc('0x12'));var as=require(_0x99bc('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x99bc('0x14'))(_0x99bc('0x15'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x99bc('0x16'));var db=require(_0x99bc('0x17'))['db'];function respondWithStatusCode(_0x47c68a,_0x373ab4){_0x373ab4=_0x373ab4||0xcc;return function(_0x4d8c76){if(_0x4d8c76){return _0x47c68a['sendStatus'](_0x373ab4);}return _0x47c68a[_0x99bc('0x18')](_0x373ab4)['end']();};}function respondWithResult(_0x9b5ca4,_0x2bf50b){_0x2bf50b=_0x2bf50b||0xc8;return function(_0xe6b005){if(_0xe6b005){return _0x9b5ca4[_0x99bc('0x18')](_0x2bf50b)[_0x99bc('0x19')](_0xe6b005);}};}function respondWithFilteredResult(_0x1275d9,_0x1cb8c1){return function(_0x2773cd){if(_0x2773cd){var _0xa8b23d=_0x2773cd['count'],_0x30ee7a=_0x1cb8c1['offset'],_0x63765e=_0x1cb8c1[_0x99bc('0x1a')]+_0x1cb8c1[_0x99bc('0x1b')],_0x2ff21a;if(_0x63765e>=_0xa8b23d){_0x63765e=_0xa8b23d;_0x2ff21a=0xc8;}else{_0x2ff21a=0xce;}_0x1275d9[_0x99bc('0x18')](_0x2ff21a);return _0x1275d9['set']('Content-Range',_0x30ee7a+'-'+_0x63765e+'/'+_0xa8b23d)[_0x99bc('0x19')](_0x2773cd);}return null;};}function patchUpdates(_0x1c7a14){return function(_0x54f6b6){try{jsonpatch['apply'](_0x54f6b6,_0x1c7a14,!![]);}catch(_0x53a640){return BPromise[_0x99bc('0x1c')](_0x53a640);}return _0x54f6b6['save']();};}function saveUpdates(_0x53dfff,_0x18298f){return function(_0x4b1ad4){if(_0x4b1ad4){return _0x4b1ad4['update'](_0x53dfff)['then'](function(_0x470813){return _0x470813;});}return null;};}function removeEntity(_0x281b55,_0x368fd0){return function(_0x3fa73b){if(_0x3fa73b){return _0x3fa73b[_0x99bc('0x1d')]()['then'](function(){var _0x368662=_0x3fa73b[_0x99bc('0x1e')]({'plain':!![]});var _0x15549e='Projects';return db[_0x99bc('0x1f')]['destroy']({'where':{'type':_0x15549e,'resourceId':_0x368662['id']}})['then'](function(){return _0x3fa73b;});})[_0x99bc('0x20')](function(){_0x281b55[_0x99bc('0x18')](0xcc)[_0x99bc('0x21')]();});}};}function handleEntityNotFound(_0x3ea103,_0x52f0d7){return function(_0x2a556d){if(!_0x2a556d){_0x3ea103[_0x99bc('0x22')](0x194);}return _0x2a556d;};}function handleError(_0x1a2bf0,_0x24b46c){_0x24b46c=_0x24b46c||0x1f4;return function(_0x46d392){logger[_0x99bc('0x23')](_0x46d392['stack']);if(_0x46d392['name']){delete _0x46d392[_0x99bc('0x24')];}_0x1a2bf0[_0x99bc('0x18')](_0x24b46c)[_0x99bc('0x25')](_0x46d392);};}exports['index']=function(_0x3fa75d,_0x8b9eb5){var _0x3942d5={},_0x350003={},_0xfcaa9d={'count':0x0,'rows':[]};var _0x3b2a63=_['map'](db[_0x99bc('0x26')][_0x99bc('0x27')],function(_0x36b591){return{'name':_0x36b591[_0x99bc('0x28')],'type':_0x36b591['type']['key']};});_0x350003['model']=_[_0x99bc('0x29')](_0x3b2a63,'name');_0x350003[_0x99bc('0x2a')]=_[_0x99bc('0x2b')](_0x3fa75d[_0x99bc('0x2a')]);_0x350003['filters']=_[_0x99bc('0x2c')](_0x350003[_0x99bc('0x2d')],_0x350003[_0x99bc('0x2a')]);_0x3942d5[_0x99bc('0x2e')]=_['intersection'](_0x350003[_0x99bc('0x2d')],qs[_0x99bc('0x2f')](_0x3fa75d['query']['fields']));_0x3942d5[_0x99bc('0x2e')]=_0x3942d5['attributes'][_0x99bc('0x30')]?_0x3942d5['attributes']:_0x350003[_0x99bc('0x2d')];if(!_0x3fa75d[_0x99bc('0x2a')][_0x99bc('0x31')](_0x99bc('0x32'))){_0x3942d5[_0x99bc('0x1b')]=qs[_0x99bc('0x1b')](_0x3fa75d[_0x99bc('0x2a')][_0x99bc('0x1b')]);_0x3942d5[_0x99bc('0x1a')]=qs[_0x99bc('0x1a')](_0x3fa75d[_0x99bc('0x2a')][_0x99bc('0x1a')]);}_0x3942d5[_0x99bc('0x33')]=qs[_0x99bc('0x34')](_0x3fa75d[_0x99bc('0x2a')][_0x99bc('0x34')]);_0x3942d5[_0x99bc('0x35')]=qs[_0x99bc('0x36')](_[_0x99bc('0x37')](_0x3fa75d[_0x99bc('0x2a')],_0x350003['filters']),_0x3b2a63);if(_0x3fa75d[_0x99bc('0x2a')][_0x99bc('0x38')]){_0x3942d5[_0x99bc('0x35')]=_[_0x99bc('0x39')](_0x3942d5[_0x99bc('0x35')],{'$or':_[_0x99bc('0x29')](_0x3b2a63,function(_0x2595d9){if(_0x2595d9[_0x99bc('0x3a')]!==_0x99bc('0x3b')){var _0x262347={};_0x262347[_0x2595d9[_0x99bc('0x24')]]={'$like':'%'+_0x3fa75d[_0x99bc('0x2a')][_0x99bc('0x38')]+'%'};return _0x262347;}})});}_0x3942d5=_[_0x99bc('0x39')]({},_0x3942d5,_0x3fa75d[_0x99bc('0x3c')]);var _0x441f70={'where':_0x3942d5[_0x99bc('0x35')]};return db['JscriptyProject'][_0x99bc('0x3d')](_0x441f70)['then'](function(_0x129d03){_0xfcaa9d['count']=_0x129d03;if(_0x3fa75d[_0x99bc('0x2a')][_0x99bc('0x3e')]){_0x3942d5[_0x99bc('0x3f')]=[{'all':!![]}];}return db['JscriptyProject'][_0x99bc('0x40')](_0x3942d5);})[_0x99bc('0x20')](function(_0x193250){_0xfcaa9d[_0x99bc('0x41')]=_0x193250;return _0xfcaa9d;})[_0x99bc('0x20')](respondWithFilteredResult(_0x8b9eb5,_0x3942d5))[_0x99bc('0x42')](handleError(_0x8b9eb5,null));};exports[_0x99bc('0x43')]=function(_0x334b2a,_0xecb54f){var _0x24b641={'raw':![],'where':{'id':_0x334b2a[_0x99bc('0x44')]['id']}},_0x2216d1={};_0x2216d1['model']=_[_0x99bc('0x2b')](db[_0x99bc('0x26')][_0x99bc('0x27')]);_0x2216d1['query']=_['keys'](_0x334b2a[_0x99bc('0x2a')]);_0x2216d1[_0x99bc('0x36')]=_[_0x99bc('0x2c')](_0x2216d1[_0x99bc('0x2d')],_0x2216d1[_0x99bc('0x2a')]);_0x24b641[_0x99bc('0x2e')]=_[_0x99bc('0x2c')](_0x2216d1['model'],qs[_0x99bc('0x2f')](_0x334b2a[_0x99bc('0x2a')][_0x99bc('0x2f')]));_0x24b641[_0x99bc('0x2e')]=_0x24b641['attributes'][_0x99bc('0x30')]?_0x24b641[_0x99bc('0x2e')]:_0x2216d1[_0x99bc('0x2d')];if(_0x334b2a[_0x99bc('0x2a')]['includeAll']){_0x24b641[_0x99bc('0x3f')]=[{'all':!![]}];}_0x24b641=_['merge']({},_0x24b641,_0x334b2a[_0x99bc('0x3c')]);return db['JscriptyProject'][_0x99bc('0x45')](_0x24b641)['then'](handleEntityNotFound(_0xecb54f,null))[_0x99bc('0x20')](respondWithResult(_0xecb54f,null))[_0x99bc('0x42')](handleError(_0xecb54f,null));};exports[_0x99bc('0x46')]=function(_0xdb2475,_0x47a9df){return db[_0x99bc('0x26')][_0x99bc('0x46')](_0xdb2475['body'],{})[_0x99bc('0x20')](function(_0x21f40a){var _0x1f961f=_0xdb2475[_0x99bc('0x47')][_0x99bc('0x1e')]({'plain':!![]});if(!_0x1f961f)throw new Error(_0x99bc('0x48'));if(_0x1f961f[_0x99bc('0x49')]==='user'){var _0x2630c1=_0x21f40a[_0x99bc('0x1e')]({'plain':!![]});var _0x2b25bc='Projects';return db[_0x99bc('0x4a')][_0x99bc('0x45')]({'where':{'name':_0x2b25bc,'userProfileId':_0x1f961f[_0x99bc('0x4b')]},'raw':!![]})[_0x99bc('0x20')](function(_0x1df898){if(_0x1df898&&_0x1df898['autoAssociation']===0x0){return db[_0x99bc('0x1f')]['create']({'name':_0x2630c1['name'],'resourceId':_0x2630c1['id'],'type':_0x1df898[_0x99bc('0x24')],'sectionId':_0x1df898['id']},{})['then'](function(){return _0x21f40a;});}else{return _0x21f40a;}})[_0x99bc('0x42')](function(_0x4b988a){logger[_0x99bc('0x23')](_0x99bc('0x4c'),_0x4b988a);throw _0x4b988a;});}return _0x21f40a;})[_0x99bc('0x20')](respondWithResult(_0x47a9df,0xc9))['catch'](handleError(_0x47a9df,null));};exports[_0x99bc('0x4d')]=function(_0x49bec1,_0x2b5179){var _0x139d33={'where':{'id':_0x49bec1[_0x99bc('0x44')]['id']}},_0x4d9c80={};_0x4d9c80[_0x99bc('0x2d')]=_[_0x99bc('0x2b')](db[_0x99bc('0x26')][_0x99bc('0x27')]);_0x139d33[_0x99bc('0x2e')]=_['intersection'](_0x4d9c80['model'],qs[_0x99bc('0x2f')](_0x49bec1['query'][_0x99bc('0x2f')]));_0x139d33['attributes']=_0x139d33[_0x99bc('0x2e')][_0x99bc('0x30')]?_0x139d33[_0x99bc('0x2e')]:_0x4d9c80[_0x99bc('0x2d')];if(_0x49bec1[_0x99bc('0x2a')][_0x99bc('0x3e')]){_0x139d33[_0x99bc('0x3f')]=[{'all':!![]}];}_0x139d33=_[_0x99bc('0x39')]({},_0x139d33,_0x49bec1[_0x99bc('0x3c')]);return db[_0x99bc('0x26')][_0x99bc('0x45')](_0x139d33)['then'](handleEntityNotFound(_0x2b5179,null))[_0x99bc('0x20')](function(_0xfa787d){if(_0xfa787d){var _0x23f135=_0xfa787d[_0x99bc('0x1e')]({'plain':!![]});_0x23f135=qs[_0x99bc('0x4e')](_0x23f135,['id',_0x99bc('0x4f'),_0x99bc('0x50')]);_0x49bec1[_0x99bc('0x51')]=_[_0x99bc('0x4e')](_0x49bec1[_0x99bc('0x51')],['id',_0x99bc('0x4f'),_0x99bc('0x50')]);return db[_0x99bc('0x26')][_0x99bc('0x46')](_[_0x99bc('0x39')](_0x23f135,_0x49bec1['body']),{'include':_0x49bec1[_0x99bc('0x2a')][_0x99bc('0x3e')]?[{'all':!![]}]:undefined})['then'](function(_0x52278d){var _0x18ace8=_0x49bec1['user'][_0x99bc('0x1e')]({'plain':!![]});if(!_0x18ace8)throw new Error(_0x99bc('0x48'));if(_0x18ace8['role']==='user'){var _0x48ae72=_0x52278d[_0x99bc('0x1e')]({'plain':!![]});var _0x5673f0=_0x99bc('0x52');return db[_0x99bc('0x4a')][_0x99bc('0x45')]({'where':{'name':_0x5673f0,'userProfileId':_0x18ace8['userProfileId']},'raw':!![]})[_0x99bc('0x20')](function(_0x3bce89){if(_0x3bce89&&_0x3bce89[_0x99bc('0x53')]===0x0){return db[_0x99bc('0x1f')][_0x99bc('0x46')]({'name':_0x48ae72['name'],'resourceId':_0x48ae72['id'],'type':_0x3bce89[_0x99bc('0x24')],'sectionId':_0x3bce89['id']},{})[_0x99bc('0x20')](function(){return _0x52278d;});}else{return _0x52278d;}})[_0x99bc('0x42')](function(_0x5e39c8){logger[_0x99bc('0x23')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x5e39c8);throw _0x5e39c8;});}return _0x52278d;});}})['then'](respondWithResult(_0x2b5179,0xc9))[_0x99bc('0x42')](handleError(_0x2b5179,null));};exports[_0x99bc('0x54')]=function(_0x395aed,_0x13bf35){if(_0x395aed[_0x99bc('0x51')]['id']){delete _0x395aed[_0x99bc('0x51')]['id'];}return db['JscriptyProject']['find']({'where':{'id':_0x395aed['params']['id']}})[_0x99bc('0x20')](handleEntityNotFound(_0x13bf35,null))['then'](saveUpdates(_0x395aed[_0x99bc('0x51')],null))['then'](respondWithResult(_0x13bf35,null))[_0x99bc('0x42')](handleError(_0x13bf35,null));};exports[_0x99bc('0x1d')]=function(_0x48b40a,_0x234808){return db[_0x99bc('0x26')][_0x99bc('0x45')]({'where':{'id':_0x48b40a[_0x99bc('0x44')]['id']}})[_0x99bc('0x20')](handleEntityNotFound(_0x234808,null))[_0x99bc('0x20')](removeEntity(_0x234808,null))[_0x99bc('0x42')](handleError(_0x234808,null));};exports['getSessions']=function(_0x3a739e,_0x3207be,_0x16f878){var _0x396709={'raw':!![],'where':{}};var _0x38f430={};var _0x4c6503={'count':0x0,'rows':[]};return db['JscriptyProject'][_0x99bc('0x55')]({'where':{'id':_0x3a739e['params']['id']}})[_0x99bc('0x20')](handleEntityNotFound(_0x3207be,null))[_0x99bc('0x20')](function(_0x527870){if(_0x527870){_0x38f430[_0x99bc('0x2d')]=_[_0x99bc('0x2b')](db[_0x99bc('0x56')][_0x99bc('0x27')]);_0x38f430[_0x99bc('0x2a')]=_['keys'](_0x3a739e[_0x99bc('0x2a')]);_0x38f430[_0x99bc('0x36')]=_[_0x99bc('0x2c')](_0x38f430[_0x99bc('0x2d')],_0x38f430[_0x99bc('0x2a')]);_0x396709[_0x99bc('0x2e')]=_['intersection'](_0x38f430['model'],qs[_0x99bc('0x2f')](_0x3a739e[_0x99bc('0x2a')][_0x99bc('0x2f')]));_0x396709[_0x99bc('0x2e')]=_0x396709[_0x99bc('0x2e')][_0x99bc('0x30')]?_0x396709[_0x99bc('0x2e')]:_0x38f430[_0x99bc('0x2d')];if(!_0x3a739e['query']['hasOwnProperty'](_0x99bc('0x32'))){_0x396709[_0x99bc('0x1b')]=qs[_0x99bc('0x1b')](_0x3a739e[_0x99bc('0x2a')][_0x99bc('0x1b')]);_0x396709[_0x99bc('0x1a')]=qs['offset'](_0x3a739e['query'][_0x99bc('0x1a')]);}_0x396709['order']=qs[_0x99bc('0x34')](_0x3a739e[_0x99bc('0x2a')][_0x99bc('0x34')]);_0x396709[_0x99bc('0x35')]=qs[_0x99bc('0x36')](_['pick'](_0x3a739e[_0x99bc('0x2a')],_0x38f430[_0x99bc('0x36')]));_0x396709['where']['ProjectId']=_0x527870['id'];if(_0x3a739e[_0x99bc('0x2a')][_0x99bc('0x38')]){_0x396709[_0x99bc('0x35')]=_[_0x99bc('0x39')](_0x396709[_0x99bc('0x35')],{'$or':_[_0x99bc('0x29')](_0x396709['attributes'],function(_0x4890a0){var _0x1899cb={};_0x1899cb[_0x4890a0]={'$like':'%'+_0x3a739e[_0x99bc('0x2a')][_0x99bc('0x38')]+'%'};return _0x1899cb;})});}_0x396709=_[_0x99bc('0x39')]({},_0x396709,_0x3a739e[_0x99bc('0x3c')]);return db[_0x99bc('0x56')]['count']({'where':_0x396709[_0x99bc('0x35')]})['then'](function(_0x463572){_0x4c6503[_0x99bc('0x3d')]=_0x463572;if(_0x3a739e[_0x99bc('0x2a')][_0x99bc('0x3e')]){_0x396709[_0x99bc('0x3f')]=[{'all':!![]}];}return db[_0x99bc('0x56')][_0x99bc('0x40')](_0x396709);})[_0x99bc('0x20')](function(_0x4b4ee3){_0x4c6503[_0x99bc('0x41')]=_0x4b4ee3;return _0x4c6503;});}})[_0x99bc('0x20')](respondWithFilteredResult(_0x3207be,_0x396709))['catch'](handleError(_0x3207be,null));};exports['getAnswers']=function(_0xde4050,_0x2a4ffa,_0x362802){var _0x901af3={'raw':!![],'where':{}};var _0x46573f={};var _0x5db215={'count':0x0,'rows':[]};return db[_0x99bc('0x26')][_0x99bc('0x55')]({'where':{'id':_0xde4050[_0x99bc('0x44')]['id']}})[_0x99bc('0x20')](handleEntityNotFound(_0x2a4ffa,null))[_0x99bc('0x20')](function(_0x2593dd){if(_0x2593dd){_0x46573f[_0x99bc('0x2d')]=_[_0x99bc('0x2b')](db[_0x99bc('0x57')][_0x99bc('0x27')]);_0x46573f['query']=_['keys'](_0xde4050[_0x99bc('0x2a')]);_0x46573f[_0x99bc('0x36')]=_[_0x99bc('0x2c')](_0x46573f[_0x99bc('0x2d')],_0x46573f[_0x99bc('0x2a')]);_0x901af3[_0x99bc('0x2e')]=_['intersection'](_0x46573f[_0x99bc('0x2d')],qs['fields'](_0xde4050['query'][_0x99bc('0x2f')]));_0x901af3[_0x99bc('0x2e')]=_0x901af3[_0x99bc('0x2e')]['length']?_0x901af3[_0x99bc('0x2e')]:_0x46573f[_0x99bc('0x2d')];if(!_0xde4050['query']['hasOwnProperty'](_0x99bc('0x32'))){_0x901af3['limit']=qs[_0x99bc('0x1b')](_0xde4050[_0x99bc('0x2a')]['limit']);_0x901af3[_0x99bc('0x1a')]=qs[_0x99bc('0x1a')](_0xde4050['query'][_0x99bc('0x1a')]);}_0x901af3[_0x99bc('0x33')]=qs[_0x99bc('0x34')](_0xde4050[_0x99bc('0x2a')][_0x99bc('0x34')]);_0x901af3[_0x99bc('0x35')]=qs[_0x99bc('0x36')](_[_0x99bc('0x37')](_0xde4050[_0x99bc('0x2a')],_0x46573f[_0x99bc('0x36')]));_0x901af3['where'][_0x99bc('0x58')]=_0x2593dd['id'];if(_0xde4050['query']['filter']){_0x901af3[_0x99bc('0x35')]=_[_0x99bc('0x39')](_0x901af3[_0x99bc('0x35')],{'$or':_[_0x99bc('0x29')](_0x901af3[_0x99bc('0x2e')],function(_0x403ed2){var _0x1af129={};_0x1af129[_0x403ed2]={'$like':'%'+_0xde4050[_0x99bc('0x2a')][_0x99bc('0x38')]+'%'};return _0x1af129;})});}_0x901af3=_[_0x99bc('0x39')]({},_0x901af3,_0xde4050['options']);return db[_0x99bc('0x57')][_0x99bc('0x3d')]({'where':_0x901af3[_0x99bc('0x35')]})['then'](function(_0x23e34e){_0x5db215[_0x99bc('0x3d')]=_0x23e34e;if(_0xde4050[_0x99bc('0x2a')][_0x99bc('0x3e')]){_0x901af3[_0x99bc('0x3f')]=[{'all':!![]}];}return db[_0x99bc('0x57')][_0x99bc('0x40')](_0x901af3);})[_0x99bc('0x20')](function(_0x26cf96){_0x5db215[_0x99bc('0x41')]=_0x26cf96;return _0x5db215;});}})['then'](respondWithFilteredResult(_0x2a4ffa,_0x901af3))['catch'](handleError(_0x2a4ffa,null));};function char(_0x4e00da){return _0x99bc('0x59')===typeof _0x4e00da?String['fromCharCode']['apply'](null,arguments):_0x4e00da;}function needsEncapsulation(_0x57feb3){return!!_0x57feb3&&(_0x57feb3[_0x99bc('0x5a')]()[_0x99bc('0x5b')](char(0xd))>=0x0||_0x57feb3[_0x99bc('0x5a')]()[_0x99bc('0x5b')](char(0xa))>=0x0||_0x57feb3['toString']()['indexOf'](char(0x2c))>=0x0||_0x57feb3[_0x99bc('0x5a')]()[_0x99bc('0x5b')](char(0x22))>=0x0);}function encapsulate(_0x48fb82){var _0x4703d4=char(0x22),_0x42dc1c='\x5c'+char(0x22),_0x46c833=_0x48fb82[_0x99bc('0x5a')]()[_0x99bc('0x5c')](new RegExp(_0x4703d4,'g'),_0x42dc1c);return _0x4703d4+_0x46c833+_0x4703d4;}exports[_0x99bc('0x5d')]=function(_0x718d24,_0x122433,_0x2af53d){var _0x3c078e,_0x4ef2a4;var _0x8b69f6={'where':{'ProjectId':_0x718d24[_0x99bc('0x44')]['id']}};if(_0x718d24['query'][_0x99bc('0x5e')]){_0x8b69f6[_0x99bc('0x35')][_0x99bc('0x5f')]=JSON[_0x99bc('0x60')](_0x718d24[_0x99bc('0x2a')][_0x99bc('0x5e')]);}return db['JscriptySessionReport'][_0x99bc('0x40')](_0x8b69f6)[_0x99bc('0x20')](handleEntityNotFound(_0x122433,null))['then'](function(_0x369d36){if(_0x369d36){_0x3c078e=_0x369d36;return db['JscriptyQuestionReport'][_0x99bc('0x40')]({'where':{'SessionId':{'$in':_[_0x99bc('0x29')](_0x3c078e,'id')},'ProjectId':_0x718d24[_0x99bc('0x44')]['id']},'order':_0x99bc('0x61')});}})[_0x99bc('0x20')](handleEntityNotFound(_0x122433,null))['then'](function(_0x12684a){if(_0x12684a){_0x4ef2a4=_0x12684a;var _0x76c5a5={};for(var _0x535627=0x0,_0x16e337=_0x4ef2a4[_0x99bc('0x30')];_0x535627<_0x16e337;_0x535627++){if(!_0x76c5a5[_0x99bc('0x31')](_0x4ef2a4[_0x535627]['questionId'])){_0x76c5a5[_0x4ef2a4[_0x535627][_0x99bc('0x62')]]=needsEncapsulation(_0x4ef2a4[_0x535627][_0x99bc('0x63')])?encapsulate(_0x4ef2a4[_0x535627]['question']):_0x4ef2a4[_0x535627][_0x99bc('0x63')];}}var _0x3ced55=[],_0x4708b1={};for(var _0x48afcf=0x0,_0x17a7c7=_0x3c078e['length'];_0x48afcf<_0x17a7c7;_0x48afcf++){_0x4708b1={'ProjectId':_0x718d24[_0x99bc('0x44')]['id'],'SessionId':_0x3c078e[_0x48afcf]['id'],'StartTime':moment(_0x3c078e[_0x48afcf][_0x99bc('0x5f')])[_0x99bc('0x64')](_0x99bc('0x65'))};for(var _0x43d425=0x0,_0x3bbd9e=_0x4ef2a4[_0x99bc('0x30')];_0x43d425<_0x3bbd9e;_0x43d425++){if(_0x4ef2a4[_0x43d425][_0x99bc('0x66')]==_0x3c078e[_0x48afcf]['id']&&_0x76c5a5['hasOwnProperty'](_0x4ef2a4[_0x43d425][_0x99bc('0x62')])){_0x4708b1[_0x76c5a5[_0x4ef2a4[_0x43d425][_0x99bc('0x62')]]]=_0x4ef2a4[_0x43d425][_0x99bc('0x67')];}}for(var _0x1c91a4 in _0x76c5a5){if(!_0x4708b1[_0x99bc('0x31')](_0x76c5a5[_0x1c91a4])){_0x4708b1[_0x76c5a5[_0x1c91a4]]=null;}}_0x3ced55['push'](_0x4708b1);}return _0x3ced55;}})['then'](function(_0x3c5b44){if(!_[_0x99bc('0x68')](_0x3c5b44)){var _0xccab77=toCsv(_0x3c5b44);var _0x2ca21f=Date[_0x99bc('0x69')]();fs['writeFileSync'](util[_0x99bc('0x64')](_0x99bc('0x6a'),_0x718d24['params']['id'],_0x2ca21f),_0xccab77);_0x122433[_0x99bc('0x6b')](_0x99bc('0x6c'),_0x99bc('0x6d')+util[_0x99bc('0x64')]('Jscripty_Project_%d_Summary_%s.csv',_0x718d24[_0x99bc('0x44')]['id'],_0x2ca21f));_0x122433['setHeader']('Content-type',_0x99bc('0x6e'));return _0x122433[_0x99bc('0x6f')](util[_0x99bc('0x64')](_0x99bc('0x6a'),_0x718d24[_0x99bc('0x44')]['id'],_0x2ca21f));}else{return _0x122433['sendStatus'](0xcc);}})[_0x99bc('0x42')](handleError(_0x122433,null));};