fd62096b0ee1de982dc095a5425848c96763079b
[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 _0x54ef=['autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','clone','includeAll','createdAt','updatedAt','getSessions','findOne','JscriptySessionReport','hasOwnProperty','nolimit','ProjectId','findAll','getAnswers','JscriptyAnswerReport','number','toString','indexOf','replace','getSummary','startTime','starttime','parse','JscriptyQuestionReport','-createdAt','questionId','question','format','SessionId','push','now','writeFileSync','/tmp/Jscripty_Project_%d_Summary_%s.csv','setHeader','Content-disposition','Jscripty_Project_%d_Summary_%s.csv','text/csv','download','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','fs-extra','lodash','squel','jsforce','to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range','reject','update','then','destroy','get','Projects','UserProfileResource','error','name','send','index','map','JscriptyProject','rawAttributes','fieldName','type','key','model','query','filters','attributes','intersection','fields','length','order','sort','where','pick','merge','VIRTUAL','filter','options','include','rows','catch','show','params','keys','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','find','userProfileId'];(function(_0x187ee1,_0x3fd1e6){var _0x388160=function(_0x542dd2){while(--_0x542dd2){_0x187ee1['push'](_0x187ee1['shift']());}};_0x388160(++_0x3fd1e6);}(_0x54ef,0x112));var _0xf54e=function(_0x20a57e,_0x4bb523){_0x20a57e=_0x20a57e-0x0;var _0x302893=_0x54ef[_0x20a57e];return _0x302893;};'use strict';var emlformat=require(_0xf54e('0x0'));var rimraf=require(_0xf54e('0x1'));var zipdir=require(_0xf54e('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xf54e('0x3'));var moment=require(_0xf54e('0x4'));var BPromise=require(_0xf54e('0x5'));var Mustache=require(_0xf54e('0x6'));var util=require(_0xf54e('0x7'));var path=require(_0xf54e('0x8'));var sox=require(_0xf54e('0x9'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xf54e('0xa'));var _=require(_0xf54e('0xb'));var squel=require(_0xf54e('0xc'));var crypto=require('crypto');var jsforce=require(_0xf54e('0xd'));var deskjs=require('desk.js');var toCsv=require(_0xf54e('0xe'));var querystring=require(_0xf54e('0xf'));var Papa=require('papaparse');var Redis=require(_0xf54e('0x10'));var authService=require(_0xf54e('0x11'));var qs=require(_0xf54e('0x12'));var as=require(_0xf54e('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xf54e('0x14'))(_0xf54e('0x15'));var utils=require(_0xf54e('0x16'));var config=require(_0xf54e('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0xf54e('0x18'))['db'];function respondWithStatusCode(_0x4b0ee1,_0x4bd828){_0x4bd828=_0x4bd828||0xcc;return function(_0x15a9d4){if(_0x15a9d4){return _0x4b0ee1[_0xf54e('0x19')](_0x4bd828);}return _0x4b0ee1[_0xf54e('0x1a')](_0x4bd828)[_0xf54e('0x1b')]();};}function respondWithResult(_0x5644aa,_0x331732){_0x331732=_0x331732||0xc8;return function(_0x1bbeaa){if(_0x1bbeaa){return _0x5644aa[_0xf54e('0x1a')](_0x331732)[_0xf54e('0x1c')](_0x1bbeaa);}};}function respondWithFilteredResult(_0x56828e,_0x2366ee){return function(_0x389abc){if(_0x389abc){var _0x3eb415=_0x389abc[_0xf54e('0x1d')],_0x5c5d00=_0x2366ee[_0xf54e('0x1e')],_0x4af633=_0x2366ee[_0xf54e('0x1e')]+_0x2366ee[_0xf54e('0x1f')],_0xd87020;if(_0x4af633>=_0x3eb415){_0x4af633=_0x3eb415;_0xd87020=0xc8;}else{_0xd87020=0xce;}_0x56828e[_0xf54e('0x1a')](_0xd87020);return _0x56828e[_0xf54e('0x20')](_0xf54e('0x21'),_0x5c5d00+'-'+_0x4af633+'/'+_0x3eb415)[_0xf54e('0x1c')](_0x389abc);}return null;};}function patchUpdates(_0x4689fe){return function(_0x226c96){try{jsonpatch['apply'](_0x226c96,_0x4689fe,!![]);}catch(_0x48a7e1){return BPromise[_0xf54e('0x22')](_0x48a7e1);}return _0x226c96['save']();};}function saveUpdates(_0x3e1556,_0x1bfe99){return function(_0x106362){if(_0x106362){return _0x106362[_0xf54e('0x23')](_0x3e1556)[_0xf54e('0x24')](function(_0x3887b0){return _0x3887b0;});}return null;};}function removeEntity(_0x388aa0,_0x11985e){return function(_0x3c0169){if(_0x3c0169){return _0x3c0169[_0xf54e('0x25')]()[_0xf54e('0x24')](function(){var _0x5b83df=_0x3c0169[_0xf54e('0x26')]({'plain':!![]});var _0x54f914=_0xf54e('0x27');return db[_0xf54e('0x28')][_0xf54e('0x25')]({'where':{'type':_0x54f914,'resourceId':_0x5b83df['id']}})[_0xf54e('0x24')](function(){return _0x3c0169;});})[_0xf54e('0x24')](function(){_0x388aa0[_0xf54e('0x1a')](0xcc)[_0xf54e('0x1b')]();});}};}function handleEntityNotFound(_0x43488d,_0x2342a9){return function(_0x33457f){if(!_0x33457f){_0x43488d[_0xf54e('0x19')](0x194);}return _0x33457f;};}function handleError(_0x39c0ae,_0x2ea001){_0x2ea001=_0x2ea001||0x1f4;return function(_0x5390b8){logger[_0xf54e('0x29')](_0x5390b8['stack']);if(_0x5390b8[_0xf54e('0x2a')]){delete _0x5390b8['name'];}_0x39c0ae[_0xf54e('0x1a')](_0x2ea001)[_0xf54e('0x2b')](_0x5390b8);};}exports[_0xf54e('0x2c')]=function(_0xa13cd0,_0x25b643){var _0x3993e4={},_0x36f985={},_0x54bd8f={'count':0x0,'rows':[]};var _0x4b3c73=_[_0xf54e('0x2d')](db[_0xf54e('0x2e')][_0xf54e('0x2f')],function(_0x16d00f){return{'name':_0x16d00f[_0xf54e('0x30')],'type':_0x16d00f[_0xf54e('0x31')][_0xf54e('0x32')]};});_0x36f985[_0xf54e('0x33')]=_[_0xf54e('0x2d')](_0x4b3c73,_0xf54e('0x2a'));_0x36f985['query']=_['keys'](_0xa13cd0[_0xf54e('0x34')]);_0x36f985[_0xf54e('0x35')]=_['intersection'](_0x36f985[_0xf54e('0x33')],_0x36f985[_0xf54e('0x34')]);_0x3993e4[_0xf54e('0x36')]=_[_0xf54e('0x37')](_0x36f985['model'],qs['fields'](_0xa13cd0['query'][_0xf54e('0x38')]));_0x3993e4[_0xf54e('0x36')]=_0x3993e4[_0xf54e('0x36')][_0xf54e('0x39')]?_0x3993e4[_0xf54e('0x36')]:_0x36f985[_0xf54e('0x33')];if(!_0xa13cd0['query']['hasOwnProperty']('nolimit')){_0x3993e4[_0xf54e('0x1f')]=qs[_0xf54e('0x1f')](_0xa13cd0['query']['limit']);_0x3993e4[_0xf54e('0x1e')]=qs[_0xf54e('0x1e')](_0xa13cd0[_0xf54e('0x34')]['offset']);}_0x3993e4[_0xf54e('0x3a')]=qs[_0xf54e('0x3b')](_0xa13cd0['query'][_0xf54e('0x3b')]);_0x3993e4[_0xf54e('0x3c')]=qs[_0xf54e('0x35')](_[_0xf54e('0x3d')](_0xa13cd0[_0xf54e('0x34')],_0x36f985[_0xf54e('0x35')]),_0x4b3c73);if(_0xa13cd0['query']['filter']){_0x3993e4[_0xf54e('0x3c')]=_[_0xf54e('0x3e')](_0x3993e4[_0xf54e('0x3c')],{'$or':_['map'](_0x4b3c73,function(_0x4533a2){if(_0x4533a2[_0xf54e('0x31')]!==_0xf54e('0x3f')){var _0x1ee884={};_0x1ee884[_0x4533a2[_0xf54e('0x2a')]]={'$like':'%'+_0xa13cd0[_0xf54e('0x34')][_0xf54e('0x40')]+'%'};return _0x1ee884;}})});}_0x3993e4=_[_0xf54e('0x3e')]({},_0x3993e4,_0xa13cd0[_0xf54e('0x41')]);var _0x2087b3={'where':_0x3993e4[_0xf54e('0x3c')]};return db[_0xf54e('0x2e')][_0xf54e('0x1d')](_0x2087b3)[_0xf54e('0x24')](function(_0x2043a8){_0x54bd8f['count']=_0x2043a8;if(_0xa13cd0['query']['includeAll']){_0x3993e4[_0xf54e('0x42')]=[{'all':!![]}];}return db[_0xf54e('0x2e')]['findAll'](_0x3993e4);})[_0xf54e('0x24')](function(_0x311ce1){_0x54bd8f[_0xf54e('0x43')]=_0x311ce1;return _0x54bd8f;})['then'](respondWithFilteredResult(_0x25b643,_0x3993e4))[_0xf54e('0x44')](handleError(_0x25b643,null));};exports[_0xf54e('0x45')]=function(_0x1e016e,_0x794be7){var _0x4b1931={'raw':![],'where':{'id':_0x1e016e[_0xf54e('0x46')]['id']}},_0x143a39={};_0x143a39[_0xf54e('0x33')]=_[_0xf54e('0x47')](db['JscriptyProject'][_0xf54e('0x2f')]);_0x143a39[_0xf54e('0x34')]=_[_0xf54e('0x47')](_0x1e016e[_0xf54e('0x34')]);_0x143a39[_0xf54e('0x35')]=_[_0xf54e('0x37')](_0x143a39['model'],_0x143a39[_0xf54e('0x34')]);_0x4b1931['attributes']=_[_0xf54e('0x37')](_0x143a39['model'],qs[_0xf54e('0x38')](_0x1e016e[_0xf54e('0x34')][_0xf54e('0x38')]));_0x4b1931['attributes']=_0x4b1931[_0xf54e('0x36')][_0xf54e('0x39')]?_0x4b1931[_0xf54e('0x36')]:_0x143a39[_0xf54e('0x33')];if(_0x1e016e[_0xf54e('0x34')]['includeAll']){_0x4b1931[_0xf54e('0x42')]=[{'all':!![]}];}_0x4b1931=_[_0xf54e('0x3e')]({},_0x4b1931,_0x1e016e[_0xf54e('0x41')]);return db[_0xf54e('0x2e')]['find'](_0x4b1931)[_0xf54e('0x24')](handleEntityNotFound(_0x794be7,null))[_0xf54e('0x24')](respondWithResult(_0x794be7,null))['catch'](handleError(_0x794be7,null));};exports[_0xf54e('0x48')]=function(_0xd4d956,_0x3d24c7){return db[_0xf54e('0x2e')]['create'](_0xd4d956[_0xf54e('0x49')],{})[_0xf54e('0x24')](function(_0x2527f6){var _0xb4654f=_0xd4d956[_0xf54e('0x4a')][_0xf54e('0x26')]({'plain':!![]});if(!_0xb4654f)throw new Error(_0xf54e('0x4b'));if(_0xb4654f[_0xf54e('0x4c')]===_0xf54e('0x4a')){var _0x21f2f8=_0x2527f6[_0xf54e('0x26')]({'plain':!![]});var _0x1f4cf8=_0xf54e('0x27');return db[_0xf54e('0x4d')][_0xf54e('0x4e')]({'where':{'name':_0x1f4cf8,'userProfileId':_0xb4654f[_0xf54e('0x4f')]},'raw':!![]})[_0xf54e('0x24')](function(_0xe9338b){if(_0xe9338b&&_0xe9338b[_0xf54e('0x50')]===0x0){return db[_0xf54e('0x28')]['create']({'name':_0x21f2f8['name'],'resourceId':_0x21f2f8['id'],'type':_0xe9338b[_0xf54e('0x2a')],'sectionId':_0xe9338b['id']},{})[_0xf54e('0x24')](function(){return _0x2527f6;});}else{return _0x2527f6;}})[_0xf54e('0x44')](function(_0x40557d){logger[_0xf54e('0x29')](_0xf54e('0x51'),_0x40557d);throw _0x40557d;});}return _0x2527f6;})[_0xf54e('0x24')](respondWithResult(_0x3d24c7,0xc9))[_0xf54e('0x44')](handleError(_0x3d24c7,null));};exports[_0xf54e('0x52')]=function(_0xdf63c4,_0x1df308){var _0x59c313={'where':{'id':_0xdf63c4[_0xf54e('0x46')]['id']}},_0x2aacf6={};_0x2aacf6[_0xf54e('0x33')]=_[_0xf54e('0x47')](db[_0xf54e('0x2e')][_0xf54e('0x2f')]);_0x59c313[_0xf54e('0x36')]=_['intersection'](_0x2aacf6[_0xf54e('0x33')],qs[_0xf54e('0x38')](_0xdf63c4[_0xf54e('0x34')]['fields']));_0x59c313[_0xf54e('0x36')]=_0x59c313['attributes'][_0xf54e('0x39')]?_0x59c313[_0xf54e('0x36')]:_0x2aacf6[_0xf54e('0x33')];if(_0xdf63c4['query'][_0xf54e('0x53')]){_0x59c313[_0xf54e('0x42')]=[{'all':!![]}];}_0x59c313=_[_0xf54e('0x3e')]({},_0x59c313,_0xdf63c4[_0xf54e('0x41')]);return db[_0xf54e('0x2e')][_0xf54e('0x4e')](_0x59c313)[_0xf54e('0x24')](handleEntityNotFound(_0x1df308,null))['then'](function(_0x55de5c){if(_0x55de5c){var _0x4270e1=_0x55de5c[_0xf54e('0x26')]({'plain':!![]});_0x4270e1=qs['omit'](_0x4270e1,['id',_0xf54e('0x54'),'updatedAt']);_0xdf63c4[_0xf54e('0x49')]=_['omit'](_0xdf63c4[_0xf54e('0x49')],['id',_0xf54e('0x54'),_0xf54e('0x55')]);return db[_0xf54e('0x2e')][_0xf54e('0x48')](_[_0xf54e('0x3e')](_0x4270e1,_0xdf63c4['body']),{'include':_0xdf63c4['query'][_0xf54e('0x53')]?[{'all':!![]}]:undefined})[_0xf54e('0x24')](function(_0x493011){var _0x57a48e=_0xdf63c4[_0xf54e('0x4a')]['get']({'plain':!![]});if(!_0x57a48e)throw new Error(_0xf54e('0x4b'));if(_0x57a48e[_0xf54e('0x4c')]===_0xf54e('0x4a')){var _0x2b11f8=_0x493011[_0xf54e('0x26')]({'plain':!![]});var _0x20c90d=_0xf54e('0x27');return db[_0xf54e('0x4d')][_0xf54e('0x4e')]({'where':{'name':_0x20c90d,'userProfileId':_0x57a48e[_0xf54e('0x4f')]},'raw':!![]})[_0xf54e('0x24')](function(_0x2c6d0e){if(_0x2c6d0e&&_0x2c6d0e[_0xf54e('0x50')]===0x0){return db[_0xf54e('0x28')]['create']({'name':_0x2b11f8[_0xf54e('0x2a')],'resourceId':_0x2b11f8['id'],'type':_0x2c6d0e[_0xf54e('0x2a')],'sectionId':_0x2c6d0e['id']},{})[_0xf54e('0x24')](function(){return _0x493011;});}else{return _0x493011;}})[_0xf54e('0x44')](function(_0x1e4c0d){logger['error'](_0xf54e('0x51'),_0x1e4c0d);throw _0x1e4c0d;});}return _0x493011;});}})[_0xf54e('0x24')](respondWithResult(_0x1df308,0xc9))['catch'](handleError(_0x1df308,null));};exports['update']=function(_0x2818cf,_0x4b4a2f){if(_0x2818cf[_0xf54e('0x49')]['id']){delete _0x2818cf[_0xf54e('0x49')]['id'];}return db[_0xf54e('0x2e')][_0xf54e('0x4e')]({'where':{'id':_0x2818cf['params']['id']}})[_0xf54e('0x24')](handleEntityNotFound(_0x4b4a2f,null))['then'](saveUpdates(_0x2818cf[_0xf54e('0x49')],null))[_0xf54e('0x24')](respondWithResult(_0x4b4a2f,null))[_0xf54e('0x44')](handleError(_0x4b4a2f,null));};exports['destroy']=function(_0x2d04db,_0x504ec7){return db[_0xf54e('0x2e')][_0xf54e('0x4e')]({'where':{'id':_0x2d04db['params']['id']}})[_0xf54e('0x24')](handleEntityNotFound(_0x504ec7,null))['then'](removeEntity(_0x504ec7,null))[_0xf54e('0x44')](handleError(_0x504ec7,null));};exports[_0xf54e('0x56')]=function(_0x33acd3,_0x38405c,_0x21159f){var _0x54ee29={'raw':!![],'where':{}};var _0x3a9dd7={};var _0x1d18d3={'count':0x0,'rows':[]};return db['JscriptyProject'][_0xf54e('0x57')]({'where':{'id':_0x33acd3[_0xf54e('0x46')]['id']}})['then'](handleEntityNotFound(_0x38405c,null))[_0xf54e('0x24')](function(_0x14aaf7){if(_0x14aaf7){_0x3a9dd7[_0xf54e('0x33')]=_['keys'](db[_0xf54e('0x58')]['rawAttributes']);_0x3a9dd7[_0xf54e('0x34')]=_[_0xf54e('0x47')](_0x33acd3['query']);_0x3a9dd7[_0xf54e('0x35')]=_[_0xf54e('0x37')](_0x3a9dd7[_0xf54e('0x33')],_0x3a9dd7[_0xf54e('0x34')]);_0x54ee29[_0xf54e('0x36')]=_[_0xf54e('0x37')](_0x3a9dd7[_0xf54e('0x33')],qs[_0xf54e('0x38')](_0x33acd3[_0xf54e('0x34')][_0xf54e('0x38')]));_0x54ee29[_0xf54e('0x36')]=_0x54ee29['attributes'][_0xf54e('0x39')]?_0x54ee29[_0xf54e('0x36')]:_0x3a9dd7[_0xf54e('0x33')];if(!_0x33acd3['query'][_0xf54e('0x59')](_0xf54e('0x5a'))){_0x54ee29[_0xf54e('0x1f')]=qs[_0xf54e('0x1f')](_0x33acd3[_0xf54e('0x34')][_0xf54e('0x1f')]);_0x54ee29[_0xf54e('0x1e')]=qs['offset'](_0x33acd3[_0xf54e('0x34')][_0xf54e('0x1e')]);}_0x54ee29[_0xf54e('0x3a')]=qs['sort'](_0x33acd3[_0xf54e('0x34')][_0xf54e('0x3b')]);_0x54ee29[_0xf54e('0x3c')]=qs[_0xf54e('0x35')](_['pick'](_0x33acd3['query'],_0x3a9dd7[_0xf54e('0x35')]));_0x54ee29[_0xf54e('0x3c')][_0xf54e('0x5b')]=_0x14aaf7['id'];if(_0x33acd3[_0xf54e('0x34')][_0xf54e('0x40')]){_0x54ee29[_0xf54e('0x3c')]=_[_0xf54e('0x3e')](_0x54ee29[_0xf54e('0x3c')],{'$or':_[_0xf54e('0x2d')](_0x54ee29[_0xf54e('0x36')],function(_0x4e6f8f){var _0x21d708={};_0x21d708[_0x4e6f8f]={'$like':'%'+_0x33acd3[_0xf54e('0x34')][_0xf54e('0x40')]+'%'};return _0x21d708;})});}_0x54ee29=_[_0xf54e('0x3e')]({},_0x54ee29,_0x33acd3['options']);return db[_0xf54e('0x58')][_0xf54e('0x1d')]({'where':_0x54ee29[_0xf54e('0x3c')]})[_0xf54e('0x24')](function(_0x5dd28e){_0x1d18d3[_0xf54e('0x1d')]=_0x5dd28e;if(_0x33acd3[_0xf54e('0x34')][_0xf54e('0x53')]){_0x54ee29['include']=[{'all':!![]}];}return db['JscriptySessionReport'][_0xf54e('0x5c')](_0x54ee29);})[_0xf54e('0x24')](function(_0x1e2834){_0x1d18d3[_0xf54e('0x43')]=_0x1e2834;return _0x1d18d3;});}})[_0xf54e('0x24')](respondWithFilteredResult(_0x38405c,_0x54ee29))[_0xf54e('0x44')](handleError(_0x38405c,null));};exports[_0xf54e('0x5d')]=function(_0x824202,_0x8093bc,_0x4adf60){var _0xa5de47={'raw':!![],'where':{}};var _0x3edfa0={};var _0x4ce10={'count':0x0,'rows':[]};return db[_0xf54e('0x2e')][_0xf54e('0x57')]({'where':{'id':_0x824202[_0xf54e('0x46')]['id']}})[_0xf54e('0x24')](handleEntityNotFound(_0x8093bc,null))[_0xf54e('0x24')](function(_0x2fa9bc){if(_0x2fa9bc){_0x3edfa0[_0xf54e('0x33')]=_[_0xf54e('0x47')](db[_0xf54e('0x5e')]['rawAttributes']);_0x3edfa0[_0xf54e('0x34')]=_[_0xf54e('0x47')](_0x824202['query']);_0x3edfa0['filters']=_[_0xf54e('0x37')](_0x3edfa0[_0xf54e('0x33')],_0x3edfa0[_0xf54e('0x34')]);_0xa5de47[_0xf54e('0x36')]=_[_0xf54e('0x37')](_0x3edfa0[_0xf54e('0x33')],qs[_0xf54e('0x38')](_0x824202[_0xf54e('0x34')][_0xf54e('0x38')]));_0xa5de47['attributes']=_0xa5de47[_0xf54e('0x36')][_0xf54e('0x39')]?_0xa5de47[_0xf54e('0x36')]:_0x3edfa0['model'];if(!_0x824202[_0xf54e('0x34')]['hasOwnProperty'](_0xf54e('0x5a'))){_0xa5de47['limit']=qs[_0xf54e('0x1f')](_0x824202[_0xf54e('0x34')]['limit']);_0xa5de47['offset']=qs[_0xf54e('0x1e')](_0x824202[_0xf54e('0x34')][_0xf54e('0x1e')]);}_0xa5de47[_0xf54e('0x3a')]=qs[_0xf54e('0x3b')](_0x824202['query']['sort']);_0xa5de47[_0xf54e('0x3c')]=qs[_0xf54e('0x35')](_[_0xf54e('0x3d')](_0x824202[_0xf54e('0x34')],_0x3edfa0[_0xf54e('0x35')]));_0xa5de47[_0xf54e('0x3c')][_0xf54e('0x5b')]=_0x2fa9bc['id'];if(_0x824202[_0xf54e('0x34')][_0xf54e('0x40')]){_0xa5de47[_0xf54e('0x3c')]=_['merge'](_0xa5de47[_0xf54e('0x3c')],{'$or':_[_0xf54e('0x2d')](_0xa5de47['attributes'],function(_0x4fd274){var _0x20345b={};_0x20345b[_0x4fd274]={'$like':'%'+_0x824202[_0xf54e('0x34')][_0xf54e('0x40')]+'%'};return _0x20345b;})});}_0xa5de47=_[_0xf54e('0x3e')]({},_0xa5de47,_0x824202[_0xf54e('0x41')]);return db['JscriptyAnswerReport'][_0xf54e('0x1d')]({'where':_0xa5de47[_0xf54e('0x3c')]})[_0xf54e('0x24')](function(_0x20f9e1){_0x4ce10['count']=_0x20f9e1;if(_0x824202[_0xf54e('0x34')][_0xf54e('0x53')]){_0xa5de47[_0xf54e('0x42')]=[{'all':!![]}];}return db[_0xf54e('0x5e')]['findAll'](_0xa5de47);})[_0xf54e('0x24')](function(_0x388e42){_0x4ce10[_0xf54e('0x43')]=_0x388e42;return _0x4ce10;});}})[_0xf54e('0x24')](respondWithFilteredResult(_0x8093bc,_0xa5de47))[_0xf54e('0x44')](handleError(_0x8093bc,null));};function char(_0x4daac7){return _0xf54e('0x5f')===typeof _0x4daac7?String['fromCharCode']['apply'](null,arguments):_0x4daac7;}function needsEncapsulation(_0x963253){return!!_0x963253&&(_0x963253[_0xf54e('0x60')]()[_0xf54e('0x61')](char(0xd))>=0x0||_0x963253[_0xf54e('0x60')]()[_0xf54e('0x61')](char(0xa))>=0x0||_0x963253[_0xf54e('0x60')]()[_0xf54e('0x61')](char(0x2c))>=0x0||_0x963253[_0xf54e('0x60')]()[_0xf54e('0x61')](char(0x22))>=0x0);}function encapsulate(_0x5e1007){var _0x3dddbd=char(0x22),_0x3d641c='\x5c'+char(0x22),_0x259a3e=_0x5e1007[_0xf54e('0x60')]()[_0xf54e('0x62')](new RegExp(_0x3dddbd,'g'),_0x3d641c);return _0x3dddbd+_0x259a3e+_0x3dddbd;}exports[_0xf54e('0x63')]=function(_0x485597,_0x9a1897,_0x978fe2){var _0xd2c60d,_0x2b46d4;var _0x436b99={'where':{'ProjectId':_0x485597[_0xf54e('0x46')]['id']}};if(_0x485597['query'][_0xf54e('0x64')]){_0x436b99[_0xf54e('0x3c')][_0xf54e('0x65')]=JSON[_0xf54e('0x66')](_0x485597['query']['startTime']);}return db[_0xf54e('0x58')][_0xf54e('0x5c')](_0x436b99)[_0xf54e('0x24')](handleEntityNotFound(_0x9a1897,null))[_0xf54e('0x24')](function(_0x3005f0){if(_0x3005f0){_0xd2c60d=_0x3005f0;return db[_0xf54e('0x67')]['findAll']({'where':{'SessionId':{'$in':_[_0xf54e('0x2d')](_0xd2c60d,'id')},'ProjectId':_0x485597[_0xf54e('0x46')]['id']},'order':_0xf54e('0x68')});}})[_0xf54e('0x24')](handleEntityNotFound(_0x9a1897,null))[_0xf54e('0x24')](function(_0xa386cc){if(_0xa386cc){_0x2b46d4=_0xa386cc;var _0x5b5a0d={};for(var _0x33bed6=0x0,_0x4dde1d=_0x2b46d4[_0xf54e('0x39')];_0x33bed6<_0x4dde1d;_0x33bed6++){if(!_0x5b5a0d['hasOwnProperty'](_0x2b46d4[_0x33bed6][_0xf54e('0x69')])){_0x5b5a0d[_0x2b46d4[_0x33bed6][_0xf54e('0x69')]]=needsEncapsulation(_0x2b46d4[_0x33bed6][_0xf54e('0x6a')])?encapsulate(_0x2b46d4[_0x33bed6][_0xf54e('0x6a')]):_0x2b46d4[_0x33bed6][_0xf54e('0x6a')];}}var _0x585aa1=[],_0x22c71b={};for(var _0x3e79f3=0x0,_0x4ee101=_0xd2c60d[_0xf54e('0x39')];_0x3e79f3<_0x4ee101;_0x3e79f3++){_0x22c71b={'ProjectId':_0x485597[_0xf54e('0x46')]['id'],'SessionId':_0xd2c60d[_0x3e79f3]['id'],'StartTime':moment(_0xd2c60d[_0x3e79f3][_0xf54e('0x65')])[_0xf54e('0x6b')]('YYYY-MM-DD\x20HH:mm:ss')};for(var _0x407dce=0x0,_0x17875d=_0x2b46d4['length'];_0x407dce<_0x17875d;_0x407dce++){if(_0x2b46d4[_0x407dce][_0xf54e('0x6c')]==_0xd2c60d[_0x3e79f3]['id']&&_0x5b5a0d['hasOwnProperty'](_0x2b46d4[_0x407dce]['questionId'])){_0x22c71b[_0x5b5a0d[_0x2b46d4[_0x407dce][_0xf54e('0x69')]]]=_0x2b46d4[_0x407dce]['answer'];}}for(var _0x5fb5e3 in _0x5b5a0d){if(!_0x22c71b[_0xf54e('0x59')](_0x5b5a0d[_0x5fb5e3])){_0x22c71b[_0x5b5a0d[_0x5fb5e3]]=null;}}_0x585aa1[_0xf54e('0x6d')](_0x22c71b);}return _0x585aa1;}})[_0xf54e('0x24')](function(_0x235124){if(!_['isEmpty'](_0x235124)){var _0x824d0b=toCsv(_0x235124);var _0x351239=Date[_0xf54e('0x6e')]();fs[_0xf54e('0x6f')](util['format'](_0xf54e('0x70'),_0x485597['params']['id'],_0x351239),_0x824d0b);_0x9a1897[_0xf54e('0x71')](_0xf54e('0x72'),'attachment;\x20filename='+util[_0xf54e('0x6b')](_0xf54e('0x73'),_0x485597[_0xf54e('0x46')]['id'],_0x351239));_0x9a1897[_0xf54e('0x71')]('Content-type',_0xf54e('0x74'));return _0x9a1897[_0xf54e('0x75')](util[_0xf54e('0x6b')]('/tmp/Jscripty_Project_%d_Summary_%s.csv',_0x485597['params']['id'],_0x351239));}else{return _0x9a1897[_0xf54e('0x19')](0xcc);}})['catch'](handleError(_0x9a1897,null));};