3b814a79050bc44765a579b80f88a85820e1dd4e
[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 _0xdd4f=['moment','mustache','util','path','to-csv','ejs','fs-extra','lodash','squel','jsforce','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','undefined','count','offset','limit','set','Content-Range','apply','save','update','then','destroy','get','Projects','UserProfileResource','sendStatus','error','stack','name','send','index','map','rawAttributes','fieldName','type','query','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','VIRTUAL','options','JscriptyProject','includeAll','include','rows','catch','show','params','keys','find','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','omit','createdAt','updatedAt','user','role','findOne','JscriptySessionReport','ProjectId','findAll','pick','JscriptyAnswerReport','number','fromCharCode','toString','indexOf','replace','getSummary','startTime','starttime','parse','question','format','YYYY-MM-DD\x20HH:mm:ss','questionId','push','isEmpty','writeFileSync','setHeader','Content-disposition','attachment;\x20filename=','Jscripty_Project_%d_Summary_%s.csv','Content-type','text/csv','download','/tmp/Jscripty_Project_%d_Summary_%s.csv','eml-format','request-promise'];(function(_0x38e95b,_0x268330){var _0x2aa92b=function(_0x3aa6e4){while(--_0x3aa6e4){_0x38e95b['push'](_0x38e95b['shift']());}};_0x2aa92b(++_0x268330);}(_0xdd4f,0x1ce));var _0xfdd4=function(_0xa3ec7c,_0x517622){_0xa3ec7c=_0xa3ec7c-0x0;var _0x3f136f=_0xdd4f[_0xa3ec7c];return _0x3f136f;};'use strict';var emlformat=require(_0xfdd4('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xfdd4('0x1'));var moment=require(_0xfdd4('0x2'));var BPromise=require('bluebird');var Mustache=require(_0xfdd4('0x3'));var util=require(_0xfdd4('0x4'));var path=require(_0xfdd4('0x5'));var sox=require('sox');var csv=require(_0xfdd4('0x6'));var ejs=require(_0xfdd4('0x7'));var fs=require('fs');var fs_extra=require(_0xfdd4('0x8'));var _=require(_0xfdd4('0x9'));var squel=require(_0xfdd4('0xa'));var crypto=require('crypto');var jsforce=require(_0xfdd4('0xb'));var deskjs=require('desk.js');var toCsv=require(_0xfdd4('0x6'));var querystring=require(_0xfdd4('0xc'));var Papa=require(_0xfdd4('0xd'));var Redis=require('ioredis');var authService=require(_0xfdd4('0xe'));var qs=require('../../components/parsers/qs');var as=require(_0xfdd4('0xf'));var hardwareService=require(_0xfdd4('0x10'));var logger=require(_0xfdd4('0x11'))(_0xfdd4('0x12'));var utils=require(_0xfdd4('0x13'));var config=require(_0xfdd4('0x14'));var licenseUtil=require(_0xfdd4('0x15'));var db=require(_0xfdd4('0x16'))['db'];function respondWithStatusCode(_0x3f07f1,_0x4565e6){_0x4565e6=_0x4565e6||0xcc;return function(_0x1bf37b){if(_0x1bf37b){return _0x3f07f1['sendStatus'](_0x4565e6);}return _0x3f07f1[_0xfdd4('0x17')](_0x4565e6)[_0xfdd4('0x18')]();};}function respondWithResult(_0x227099,_0x57b21f){_0x57b21f=_0x57b21f||0xc8;return function(_0x1b7da1){if(_0x1b7da1){return _0x227099['status'](_0x57b21f)[_0xfdd4('0x19')](_0x1b7da1);}};}function respondWithFilteredResult(_0x42c3a8,_0x2f34ec){return function(_0x431255){if(_0x431255){var _0x37b05f=typeof _0x2f34ec['offset']==='undefined'&&typeof _0x2f34ec['limit']===_0xfdd4('0x1a');var _0x216c7e=_0x431255[_0xfdd4('0x1b')];var _0x2ccc88=_0x37b05f?0x0:_0x2f34ec[_0xfdd4('0x1c')];var _0x33d752=_0x37b05f?_0x431255[_0xfdd4('0x1b')]:_0x2f34ec[_0xfdd4('0x1c')]+_0x2f34ec[_0xfdd4('0x1d')];var _0x52ce34;if(_0x33d752>=_0x216c7e){_0x33d752=_0x216c7e;_0x52ce34=0xc8;}else{_0x52ce34=0xce;}_0x42c3a8[_0xfdd4('0x17')](_0x52ce34);return _0x42c3a8[_0xfdd4('0x1e')](_0xfdd4('0x1f'),_0x2ccc88+'-'+_0x33d752+'/'+_0x216c7e)[_0xfdd4('0x19')](_0x431255);}return null;};}function patchUpdates(_0x1454f1){return function(_0x29cc8d){try{jsonpatch[_0xfdd4('0x20')](_0x29cc8d,_0x1454f1,!![]);}catch(_0x34dfa8){return BPromise['reject'](_0x34dfa8);}return _0x29cc8d[_0xfdd4('0x21')]();};}function saveUpdates(_0x17302b,_0x2a24e8){return function(_0x16e81b){if(_0x16e81b){return _0x16e81b[_0xfdd4('0x22')](_0x17302b)[_0xfdd4('0x23')](function(_0x451767){return _0x451767;});}return null;};}function removeEntity(_0x277ec1,_0x538b00){return function(_0x1e14da){if(_0x1e14da){return _0x1e14da[_0xfdd4('0x24')]()[_0xfdd4('0x23')](function(){var _0x53d35a=_0x1e14da[_0xfdd4('0x25')]({'plain':!![]});var _0x39b712=_0xfdd4('0x26');return db[_0xfdd4('0x27')][_0xfdd4('0x24')]({'where':{'type':_0x39b712,'resourceId':_0x53d35a['id']}})['then'](function(){return _0x1e14da;});})[_0xfdd4('0x23')](function(){_0x277ec1[_0xfdd4('0x17')](0xcc)[_0xfdd4('0x18')]();});}};}function handleEntityNotFound(_0x31e053,_0x3c6728){return function(_0x192471){if(!_0x192471){_0x31e053[_0xfdd4('0x28')](0x194);}return _0x192471;};}function handleError(_0x37b7a2,_0x5e8898){_0x5e8898=_0x5e8898||0x1f4;return function(_0xcbd1fb){logger[_0xfdd4('0x29')](_0xcbd1fb[_0xfdd4('0x2a')]);if(_0xcbd1fb[_0xfdd4('0x2b')]){delete _0xcbd1fb[_0xfdd4('0x2b')];}_0x37b7a2['status'](_0x5e8898)[_0xfdd4('0x2c')](_0xcbd1fb);};}exports[_0xfdd4('0x2d')]=function(_0xbf38b4,_0x2bb793){var _0x13cc5e={},_0x4d64ce={},_0x374e98={'count':0x0,'rows':[]};var _0x315568=_[_0xfdd4('0x2e')](db['JscriptyProject'][_0xfdd4('0x2f')],function(_0x502776){return{'name':_0x502776[_0xfdd4('0x30')],'type':_0x502776[_0xfdd4('0x31')]['key']};});_0x4d64ce['model']=_[_0xfdd4('0x2e')](_0x315568,_0xfdd4('0x2b'));_0x4d64ce['query']=_['keys'](_0xbf38b4[_0xfdd4('0x32')]);_0x4d64ce[_0xfdd4('0x33')]=_[_0xfdd4('0x34')](_0x4d64ce[_0xfdd4('0x35')],_0x4d64ce[_0xfdd4('0x32')]);_0x13cc5e[_0xfdd4('0x36')]=_[_0xfdd4('0x34')](_0x4d64ce[_0xfdd4('0x35')],qs[_0xfdd4('0x37')](_0xbf38b4[_0xfdd4('0x32')][_0xfdd4('0x37')]));_0x13cc5e[_0xfdd4('0x36')]=_0x13cc5e[_0xfdd4('0x36')][_0xfdd4('0x38')]?_0x13cc5e[_0xfdd4('0x36')]:_0x4d64ce[_0xfdd4('0x35')];if(!_0xbf38b4[_0xfdd4('0x32')][_0xfdd4('0x39')](_0xfdd4('0x3a'))){_0x13cc5e[_0xfdd4('0x1d')]=qs[_0xfdd4('0x1d')](_0xbf38b4[_0xfdd4('0x32')][_0xfdd4('0x1d')]);_0x13cc5e[_0xfdd4('0x1c')]=qs[_0xfdd4('0x1c')](_0xbf38b4[_0xfdd4('0x32')]['offset']);}_0x13cc5e[_0xfdd4('0x3b')]=qs[_0xfdd4('0x3c')](_0xbf38b4[_0xfdd4('0x32')][_0xfdd4('0x3c')]);_0x13cc5e[_0xfdd4('0x3d')]=qs[_0xfdd4('0x33')](_['pick'](_0xbf38b4[_0xfdd4('0x32')],_0x4d64ce['filters']),_0x315568);if(_0xbf38b4[_0xfdd4('0x32')][_0xfdd4('0x3e')]){_0x13cc5e[_0xfdd4('0x3d')]=_[_0xfdd4('0x3f')](_0x13cc5e['where'],{'$or':_[_0xfdd4('0x2e')](_0x315568,function(_0x3feb36){if(_0x3feb36[_0xfdd4('0x31')]!==_0xfdd4('0x40')){var _0x35b719={};_0x35b719[_0x3feb36[_0xfdd4('0x2b')]]={'$like':'%'+_0xbf38b4[_0xfdd4('0x32')][_0xfdd4('0x3e')]+'%'};return _0x35b719;}})});}_0x13cc5e=_[_0xfdd4('0x3f')]({},_0x13cc5e,_0xbf38b4[_0xfdd4('0x41')]);var _0x5bcbc8={'where':_0x13cc5e[_0xfdd4('0x3d')]};return db[_0xfdd4('0x42')][_0xfdd4('0x1b')](_0x5bcbc8)[_0xfdd4('0x23')](function(_0x5173db){_0x374e98[_0xfdd4('0x1b')]=_0x5173db;if(_0xbf38b4[_0xfdd4('0x32')][_0xfdd4('0x43')]){_0x13cc5e[_0xfdd4('0x44')]=[{'all':!![]}];}return db[_0xfdd4('0x42')]['findAll'](_0x13cc5e);})[_0xfdd4('0x23')](function(_0x23af2a){_0x374e98[_0xfdd4('0x45')]=_0x23af2a;return _0x374e98;})[_0xfdd4('0x23')](respondWithFilteredResult(_0x2bb793,_0x13cc5e))[_0xfdd4('0x46')](handleError(_0x2bb793,null));};exports[_0xfdd4('0x47')]=function(_0x3d1051,_0x484cb6){var _0x2dd3fa={'raw':![],'where':{'id':_0x3d1051[_0xfdd4('0x48')]['id']}},_0x586713={};_0x586713[_0xfdd4('0x35')]=_[_0xfdd4('0x49')](db[_0xfdd4('0x42')]['rawAttributes']);_0x586713[_0xfdd4('0x32')]=_[_0xfdd4('0x49')](_0x3d1051['query']);_0x586713[_0xfdd4('0x33')]=_[_0xfdd4('0x34')](_0x586713['model'],_0x586713[_0xfdd4('0x32')]);_0x2dd3fa['attributes']=_['intersection'](_0x586713['model'],qs[_0xfdd4('0x37')](_0x3d1051[_0xfdd4('0x32')][_0xfdd4('0x37')]));_0x2dd3fa['attributes']=_0x2dd3fa[_0xfdd4('0x36')][_0xfdd4('0x38')]?_0x2dd3fa['attributes']:_0x586713[_0xfdd4('0x35')];if(_0x3d1051[_0xfdd4('0x32')][_0xfdd4('0x43')]){_0x2dd3fa[_0xfdd4('0x44')]=[{'all':!![]}];}_0x2dd3fa=_[_0xfdd4('0x3f')]({},_0x2dd3fa,_0x3d1051[_0xfdd4('0x41')]);return db[_0xfdd4('0x42')][_0xfdd4('0x4a')](_0x2dd3fa)[_0xfdd4('0x23')](handleEntityNotFound(_0x484cb6,null))[_0xfdd4('0x23')](respondWithResult(_0x484cb6,null))[_0xfdd4('0x46')](handleError(_0x484cb6,null));};exports[_0xfdd4('0x4b')]=function(_0x300965,_0x3c0ee1){return db['JscriptyProject']['create'](_0x300965[_0xfdd4('0x4c')],{})[_0xfdd4('0x23')](function(_0x1296e6){var _0x1932ef=_0x300965['user'][_0xfdd4('0x25')]({'plain':!![]});if(!_0x1932ef)throw new Error(_0xfdd4('0x4d'));if(_0x1932ef['role']==='user'){var _0x53c66d=_0x1296e6['get']({'plain':!![]});var _0x557cb3=_0xfdd4('0x26');return db[_0xfdd4('0x4e')][_0xfdd4('0x4a')]({'where':{'name':_0x557cb3,'userProfileId':_0x1932ef[_0xfdd4('0x4f')]},'raw':!![]})[_0xfdd4('0x23')](function(_0x49bc61){if(_0x49bc61&&_0x49bc61['autoAssociation']===0x0){return db[_0xfdd4('0x27')][_0xfdd4('0x4b')]({'name':_0x53c66d[_0xfdd4('0x2b')],'resourceId':_0x53c66d['id'],'type':_0x49bc61[_0xfdd4('0x2b')],'sectionId':_0x49bc61['id']},{})['then'](function(){return _0x1296e6;});}else{return _0x1296e6;}})[_0xfdd4('0x46')](function(_0x8aa0ea){logger['error'](_0xfdd4('0x50'),_0x8aa0ea);throw _0x8aa0ea;});}return _0x1296e6;})[_0xfdd4('0x23')](respondWithResult(_0x3c0ee1,0xc9))['catch'](handleError(_0x3c0ee1,null));};exports['clone']=function(_0x2a6c16,_0x3658f7){var _0x18f071={'where':{'id':_0x2a6c16[_0xfdd4('0x48')]['id']}},_0x30ce95={};_0x30ce95[_0xfdd4('0x35')]=_[_0xfdd4('0x49')](db[_0xfdd4('0x42')]['rawAttributes']);_0x18f071[_0xfdd4('0x36')]=_['intersection'](_0x30ce95['model'],qs[_0xfdd4('0x37')](_0x2a6c16[_0xfdd4('0x32')]['fields']));_0x18f071['attributes']=_0x18f071['attributes'][_0xfdd4('0x38')]?_0x18f071[_0xfdd4('0x36')]:_0x30ce95['model'];if(_0x2a6c16[_0xfdd4('0x32')][_0xfdd4('0x43')]){_0x18f071[_0xfdd4('0x44')]=[{'all':!![]}];}_0x18f071=_[_0xfdd4('0x3f')]({},_0x18f071,_0x2a6c16[_0xfdd4('0x41')]);return db['JscriptyProject']['find'](_0x18f071)['then'](handleEntityNotFound(_0x3658f7,null))['then'](function(_0x3e5cb0){if(_0x3e5cb0){var _0x14d07e=_0x3e5cb0['get']({'plain':!![]});_0x14d07e=qs[_0xfdd4('0x51')](_0x14d07e,['id',_0xfdd4('0x52'),'updatedAt']);_0x2a6c16[_0xfdd4('0x4c')]=_[_0xfdd4('0x51')](_0x2a6c16['body'],['id',_0xfdd4('0x52'),_0xfdd4('0x53')]);return db[_0xfdd4('0x42')]['create'](_[_0xfdd4('0x3f')](_0x14d07e,_0x2a6c16[_0xfdd4('0x4c')]),{'include':_0x2a6c16[_0xfdd4('0x32')][_0xfdd4('0x43')]?[{'all':!![]}]:undefined})[_0xfdd4('0x23')](function(_0x562417){var _0x2cc3e2=_0x2a6c16[_0xfdd4('0x54')][_0xfdd4('0x25')]({'plain':!![]});if(!_0x2cc3e2)throw new Error(_0xfdd4('0x4d'));if(_0x2cc3e2[_0xfdd4('0x55')]===_0xfdd4('0x54')){var _0x413576=_0x562417[_0xfdd4('0x25')]({'plain':!![]});var _0x38b58b='Projects';return db[_0xfdd4('0x4e')][_0xfdd4('0x4a')]({'where':{'name':_0x38b58b,'userProfileId':_0x2cc3e2[_0xfdd4('0x4f')]},'raw':!![]})[_0xfdd4('0x23')](function(_0x3096fa){if(_0x3096fa&&_0x3096fa['autoAssociation']===0x0){return db[_0xfdd4('0x27')][_0xfdd4('0x4b')]({'name':_0x413576[_0xfdd4('0x2b')],'resourceId':_0x413576['id'],'type':_0x3096fa[_0xfdd4('0x2b')],'sectionId':_0x3096fa['id']},{})[_0xfdd4('0x23')](function(){return _0x562417;});}else{return _0x562417;}})[_0xfdd4('0x46')](function(_0x180ad9){logger[_0xfdd4('0x29')](_0xfdd4('0x50'),_0x180ad9);throw _0x180ad9;});}return _0x562417;});}})[_0xfdd4('0x23')](respondWithResult(_0x3658f7,0xc9))[_0xfdd4('0x46')](handleError(_0x3658f7,null));};exports[_0xfdd4('0x22')]=function(_0x1205b8,_0x527068){if(_0x1205b8[_0xfdd4('0x4c')]['id']){delete _0x1205b8['body']['id'];}return db[_0xfdd4('0x42')][_0xfdd4('0x4a')]({'where':{'id':_0x1205b8[_0xfdd4('0x48')]['id']}})[_0xfdd4('0x23')](handleEntityNotFound(_0x527068,null))[_0xfdd4('0x23')](saveUpdates(_0x1205b8[_0xfdd4('0x4c')],null))[_0xfdd4('0x23')](respondWithResult(_0x527068,null))[_0xfdd4('0x46')](handleError(_0x527068,null));};exports[_0xfdd4('0x24')]=function(_0x25f01e,_0x5e8d95){return db[_0xfdd4('0x42')]['find']({'where':{'id':_0x25f01e['params']['id']}})['then'](handleEntityNotFound(_0x5e8d95,null))[_0xfdd4('0x23')](removeEntity(_0x5e8d95,null))[_0xfdd4('0x46')](handleError(_0x5e8d95,null));};exports['getSessions']=function(_0x3a367c,_0x3f027b,_0x99d7a4){var _0x3023f8={'raw':!![],'where':{}};var _0x2a3554={};var _0x4b14bf={'count':0x0,'rows':[]};return db[_0xfdd4('0x42')][_0xfdd4('0x56')]({'where':{'id':_0x3a367c[_0xfdd4('0x48')]['id']}})['then'](handleEntityNotFound(_0x3f027b,null))[_0xfdd4('0x23')](function(_0x4e50f2){if(_0x4e50f2){_0x2a3554[_0xfdd4('0x35')]=_[_0xfdd4('0x49')](db[_0xfdd4('0x57')][_0xfdd4('0x2f')]);_0x2a3554['query']=_[_0xfdd4('0x49')](_0x3a367c[_0xfdd4('0x32')]);_0x2a3554['filters']=_[_0xfdd4('0x34')](_0x2a3554[_0xfdd4('0x35')],_0x2a3554[_0xfdd4('0x32')]);_0x3023f8['attributes']=_[_0xfdd4('0x34')](_0x2a3554[_0xfdd4('0x35')],qs[_0xfdd4('0x37')](_0x3a367c['query'][_0xfdd4('0x37')]));_0x3023f8[_0xfdd4('0x36')]=_0x3023f8[_0xfdd4('0x36')][_0xfdd4('0x38')]?_0x3023f8[_0xfdd4('0x36')]:_0x2a3554[_0xfdd4('0x35')];if(!_0x3a367c[_0xfdd4('0x32')]['hasOwnProperty'](_0xfdd4('0x3a'))){_0x3023f8[_0xfdd4('0x1d')]=qs[_0xfdd4('0x1d')](_0x3a367c[_0xfdd4('0x32')][_0xfdd4('0x1d')]);_0x3023f8[_0xfdd4('0x1c')]=qs[_0xfdd4('0x1c')](_0x3a367c[_0xfdd4('0x32')]['offset']);}_0x3023f8[_0xfdd4('0x3b')]=qs['sort'](_0x3a367c['query'][_0xfdd4('0x3c')]);_0x3023f8['where']=qs[_0xfdd4('0x33')](_['pick'](_0x3a367c[_0xfdd4('0x32')],_0x2a3554[_0xfdd4('0x33')]));_0x3023f8[_0xfdd4('0x3d')][_0xfdd4('0x58')]=_0x4e50f2['id'];if(_0x3a367c[_0xfdd4('0x32')][_0xfdd4('0x3e')]){_0x3023f8[_0xfdd4('0x3d')]=_['merge'](_0x3023f8['where'],{'$or':_[_0xfdd4('0x2e')](_0x3023f8['attributes'],function(_0x26c2be){var _0x1a82ee={};_0x1a82ee[_0x26c2be]={'$like':'%'+_0x3a367c[_0xfdd4('0x32')][_0xfdd4('0x3e')]+'%'};return _0x1a82ee;})});}_0x3023f8=_[_0xfdd4('0x3f')]({},_0x3023f8,_0x3a367c[_0xfdd4('0x41')]);return db[_0xfdd4('0x57')]['count']({'where':_0x3023f8['where']})[_0xfdd4('0x23')](function(_0x1eecb7){_0x4b14bf[_0xfdd4('0x1b')]=_0x1eecb7;if(_0x3a367c[_0xfdd4('0x32')][_0xfdd4('0x43')]){_0x3023f8[_0xfdd4('0x44')]=[{'all':!![]}];}return db[_0xfdd4('0x57')][_0xfdd4('0x59')](_0x3023f8);})[_0xfdd4('0x23')](function(_0x45c0cc){_0x4b14bf[_0xfdd4('0x45')]=_0x45c0cc;return _0x4b14bf;});}})[_0xfdd4('0x23')](respondWithFilteredResult(_0x3f027b,_0x3023f8))[_0xfdd4('0x46')](handleError(_0x3f027b,null));};exports['getAnswers']=function(_0x4bb814,_0x3761f2,_0x34760d){var _0x4db05e={'raw':!![],'where':{}};var _0x5854b9={};var _0x22cefd={'count':0x0,'rows':[]};return db[_0xfdd4('0x42')]['findOne']({'where':{'id':_0x4bb814[_0xfdd4('0x48')]['id']}})[_0xfdd4('0x23')](handleEntityNotFound(_0x3761f2,null))[_0xfdd4('0x23')](function(_0x11db43){if(_0x11db43){_0x5854b9[_0xfdd4('0x35')]=_[_0xfdd4('0x49')](db['JscriptyAnswerReport'][_0xfdd4('0x2f')]);_0x5854b9[_0xfdd4('0x32')]=_[_0xfdd4('0x49')](_0x4bb814[_0xfdd4('0x32')]);_0x5854b9[_0xfdd4('0x33')]=_[_0xfdd4('0x34')](_0x5854b9[_0xfdd4('0x35')],_0x5854b9[_0xfdd4('0x32')]);_0x4db05e['attributes']=_['intersection'](_0x5854b9[_0xfdd4('0x35')],qs['fields'](_0x4bb814[_0xfdd4('0x32')][_0xfdd4('0x37')]));_0x4db05e[_0xfdd4('0x36')]=_0x4db05e[_0xfdd4('0x36')][_0xfdd4('0x38')]?_0x4db05e['attributes']:_0x5854b9['model'];if(!_0x4bb814[_0xfdd4('0x32')]['hasOwnProperty'](_0xfdd4('0x3a'))){_0x4db05e['limit']=qs[_0xfdd4('0x1d')](_0x4bb814[_0xfdd4('0x32')][_0xfdd4('0x1d')]);_0x4db05e[_0xfdd4('0x1c')]=qs[_0xfdd4('0x1c')](_0x4bb814[_0xfdd4('0x32')][_0xfdd4('0x1c')]);}_0x4db05e[_0xfdd4('0x3b')]=qs[_0xfdd4('0x3c')](_0x4bb814[_0xfdd4('0x32')][_0xfdd4('0x3c')]);_0x4db05e['where']=qs[_0xfdd4('0x33')](_[_0xfdd4('0x5a')](_0x4bb814[_0xfdd4('0x32')],_0x5854b9[_0xfdd4('0x33')]));_0x4db05e[_0xfdd4('0x3d')][_0xfdd4('0x58')]=_0x11db43['id'];if(_0x4bb814[_0xfdd4('0x32')][_0xfdd4('0x3e')]){_0x4db05e[_0xfdd4('0x3d')]=_['merge'](_0x4db05e['where'],{'$or':_[_0xfdd4('0x2e')](_0x4db05e[_0xfdd4('0x36')],function(_0x30bd32){var _0x4a6500={};_0x4a6500[_0x30bd32]={'$like':'%'+_0x4bb814[_0xfdd4('0x32')][_0xfdd4('0x3e')]+'%'};return _0x4a6500;})});}_0x4db05e=_[_0xfdd4('0x3f')]({},_0x4db05e,_0x4bb814[_0xfdd4('0x41')]);return db['JscriptyAnswerReport']['count']({'where':_0x4db05e[_0xfdd4('0x3d')]})[_0xfdd4('0x23')](function(_0x3b75bf){_0x22cefd['count']=_0x3b75bf;if(_0x4bb814[_0xfdd4('0x32')][_0xfdd4('0x43')]){_0x4db05e[_0xfdd4('0x44')]=[{'all':!![]}];}return db[_0xfdd4('0x5b')][_0xfdd4('0x59')](_0x4db05e);})[_0xfdd4('0x23')](function(_0x524a8f){_0x22cefd['rows']=_0x524a8f;return _0x22cefd;});}})[_0xfdd4('0x23')](respondWithFilteredResult(_0x3761f2,_0x4db05e))[_0xfdd4('0x46')](handleError(_0x3761f2,null));};function char(_0x6a1410){return _0xfdd4('0x5c')===typeof _0x6a1410?String[_0xfdd4('0x5d')][_0xfdd4('0x20')](null,arguments):_0x6a1410;}function needsEncapsulation(_0x46edc9){return!!_0x46edc9&&(_0x46edc9[_0xfdd4('0x5e')]()['indexOf'](char(0xd))>=0x0||_0x46edc9[_0xfdd4('0x5e')]()['indexOf'](char(0xa))>=0x0||_0x46edc9[_0xfdd4('0x5e')]()[_0xfdd4('0x5f')](char(0x2c))>=0x0||_0x46edc9['toString']()[_0xfdd4('0x5f')](char(0x22))>=0x0);}function encapsulate(_0x221ac8){var _0x163426=char(0x22),_0x2e0001='\x5c'+char(0x22),_0x3cd7ae=_0x221ac8[_0xfdd4('0x5e')]()[_0xfdd4('0x60')](new RegExp(_0x163426,'g'),_0x2e0001);return _0x163426+_0x3cd7ae+_0x163426;}exports[_0xfdd4('0x61')]=function(_0xcc0684,_0x4824b4,_0x391a25){var _0x573bc9,_0x24c2b4;var _0x585799={'where':{'ProjectId':_0xcc0684['params']['id']}};if(_0xcc0684[_0xfdd4('0x32')][_0xfdd4('0x62')]){_0x585799[_0xfdd4('0x3d')][_0xfdd4('0x63')]=JSON[_0xfdd4('0x64')](_0xcc0684['query'][_0xfdd4('0x62')]);}return db[_0xfdd4('0x57')][_0xfdd4('0x59')](_0x585799)[_0xfdd4('0x23')](handleEntityNotFound(_0x4824b4,null))[_0xfdd4('0x23')](function(_0x1c69de){if(_0x1c69de){_0x573bc9=_0x1c69de;return db['JscriptyQuestionReport'][_0xfdd4('0x59')]({'where':{'SessionId':{'$in':_[_0xfdd4('0x2e')](_0x573bc9,'id')},'ProjectId':_0xcc0684['params']['id']},'order':'-createdAt'});}})[_0xfdd4('0x23')](handleEntityNotFound(_0x4824b4,null))[_0xfdd4('0x23')](function(_0x10a995){if(_0x10a995){_0x24c2b4=_0x10a995;var _0x4f38c0={};for(var _0x5c8ce7=0x0,_0x178f97=_0x24c2b4[_0xfdd4('0x38')];_0x5c8ce7<_0x178f97;_0x5c8ce7++){if(!_0x4f38c0[_0xfdd4('0x39')](_0x24c2b4[_0x5c8ce7]['questionId'])){_0x4f38c0[_0x24c2b4[_0x5c8ce7]['questionId']]=needsEncapsulation(_0x24c2b4[_0x5c8ce7][_0xfdd4('0x65')])?encapsulate(_0x24c2b4[_0x5c8ce7][_0xfdd4('0x65')]):_0x24c2b4[_0x5c8ce7][_0xfdd4('0x65')];}}var _0x4bfb31=[],_0x323cf9={};for(var _0x5bf1dc=0x0,_0xcc65da=_0x573bc9[_0xfdd4('0x38')];_0x5bf1dc<_0xcc65da;_0x5bf1dc++){_0x323cf9={'ProjectId':_0xcc0684[_0xfdd4('0x48')]['id'],'SessionId':_0x573bc9[_0x5bf1dc]['id'],'StartTime':moment(_0x573bc9[_0x5bf1dc]['starttime'])[_0xfdd4('0x66')](_0xfdd4('0x67'))};for(var _0x1efb08=0x0,_0xe3296c=_0x24c2b4[_0xfdd4('0x38')];_0x1efb08<_0xe3296c;_0x1efb08++){if(_0x24c2b4[_0x1efb08]['SessionId']==_0x573bc9[_0x5bf1dc]['id']&&_0x4f38c0[_0xfdd4('0x39')](_0x24c2b4[_0x1efb08][_0xfdd4('0x68')])){_0x323cf9[_0x4f38c0[_0x24c2b4[_0x1efb08][_0xfdd4('0x68')]]]=_0x24c2b4[_0x1efb08]['answer'];}}for(var _0x8dfcb3 in _0x4f38c0){if(!_0x323cf9[_0xfdd4('0x39')](_0x4f38c0[_0x8dfcb3])){_0x323cf9[_0x4f38c0[_0x8dfcb3]]=null;}}_0x4bfb31[_0xfdd4('0x69')](_0x323cf9);}return _0x4bfb31;}})[_0xfdd4('0x23')](function(_0x56e5d3){if(!_[_0xfdd4('0x6a')](_0x56e5d3)){var _0x481c65=toCsv(_0x56e5d3);var _0x4f5ca3=Date['now']();fs[_0xfdd4('0x6b')](util['format']('/tmp/Jscripty_Project_%d_Summary_%s.csv',_0xcc0684['params']['id'],_0x4f5ca3),_0x481c65);_0x4824b4[_0xfdd4('0x6c')](_0xfdd4('0x6d'),_0xfdd4('0x6e')+util[_0xfdd4('0x66')](_0xfdd4('0x6f'),_0xcc0684[_0xfdd4('0x48')]['id'],_0x4f5ca3));_0x4824b4[_0xfdd4('0x6c')](_0xfdd4('0x70'),_0xfdd4('0x71'));return _0x4824b4[_0xfdd4('0x72')](util[_0xfdd4('0x66')](_0xfdd4('0x73'),_0xcc0684[_0xfdd4('0x48')]['id'],_0x4f5ca3));}else{return _0x4824b4[_0xfdd4('0x28')](0xcc);}})[_0xfdd4('0x46')](handleError(_0x4824b4,null));};