8d7b852848875f96f4236d3ec7b0aada8284fa24
[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 _0x52b3=['../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','limit','Content-Range','apply','reject','update','get','Projects','UserProfileResource','then','error','stack','name','send','index','JscriptyProject','fieldName','type','key','model','query','keys','intersection','fields','attributes','length','sort','filters','pick','filter','where','merge','map','options','includeAll','include','findAll','rows','catch','show','params','rawAttributes','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','clone','omit','createdAt','updatedAt','UserProfileSection','getSessions','findOne','JscriptySessionReport','hasOwnProperty','getAnswers','order','JscriptyAnswerReport','number','fromCharCode','toString','indexOf','replace','getSummary','startTime','starttime','parse','JscriptyQuestionReport','-createdAt','questionId','question','format','YYYY-MM-DD\x20HH:mm:ss','answer','isEmpty','now','writeFileSync','/tmp/Jscripty_Project_%d_Summary_%s.csv','setHeader','Content-disposition','attachment;\x20filename=','Jscripty_Project_%d_Summary_%s.csv','text/csv','download','html-pdf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','path','ejs','squel','crypto','desk.js','querystring','../../components/auth/service','api','../../config/utils','../../config/environment'];(function(_0x34022f,_0x21134c){var _0x1bebdf=function(_0xe4b9bb){while(--_0xe4b9bb){_0x34022f['push'](_0x34022f['shift']());}};_0x1bebdf(++_0x21134c);}(_0x52b3,0x13d));var _0x352b=function(_0x31fac4,_0x2aef16){_0x31fac4=_0x31fac4-0x0;var _0x2f36af=_0x52b3[_0x31fac4];return _0x2f36af;};'use strict';var pdf=require(_0x352b('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x352b('0x1'));var jsonpatch=require(_0x352b('0x2'));var rp=require(_0x352b('0x3'));var moment=require('moment');var BPromise=require(_0x352b('0x4'));var Mustache=require(_0x352b('0x5'));var util=require('util');var path=require(_0x352b('0x6'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x352b('0x7'));var fs=require('fs');var _=require('lodash');var squel=require(_0x352b('0x8'));var crypto=require(_0x352b('0x9'));var jsforce=require('jsforce');var deskjs=require(_0x352b('0xa'));var toCsv=require('to-csv');var querystring=require(_0x352b('0xb'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x352b('0xc'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x352b('0xd'));var utils=require(_0x352b('0xe'));var config=require(_0x352b('0xf'));var licenseUtil=require(_0x352b('0x10'));var db=require(_0x352b('0x11'))['db'];function respondWithStatusCode(_0x2206ce,_0x50d1e0){_0x50d1e0=_0x50d1e0||0xcc;return function(_0x15fdeb){if(_0x15fdeb){return _0x2206ce[_0x352b('0x12')](_0x50d1e0);}return _0x2206ce[_0x352b('0x13')](_0x50d1e0)[_0x352b('0x14')]();};}function respondWithResult(_0x14a528,_0x1d09c0){_0x1d09c0=_0x1d09c0||0xc8;return function(_0x49b873){if(_0x49b873){return _0x14a528[_0x352b('0x13')](_0x1d09c0)[_0x352b('0x15')](_0x49b873);}};}function respondWithFilteredResult(_0x5a5605,_0x10ea53){return function(_0x30ed0c){if(_0x30ed0c){var _0x307d29=_0x30ed0c[_0x352b('0x16')],_0x129f9e=_0x10ea53[_0x352b('0x17')],_0x5063a7=_0x10ea53[_0x352b('0x17')]+_0x10ea53[_0x352b('0x18')],_0x1dfa28;if(_0x5063a7>=_0x307d29){_0x5063a7=_0x307d29;_0x1dfa28=0xc8;}else{_0x1dfa28=0xce;}_0x5a5605[_0x352b('0x13')](_0x1dfa28);return _0x5a5605['set'](_0x352b('0x19'),_0x129f9e+'-'+_0x5063a7+'/'+_0x307d29)['json'](_0x30ed0c);}return null;};}function patchUpdates(_0x3c296c){return function(_0xd3b75a){try{jsonpatch[_0x352b('0x1a')](_0xd3b75a,_0x3c296c,!![]);}catch(_0x131db1){return BPromise[_0x352b('0x1b')](_0x131db1);}return _0xd3b75a['save']();};}function saveUpdates(_0x48c1d4,_0x4fc6ca){return function(_0x8aa55b){if(_0x8aa55b){return _0x8aa55b[_0x352b('0x1c')](_0x48c1d4)['then'](function(_0x336368){return _0x336368;});}return null;};}function removeEntity(_0x55d7f9,_0x541ce4){return function(_0xb8e263){if(_0xb8e263){return _0xb8e263['destroy']()['then'](function(){var _0x494a48=_0xb8e263[_0x352b('0x1d')]({'plain':!![]});var _0x269133=_0x352b('0x1e');return db[_0x352b('0x1f')]['destroy']({'where':{'type':_0x269133,'resourceId':_0x494a48['id']}})[_0x352b('0x20')](function(){return _0xb8e263;});})['then'](function(){_0x55d7f9[_0x352b('0x13')](0xcc)[_0x352b('0x14')]();});}};}function handleEntityNotFound(_0x524e36,_0x4f4c1b){return function(_0x3bfc69){if(!_0x3bfc69){_0x524e36[_0x352b('0x12')](0x194);}return _0x3bfc69;};}function handleError(_0x411a5c,_0x5c5031){_0x5c5031=_0x5c5031||0x1f4;return function(_0x5c05db){logger[_0x352b('0x21')](_0x5c05db[_0x352b('0x22')]);if(_0x5c05db['name']){delete _0x5c05db[_0x352b('0x23')];}_0x411a5c[_0x352b('0x13')](_0x5c5031)[_0x352b('0x24')](_0x5c05db);};}exports[_0x352b('0x25')]=function(_0x46146d,_0x4f1310){var _0x4d4546={},_0x3b6950={},_0x4b56a5={'count':0x0,'rows':[]};var _0x43f11e=_['map'](db[_0x352b('0x26')]['rawAttributes'],function(_0x2ed972){return{'name':_0x2ed972[_0x352b('0x27')],'type':_0x2ed972[_0x352b('0x28')][_0x352b('0x29')]};});_0x3b6950[_0x352b('0x2a')]=_['map'](_0x43f11e,_0x352b('0x23'));_0x3b6950[_0x352b('0x2b')]=_[_0x352b('0x2c')](_0x46146d[_0x352b('0x2b')]);_0x3b6950['filters']=_[_0x352b('0x2d')](_0x3b6950['model'],_0x3b6950[_0x352b('0x2b')]);_0x4d4546['attributes']=_[_0x352b('0x2d')](_0x3b6950[_0x352b('0x2a')],qs['fields'](_0x46146d[_0x352b('0x2b')][_0x352b('0x2e')]));_0x4d4546[_0x352b('0x2f')]=_0x4d4546[_0x352b('0x2f')][_0x352b('0x30')]?_0x4d4546[_0x352b('0x2f')]:_0x3b6950[_0x352b('0x2a')];if(!_0x46146d[_0x352b('0x2b')]['hasOwnProperty']('nolimit')){_0x4d4546['limit']=qs['limit'](_0x46146d[_0x352b('0x2b')][_0x352b('0x18')]);_0x4d4546[_0x352b('0x17')]=qs['offset'](_0x46146d[_0x352b('0x2b')]['offset']);}_0x4d4546['order']=qs[_0x352b('0x31')](_0x46146d[_0x352b('0x2b')][_0x352b('0x31')]);_0x4d4546['where']=qs[_0x352b('0x32')](_[_0x352b('0x33')](_0x46146d['query'],_0x3b6950[_0x352b('0x32')]),_0x43f11e);if(_0x46146d[_0x352b('0x2b')][_0x352b('0x34')]){_0x4d4546[_0x352b('0x35')]=_[_0x352b('0x36')](_0x4d4546[_0x352b('0x35')],{'$or':_[_0x352b('0x37')](_0x43f11e,function(_0x4a6c62){if(_0x4a6c62[_0x352b('0x28')]!=='VIRTUAL'){var _0x189a7d={};_0x189a7d[_0x4a6c62[_0x352b('0x23')]]={'$like':'%'+_0x46146d[_0x352b('0x2b')]['filter']+'%'};return _0x189a7d;}})});}_0x4d4546=_['merge']({},_0x4d4546,_0x46146d[_0x352b('0x38')]);var _0xd7e510={'where':_0x4d4546[_0x352b('0x35')]};return db[_0x352b('0x26')][_0x352b('0x16')](_0xd7e510)[_0x352b('0x20')](function(_0x3c6524){_0x4b56a5[_0x352b('0x16')]=_0x3c6524;if(_0x46146d[_0x352b('0x2b')][_0x352b('0x39')]){_0x4d4546[_0x352b('0x3a')]=[{'all':!![]}];}return db[_0x352b('0x26')][_0x352b('0x3b')](_0x4d4546);})[_0x352b('0x20')](function(_0x5c9e22){_0x4b56a5[_0x352b('0x3c')]=_0x5c9e22;return _0x4b56a5;})['then'](respondWithFilteredResult(_0x4f1310,_0x4d4546))[_0x352b('0x3d')](handleError(_0x4f1310,null));};exports[_0x352b('0x3e')]=function(_0x3c7d16,_0xffd4d1){var _0x3c51a7={'raw':![],'where':{'id':_0x3c7d16[_0x352b('0x3f')]['id']}},_0x53cd89={};_0x53cd89[_0x352b('0x2a')]=_[_0x352b('0x2c')](db['JscriptyProject'][_0x352b('0x40')]);_0x53cd89[_0x352b('0x2b')]=_[_0x352b('0x2c')](_0x3c7d16[_0x352b('0x2b')]);_0x53cd89['filters']=_[_0x352b('0x2d')](_0x53cd89[_0x352b('0x2a')],_0x53cd89[_0x352b('0x2b')]);_0x3c51a7[_0x352b('0x2f')]=_[_0x352b('0x2d')](_0x53cd89[_0x352b('0x2a')],qs[_0x352b('0x2e')](_0x3c7d16[_0x352b('0x2b')][_0x352b('0x2e')]));_0x3c51a7[_0x352b('0x2f')]=_0x3c51a7[_0x352b('0x2f')][_0x352b('0x30')]?_0x3c51a7[_0x352b('0x2f')]:_0x53cd89[_0x352b('0x2a')];if(_0x3c7d16['query'][_0x352b('0x39')]){_0x3c51a7[_0x352b('0x3a')]=[{'all':!![]}];}_0x3c51a7=_[_0x352b('0x36')]({},_0x3c51a7,_0x3c7d16[_0x352b('0x38')]);return db['JscriptyProject'][_0x352b('0x41')](_0x3c51a7)[_0x352b('0x20')](handleEntityNotFound(_0xffd4d1,null))[_0x352b('0x20')](respondWithResult(_0xffd4d1,null))['catch'](handleError(_0xffd4d1,null));};exports[_0x352b('0x42')]=function(_0x4c6e1a,_0x2825cc){return db['JscriptyProject']['create'](_0x4c6e1a[_0x352b('0x43')],{})['then'](function(_0x486021){var _0x2cc858=_0x4c6e1a[_0x352b('0x44')][_0x352b('0x1d')]({'plain':!![]});if(!_0x2cc858)throw new Error(_0x352b('0x45'));if(_0x2cc858[_0x352b('0x46')]===_0x352b('0x44')){var _0x5f23d8=_0x486021[_0x352b('0x1d')]({'plain':!![]});var _0x106757=_0x352b('0x1e');return db['UserProfileSection'][_0x352b('0x41')]({'where':{'name':_0x106757,'userProfileId':_0x2cc858[_0x352b('0x47')]},'raw':!![]})[_0x352b('0x20')](function(_0x3850c0){if(_0x3850c0&&_0x3850c0['autoAssociation']===0x0){return db[_0x352b('0x1f')][_0x352b('0x42')]({'name':_0x5f23d8[_0x352b('0x23')],'resourceId':_0x5f23d8['id'],'type':_0x3850c0[_0x352b('0x23')],'sectionId':_0x3850c0['id']},{})[_0x352b('0x20')](function(){return _0x486021;});}else{return _0x486021;}})[_0x352b('0x3d')](function(_0x1ed712){logger['error'](_0x352b('0x48'),_0x1ed712);throw _0x1ed712;});}return _0x486021;})[_0x352b('0x20')](respondWithResult(_0x2825cc,0xc9))[_0x352b('0x3d')](handleError(_0x2825cc,null));};exports[_0x352b('0x49')]=function(_0x12cb70,_0x5211e3){var _0x46c7e3={'where':{'id':_0x12cb70[_0x352b('0x3f')]['id']}},_0x3ef18a={};_0x3ef18a[_0x352b('0x2a')]=_['keys'](db['JscriptyProject'][_0x352b('0x40')]);_0x46c7e3[_0x352b('0x2f')]=_[_0x352b('0x2d')](_0x3ef18a['model'],qs[_0x352b('0x2e')](_0x12cb70['query'][_0x352b('0x2e')]));_0x46c7e3[_0x352b('0x2f')]=_0x46c7e3['attributes']['length']?_0x46c7e3[_0x352b('0x2f')]:_0x3ef18a['model'];if(_0x12cb70[_0x352b('0x2b')][_0x352b('0x39')]){_0x46c7e3[_0x352b('0x3a')]=[{'all':!![]}];}_0x46c7e3=_['merge']({},_0x46c7e3,_0x12cb70[_0x352b('0x38')]);return db[_0x352b('0x26')][_0x352b('0x41')](_0x46c7e3)[_0x352b('0x20')](handleEntityNotFound(_0x5211e3,null))[_0x352b('0x20')](function(_0x37fd75){if(_0x37fd75){var _0x334570=_0x37fd75[_0x352b('0x1d')]({'plain':!![]});_0x334570=qs[_0x352b('0x4a')](_0x334570,['id',_0x352b('0x4b'),_0x352b('0x4c')]);_0x12cb70[_0x352b('0x43')]=_['omit'](_0x12cb70[_0x352b('0x43')],['id',_0x352b('0x4b'),_0x352b('0x4c')]);return db[_0x352b('0x26')]['create'](_[_0x352b('0x36')](_0x334570,_0x12cb70[_0x352b('0x43')]),{'include':_0x12cb70['query']['includeAll']?[{'all':!![]}]:undefined})['then'](function(_0x211ba9){var _0x53d71a=_0x12cb70['user'][_0x352b('0x1d')]({'plain':!![]});if(!_0x53d71a)throw new Error(_0x352b('0x45'));if(_0x53d71a[_0x352b('0x46')]===_0x352b('0x44')){var _0x1c04eb=_0x211ba9[_0x352b('0x1d')]({'plain':!![]});var _0xb452a0='Projects';return db[_0x352b('0x4d')][_0x352b('0x41')]({'where':{'name':_0xb452a0,'userProfileId':_0x53d71a[_0x352b('0x47')]},'raw':!![]})['then'](function(_0x4bfe29){if(_0x4bfe29&&_0x4bfe29['autoAssociation']===0x0){return db[_0x352b('0x1f')][_0x352b('0x42')]({'name':_0x1c04eb[_0x352b('0x23')],'resourceId':_0x1c04eb['id'],'type':_0x4bfe29[_0x352b('0x23')],'sectionId':_0x4bfe29['id']},{})['then'](function(){return _0x211ba9;});}else{return _0x211ba9;}})[_0x352b('0x3d')](function(_0x136b16){logger[_0x352b('0x21')](_0x352b('0x48'),_0x136b16);throw _0x136b16;});}return _0x211ba9;});}})[_0x352b('0x20')](respondWithResult(_0x5211e3,0xc9))[_0x352b('0x3d')](handleError(_0x5211e3,null));};exports['update']=function(_0x6e3e44,_0x217901){if(_0x6e3e44[_0x352b('0x43')]['id']){delete _0x6e3e44[_0x352b('0x43')]['id'];}return db[_0x352b('0x26')][_0x352b('0x41')]({'where':{'id':_0x6e3e44[_0x352b('0x3f')]['id']}})['then'](handleEntityNotFound(_0x217901,null))[_0x352b('0x20')](saveUpdates(_0x6e3e44[_0x352b('0x43')],null))[_0x352b('0x20')](respondWithResult(_0x217901,null))[_0x352b('0x3d')](handleError(_0x217901,null));};exports['destroy']=function(_0x4f2d37,_0x23d582){return db[_0x352b('0x26')][_0x352b('0x41')]({'where':{'id':_0x4f2d37[_0x352b('0x3f')]['id']}})[_0x352b('0x20')](handleEntityNotFound(_0x23d582,null))[_0x352b('0x20')](removeEntity(_0x23d582,null))['catch'](handleError(_0x23d582,null));};exports[_0x352b('0x4e')]=function(_0x47787e,_0x545424,_0x121866){var _0x377695={'raw':!![],'where':{}};var _0x1d3b9b={};var _0x4066e7={'count':0x0,'rows':[]};return db['JscriptyProject'][_0x352b('0x4f')]({'where':{'id':_0x47787e[_0x352b('0x3f')]['id']}})[_0x352b('0x20')](handleEntityNotFound(_0x545424,null))[_0x352b('0x20')](function(_0x245fab){if(_0x245fab){_0x1d3b9b['model']=_[_0x352b('0x2c')](db[_0x352b('0x50')][_0x352b('0x40')]);_0x1d3b9b[_0x352b('0x2b')]=_[_0x352b('0x2c')](_0x47787e[_0x352b('0x2b')]);_0x1d3b9b[_0x352b('0x32')]=_['intersection'](_0x1d3b9b[_0x352b('0x2a')],_0x1d3b9b['query']);_0x377695[_0x352b('0x2f')]=_[_0x352b('0x2d')](_0x1d3b9b[_0x352b('0x2a')],qs[_0x352b('0x2e')](_0x47787e[_0x352b('0x2b')][_0x352b('0x2e')]));_0x377695[_0x352b('0x2f')]=_0x377695['attributes'][_0x352b('0x30')]?_0x377695[_0x352b('0x2f')]:_0x1d3b9b['model'];if(!_0x47787e['query'][_0x352b('0x51')]('nolimit')){_0x377695[_0x352b('0x18')]=qs['limit'](_0x47787e[_0x352b('0x2b')]['limit']);_0x377695[_0x352b('0x17')]=qs[_0x352b('0x17')](_0x47787e[_0x352b('0x2b')][_0x352b('0x17')]);}_0x377695['order']=qs['sort'](_0x47787e[_0x352b('0x2b')]['sort']);_0x377695[_0x352b('0x35')]=qs[_0x352b('0x32')](_['pick'](_0x47787e[_0x352b('0x2b')],_0x1d3b9b['filters']));_0x377695[_0x352b('0x35')]['ProjectId']=_0x245fab['id'];if(_0x47787e[_0x352b('0x2b')]['filter']){_0x377695[_0x352b('0x35')]=_[_0x352b('0x36')](_0x377695[_0x352b('0x35')],{'$or':_[_0x352b('0x37')](_0x377695[_0x352b('0x2f')],function(_0x21d7bf){var _0x1b84b9={};_0x1b84b9[_0x21d7bf]={'$like':'%'+_0x47787e['query']['filter']+'%'};return _0x1b84b9;})});}_0x377695=_[_0x352b('0x36')]({},_0x377695,_0x47787e[_0x352b('0x38')]);return db[_0x352b('0x50')][_0x352b('0x16')]({'where':_0x377695[_0x352b('0x35')]})[_0x352b('0x20')](function(_0x42bc6){_0x4066e7[_0x352b('0x16')]=_0x42bc6;if(_0x47787e[_0x352b('0x2b')]['includeAll']){_0x377695['include']=[{'all':!![]}];}return db[_0x352b('0x50')]['findAll'](_0x377695);})[_0x352b('0x20')](function(_0x11e52a){_0x4066e7[_0x352b('0x3c')]=_0x11e52a;return _0x4066e7;});}})[_0x352b('0x20')](respondWithFilteredResult(_0x545424,_0x377695))['catch'](handleError(_0x545424,null));};exports[_0x352b('0x52')]=function(_0x5cb524,_0xb67512,_0x4c6f60){var _0x5e4d75={'raw':!![],'where':{}};var _0x170dd6={};var _0x5bee2b={'count':0x0,'rows':[]};return db[_0x352b('0x26')][_0x352b('0x4f')]({'where':{'id':_0x5cb524[_0x352b('0x3f')]['id']}})['then'](handleEntityNotFound(_0xb67512,null))[_0x352b('0x20')](function(_0x46b511){if(_0x46b511){_0x170dd6['model']=_[_0x352b('0x2c')](db['JscriptyAnswerReport'][_0x352b('0x40')]);_0x170dd6[_0x352b('0x2b')]=_[_0x352b('0x2c')](_0x5cb524['query']);_0x170dd6['filters']=_[_0x352b('0x2d')](_0x170dd6[_0x352b('0x2a')],_0x170dd6[_0x352b('0x2b')]);_0x5e4d75['attributes']=_[_0x352b('0x2d')](_0x170dd6['model'],qs[_0x352b('0x2e')](_0x5cb524['query'][_0x352b('0x2e')]));_0x5e4d75[_0x352b('0x2f')]=_0x5e4d75[_0x352b('0x2f')][_0x352b('0x30')]?_0x5e4d75[_0x352b('0x2f')]:_0x170dd6[_0x352b('0x2a')];if(!_0x5cb524[_0x352b('0x2b')][_0x352b('0x51')]('nolimit')){_0x5e4d75[_0x352b('0x18')]=qs['limit'](_0x5cb524[_0x352b('0x2b')]['limit']);_0x5e4d75[_0x352b('0x17')]=qs[_0x352b('0x17')](_0x5cb524[_0x352b('0x2b')][_0x352b('0x17')]);}_0x5e4d75[_0x352b('0x53')]=qs[_0x352b('0x31')](_0x5cb524[_0x352b('0x2b')][_0x352b('0x31')]);_0x5e4d75['where']=qs[_0x352b('0x32')](_[_0x352b('0x33')](_0x5cb524['query'],_0x170dd6['filters']));_0x5e4d75[_0x352b('0x35')]['ProjectId']=_0x46b511['id'];if(_0x5cb524['query'][_0x352b('0x34')]){_0x5e4d75[_0x352b('0x35')]=_[_0x352b('0x36')](_0x5e4d75['where'],{'$or':_['map'](_0x5e4d75['attributes'],function(_0xacd003){var _0x5e7736={};_0x5e7736[_0xacd003]={'$like':'%'+_0x5cb524[_0x352b('0x2b')][_0x352b('0x34')]+'%'};return _0x5e7736;})});}_0x5e4d75=_[_0x352b('0x36')]({},_0x5e4d75,_0x5cb524[_0x352b('0x38')]);return db[_0x352b('0x54')][_0x352b('0x16')]({'where':_0x5e4d75[_0x352b('0x35')]})[_0x352b('0x20')](function(_0x118a51){_0x5bee2b[_0x352b('0x16')]=_0x118a51;if(_0x5cb524['query'][_0x352b('0x39')]){_0x5e4d75[_0x352b('0x3a')]=[{'all':!![]}];}return db[_0x352b('0x54')][_0x352b('0x3b')](_0x5e4d75);})['then'](function(_0x5c573b){_0x5bee2b[_0x352b('0x3c')]=_0x5c573b;return _0x5bee2b;});}})['then'](respondWithFilteredResult(_0xb67512,_0x5e4d75))[_0x352b('0x3d')](handleError(_0xb67512,null));};function char(_0xa09e7f){return _0x352b('0x55')===typeof _0xa09e7f?String[_0x352b('0x56')]['apply'](null,arguments):_0xa09e7f;}function needsEncapsulation(_0x30452e){return!!_0x30452e&&(_0x30452e[_0x352b('0x57')]()['indexOf'](char(0xd))>=0x0||_0x30452e[_0x352b('0x57')]()['indexOf'](char(0xa))>=0x0||_0x30452e[_0x352b('0x57')]()[_0x352b('0x58')](char(0x2c))>=0x0||_0x30452e[_0x352b('0x57')]()[_0x352b('0x58')](char(0x22))>=0x0);}function encapsulate(_0x4b2e28){var _0x22f54b=char(0x22),_0x1d5066='\x5c'+char(0x22),_0x1c28fd=_0x4b2e28['toString']()[_0x352b('0x59')](new RegExp(_0x22f54b,'g'),_0x1d5066);return _0x22f54b+_0x1c28fd+_0x22f54b;}exports[_0x352b('0x5a')]=function(_0x49f71d,_0x4fe5f7,_0x253f15){var _0x18dd4f,_0x1443cd;var _0x35442f={'where':{'ProjectId':_0x49f71d[_0x352b('0x3f')]['id']}};if(_0x49f71d[_0x352b('0x2b')][_0x352b('0x5b')]){_0x35442f['where'][_0x352b('0x5c')]=JSON[_0x352b('0x5d')](_0x49f71d[_0x352b('0x2b')][_0x352b('0x5b')]);}return db[_0x352b('0x50')][_0x352b('0x3b')](_0x35442f)[_0x352b('0x20')](handleEntityNotFound(_0x4fe5f7,null))[_0x352b('0x20')](function(_0x2a79b3){if(_0x2a79b3){_0x18dd4f=_0x2a79b3;return db[_0x352b('0x5e')][_0x352b('0x3b')]({'where':{'SessionId':{'$in':_[_0x352b('0x37')](_0x18dd4f,'id')},'ProjectId':_0x49f71d[_0x352b('0x3f')]['id']},'order':_0x352b('0x5f')});}})[_0x352b('0x20')](handleEntityNotFound(_0x4fe5f7,null))['then'](function(_0xadc345){if(_0xadc345){_0x1443cd=_0xadc345;var _0x33a522={};for(var _0x266bcb=0x0,_0x539c9f=_0x1443cd['length'];_0x266bcb<_0x539c9f;_0x266bcb++){if(!_0x33a522[_0x352b('0x51')](_0x1443cd[_0x266bcb][_0x352b('0x60')])){_0x33a522[_0x1443cd[_0x266bcb][_0x352b('0x60')]]=needsEncapsulation(_0x1443cd[_0x266bcb]['question'])?encapsulate(_0x1443cd[_0x266bcb][_0x352b('0x61')]):_0x1443cd[_0x266bcb][_0x352b('0x61')];}}var _0x1dbf4c=[],_0x4abdab={};for(var _0x51393d=0x0,_0x13e4a8=_0x18dd4f[_0x352b('0x30')];_0x51393d<_0x13e4a8;_0x51393d++){_0x4abdab={'ProjectId':_0x49f71d[_0x352b('0x3f')]['id'],'SessionId':_0x18dd4f[_0x51393d]['id'],'StartTime':moment(_0x18dd4f[_0x51393d]['starttime'])[_0x352b('0x62')](_0x352b('0x63'))};for(var _0xbc1078=0x0,_0x45367a=_0x1443cd[_0x352b('0x30')];_0xbc1078<_0x45367a;_0xbc1078++){if(_0x1443cd[_0xbc1078]['SessionId']==_0x18dd4f[_0x51393d]['id']&&_0x33a522[_0x352b('0x51')](_0x1443cd[_0xbc1078]['questionId'])){_0x4abdab[_0x33a522[_0x1443cd[_0xbc1078]['questionId']]]=_0x1443cd[_0xbc1078][_0x352b('0x64')];}}for(var _0x469dee in _0x33a522){if(!_0x4abdab[_0x352b('0x51')](_0x33a522[_0x469dee])){_0x4abdab[_0x33a522[_0x469dee]]=null;}}_0x1dbf4c['push'](_0x4abdab);}return _0x1dbf4c;}})[_0x352b('0x20')](function(_0x38ce39){if(!_[_0x352b('0x65')](_0x38ce39)){var _0x582a1e=toCsv(_0x38ce39);var _0x3b8c81=Date[_0x352b('0x66')]();fs[_0x352b('0x67')](util['format'](_0x352b('0x68'),_0x49f71d['params']['id'],_0x3b8c81),_0x582a1e);_0x4fe5f7[_0x352b('0x69')](_0x352b('0x6a'),_0x352b('0x6b')+util[_0x352b('0x62')](_0x352b('0x6c'),_0x49f71d[_0x352b('0x3f')]['id'],_0x3b8c81));_0x4fe5f7['setHeader']('Content-type',_0x352b('0x6d'));return _0x4fe5f7[_0x352b('0x6e')](util['format']('/tmp/Jscripty_Project_%d_Summary_%s.csv',_0x49f71d[_0x352b('0x3f')]['id'],_0x3b8c81));}else{return _0x4fe5f7['sendStatus'](0xcc);}})[_0x352b('0x3d')](handleError(_0x4fe5f7,null));};