Built motion from commit 9d0783e6.|2.6.13
[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 _0x1dcc=['request-promise','mustache','util','path','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','limit','Content-Range','apply','reject','update','destroy','then','get','Projects','error','stack','index','map','JscriptyProject','fieldName','key','name','query','intersection','model','fields','length','attributes','order','sort','filters','pick','filter','where','merge','type','VIRTUAL','options','includeAll','include','findAll','rows','catch','params','rawAttributes','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','clone','omit','createdAt','updatedAt','UserProfileSection','getSessions','findOne','keys','JscriptySessionReport','nolimit','ProjectId','getAnswers','JscriptyAnswerReport','hasOwnProperty','fromCharCode','toString','indexOf','replace','getSummary','startTime','parse','JscriptyQuestionReport','-createdAt','questionId','question','starttime','format','YYYY-MM-DD\x20HH:mm:ss','SessionId','answer','push','isEmpty','now','writeFileSync','setHeader','attachment;\x20filename=','Jscripty_Project_%d_Summary_%s.csv','Content-type','text/csv','download','/tmp/Jscripty_Project_%d_Summary_%s.csv','eml-format','fast-json-patch'];(function(_0x44d15b,_0xf4adaa){var _0x5d9e81=function(_0x211f00){while(--_0x211f00){_0x44d15b['push'](_0x44d15b['shift']());}};_0x5d9e81(++_0xf4adaa);}(_0x1dcc,0x77));var _0xc1dc=function(_0xc5e82e,_0x12aaf1){_0xc5e82e=_0xc5e82e-0x0;var _0x1bbdb9=_0x1dcc[_0xc5e82e];return _0x1bbdb9;};'use strict';var emlformat=require(_0xc1dc('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xc1dc('0x1'));var rp=require(_0xc1dc('0x2'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xc1dc('0x3'));var util=require(_0xc1dc('0x4'));var path=require(_0xc1dc('0x5'));var sox=require(_0xc1dc('0x6'));var csv=require(_0xc1dc('0x7'));var ejs=require(_0xc1dc('0x8'));var fs=require('fs');var fs_extra=require(_0xc1dc('0x9'));var _=require('lodash');var squel=require(_0xc1dc('0xa'));var crypto=require(_0xc1dc('0xb'));var jsforce=require(_0xc1dc('0xc'));var deskjs=require(_0xc1dc('0xd'));var toCsv=require(_0xc1dc('0x7'));var querystring=require(_0xc1dc('0xe'));var Papa=require(_0xc1dc('0xf'));var Redis=require(_0xc1dc('0x10'));var authService=require(_0xc1dc('0x11'));var qs=require(_0xc1dc('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xc1dc('0x13'));var logger=require(_0xc1dc('0x14'))('api');var utils=require(_0xc1dc('0x15'));var config=require(_0xc1dc('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0xc1dc('0x17'))['db'];function respondWithStatusCode(_0x2545e8,_0x31cd63){_0x31cd63=_0x31cd63||0xcc;return function(_0x2d407c){if(_0x2d407c){return _0x2545e8[_0xc1dc('0x18')](_0x31cd63);}return _0x2545e8[_0xc1dc('0x19')](_0x31cd63)[_0xc1dc('0x1a')]();};}function respondWithResult(_0x4d9d5e,_0x48abc3){_0x48abc3=_0x48abc3||0xc8;return function(_0x140b0b){if(_0x140b0b){return _0x4d9d5e[_0xc1dc('0x19')](_0x48abc3)[_0xc1dc('0x1b')](_0x140b0b);}};}function respondWithFilteredResult(_0xdfbe60,_0x31191a){return function(_0x209355){if(_0x209355){var _0x1edb66=typeof _0x31191a['offset']==='undefined'&&typeof _0x31191a['limit']==='undefined';var _0x2e2d8e=_0x209355[_0xc1dc('0x1c')];var _0x12510a=_0x1edb66?0x0:_0x31191a[_0xc1dc('0x1d')];var _0x6d7e23=_0x1edb66?_0x209355[_0xc1dc('0x1c')]:_0x31191a['offset']+_0x31191a[_0xc1dc('0x1e')];var _0xcac31f;if(_0x6d7e23>=_0x2e2d8e){_0x6d7e23=_0x2e2d8e;_0xcac31f=0xc8;}else{_0xcac31f=0xce;}_0xdfbe60[_0xc1dc('0x19')](_0xcac31f);return _0xdfbe60['set'](_0xc1dc('0x1f'),_0x12510a+'-'+_0x6d7e23+'/'+_0x2e2d8e)['json'](_0x209355);}return null;};}function patchUpdates(_0xabf65a){return function(_0x214ce3){try{jsonpatch[_0xc1dc('0x20')](_0x214ce3,_0xabf65a,!![]);}catch(_0x3939af){return BPromise[_0xc1dc('0x21')](_0x3939af);}return _0x214ce3['save']();};}function saveUpdates(_0x3d7a8f,_0x1a92f6){return function(_0x3ce279){if(_0x3ce279){return _0x3ce279[_0xc1dc('0x22')](_0x3d7a8f)['then'](function(_0x31f5eb){return _0x31f5eb;});}return null;};}function removeEntity(_0x2c5e5a,_0x57582b){return function(_0x71bf72){if(_0x71bf72){return _0x71bf72[_0xc1dc('0x23')]()[_0xc1dc('0x24')](function(){var _0x21a887=_0x71bf72[_0xc1dc('0x25')]({'plain':!![]});var _0x454ed2=_0xc1dc('0x26');return db['UserProfileResource']['destroy']({'where':{'type':_0x454ed2,'resourceId':_0x21a887['id']}})[_0xc1dc('0x24')](function(){return _0x71bf72;});})['then'](function(){_0x2c5e5a[_0xc1dc('0x19')](0xcc)[_0xc1dc('0x1a')]();});}};}function handleEntityNotFound(_0x413bc7,_0x4dc1ae){return function(_0x580ffc){if(!_0x580ffc){_0x413bc7[_0xc1dc('0x18')](0x194);}return _0x580ffc;};}function handleError(_0x418072,_0x3a8b7f){_0x3a8b7f=_0x3a8b7f||0x1f4;return function(_0x1dc7bc){logger[_0xc1dc('0x27')](_0x1dc7bc[_0xc1dc('0x28')]);if(_0x1dc7bc['name']){delete _0x1dc7bc['name'];}_0x418072[_0xc1dc('0x19')](_0x3a8b7f)['send'](_0x1dc7bc);};}exports[_0xc1dc('0x29')]=function(_0x577fe5,_0x51f940){var _0x10e03f={},_0xc1e849={},_0xfeab2a={'count':0x0,'rows':[]};var _0x2aface=_[_0xc1dc('0x2a')](db[_0xc1dc('0x2b')]['rawAttributes'],function(_0x453412){return{'name':_0x453412[_0xc1dc('0x2c')],'type':_0x453412['type'][_0xc1dc('0x2d')]};});_0xc1e849['model']=_[_0xc1dc('0x2a')](_0x2aface,_0xc1dc('0x2e'));_0xc1e849[_0xc1dc('0x2f')]=_['keys'](_0x577fe5[_0xc1dc('0x2f')]);_0xc1e849['filters']=_[_0xc1dc('0x30')](_0xc1e849[_0xc1dc('0x31')],_0xc1e849[_0xc1dc('0x2f')]);_0x10e03f['attributes']=_[_0xc1dc('0x30')](_0xc1e849[_0xc1dc('0x31')],qs[_0xc1dc('0x32')](_0x577fe5[_0xc1dc('0x2f')]['fields']));_0x10e03f['attributes']=_0x10e03f['attributes'][_0xc1dc('0x33')]?_0x10e03f[_0xc1dc('0x34')]:_0xc1e849[_0xc1dc('0x31')];if(!_0x577fe5[_0xc1dc('0x2f')]['hasOwnProperty']('nolimit')){_0x10e03f['limit']=qs[_0xc1dc('0x1e')](_0x577fe5[_0xc1dc('0x2f')][_0xc1dc('0x1e')]);_0x10e03f['offset']=qs[_0xc1dc('0x1d')](_0x577fe5[_0xc1dc('0x2f')][_0xc1dc('0x1d')]);}_0x10e03f[_0xc1dc('0x35')]=qs['sort'](_0x577fe5['query'][_0xc1dc('0x36')]);_0x10e03f['where']=qs[_0xc1dc('0x37')](_[_0xc1dc('0x38')](_0x577fe5[_0xc1dc('0x2f')],_0xc1e849[_0xc1dc('0x37')]),_0x2aface);if(_0x577fe5[_0xc1dc('0x2f')][_0xc1dc('0x39')]){_0x10e03f[_0xc1dc('0x3a')]=_[_0xc1dc('0x3b')](_0x10e03f[_0xc1dc('0x3a')],{'$or':_[_0xc1dc('0x2a')](_0x2aface,function(_0x422f37){if(_0x422f37[_0xc1dc('0x3c')]!==_0xc1dc('0x3d')){var _0x248311={};_0x248311[_0x422f37['name']]={'$like':'%'+_0x577fe5[_0xc1dc('0x2f')][_0xc1dc('0x39')]+'%'};return _0x248311;}})});}_0x10e03f=_[_0xc1dc('0x3b')]({},_0x10e03f,_0x577fe5[_0xc1dc('0x3e')]);var _0x141f2e={'where':_0x10e03f['where']};return db[_0xc1dc('0x2b')][_0xc1dc('0x1c')](_0x141f2e)[_0xc1dc('0x24')](function(_0x322368){_0xfeab2a[_0xc1dc('0x1c')]=_0x322368;if(_0x577fe5[_0xc1dc('0x2f')][_0xc1dc('0x3f')]){_0x10e03f[_0xc1dc('0x40')]=[{'all':!![]}];}return db[_0xc1dc('0x2b')][_0xc1dc('0x41')](_0x10e03f);})['then'](function(_0x24d976){_0xfeab2a[_0xc1dc('0x42')]=_0x24d976;return _0xfeab2a;})['then'](respondWithFilteredResult(_0x51f940,_0x10e03f))[_0xc1dc('0x43')](handleError(_0x51f940,null));};exports['show']=function(_0x376fe2,_0x457d3a){var _0x7e535={'raw':![],'where':{'id':_0x376fe2[_0xc1dc('0x44')]['id']}},_0x1193b4={};_0x1193b4[_0xc1dc('0x31')]=_['keys'](db[_0xc1dc('0x2b')][_0xc1dc('0x45')]);_0x1193b4[_0xc1dc('0x2f')]=_['keys'](_0x376fe2[_0xc1dc('0x2f')]);_0x1193b4[_0xc1dc('0x37')]=_['intersection'](_0x1193b4['model'],_0x1193b4['query']);_0x7e535[_0xc1dc('0x34')]=_[_0xc1dc('0x30')](_0x1193b4[_0xc1dc('0x31')],qs[_0xc1dc('0x32')](_0x376fe2['query'][_0xc1dc('0x32')]));_0x7e535[_0xc1dc('0x34')]=_0x7e535['attributes'][_0xc1dc('0x33')]?_0x7e535[_0xc1dc('0x34')]:_0x1193b4[_0xc1dc('0x31')];if(_0x376fe2['query']['includeAll']){_0x7e535[_0xc1dc('0x40')]=[{'all':!![]}];}_0x7e535=_[_0xc1dc('0x3b')]({},_0x7e535,_0x376fe2[_0xc1dc('0x3e')]);return db[_0xc1dc('0x2b')][_0xc1dc('0x46')](_0x7e535)[_0xc1dc('0x24')](handleEntityNotFound(_0x457d3a,null))[_0xc1dc('0x24')](respondWithResult(_0x457d3a,null))[_0xc1dc('0x43')](handleError(_0x457d3a,null));};exports[_0xc1dc('0x47')]=function(_0x51b970,_0x74756){return db['JscriptyProject'][_0xc1dc('0x47')](_0x51b970[_0xc1dc('0x48')],{})[_0xc1dc('0x24')](function(_0x46f7c4){var _0x8e6a96=_0x51b970[_0xc1dc('0x49')][_0xc1dc('0x25')]({'plain':!![]});if(!_0x8e6a96)throw new Error(_0xc1dc('0x4a'));if(_0x8e6a96[_0xc1dc('0x4b')]===_0xc1dc('0x49')){var _0xcc3f55=_0x46f7c4[_0xc1dc('0x25')]({'plain':!![]});var _0x203b8e=_0xc1dc('0x26');return db['UserProfileSection']['find']({'where':{'name':_0x203b8e,'userProfileId':_0x8e6a96[_0xc1dc('0x4c')]},'raw':!![]})[_0xc1dc('0x24')](function(_0x4de388){if(_0x4de388&&_0x4de388[_0xc1dc('0x4d')]===0x0){return db[_0xc1dc('0x4e')]['create']({'name':_0xcc3f55[_0xc1dc('0x2e')],'resourceId':_0xcc3f55['id'],'type':_0x4de388['name'],'sectionId':_0x4de388['id']},{})[_0xc1dc('0x24')](function(){return _0x46f7c4;});}else{return _0x46f7c4;}})[_0xc1dc('0x43')](function(_0x3c6b1d){logger[_0xc1dc('0x27')](_0xc1dc('0x4f'),_0x3c6b1d);throw _0x3c6b1d;});}return _0x46f7c4;})[_0xc1dc('0x24')](respondWithResult(_0x74756,0xc9))[_0xc1dc('0x43')](handleError(_0x74756,null));};exports[_0xc1dc('0x50')]=function(_0x22c10e,_0x42be97){var _0x50ae51={'where':{'id':_0x22c10e[_0xc1dc('0x44')]['id']}},_0x4f97c0={};_0x4f97c0[_0xc1dc('0x31')]=_['keys'](db['JscriptyProject'][_0xc1dc('0x45')]);_0x50ae51[_0xc1dc('0x34')]=_[_0xc1dc('0x30')](_0x4f97c0[_0xc1dc('0x31')],qs[_0xc1dc('0x32')](_0x22c10e[_0xc1dc('0x2f')][_0xc1dc('0x32')]));_0x50ae51[_0xc1dc('0x34')]=_0x50ae51[_0xc1dc('0x34')]['length']?_0x50ae51[_0xc1dc('0x34')]:_0x4f97c0['model'];if(_0x22c10e[_0xc1dc('0x2f')][_0xc1dc('0x3f')]){_0x50ae51[_0xc1dc('0x40')]=[{'all':!![]}];}_0x50ae51=_[_0xc1dc('0x3b')]({},_0x50ae51,_0x22c10e[_0xc1dc('0x3e')]);return db['JscriptyProject'][_0xc1dc('0x46')](_0x50ae51)[_0xc1dc('0x24')](handleEntityNotFound(_0x42be97,null))[_0xc1dc('0x24')](function(_0x5b1fd6){if(_0x5b1fd6){var _0x3b5b1d=_0x5b1fd6[_0xc1dc('0x25')]({'plain':!![]});_0x3b5b1d=qs[_0xc1dc('0x51')](_0x3b5b1d,['id',_0xc1dc('0x52'),_0xc1dc('0x53')]);_0x22c10e[_0xc1dc('0x48')]=_[_0xc1dc('0x51')](_0x22c10e['body'],['id','createdAt','updatedAt']);return db[_0xc1dc('0x2b')][_0xc1dc('0x47')](_[_0xc1dc('0x3b')](_0x3b5b1d,_0x22c10e['body']),{'include':_0x22c10e[_0xc1dc('0x2f')][_0xc1dc('0x3f')]?[{'all':!![]}]:undefined})[_0xc1dc('0x24')](function(_0x41091d){var _0x17d5e7=_0x22c10e['user']['get']({'plain':!![]});if(!_0x17d5e7)throw new Error(_0xc1dc('0x4a'));if(_0x17d5e7['role']===_0xc1dc('0x49')){var _0x382ba1=_0x41091d['get']({'plain':!![]});var _0x4d26a8=_0xc1dc('0x26');return db[_0xc1dc('0x54')]['find']({'where':{'name':_0x4d26a8,'userProfileId':_0x17d5e7[_0xc1dc('0x4c')]},'raw':!![]})[_0xc1dc('0x24')](function(_0x19ea11){if(_0x19ea11&&_0x19ea11[_0xc1dc('0x4d')]===0x0){return db['UserProfileResource']['create']({'name':_0x382ba1['name'],'resourceId':_0x382ba1['id'],'type':_0x19ea11['name'],'sectionId':_0x19ea11['id']},{})['then'](function(){return _0x41091d;});}else{return _0x41091d;}})['catch'](function(_0x3055f8){logger['error'](_0xc1dc('0x4f'),_0x3055f8);throw _0x3055f8;});}return _0x41091d;});}})['then'](respondWithResult(_0x42be97,0xc9))[_0xc1dc('0x43')](handleError(_0x42be97,null));};exports['update']=function(_0x157d03,_0x37e90f){if(_0x157d03[_0xc1dc('0x48')]['id']){delete _0x157d03[_0xc1dc('0x48')]['id'];}return db[_0xc1dc('0x2b')][_0xc1dc('0x46')]({'where':{'id':_0x157d03[_0xc1dc('0x44')]['id']}})[_0xc1dc('0x24')](handleEntityNotFound(_0x37e90f,null))[_0xc1dc('0x24')](saveUpdates(_0x157d03['body'],null))['then'](respondWithResult(_0x37e90f,null))[_0xc1dc('0x43')](handleError(_0x37e90f,null));};exports[_0xc1dc('0x23')]=function(_0x444095,_0x382990){return db[_0xc1dc('0x2b')][_0xc1dc('0x46')]({'where':{'id':_0x444095['params']['id']}})[_0xc1dc('0x24')](handleEntityNotFound(_0x382990,null))[_0xc1dc('0x24')](removeEntity(_0x382990,null))[_0xc1dc('0x43')](handleError(_0x382990,null));};exports[_0xc1dc('0x55')]=function(_0x588be8,_0xe3cce7,_0x78bf5f){var _0x2df251={'raw':!![],'where':{}};var _0x48768a={};var _0x4599f6={'count':0x0,'rows':[]};return db['JscriptyProject'][_0xc1dc('0x56')]({'where':{'id':_0x588be8[_0xc1dc('0x44')]['id']}})[_0xc1dc('0x24')](handleEntityNotFound(_0xe3cce7,null))[_0xc1dc('0x24')](function(_0x36e903){if(_0x36e903){_0x48768a['model']=_[_0xc1dc('0x57')](db[_0xc1dc('0x58')][_0xc1dc('0x45')]);_0x48768a['query']=_['keys'](_0x588be8['query']);_0x48768a[_0xc1dc('0x37')]=_['intersection'](_0x48768a[_0xc1dc('0x31')],_0x48768a['query']);_0x2df251[_0xc1dc('0x34')]=_[_0xc1dc('0x30')](_0x48768a['model'],qs[_0xc1dc('0x32')](_0x588be8[_0xc1dc('0x2f')][_0xc1dc('0x32')]));_0x2df251[_0xc1dc('0x34')]=_0x2df251[_0xc1dc('0x34')]['length']?_0x2df251[_0xc1dc('0x34')]:_0x48768a[_0xc1dc('0x31')];if(!_0x588be8['query']['hasOwnProperty'](_0xc1dc('0x59'))){_0x2df251[_0xc1dc('0x1e')]=qs['limit'](_0x588be8[_0xc1dc('0x2f')][_0xc1dc('0x1e')]);_0x2df251['offset']=qs[_0xc1dc('0x1d')](_0x588be8['query']['offset']);}_0x2df251[_0xc1dc('0x35')]=qs[_0xc1dc('0x36')](_0x588be8['query'][_0xc1dc('0x36')]);_0x2df251[_0xc1dc('0x3a')]=qs['filters'](_['pick'](_0x588be8[_0xc1dc('0x2f')],_0x48768a[_0xc1dc('0x37')]));_0x2df251[_0xc1dc('0x3a')][_0xc1dc('0x5a')]=_0x36e903['id'];if(_0x588be8[_0xc1dc('0x2f')][_0xc1dc('0x39')]){_0x2df251['where']=_[_0xc1dc('0x3b')](_0x2df251[_0xc1dc('0x3a')],{'$or':_['map'](_0x2df251[_0xc1dc('0x34')],function(_0x1cfb1c){var _0x1fabb1={};_0x1fabb1[_0x1cfb1c]={'$like':'%'+_0x588be8[_0xc1dc('0x2f')][_0xc1dc('0x39')]+'%'};return _0x1fabb1;})});}_0x2df251=_[_0xc1dc('0x3b')]({},_0x2df251,_0x588be8['options']);return db[_0xc1dc('0x58')][_0xc1dc('0x1c')]({'where':_0x2df251[_0xc1dc('0x3a')]})['then'](function(_0x2cc1e2){_0x4599f6[_0xc1dc('0x1c')]=_0x2cc1e2;if(_0x588be8[_0xc1dc('0x2f')][_0xc1dc('0x3f')]){_0x2df251[_0xc1dc('0x40')]=[{'all':!![]}];}return db[_0xc1dc('0x58')][_0xc1dc('0x41')](_0x2df251);})[_0xc1dc('0x24')](function(_0x2c6c1d){_0x4599f6[_0xc1dc('0x42')]=_0x2c6c1d;return _0x4599f6;});}})['then'](respondWithFilteredResult(_0xe3cce7,_0x2df251))['catch'](handleError(_0xe3cce7,null));};exports[_0xc1dc('0x5b')]=function(_0x5f10e8,_0x116e90,_0x327993){var _0x27529f={'raw':!![],'where':{}};var _0x6dbca3={};var _0x2d60ac={'count':0x0,'rows':[]};return db['JscriptyProject'][_0xc1dc('0x56')]({'where':{'id':_0x5f10e8[_0xc1dc('0x44')]['id']}})[_0xc1dc('0x24')](handleEntityNotFound(_0x116e90,null))['then'](function(_0xc4c708){if(_0xc4c708){_0x6dbca3[_0xc1dc('0x31')]=_[_0xc1dc('0x57')](db[_0xc1dc('0x5c')][_0xc1dc('0x45')]);_0x6dbca3[_0xc1dc('0x2f')]=_[_0xc1dc('0x57')](_0x5f10e8[_0xc1dc('0x2f')]);_0x6dbca3[_0xc1dc('0x37')]=_[_0xc1dc('0x30')](_0x6dbca3[_0xc1dc('0x31')],_0x6dbca3['query']);_0x27529f['attributes']=_[_0xc1dc('0x30')](_0x6dbca3['model'],qs[_0xc1dc('0x32')](_0x5f10e8['query'][_0xc1dc('0x32')]));_0x27529f['attributes']=_0x27529f[_0xc1dc('0x34')][_0xc1dc('0x33')]?_0x27529f[_0xc1dc('0x34')]:_0x6dbca3['model'];if(!_0x5f10e8[_0xc1dc('0x2f')][_0xc1dc('0x5d')]('nolimit')){_0x27529f['limit']=qs[_0xc1dc('0x1e')](_0x5f10e8['query'][_0xc1dc('0x1e')]);_0x27529f['offset']=qs[_0xc1dc('0x1d')](_0x5f10e8[_0xc1dc('0x2f')][_0xc1dc('0x1d')]);}_0x27529f[_0xc1dc('0x35')]=qs['sort'](_0x5f10e8[_0xc1dc('0x2f')][_0xc1dc('0x36')]);_0x27529f[_0xc1dc('0x3a')]=qs[_0xc1dc('0x37')](_[_0xc1dc('0x38')](_0x5f10e8[_0xc1dc('0x2f')],_0x6dbca3['filters']));_0x27529f['where'][_0xc1dc('0x5a')]=_0xc4c708['id'];if(_0x5f10e8[_0xc1dc('0x2f')][_0xc1dc('0x39')]){_0x27529f[_0xc1dc('0x3a')]=_[_0xc1dc('0x3b')](_0x27529f[_0xc1dc('0x3a')],{'$or':_['map'](_0x27529f['attributes'],function(_0x22c2de){var _0x3231c1={};_0x3231c1[_0x22c2de]={'$like':'%'+_0x5f10e8[_0xc1dc('0x2f')][_0xc1dc('0x39')]+'%'};return _0x3231c1;})});}_0x27529f=_['merge']({},_0x27529f,_0x5f10e8[_0xc1dc('0x3e')]);return db[_0xc1dc('0x5c')][_0xc1dc('0x1c')]({'where':_0x27529f[_0xc1dc('0x3a')]})[_0xc1dc('0x24')](function(_0x457643){_0x2d60ac[_0xc1dc('0x1c')]=_0x457643;if(_0x5f10e8[_0xc1dc('0x2f')][_0xc1dc('0x3f')]){_0x27529f[_0xc1dc('0x40')]=[{'all':!![]}];}return db['JscriptyAnswerReport'][_0xc1dc('0x41')](_0x27529f);})[_0xc1dc('0x24')](function(_0x2a762a){_0x2d60ac['rows']=_0x2a762a;return _0x2d60ac;});}})[_0xc1dc('0x24')](respondWithFilteredResult(_0x116e90,_0x27529f))[_0xc1dc('0x43')](handleError(_0x116e90,null));};function char(_0x36b712){return'number'===typeof _0x36b712?String[_0xc1dc('0x5e')][_0xc1dc('0x20')](null,arguments):_0x36b712;}function needsEncapsulation(_0x1918b4){return!!_0x1918b4&&(_0x1918b4[_0xc1dc('0x5f')]()[_0xc1dc('0x60')](char(0xd))>=0x0||_0x1918b4[_0xc1dc('0x5f')]()[_0xc1dc('0x60')](char(0xa))>=0x0||_0x1918b4[_0xc1dc('0x5f')]()[_0xc1dc('0x60')](char(0x2c))>=0x0||_0x1918b4[_0xc1dc('0x5f')]()[_0xc1dc('0x60')](char(0x22))>=0x0);}function encapsulate(_0x721f51){var _0x1a6bca=char(0x22),_0x41d99c='\x5c'+char(0x22),_0x175706=_0x721f51[_0xc1dc('0x5f')]()[_0xc1dc('0x61')](new RegExp(_0x1a6bca,'g'),_0x41d99c);return _0x1a6bca+_0x175706+_0x1a6bca;}exports[_0xc1dc('0x62')]=function(_0xa8a711,_0x1a8ebf,_0x621756){var _0x58e6f1,_0x45e11b;var _0x15ab26={'where':{'ProjectId':_0xa8a711[_0xc1dc('0x44')]['id']}};if(_0xa8a711['query'][_0xc1dc('0x63')]){_0x15ab26[_0xc1dc('0x3a')]['starttime']=JSON[_0xc1dc('0x64')](_0xa8a711[_0xc1dc('0x2f')][_0xc1dc('0x63')]);}return db[_0xc1dc('0x58')][_0xc1dc('0x41')](_0x15ab26)[_0xc1dc('0x24')](handleEntityNotFound(_0x1a8ebf,null))[_0xc1dc('0x24')](function(_0x3f1358){if(_0x3f1358){_0x58e6f1=_0x3f1358;return db[_0xc1dc('0x65')][_0xc1dc('0x41')]({'where':{'SessionId':{'$in':_[_0xc1dc('0x2a')](_0x58e6f1,'id')},'ProjectId':_0xa8a711[_0xc1dc('0x44')]['id']},'order':_0xc1dc('0x66')});}})['then'](handleEntityNotFound(_0x1a8ebf,null))[_0xc1dc('0x24')](function(_0x4a8ca1){if(_0x4a8ca1){_0x45e11b=_0x4a8ca1;var _0x509873={};for(var _0x5bd3ea=0x0,_0x7bb24e=_0x45e11b[_0xc1dc('0x33')];_0x5bd3ea<_0x7bb24e;_0x5bd3ea++){if(!_0x509873[_0xc1dc('0x5d')](_0x45e11b[_0x5bd3ea][_0xc1dc('0x67')])){_0x509873[_0x45e11b[_0x5bd3ea]['questionId']]=needsEncapsulation(_0x45e11b[_0x5bd3ea][_0xc1dc('0x68')])?encapsulate(_0x45e11b[_0x5bd3ea][_0xc1dc('0x68')]):_0x45e11b[_0x5bd3ea]['question'];}}var _0x3cb914=[],_0x4c4db2={};for(var _0x1a704f=0x0,_0x28e6bf=_0x58e6f1['length'];_0x1a704f<_0x28e6bf;_0x1a704f++){_0x4c4db2={'ProjectId':_0xa8a711[_0xc1dc('0x44')]['id'],'SessionId':_0x58e6f1[_0x1a704f]['id'],'StartTime':moment(_0x58e6f1[_0x1a704f][_0xc1dc('0x69')])[_0xc1dc('0x6a')](_0xc1dc('0x6b'))};for(var _0x485b53=0x0,_0x4c860e=_0x45e11b[_0xc1dc('0x33')];_0x485b53<_0x4c860e;_0x485b53++){if(_0x45e11b[_0x485b53][_0xc1dc('0x6c')]==_0x58e6f1[_0x1a704f]['id']&&_0x509873[_0xc1dc('0x5d')](_0x45e11b[_0x485b53][_0xc1dc('0x67')])){_0x4c4db2[_0x509873[_0x45e11b[_0x485b53][_0xc1dc('0x67')]]]=_0x45e11b[_0x485b53][_0xc1dc('0x6d')];}}for(var _0x4d1c45 in _0x509873){if(!_0x4c4db2[_0xc1dc('0x5d')](_0x509873[_0x4d1c45])){_0x4c4db2[_0x509873[_0x4d1c45]]=null;}}_0x3cb914[_0xc1dc('0x6e')](_0x4c4db2);}return _0x3cb914;}})[_0xc1dc('0x24')](function(_0x3a9170){if(!_[_0xc1dc('0x6f')](_0x3a9170)){var _0xcd2261=toCsv(_0x3a9170);var _0x700725=Date[_0xc1dc('0x70')]();fs[_0xc1dc('0x71')](util[_0xc1dc('0x6a')]('/tmp/Jscripty_Project_%d_Summary_%s.csv',_0xa8a711['params']['id'],_0x700725),_0xcd2261);_0x1a8ebf[_0xc1dc('0x72')]('Content-disposition',_0xc1dc('0x73')+util[_0xc1dc('0x6a')](_0xc1dc('0x74'),_0xa8a711['params']['id'],_0x700725));_0x1a8ebf[_0xc1dc('0x72')](_0xc1dc('0x75'),_0xc1dc('0x76'));return _0x1a8ebf[_0xc1dc('0x77')](util[_0xc1dc('0x6a')](_0xc1dc('0x78'),_0xa8a711['params']['id'],_0x700725));}else{return _0x1a8ebf[_0xc1dc('0x18')](0xcc);}})['catch'](handleError(_0x1a8ebf,null));};