Built motion from commit b5413ace.|2.6.9
[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 _0x8bec=['ejs','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/license/util','status','end','json','offset','limit','undefined','count','set','Content-Range','save','update','then','destroy','get','Projects','UserProfileResource','sendStatus','error','stack','name','send','index','map','JscriptyProject','rawAttributes','type','key','model','query','intersection','fields','attributes','length','hasOwnProperty','order','sort','where','filters','filter','VIRTUAL','options','includeAll','include','findAll','catch','show','params','keys','merge','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','clone','createdAt','updatedAt','body','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getSessions','findOne','JscriptySessionReport','nolimit','pick','ProjectId','rows','getAnswers','JscriptyAnswerReport','number','apply','indexOf','toString','getSummary','startTime','starttime','-createdAt','questionId','question','format','YYYY-MM-DD\x20HH:mm:ss','SessionId','answer','push','now','writeFileSync','setHeader','Content-disposition','Jscripty_Project_%d_Summary_%s.csv','Content-type','text/csv','download','/tmp/Jscripty_Project_%d_Summary_%s.csv','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox'];(function(_0x285144,_0x46c800){var _0x156f8d=function(_0x12f1d1){while(--_0x12f1d1){_0x285144['push'](_0x285144['shift']());}};_0x156f8d(++_0x46c800);}(_0x8bec,0x6e));var _0xc8be=function(_0x41ea1a,_0x2aa74a){_0x41ea1a=_0x41ea1a-0x0;var _0x4645ff=_0x8bec[_0x41ea1a];return _0x4645ff;};'use strict';var emlformat=require(_0xc8be('0x0'));var rimraf=require(_0xc8be('0x1'));var zipdir=require(_0xc8be('0x2'));var jsonpatch=require(_0xc8be('0x3'));var rp=require('request-promise');var moment=require(_0xc8be('0x4'));var BPromise=require(_0xc8be('0x5'));var Mustache=require(_0xc8be('0x6'));var util=require(_0xc8be('0x7'));var path=require(_0xc8be('0x8'));var sox=require(_0xc8be('0x9'));var csv=require('to-csv');var ejs=require(_0xc8be('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0xc8be('0xb'));var crypto=require(_0xc8be('0xc'));var jsforce=require(_0xc8be('0xd'));var deskjs=require(_0xc8be('0xe'));var toCsv=require(_0xc8be('0xf'));var querystring=require(_0xc8be('0x10'));var Papa=require(_0xc8be('0x11'));var Redis=require('ioredis');var authService=require(_0xc8be('0x12'));var qs=require(_0xc8be('0x13'));var as=require(_0xc8be('0x14'));var hardwareService=require(_0xc8be('0x15'));var logger=require(_0xc8be('0x16'))('api');var utils=require(_0xc8be('0x17'));var config=require('../../config/environment');var licenseUtil=require(_0xc8be('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x8412d2,_0x21d5ba){_0x21d5ba=_0x21d5ba||0xcc;return function(_0x203cbe){if(_0x203cbe){return _0x8412d2['sendStatus'](_0x21d5ba);}return _0x8412d2[_0xc8be('0x19')](_0x21d5ba)[_0xc8be('0x1a')]();};}function respondWithResult(_0x5af0cd,_0x402409){_0x402409=_0x402409||0xc8;return function(_0x481f60){if(_0x481f60){return _0x5af0cd[_0xc8be('0x19')](_0x402409)[_0xc8be('0x1b')](_0x481f60);}};}function respondWithFilteredResult(_0x5c774f,_0x51e1fa){return function(_0x3e1c01){if(_0x3e1c01){var _0x34eb3a=typeof _0x51e1fa[_0xc8be('0x1c')]==='undefined'&&typeof _0x51e1fa[_0xc8be('0x1d')]===_0xc8be('0x1e');var _0x3f196c=_0x3e1c01[_0xc8be('0x1f')];var _0x292a21=_0x34eb3a?0x0:_0x51e1fa['offset'];var _0x3fcda4=_0x34eb3a?_0x3e1c01['count']:_0x51e1fa[_0xc8be('0x1c')]+_0x51e1fa[_0xc8be('0x1d')];var _0x7c141e;if(_0x3fcda4>=_0x3f196c){_0x3fcda4=_0x3f196c;_0x7c141e=0xc8;}else{_0x7c141e=0xce;}_0x5c774f[_0xc8be('0x19')](_0x7c141e);return _0x5c774f[_0xc8be('0x20')](_0xc8be('0x21'),_0x292a21+'-'+_0x3fcda4+'/'+_0x3f196c)[_0xc8be('0x1b')](_0x3e1c01);}return null;};}function patchUpdates(_0x4e8ffe){return function(_0x50216d){try{jsonpatch['apply'](_0x50216d,_0x4e8ffe,!![]);}catch(_0x5786d8){return BPromise['reject'](_0x5786d8);}return _0x50216d[_0xc8be('0x22')]();};}function saveUpdates(_0x3e6424,_0xac16b9){return function(_0x4fe7af){if(_0x4fe7af){return _0x4fe7af[_0xc8be('0x23')](_0x3e6424)[_0xc8be('0x24')](function(_0x12a0cc){return _0x12a0cc;});}return null;};}function removeEntity(_0x56283d,_0xcd4992){return function(_0x43acae){if(_0x43acae){return _0x43acae[_0xc8be('0x25')]()[_0xc8be('0x24')](function(){var _0xf81df5=_0x43acae[_0xc8be('0x26')]({'plain':!![]});var _0x3a912a=_0xc8be('0x27');return db[_0xc8be('0x28')][_0xc8be('0x25')]({'where':{'type':_0x3a912a,'resourceId':_0xf81df5['id']}})[_0xc8be('0x24')](function(){return _0x43acae;});})[_0xc8be('0x24')](function(){_0x56283d[_0xc8be('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x10c45e,_0x59012d){return function(_0x51b0e2){if(!_0x51b0e2){_0x10c45e[_0xc8be('0x29')](0x194);}return _0x51b0e2;};}function handleError(_0x513f54,_0x48e6a3){_0x48e6a3=_0x48e6a3||0x1f4;return function(_0x583c4e){logger[_0xc8be('0x2a')](_0x583c4e[_0xc8be('0x2b')]);if(_0x583c4e[_0xc8be('0x2c')]){delete _0x583c4e[_0xc8be('0x2c')];}_0x513f54[_0xc8be('0x19')](_0x48e6a3)[_0xc8be('0x2d')](_0x583c4e);};}exports[_0xc8be('0x2e')]=function(_0x2ce141,_0xd2a28c){var _0x4d8217={},_0x4df788={},_0x582d26={'count':0x0,'rows':[]};var _0x46048a=_[_0xc8be('0x2f')](db[_0xc8be('0x30')][_0xc8be('0x31')],function(_0x24bc7a){return{'name':_0x24bc7a['fieldName'],'type':_0x24bc7a[_0xc8be('0x32')][_0xc8be('0x33')]};});_0x4df788[_0xc8be('0x34')]=_[_0xc8be('0x2f')](_0x46048a,_0xc8be('0x2c'));_0x4df788[_0xc8be('0x35')]=_['keys'](_0x2ce141[_0xc8be('0x35')]);_0x4df788['filters']=_[_0xc8be('0x36')](_0x4df788[_0xc8be('0x34')],_0x4df788[_0xc8be('0x35')]);_0x4d8217['attributes']=_[_0xc8be('0x36')](_0x4df788[_0xc8be('0x34')],qs[_0xc8be('0x37')](_0x2ce141['query'][_0xc8be('0x37')]));_0x4d8217[_0xc8be('0x38')]=_0x4d8217[_0xc8be('0x38')][_0xc8be('0x39')]?_0x4d8217['attributes']:_0x4df788['model'];if(!_0x2ce141[_0xc8be('0x35')][_0xc8be('0x3a')]('nolimit')){_0x4d8217[_0xc8be('0x1d')]=qs[_0xc8be('0x1d')](_0x2ce141[_0xc8be('0x35')]['limit']);_0x4d8217['offset']=qs[_0xc8be('0x1c')](_0x2ce141[_0xc8be('0x35')][_0xc8be('0x1c')]);}_0x4d8217[_0xc8be('0x3b')]=qs[_0xc8be('0x3c')](_0x2ce141[_0xc8be('0x35')][_0xc8be('0x3c')]);_0x4d8217[_0xc8be('0x3d')]=qs[_0xc8be('0x3e')](_['pick'](_0x2ce141[_0xc8be('0x35')],_0x4df788[_0xc8be('0x3e')]),_0x46048a);if(_0x2ce141[_0xc8be('0x35')][_0xc8be('0x3f')]){_0x4d8217[_0xc8be('0x3d')]=_['merge'](_0x4d8217[_0xc8be('0x3d')],{'$or':_[_0xc8be('0x2f')](_0x46048a,function(_0x3fb2f5){if(_0x3fb2f5[_0xc8be('0x32')]!==_0xc8be('0x40')){var _0x4a4d18={};_0x4a4d18[_0x3fb2f5[_0xc8be('0x2c')]]={'$like':'%'+_0x2ce141[_0xc8be('0x35')][_0xc8be('0x3f')]+'%'};return _0x4a4d18;}})});}_0x4d8217=_['merge']({},_0x4d8217,_0x2ce141[_0xc8be('0x41')]);var _0x40c9dc={'where':_0x4d8217[_0xc8be('0x3d')]};return db[_0xc8be('0x30')]['count'](_0x40c9dc)['then'](function(_0x1563dd){_0x582d26[_0xc8be('0x1f')]=_0x1563dd;if(_0x2ce141[_0xc8be('0x35')][_0xc8be('0x42')]){_0x4d8217[_0xc8be('0x43')]=[{'all':!![]}];}return db[_0xc8be('0x30')][_0xc8be('0x44')](_0x4d8217);})[_0xc8be('0x24')](function(_0x3bd94a){_0x582d26['rows']=_0x3bd94a;return _0x582d26;})[_0xc8be('0x24')](respondWithFilteredResult(_0xd2a28c,_0x4d8217))[_0xc8be('0x45')](handleError(_0xd2a28c,null));};exports[_0xc8be('0x46')]=function(_0x551d8b,_0x53cf92){var _0x4a864={'raw':![],'where':{'id':_0x551d8b[_0xc8be('0x47')]['id']}},_0x4aa0f5={};_0x4aa0f5['model']=_[_0xc8be('0x48')](db[_0xc8be('0x30')]['rawAttributes']);_0x4aa0f5[_0xc8be('0x35')]=_[_0xc8be('0x48')](_0x551d8b['query']);_0x4aa0f5[_0xc8be('0x3e')]=_[_0xc8be('0x36')](_0x4aa0f5[_0xc8be('0x34')],_0x4aa0f5[_0xc8be('0x35')]);_0x4a864[_0xc8be('0x38')]=_[_0xc8be('0x36')](_0x4aa0f5[_0xc8be('0x34')],qs[_0xc8be('0x37')](_0x551d8b[_0xc8be('0x35')]['fields']));_0x4a864[_0xc8be('0x38')]=_0x4a864[_0xc8be('0x38')][_0xc8be('0x39')]?_0x4a864[_0xc8be('0x38')]:_0x4aa0f5[_0xc8be('0x34')];if(_0x551d8b[_0xc8be('0x35')][_0xc8be('0x42')]){_0x4a864['include']=[{'all':!![]}];}_0x4a864=_[_0xc8be('0x49')]({},_0x4a864,_0x551d8b[_0xc8be('0x41')]);return db[_0xc8be('0x30')][_0xc8be('0x4a')](_0x4a864)[_0xc8be('0x24')](handleEntityNotFound(_0x53cf92,null))[_0xc8be('0x24')](respondWithResult(_0x53cf92,null))[_0xc8be('0x45')](handleError(_0x53cf92,null));};exports[_0xc8be('0x4b')]=function(_0x22e1f1,_0x3ee71b){return db[_0xc8be('0x30')]['create'](_0x22e1f1['body'],{})['then'](function(_0x5db326){var _0x1bddbc=_0x22e1f1[_0xc8be('0x4c')]['get']({'plain':!![]});if(!_0x1bddbc)throw new Error(_0xc8be('0x4d'));if(_0x1bddbc[_0xc8be('0x4e')]===_0xc8be('0x4c')){var _0x527cc1=_0x5db326[_0xc8be('0x26')]({'plain':!![]});var _0x513e5d=_0xc8be('0x27');return db[_0xc8be('0x4f')][_0xc8be('0x4a')]({'where':{'name':_0x513e5d,'userProfileId':_0x1bddbc[_0xc8be('0x50')]},'raw':!![]})['then'](function(_0x2ad222){if(_0x2ad222&&_0x2ad222[_0xc8be('0x51')]===0x0){return db['UserProfileResource']['create']({'name':_0x527cc1[_0xc8be('0x2c')],'resourceId':_0x527cc1['id'],'type':_0x2ad222[_0xc8be('0x2c')],'sectionId':_0x2ad222['id']},{})[_0xc8be('0x24')](function(){return _0x5db326;});}else{return _0x5db326;}})[_0xc8be('0x45')](function(_0xb8ce30){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0xb8ce30);throw _0xb8ce30;});}return _0x5db326;})[_0xc8be('0x24')](respondWithResult(_0x3ee71b,0xc9))[_0xc8be('0x45')](handleError(_0x3ee71b,null));};exports[_0xc8be('0x52')]=function(_0xb83774,_0x18f034){var _0x448f8b={'where':{'id':_0xb83774[_0xc8be('0x47')]['id']}},_0x1d491f={};_0x1d491f[_0xc8be('0x34')]=_[_0xc8be('0x48')](db[_0xc8be('0x30')]['rawAttributes']);_0x448f8b['attributes']=_[_0xc8be('0x36')](_0x1d491f['model'],qs['fields'](_0xb83774[_0xc8be('0x35')]['fields']));_0x448f8b[_0xc8be('0x38')]=_0x448f8b[_0xc8be('0x38')][_0xc8be('0x39')]?_0x448f8b[_0xc8be('0x38')]:_0x1d491f['model'];if(_0xb83774[_0xc8be('0x35')][_0xc8be('0x42')]){_0x448f8b[_0xc8be('0x43')]=[{'all':!![]}];}_0x448f8b=_[_0xc8be('0x49')]({},_0x448f8b,_0xb83774[_0xc8be('0x41')]);return db['JscriptyProject'][_0xc8be('0x4a')](_0x448f8b)['then'](handleEntityNotFound(_0x18f034,null))[_0xc8be('0x24')](function(_0x27744b){if(_0x27744b){var _0x27ccbb=_0x27744b[_0xc8be('0x26')]({'plain':!![]});_0x27ccbb=qs['omit'](_0x27ccbb,['id',_0xc8be('0x53'),_0xc8be('0x54')]);_0xb83774[_0xc8be('0x55')]=_['omit'](_0xb83774[_0xc8be('0x55')],['id','createdAt',_0xc8be('0x54')]);return db[_0xc8be('0x30')]['create'](_[_0xc8be('0x49')](_0x27ccbb,_0xb83774[_0xc8be('0x55')]),{'include':_0xb83774[_0xc8be('0x35')][_0xc8be('0x42')]?[{'all':!![]}]:undefined})[_0xc8be('0x24')](function(_0xd37843){var _0x3e2d4e=_0xb83774[_0xc8be('0x4c')][_0xc8be('0x26')]({'plain':!![]});if(!_0x3e2d4e)throw new Error(_0xc8be('0x4d'));if(_0x3e2d4e[_0xc8be('0x4e')]===_0xc8be('0x4c')){var _0x2a4ef6=_0xd37843[_0xc8be('0x26')]({'plain':!![]});var _0x1860fb=_0xc8be('0x27');return db[_0xc8be('0x4f')]['find']({'where':{'name':_0x1860fb,'userProfileId':_0x3e2d4e[_0xc8be('0x50')]},'raw':!![]})['then'](function(_0x4c32bd){if(_0x4c32bd&&_0x4c32bd['autoAssociation']===0x0){return db[_0xc8be('0x28')]['create']({'name':_0x2a4ef6[_0xc8be('0x2c')],'resourceId':_0x2a4ef6['id'],'type':_0x4c32bd[_0xc8be('0x2c')],'sectionId':_0x4c32bd['id']},{})['then'](function(){return _0xd37843;});}else{return _0xd37843;}})[_0xc8be('0x45')](function(_0x4ba26b){logger[_0xc8be('0x2a')](_0xc8be('0x56'),_0x4ba26b);throw _0x4ba26b;});}return _0xd37843;});}})[_0xc8be('0x24')](respondWithResult(_0x18f034,0xc9))['catch'](handleError(_0x18f034,null));};exports[_0xc8be('0x23')]=function(_0x50cfc3,_0x3eb560){if(_0x50cfc3[_0xc8be('0x55')]['id']){delete _0x50cfc3[_0xc8be('0x55')]['id'];}return db[_0xc8be('0x30')][_0xc8be('0x4a')]({'where':{'id':_0x50cfc3[_0xc8be('0x47')]['id']}})['then'](handleEntityNotFound(_0x3eb560,null))[_0xc8be('0x24')](saveUpdates(_0x50cfc3['body'],null))['then'](respondWithResult(_0x3eb560,null))[_0xc8be('0x45')](handleError(_0x3eb560,null));};exports[_0xc8be('0x25')]=function(_0x10eea3,_0x312bcf){return db[_0xc8be('0x30')][_0xc8be('0x4a')]({'where':{'id':_0x10eea3[_0xc8be('0x47')]['id']}})[_0xc8be('0x24')](handleEntityNotFound(_0x312bcf,null))[_0xc8be('0x24')](removeEntity(_0x312bcf,null))[_0xc8be('0x45')](handleError(_0x312bcf,null));};exports[_0xc8be('0x57')]=function(_0x40476b,_0x2ba54e,_0x3bcebb){var _0x263389={'raw':!![],'where':{}};var _0x24dc52={};var _0x5a2e0f={'count':0x0,'rows':[]};return db['JscriptyProject'][_0xc8be('0x58')]({'where':{'id':_0x40476b[_0xc8be('0x47')]['id']}})[_0xc8be('0x24')](handleEntityNotFound(_0x2ba54e,null))['then'](function(_0x435ca3){if(_0x435ca3){_0x24dc52[_0xc8be('0x34')]=_['keys'](db[_0xc8be('0x59')][_0xc8be('0x31')]);_0x24dc52[_0xc8be('0x35')]=_[_0xc8be('0x48')](_0x40476b[_0xc8be('0x35')]);_0x24dc52['filters']=_[_0xc8be('0x36')](_0x24dc52[_0xc8be('0x34')],_0x24dc52[_0xc8be('0x35')]);_0x263389['attributes']=_[_0xc8be('0x36')](_0x24dc52[_0xc8be('0x34')],qs['fields'](_0x40476b['query'][_0xc8be('0x37')]));_0x263389[_0xc8be('0x38')]=_0x263389[_0xc8be('0x38')]['length']?_0x263389['attributes']:_0x24dc52['model'];if(!_0x40476b['query'][_0xc8be('0x3a')](_0xc8be('0x5a'))){_0x263389[_0xc8be('0x1d')]=qs[_0xc8be('0x1d')](_0x40476b[_0xc8be('0x35')]['limit']);_0x263389[_0xc8be('0x1c')]=qs[_0xc8be('0x1c')](_0x40476b['query'][_0xc8be('0x1c')]);}_0x263389[_0xc8be('0x3b')]=qs[_0xc8be('0x3c')](_0x40476b[_0xc8be('0x35')][_0xc8be('0x3c')]);_0x263389[_0xc8be('0x3d')]=qs[_0xc8be('0x3e')](_[_0xc8be('0x5b')](_0x40476b[_0xc8be('0x35')],_0x24dc52[_0xc8be('0x3e')]));_0x263389[_0xc8be('0x3d')][_0xc8be('0x5c')]=_0x435ca3['id'];if(_0x40476b[_0xc8be('0x35')]['filter']){_0x263389['where']=_['merge'](_0x263389['where'],{'$or':_[_0xc8be('0x2f')](_0x263389['attributes'],function(_0x3e88c4){var _0x41e58f={};_0x41e58f[_0x3e88c4]={'$like':'%'+_0x40476b[_0xc8be('0x35')][_0xc8be('0x3f')]+'%'};return _0x41e58f;})});}_0x263389=_[_0xc8be('0x49')]({},_0x263389,_0x40476b[_0xc8be('0x41')]);return db[_0xc8be('0x59')][_0xc8be('0x1f')]({'where':_0x263389['where']})[_0xc8be('0x24')](function(_0x26ccfe){_0x5a2e0f['count']=_0x26ccfe;if(_0x40476b[_0xc8be('0x35')][_0xc8be('0x42')]){_0x263389[_0xc8be('0x43')]=[{'all':!![]}];}return db[_0xc8be('0x59')][_0xc8be('0x44')](_0x263389);})[_0xc8be('0x24')](function(_0x521170){_0x5a2e0f[_0xc8be('0x5d')]=_0x521170;return _0x5a2e0f;});}})[_0xc8be('0x24')](respondWithFilteredResult(_0x2ba54e,_0x263389))['catch'](handleError(_0x2ba54e,null));};exports[_0xc8be('0x5e')]=function(_0x4abb44,_0x312ab9,_0x2fed6e){var _0x376749={'raw':!![],'where':{}};var _0xa7c65f={};var _0xc87cba={'count':0x0,'rows':[]};return db['JscriptyProject'][_0xc8be('0x58')]({'where':{'id':_0x4abb44[_0xc8be('0x47')]['id']}})[_0xc8be('0x24')](handleEntityNotFound(_0x312ab9,null))[_0xc8be('0x24')](function(_0x116750){if(_0x116750){_0xa7c65f['model']=_[_0xc8be('0x48')](db[_0xc8be('0x5f')][_0xc8be('0x31')]);_0xa7c65f[_0xc8be('0x35')]=_[_0xc8be('0x48')](_0x4abb44[_0xc8be('0x35')]);_0xa7c65f[_0xc8be('0x3e')]=_[_0xc8be('0x36')](_0xa7c65f[_0xc8be('0x34')],_0xa7c65f['query']);_0x376749['attributes']=_[_0xc8be('0x36')](_0xa7c65f[_0xc8be('0x34')],qs[_0xc8be('0x37')](_0x4abb44['query'][_0xc8be('0x37')]));_0x376749[_0xc8be('0x38')]=_0x376749['attributes'][_0xc8be('0x39')]?_0x376749[_0xc8be('0x38')]:_0xa7c65f[_0xc8be('0x34')];if(!_0x4abb44['query'][_0xc8be('0x3a')](_0xc8be('0x5a'))){_0x376749[_0xc8be('0x1d')]=qs[_0xc8be('0x1d')](_0x4abb44[_0xc8be('0x35')][_0xc8be('0x1d')]);_0x376749[_0xc8be('0x1c')]=qs['offset'](_0x4abb44['query']['offset']);}_0x376749[_0xc8be('0x3b')]=qs[_0xc8be('0x3c')](_0x4abb44['query'][_0xc8be('0x3c')]);_0x376749[_0xc8be('0x3d')]=qs[_0xc8be('0x3e')](_[_0xc8be('0x5b')](_0x4abb44[_0xc8be('0x35')],_0xa7c65f[_0xc8be('0x3e')]));_0x376749['where'][_0xc8be('0x5c')]=_0x116750['id'];if(_0x4abb44[_0xc8be('0x35')][_0xc8be('0x3f')]){_0x376749[_0xc8be('0x3d')]=_['merge'](_0x376749[_0xc8be('0x3d')],{'$or':_['map'](_0x376749[_0xc8be('0x38')],function(_0x428afb){var _0x42f90f={};_0x42f90f[_0x428afb]={'$like':'%'+_0x4abb44[_0xc8be('0x35')]['filter']+'%'};return _0x42f90f;})});}_0x376749=_[_0xc8be('0x49')]({},_0x376749,_0x4abb44[_0xc8be('0x41')]);return db[_0xc8be('0x5f')]['count']({'where':_0x376749[_0xc8be('0x3d')]})[_0xc8be('0x24')](function(_0x5c0fe2){_0xc87cba[_0xc8be('0x1f')]=_0x5c0fe2;if(_0x4abb44[_0xc8be('0x35')][_0xc8be('0x42')]){_0x376749[_0xc8be('0x43')]=[{'all':!![]}];}return db[_0xc8be('0x5f')][_0xc8be('0x44')](_0x376749);})[_0xc8be('0x24')](function(_0x260b4e){_0xc87cba[_0xc8be('0x5d')]=_0x260b4e;return _0xc87cba;});}})[_0xc8be('0x24')](respondWithFilteredResult(_0x312ab9,_0x376749))[_0xc8be('0x45')](handleError(_0x312ab9,null));};function char(_0x28a956){return _0xc8be('0x60')===typeof _0x28a956?String['fromCharCode'][_0xc8be('0x61')](null,arguments):_0x28a956;}function needsEncapsulation(_0x451e71){return!!_0x451e71&&(_0x451e71['toString']()[_0xc8be('0x62')](char(0xd))>=0x0||_0x451e71['toString']()[_0xc8be('0x62')](char(0xa))>=0x0||_0x451e71[_0xc8be('0x63')]()['indexOf'](char(0x2c))>=0x0||_0x451e71[_0xc8be('0x63')]()[_0xc8be('0x62')](char(0x22))>=0x0);}function encapsulate(_0x420764){var _0x11d725=char(0x22),_0x209fbf='\x5c'+char(0x22),_0xfa594f=_0x420764[_0xc8be('0x63')]()['replace'](new RegExp(_0x11d725,'g'),_0x209fbf);return _0x11d725+_0xfa594f+_0x11d725;}exports[_0xc8be('0x64')]=function(_0x555ed0,_0x8b8b43,_0x4fcda4){var _0x4454bb,_0x2d329e;var _0x7e1398={'where':{'ProjectId':_0x555ed0['params']['id']}};if(_0x555ed0[_0xc8be('0x35')][_0xc8be('0x65')]){_0x7e1398[_0xc8be('0x3d')][_0xc8be('0x66')]=JSON['parse'](_0x555ed0[_0xc8be('0x35')][_0xc8be('0x65')]);}return db[_0xc8be('0x59')][_0xc8be('0x44')](_0x7e1398)[_0xc8be('0x24')](handleEntityNotFound(_0x8b8b43,null))['then'](function(_0x48742a){if(_0x48742a){_0x4454bb=_0x48742a;return db['JscriptyQuestionReport'][_0xc8be('0x44')]({'where':{'SessionId':{'$in':_['map'](_0x4454bb,'id')},'ProjectId':_0x555ed0[_0xc8be('0x47')]['id']},'order':_0xc8be('0x67')});}})[_0xc8be('0x24')](handleEntityNotFound(_0x8b8b43,null))[_0xc8be('0x24')](function(_0x32dba3){if(_0x32dba3){_0x2d329e=_0x32dba3;var _0x3a1432={};for(var _0x5d043b=0x0,_0x509c26=_0x2d329e[_0xc8be('0x39')];_0x5d043b<_0x509c26;_0x5d043b++){if(!_0x3a1432[_0xc8be('0x3a')](_0x2d329e[_0x5d043b][_0xc8be('0x68')])){_0x3a1432[_0x2d329e[_0x5d043b][_0xc8be('0x68')]]=needsEncapsulation(_0x2d329e[_0x5d043b]['question'])?encapsulate(_0x2d329e[_0x5d043b][_0xc8be('0x69')]):_0x2d329e[_0x5d043b][_0xc8be('0x69')];}}var _0x1ea615=[],_0x317527={};for(var _0x5de753=0x0,_0x1badfe=_0x4454bb[_0xc8be('0x39')];_0x5de753<_0x1badfe;_0x5de753++){_0x317527={'ProjectId':_0x555ed0[_0xc8be('0x47')]['id'],'SessionId':_0x4454bb[_0x5de753]['id'],'StartTime':moment(_0x4454bb[_0x5de753][_0xc8be('0x66')])[_0xc8be('0x6a')](_0xc8be('0x6b'))};for(var _0x318cde=0x0,_0x8764bc=_0x2d329e[_0xc8be('0x39')];_0x318cde<_0x8764bc;_0x318cde++){if(_0x2d329e[_0x318cde][_0xc8be('0x6c')]==_0x4454bb[_0x5de753]['id']&&_0x3a1432[_0xc8be('0x3a')](_0x2d329e[_0x318cde]['questionId'])){_0x317527[_0x3a1432[_0x2d329e[_0x318cde]['questionId']]]=_0x2d329e[_0x318cde][_0xc8be('0x6d')];}}for(var _0xd0bce7 in _0x3a1432){if(!_0x317527[_0xc8be('0x3a')](_0x3a1432[_0xd0bce7])){_0x317527[_0x3a1432[_0xd0bce7]]=null;}}_0x1ea615[_0xc8be('0x6e')](_0x317527);}return _0x1ea615;}})[_0xc8be('0x24')](function(_0x1b8f8f){if(!_['isEmpty'](_0x1b8f8f)){var _0x3f1f10=toCsv(_0x1b8f8f);var _0x1aa22d=Date[_0xc8be('0x6f')]();fs[_0xc8be('0x70')](util[_0xc8be('0x6a')]('/tmp/Jscripty_Project_%d_Summary_%s.csv',_0x555ed0[_0xc8be('0x47')]['id'],_0x1aa22d),_0x3f1f10);_0x8b8b43[_0xc8be('0x71')](_0xc8be('0x72'),'attachment;\x20filename='+util[_0xc8be('0x6a')](_0xc8be('0x73'),_0x555ed0['params']['id'],_0x1aa22d));_0x8b8b43[_0xc8be('0x71')](_0xc8be('0x74'),_0xc8be('0x75'));return _0x8b8b43[_0xc8be('0x76')](util[_0xc8be('0x6a')](_0xc8be('0x77'),_0x555ed0[_0xc8be('0x47')]['id'],_0x1aa22d));}else{return _0x8b8b43[_0xc8be('0x29')](0xcc);}})[_0xc8be('0x45')](handleError(_0x8b8b43,null));};