Built motion from commit 1fa89557.|2.6.10
[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 _0x0caf=['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','updatedAt','body','createdAt','findOne','JscriptySessionReport','hasOwnProperty','ProjectId','rows','getAnswers','number','fromCharCode','toString','indexOf','replace','getSummary','startTime','starttime','parse','JscriptyQuestionReport','questionId','question','format','YYYY-MM-DD\x20HH:mm:ss','SessionId','push','now','setHeader','Content-disposition','attachment;\x20filename=','Jscripty_Project_%d_Summary_%s.csv','text/csv','download','/tmp/Jscripty_Project_%d_Summary_%s.csv','fast-json-patch','request-promise','moment','util','path','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../mysqldb','sendStatus','status','end','offset','undefined','count','limit','Content-Range','json','apply','reject','save','update','then','get','Projects','UserProfileResource','destroy','stack','name','send','index','map','JscriptyProject','rawAttributes','fieldName','type','key','model','query','keys','filters','attributes','intersection','fields','length','nolimit','order','sort','where','pick','merge','filter','options','includeAll','findAll','catch','show','params','include','find','create'];(function(_0x26a184,_0x3ae3c2){var _0x2f67ee=function(_0xce701c){while(--_0xce701c){_0x26a184['push'](_0x26a184['shift']());}};_0x2f67ee(++_0x3ae3c2);}(_0x0caf,0x9f));var _0xf0ca=function(_0xde132e,_0x399058){_0xde132e=_0xde132e-0x0;var _0x19b1c5=_0x0caf[_0xde132e];return _0x19b1c5;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xf0ca('0x0'));var rp=require(_0xf0ca('0x1'));var moment=require(_0xf0ca('0x2'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xf0ca('0x3'));var path=require(_0xf0ca('0x4'));var sox=require('sox');var csv=require(_0xf0ca('0x5'));var ejs=require(_0xf0ca('0x6'));var fs=require('fs');var fs_extra=require(_0xf0ca('0x7'));var _=require('lodash');var squel=require(_0xf0ca('0x8'));var crypto=require(_0xf0ca('0x9'));var jsforce=require(_0xf0ca('0xa'));var deskjs=require(_0xf0ca('0xb'));var toCsv=require(_0xf0ca('0x5'));var querystring=require(_0xf0ca('0xc'));var Papa=require(_0xf0ca('0xd'));var Redis=require('ioredis');var authService=require(_0xf0ca('0xe'));var qs=require(_0xf0ca('0xf'));var as=require(_0xf0ca('0x10'));var hardwareService=require(_0xf0ca('0x11'));var logger=require(_0xf0ca('0x12'))('api');var utils=require('../../config/utils');var config=require(_0xf0ca('0x13'));var licenseUtil=require('../../config/license/util');var db=require(_0xf0ca('0x14'))['db'];function respondWithStatusCode(_0x582e00,_0x3c1332){_0x3c1332=_0x3c1332||0xcc;return function(_0x38c595){if(_0x38c595){return _0x582e00[_0xf0ca('0x15')](_0x3c1332);}return _0x582e00[_0xf0ca('0x16')](_0x3c1332)[_0xf0ca('0x17')]();};}function respondWithResult(_0x3f6251,_0x5c5875){_0x5c5875=_0x5c5875||0xc8;return function(_0x6d9157){if(_0x6d9157){return _0x3f6251['status'](_0x5c5875)['json'](_0x6d9157);}};}function respondWithFilteredResult(_0x4545db,_0x34ea00){return function(_0x3b1daa){if(_0x3b1daa){var _0x2b074e=typeof _0x34ea00[_0xf0ca('0x18')]==='undefined'&&typeof _0x34ea00['limit']===_0xf0ca('0x19');var _0x4d08f2=_0x3b1daa['count'];var _0x3245b2=_0x2b074e?0x0:_0x34ea00[_0xf0ca('0x18')];var _0x2473f0=_0x2b074e?_0x3b1daa[_0xf0ca('0x1a')]:_0x34ea00[_0xf0ca('0x18')]+_0x34ea00[_0xf0ca('0x1b')];var _0x48b114;if(_0x2473f0>=_0x4d08f2){_0x2473f0=_0x4d08f2;_0x48b114=0xc8;}else{_0x48b114=0xce;}_0x4545db[_0xf0ca('0x16')](_0x48b114);return _0x4545db['set'](_0xf0ca('0x1c'),_0x3245b2+'-'+_0x2473f0+'/'+_0x4d08f2)[_0xf0ca('0x1d')](_0x3b1daa);}return null;};}function patchUpdates(_0x50f742){return function(_0x24303d){try{jsonpatch[_0xf0ca('0x1e')](_0x24303d,_0x50f742,!![]);}catch(_0x3512b3){return BPromise[_0xf0ca('0x1f')](_0x3512b3);}return _0x24303d[_0xf0ca('0x20')]();};}function saveUpdates(_0x2e54bf,_0x3414eb){return function(_0x520863){if(_0x520863){return _0x520863[_0xf0ca('0x21')](_0x2e54bf)[_0xf0ca('0x22')](function(_0x1ba29d){return _0x1ba29d;});}return null;};}function removeEntity(_0x3d6bad,_0x5f31c6){return function(_0xd8312a){if(_0xd8312a){return _0xd8312a['destroy']()['then'](function(){var _0x1eea57=_0xd8312a[_0xf0ca('0x23')]({'plain':!![]});var _0x8dbaed=_0xf0ca('0x24');return db[_0xf0ca('0x25')][_0xf0ca('0x26')]({'where':{'type':_0x8dbaed,'resourceId':_0x1eea57['id']}})[_0xf0ca('0x22')](function(){return _0xd8312a;});})[_0xf0ca('0x22')](function(){_0x3d6bad['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x22c0f0,_0x15aaa1){return function(_0x57ad7e){if(!_0x57ad7e){_0x22c0f0[_0xf0ca('0x15')](0x194);}return _0x57ad7e;};}function handleError(_0x41708,_0x214d12){_0x214d12=_0x214d12||0x1f4;return function(_0x2aaae9){logger['error'](_0x2aaae9[_0xf0ca('0x27')]);if(_0x2aaae9[_0xf0ca('0x28')]){delete _0x2aaae9[_0xf0ca('0x28')];}_0x41708[_0xf0ca('0x16')](_0x214d12)[_0xf0ca('0x29')](_0x2aaae9);};}exports[_0xf0ca('0x2a')]=function(_0x3ed79e,_0x56bd3b){var _0x6988a={},_0x4ba8ac={},_0x35d887={'count':0x0,'rows':[]};var _0x5c4625=_[_0xf0ca('0x2b')](db[_0xf0ca('0x2c')][_0xf0ca('0x2d')],function(_0x12d49c){return{'name':_0x12d49c[_0xf0ca('0x2e')],'type':_0x12d49c[_0xf0ca('0x2f')][_0xf0ca('0x30')]};});_0x4ba8ac[_0xf0ca('0x31')]=_[_0xf0ca('0x2b')](_0x5c4625,_0xf0ca('0x28'));_0x4ba8ac[_0xf0ca('0x32')]=_[_0xf0ca('0x33')](_0x3ed79e[_0xf0ca('0x32')]);_0x4ba8ac[_0xf0ca('0x34')]=_['intersection'](_0x4ba8ac[_0xf0ca('0x31')],_0x4ba8ac[_0xf0ca('0x32')]);_0x6988a[_0xf0ca('0x35')]=_[_0xf0ca('0x36')](_0x4ba8ac['model'],qs[_0xf0ca('0x37')](_0x3ed79e['query'][_0xf0ca('0x37')]));_0x6988a['attributes']=_0x6988a[_0xf0ca('0x35')][_0xf0ca('0x38')]?_0x6988a['attributes']:_0x4ba8ac[_0xf0ca('0x31')];if(!_0x3ed79e['query']['hasOwnProperty'](_0xf0ca('0x39'))){_0x6988a[_0xf0ca('0x1b')]=qs[_0xf0ca('0x1b')](_0x3ed79e[_0xf0ca('0x32')][_0xf0ca('0x1b')]);_0x6988a['offset']=qs[_0xf0ca('0x18')](_0x3ed79e[_0xf0ca('0x32')][_0xf0ca('0x18')]);}_0x6988a[_0xf0ca('0x3a')]=qs[_0xf0ca('0x3b')](_0x3ed79e[_0xf0ca('0x32')]['sort']);_0x6988a[_0xf0ca('0x3c')]=qs[_0xf0ca('0x34')](_[_0xf0ca('0x3d')](_0x3ed79e[_0xf0ca('0x32')],_0x4ba8ac['filters']),_0x5c4625);if(_0x3ed79e[_0xf0ca('0x32')]['filter']){_0x6988a[_0xf0ca('0x3c')]=_[_0xf0ca('0x3e')](_0x6988a[_0xf0ca('0x3c')],{'$or':_[_0xf0ca('0x2b')](_0x5c4625,function(_0x4cb568){if(_0x4cb568['type']!=='VIRTUAL'){var _0x13b247={};_0x13b247[_0x4cb568[_0xf0ca('0x28')]]={'$like':'%'+_0x3ed79e[_0xf0ca('0x32')][_0xf0ca('0x3f')]+'%'};return _0x13b247;}})});}_0x6988a=_[_0xf0ca('0x3e')]({},_0x6988a,_0x3ed79e[_0xf0ca('0x40')]);var _0x318c07={'where':_0x6988a[_0xf0ca('0x3c')]};return db[_0xf0ca('0x2c')][_0xf0ca('0x1a')](_0x318c07)['then'](function(_0x466857){_0x35d887[_0xf0ca('0x1a')]=_0x466857;if(_0x3ed79e[_0xf0ca('0x32')][_0xf0ca('0x41')]){_0x6988a['include']=[{'all':!![]}];}return db['JscriptyProject'][_0xf0ca('0x42')](_0x6988a);})[_0xf0ca('0x22')](function(_0x3c808c){_0x35d887['rows']=_0x3c808c;return _0x35d887;})[_0xf0ca('0x22')](respondWithFilteredResult(_0x56bd3b,_0x6988a))[_0xf0ca('0x43')](handleError(_0x56bd3b,null));};exports[_0xf0ca('0x44')]=function(_0x411526,_0x462c78){var _0x577d0c={'raw':![],'where':{'id':_0x411526[_0xf0ca('0x45')]['id']}},_0x2bd7f7={};_0x2bd7f7[_0xf0ca('0x31')]=_[_0xf0ca('0x33')](db[_0xf0ca('0x2c')][_0xf0ca('0x2d')]);_0x2bd7f7[_0xf0ca('0x32')]=_[_0xf0ca('0x33')](_0x411526[_0xf0ca('0x32')]);_0x2bd7f7[_0xf0ca('0x34')]=_[_0xf0ca('0x36')](_0x2bd7f7[_0xf0ca('0x31')],_0x2bd7f7[_0xf0ca('0x32')]);_0x577d0c[_0xf0ca('0x35')]=_[_0xf0ca('0x36')](_0x2bd7f7[_0xf0ca('0x31')],qs[_0xf0ca('0x37')](_0x411526[_0xf0ca('0x32')][_0xf0ca('0x37')]));_0x577d0c['attributes']=_0x577d0c[_0xf0ca('0x35')][_0xf0ca('0x38')]?_0x577d0c[_0xf0ca('0x35')]:_0x2bd7f7[_0xf0ca('0x31')];if(_0x411526[_0xf0ca('0x32')]['includeAll']){_0x577d0c[_0xf0ca('0x46')]=[{'all':!![]}];}_0x577d0c=_[_0xf0ca('0x3e')]({},_0x577d0c,_0x411526['options']);return db['JscriptyProject'][_0xf0ca('0x47')](_0x577d0c)[_0xf0ca('0x22')](handleEntityNotFound(_0x462c78,null))[_0xf0ca('0x22')](respondWithResult(_0x462c78,null))['catch'](handleError(_0x462c78,null));};exports[_0xf0ca('0x48')]=function(_0x5dad46,_0x577f1d){return db[_0xf0ca('0x2c')]['create'](_0x5dad46['body'],{})[_0xf0ca('0x22')](function(_0x51b6bb){var _0xf73184=_0x5dad46[_0xf0ca('0x49')][_0xf0ca('0x23')]({'plain':!![]});if(!_0xf73184)throw new Error(_0xf0ca('0x4a'));if(_0xf73184[_0xf0ca('0x4b')]===_0xf0ca('0x49')){var _0x5ef4dc=_0x51b6bb[_0xf0ca('0x23')]({'plain':!![]});var _0xb8a7b6=_0xf0ca('0x24');return db[_0xf0ca('0x4c')]['find']({'where':{'name':_0xb8a7b6,'userProfileId':_0xf73184[_0xf0ca('0x4d')]},'raw':!![]})[_0xf0ca('0x22')](function(_0x3011d2){if(_0x3011d2&&_0x3011d2[_0xf0ca('0x4e')]===0x0){return db[_0xf0ca('0x25')][_0xf0ca('0x48')]({'name':_0x5ef4dc[_0xf0ca('0x28')],'resourceId':_0x5ef4dc['id'],'type':_0x3011d2[_0xf0ca('0x28')],'sectionId':_0x3011d2['id']},{})['then'](function(){return _0x51b6bb;});}else{return _0x51b6bb;}})['catch'](function(_0x2333f5){logger[_0xf0ca('0x4f')](_0xf0ca('0x50'),_0x2333f5);throw _0x2333f5;});}return _0x51b6bb;})[_0xf0ca('0x22')](respondWithResult(_0x577f1d,0xc9))[_0xf0ca('0x43')](handleError(_0x577f1d,null));};exports[_0xf0ca('0x51')]=function(_0xf2d7b0,_0x45fdc1){var _0x2d4230={'where':{'id':_0xf2d7b0[_0xf0ca('0x45')]['id']}},_0x2de7e0={};_0x2de7e0[_0xf0ca('0x31')]=_[_0xf0ca('0x33')](db[_0xf0ca('0x2c')]['rawAttributes']);_0x2d4230[_0xf0ca('0x35')]=_[_0xf0ca('0x36')](_0x2de7e0['model'],qs[_0xf0ca('0x37')](_0xf2d7b0[_0xf0ca('0x32')]['fields']));_0x2d4230[_0xf0ca('0x35')]=_0x2d4230['attributes'][_0xf0ca('0x38')]?_0x2d4230['attributes']:_0x2de7e0[_0xf0ca('0x31')];if(_0xf2d7b0[_0xf0ca('0x32')][_0xf0ca('0x41')]){_0x2d4230[_0xf0ca('0x46')]=[{'all':!![]}];}_0x2d4230=_[_0xf0ca('0x3e')]({},_0x2d4230,_0xf2d7b0[_0xf0ca('0x40')]);return db[_0xf0ca('0x2c')][_0xf0ca('0x47')](_0x2d4230)[_0xf0ca('0x22')](handleEntityNotFound(_0x45fdc1,null))[_0xf0ca('0x22')](function(_0x36484c){if(_0x36484c){var _0x428280=_0x36484c[_0xf0ca('0x23')]({'plain':!![]});_0x428280=qs[_0xf0ca('0x52')](_0x428280,['id','createdAt',_0xf0ca('0x53')]);_0xf2d7b0[_0xf0ca('0x54')]=_[_0xf0ca('0x52')](_0xf2d7b0[_0xf0ca('0x54')],['id',_0xf0ca('0x55'),'updatedAt']);return db['JscriptyProject']['create'](_['merge'](_0x428280,_0xf2d7b0[_0xf0ca('0x54')]),{'include':_0xf2d7b0[_0xf0ca('0x32')][_0xf0ca('0x41')]?[{'all':!![]}]:undefined})[_0xf0ca('0x22')](function(_0x568ad0){var _0x1ca88c=_0xf2d7b0['user'][_0xf0ca('0x23')]({'plain':!![]});if(!_0x1ca88c)throw new Error(_0xf0ca('0x4a'));if(_0x1ca88c['role']===_0xf0ca('0x49')){var _0x68ff58=_0x568ad0[_0xf0ca('0x23')]({'plain':!![]});var _0x4dac2a=_0xf0ca('0x24');return db['UserProfileSection'][_0xf0ca('0x47')]({'where':{'name':_0x4dac2a,'userProfileId':_0x1ca88c[_0xf0ca('0x4d')]},'raw':!![]})[_0xf0ca('0x22')](function(_0x3c4796){if(_0x3c4796&&_0x3c4796[_0xf0ca('0x4e')]===0x0){return db[_0xf0ca('0x25')][_0xf0ca('0x48')]({'name':_0x68ff58[_0xf0ca('0x28')],'resourceId':_0x68ff58['id'],'type':_0x3c4796[_0xf0ca('0x28')],'sectionId':_0x3c4796['id']},{})['then'](function(){return _0x568ad0;});}else{return _0x568ad0;}})[_0xf0ca('0x43')](function(_0x4bb647){logger[_0xf0ca('0x4f')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x4bb647);throw _0x4bb647;});}return _0x568ad0;});}})[_0xf0ca('0x22')](respondWithResult(_0x45fdc1,0xc9))[_0xf0ca('0x43')](handleError(_0x45fdc1,null));};exports[_0xf0ca('0x21')]=function(_0x526bb6,_0x4017a0){if(_0x526bb6[_0xf0ca('0x54')]['id']){delete _0x526bb6[_0xf0ca('0x54')]['id'];}return db[_0xf0ca('0x2c')][_0xf0ca('0x47')]({'where':{'id':_0x526bb6[_0xf0ca('0x45')]['id']}})['then'](handleEntityNotFound(_0x4017a0,null))[_0xf0ca('0x22')](saveUpdates(_0x526bb6['body'],null))['then'](respondWithResult(_0x4017a0,null))['catch'](handleError(_0x4017a0,null));};exports['destroy']=function(_0x311d73,_0x3d1f64){return db[_0xf0ca('0x2c')][_0xf0ca('0x47')]({'where':{'id':_0x311d73[_0xf0ca('0x45')]['id']}})[_0xf0ca('0x22')](handleEntityNotFound(_0x3d1f64,null))[_0xf0ca('0x22')](removeEntity(_0x3d1f64,null))[_0xf0ca('0x43')](handleError(_0x3d1f64,null));};exports['getSessions']=function(_0x383cd,_0x16f58b,_0x36a156){var _0x2a30af={'raw':!![],'where':{}};var _0x13f232={};var _0x1b9995={'count':0x0,'rows':[]};return db['JscriptyProject'][_0xf0ca('0x56')]({'where':{'id':_0x383cd[_0xf0ca('0x45')]['id']}})[_0xf0ca('0x22')](handleEntityNotFound(_0x16f58b,null))[_0xf0ca('0x22')](function(_0x4f6065){if(_0x4f6065){_0x13f232['model']=_[_0xf0ca('0x33')](db[_0xf0ca('0x57')][_0xf0ca('0x2d')]);_0x13f232[_0xf0ca('0x32')]=_[_0xf0ca('0x33')](_0x383cd[_0xf0ca('0x32')]);_0x13f232[_0xf0ca('0x34')]=_[_0xf0ca('0x36')](_0x13f232[_0xf0ca('0x31')],_0x13f232[_0xf0ca('0x32')]);_0x2a30af[_0xf0ca('0x35')]=_[_0xf0ca('0x36')](_0x13f232['model'],qs[_0xf0ca('0x37')](_0x383cd[_0xf0ca('0x32')]['fields']));_0x2a30af[_0xf0ca('0x35')]=_0x2a30af['attributes'][_0xf0ca('0x38')]?_0x2a30af[_0xf0ca('0x35')]:_0x13f232[_0xf0ca('0x31')];if(!_0x383cd['query'][_0xf0ca('0x58')](_0xf0ca('0x39'))){_0x2a30af[_0xf0ca('0x1b')]=qs[_0xf0ca('0x1b')](_0x383cd['query'][_0xf0ca('0x1b')]);_0x2a30af[_0xf0ca('0x18')]=qs[_0xf0ca('0x18')](_0x383cd['query']['offset']);}_0x2a30af[_0xf0ca('0x3a')]=qs['sort'](_0x383cd['query'][_0xf0ca('0x3b')]);_0x2a30af[_0xf0ca('0x3c')]=qs[_0xf0ca('0x34')](_[_0xf0ca('0x3d')](_0x383cd['query'],_0x13f232[_0xf0ca('0x34')]));_0x2a30af[_0xf0ca('0x3c')][_0xf0ca('0x59')]=_0x4f6065['id'];if(_0x383cd[_0xf0ca('0x32')][_0xf0ca('0x3f')]){_0x2a30af['where']=_[_0xf0ca('0x3e')](_0x2a30af[_0xf0ca('0x3c')],{'$or':_[_0xf0ca('0x2b')](_0x2a30af[_0xf0ca('0x35')],function(_0x3c13e2){var _0x4b7030={};_0x4b7030[_0x3c13e2]={'$like':'%'+_0x383cd[_0xf0ca('0x32')][_0xf0ca('0x3f')]+'%'};return _0x4b7030;})});}_0x2a30af=_[_0xf0ca('0x3e')]({},_0x2a30af,_0x383cd[_0xf0ca('0x40')]);return db[_0xf0ca('0x57')][_0xf0ca('0x1a')]({'where':_0x2a30af[_0xf0ca('0x3c')]})['then'](function(_0x143b40){_0x1b9995[_0xf0ca('0x1a')]=_0x143b40;if(_0x383cd['query'][_0xf0ca('0x41')]){_0x2a30af['include']=[{'all':!![]}];}return db[_0xf0ca('0x57')][_0xf0ca('0x42')](_0x2a30af);})[_0xf0ca('0x22')](function(_0x3d8e0b){_0x1b9995[_0xf0ca('0x5a')]=_0x3d8e0b;return _0x1b9995;});}})[_0xf0ca('0x22')](respondWithFilteredResult(_0x16f58b,_0x2a30af))[_0xf0ca('0x43')](handleError(_0x16f58b,null));};exports[_0xf0ca('0x5b')]=function(_0x4e9efb,_0x5abd58,_0x5ce9ca){var _0x59a0f8={'raw':!![],'where':{}};var _0x31ddff={};var _0x1addbd={'count':0x0,'rows':[]};return db[_0xf0ca('0x2c')][_0xf0ca('0x56')]({'where':{'id':_0x4e9efb['params']['id']}})[_0xf0ca('0x22')](handleEntityNotFound(_0x5abd58,null))[_0xf0ca('0x22')](function(_0x233622){if(_0x233622){_0x31ddff['model']=_[_0xf0ca('0x33')](db['JscriptyAnswerReport'][_0xf0ca('0x2d')]);_0x31ddff['query']=_[_0xf0ca('0x33')](_0x4e9efb['query']);_0x31ddff[_0xf0ca('0x34')]=_[_0xf0ca('0x36')](_0x31ddff[_0xf0ca('0x31')],_0x31ddff['query']);_0x59a0f8[_0xf0ca('0x35')]=_[_0xf0ca('0x36')](_0x31ddff[_0xf0ca('0x31')],qs[_0xf0ca('0x37')](_0x4e9efb[_0xf0ca('0x32')]['fields']));_0x59a0f8[_0xf0ca('0x35')]=_0x59a0f8[_0xf0ca('0x35')][_0xf0ca('0x38')]?_0x59a0f8[_0xf0ca('0x35')]:_0x31ddff[_0xf0ca('0x31')];if(!_0x4e9efb['query'][_0xf0ca('0x58')](_0xf0ca('0x39'))){_0x59a0f8[_0xf0ca('0x1b')]=qs[_0xf0ca('0x1b')](_0x4e9efb[_0xf0ca('0x32')][_0xf0ca('0x1b')]);_0x59a0f8['offset']=qs[_0xf0ca('0x18')](_0x4e9efb[_0xf0ca('0x32')][_0xf0ca('0x18')]);}_0x59a0f8[_0xf0ca('0x3a')]=qs['sort'](_0x4e9efb[_0xf0ca('0x32')][_0xf0ca('0x3b')]);_0x59a0f8[_0xf0ca('0x3c')]=qs[_0xf0ca('0x34')](_[_0xf0ca('0x3d')](_0x4e9efb['query'],_0x31ddff[_0xf0ca('0x34')]));_0x59a0f8[_0xf0ca('0x3c')][_0xf0ca('0x59')]=_0x233622['id'];if(_0x4e9efb[_0xf0ca('0x32')][_0xf0ca('0x3f')]){_0x59a0f8['where']=_[_0xf0ca('0x3e')](_0x59a0f8[_0xf0ca('0x3c')],{'$or':_[_0xf0ca('0x2b')](_0x59a0f8[_0xf0ca('0x35')],function(_0x29d8b2){var _0x3639f5={};_0x3639f5[_0x29d8b2]={'$like':'%'+_0x4e9efb[_0xf0ca('0x32')][_0xf0ca('0x3f')]+'%'};return _0x3639f5;})});}_0x59a0f8=_['merge']({},_0x59a0f8,_0x4e9efb[_0xf0ca('0x40')]);return db['JscriptyAnswerReport'][_0xf0ca('0x1a')]({'where':_0x59a0f8[_0xf0ca('0x3c')]})[_0xf0ca('0x22')](function(_0xa470be){_0x1addbd[_0xf0ca('0x1a')]=_0xa470be;if(_0x4e9efb[_0xf0ca('0x32')][_0xf0ca('0x41')]){_0x59a0f8[_0xf0ca('0x46')]=[{'all':!![]}];}return db['JscriptyAnswerReport']['findAll'](_0x59a0f8);})[_0xf0ca('0x22')](function(_0x15d2eb){_0x1addbd[_0xf0ca('0x5a')]=_0x15d2eb;return _0x1addbd;});}})['then'](respondWithFilteredResult(_0x5abd58,_0x59a0f8))[_0xf0ca('0x43')](handleError(_0x5abd58,null));};function char(_0x1c94fd){return _0xf0ca('0x5c')===typeof _0x1c94fd?String[_0xf0ca('0x5d')][_0xf0ca('0x1e')](null,arguments):_0x1c94fd;}function needsEncapsulation(_0x296caa){return!!_0x296caa&&(_0x296caa[_0xf0ca('0x5e')]()['indexOf'](char(0xd))>=0x0||_0x296caa[_0xf0ca('0x5e')]()[_0xf0ca('0x5f')](char(0xa))>=0x0||_0x296caa[_0xf0ca('0x5e')]()[_0xf0ca('0x5f')](char(0x2c))>=0x0||_0x296caa[_0xf0ca('0x5e')]()[_0xf0ca('0x5f')](char(0x22))>=0x0);}function encapsulate(_0x47fbd3){var _0x244795=char(0x22),_0x3d1114='\x5c'+char(0x22),_0x2163af=_0x47fbd3['toString']()[_0xf0ca('0x60')](new RegExp(_0x244795,'g'),_0x3d1114);return _0x244795+_0x2163af+_0x244795;}exports[_0xf0ca('0x61')]=function(_0x13bf1f,_0x31d8b8,_0x3892a6){var _0x3f3804,_0x480727;var _0x20bbdd={'where':{'ProjectId':_0x13bf1f['params']['id']}};if(_0x13bf1f[_0xf0ca('0x32')][_0xf0ca('0x62')]){_0x20bbdd[_0xf0ca('0x3c')][_0xf0ca('0x63')]=JSON[_0xf0ca('0x64')](_0x13bf1f['query']['startTime']);}return db['JscriptySessionReport'][_0xf0ca('0x42')](_0x20bbdd)[_0xf0ca('0x22')](handleEntityNotFound(_0x31d8b8,null))[_0xf0ca('0x22')](function(_0x5261ce){if(_0x5261ce){_0x3f3804=_0x5261ce;return db[_0xf0ca('0x65')]['findAll']({'where':{'SessionId':{'$in':_['map'](_0x3f3804,'id')},'ProjectId':_0x13bf1f[_0xf0ca('0x45')]['id']},'order':'-createdAt'});}})[_0xf0ca('0x22')](handleEntityNotFound(_0x31d8b8,null))[_0xf0ca('0x22')](function(_0x403105){if(_0x403105){_0x480727=_0x403105;var _0x38a449={};for(var _0x25e11b=0x0,_0x4ce33b=_0x480727[_0xf0ca('0x38')];_0x25e11b<_0x4ce33b;_0x25e11b++){if(!_0x38a449[_0xf0ca('0x58')](_0x480727[_0x25e11b][_0xf0ca('0x66')])){_0x38a449[_0x480727[_0x25e11b][_0xf0ca('0x66')]]=needsEncapsulation(_0x480727[_0x25e11b]['question'])?encapsulate(_0x480727[_0x25e11b][_0xf0ca('0x67')]):_0x480727[_0x25e11b]['question'];}}var _0x252014=[],_0x2886f6={};for(var _0x4ec20d=0x0,_0x349f3d=_0x3f3804[_0xf0ca('0x38')];_0x4ec20d<_0x349f3d;_0x4ec20d++){_0x2886f6={'ProjectId':_0x13bf1f[_0xf0ca('0x45')]['id'],'SessionId':_0x3f3804[_0x4ec20d]['id'],'StartTime':moment(_0x3f3804[_0x4ec20d][_0xf0ca('0x63')])[_0xf0ca('0x68')](_0xf0ca('0x69'))};for(var _0x4c432d=0x0,_0x5100b7=_0x480727[_0xf0ca('0x38')];_0x4c432d<_0x5100b7;_0x4c432d++){if(_0x480727[_0x4c432d][_0xf0ca('0x6a')]==_0x3f3804[_0x4ec20d]['id']&&_0x38a449[_0xf0ca('0x58')](_0x480727[_0x4c432d][_0xf0ca('0x66')])){_0x2886f6[_0x38a449[_0x480727[_0x4c432d][_0xf0ca('0x66')]]]=_0x480727[_0x4c432d]['answer'];}}for(var _0x481a18 in _0x38a449){if(!_0x2886f6[_0xf0ca('0x58')](_0x38a449[_0x481a18])){_0x2886f6[_0x38a449[_0x481a18]]=null;}}_0x252014[_0xf0ca('0x6b')](_0x2886f6);}return _0x252014;}})[_0xf0ca('0x22')](function(_0x12b5e9){if(!_['isEmpty'](_0x12b5e9)){var _0x5704ce=toCsv(_0x12b5e9);var _0x4816ad=Date[_0xf0ca('0x6c')]();fs['writeFileSync'](util['format']('/tmp/Jscripty_Project_%d_Summary_%s.csv',_0x13bf1f[_0xf0ca('0x45')]['id'],_0x4816ad),_0x5704ce);_0x31d8b8[_0xf0ca('0x6d')](_0xf0ca('0x6e'),_0xf0ca('0x6f')+util[_0xf0ca('0x68')](_0xf0ca('0x70'),_0x13bf1f[_0xf0ca('0x45')]['id'],_0x4816ad));_0x31d8b8[_0xf0ca('0x6d')]('Content-type',_0xf0ca('0x71'));return _0x31d8b8[_0xf0ca('0x72')](util[_0xf0ca('0x68')](_0xf0ca('0x73'),_0x13bf1f[_0xf0ca('0x45')]['id'],_0x4816ad));}else{return _0x31d8b8[_0xf0ca('0x15')](0xcc);}})[_0xf0ca('0x43')](handleError(_0x31d8b8,null));};