9a2e9ba417db70ae453c73e965bbaaeee3925f45
[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 _0xb9be=['fieldName','type','key','model','map','query','keys','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','filters','pick','where','merge','VIRTUAL','filter','options','include','findAll','rows','catch','show','rawAttributes','length','includeAll','create','body','user','UserProfileSection','find','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','clone','params','createdAt','omit','updatedAt','Unable\x20to\x20retrieve\x20the\x20current\x20user','Projects','userProfileId','getSessions','findOne','JscriptySessionReport','ProjectId','getAnswers','JscriptyAnswerReport','number','toString','indexOf','replace','getSummary','startTime','starttime','parse','JscriptyQuestionReport','-createdAt','questionId','question','format','SessionId','answer','push','isEmpty','now','writeFileSync','/tmp/Jscripty_Project_%d_Summary_%s.csv','Content-disposition','attachment;\x20filename=','setHeader','Content-type','text/csv','download','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','api','../../config/utils','../../config/license/util','../../mysqldb','end','offset','undefined','limit','count','status','Content-Range','apply','reject','save','update','then','destroy','get','UserProfileResource','sendStatus','error','name','index','JscriptyProject'];(function(_0x4a30cf,_0x312dd4){var _0x4d975b=function(_0x170368){while(--_0x170368){_0x4a30cf['push'](_0x4a30cf['shift']());}};_0x4d975b(++_0x312dd4);}(_0xb9be,0xc5));var _0xeb9b=function(_0x5a6961,_0xd41ca6){_0x5a6961=_0x5a6961-0x0;var _0x4af0a6=_0xb9be[_0x5a6961];return _0x4af0a6;};'use strict';var emlformat=require(_0xeb9b('0x0'));var rimraf=require(_0xeb9b('0x1'));var zipdir=require(_0xeb9b('0x2'));var jsonpatch=require(_0xeb9b('0x3'));var rp=require(_0xeb9b('0x4'));var moment=require(_0xeb9b('0x5'));var BPromise=require(_0xeb9b('0x6'));var Mustache=require(_0xeb9b('0x7'));var util=require(_0xeb9b('0x8'));var path=require('path');var sox=require('sox');var csv=require(_0xeb9b('0x9'));var ejs=require(_0xeb9b('0xa'));var fs=require('fs');var fs_extra=require(_0xeb9b('0xb'));var _=require('lodash');var squel=require(_0xeb9b('0xc'));var crypto=require(_0xeb9b('0xd'));var jsforce=require(_0xeb9b('0xe'));var deskjs=require(_0xeb9b('0xf'));var toCsv=require(_0xeb9b('0x9'));var querystring=require(_0xeb9b('0x10'));var Papa=require(_0xeb9b('0x11'));var Redis=require(_0xeb9b('0x12'));var authService=require(_0xeb9b('0x13'));var qs=require('../../components/parsers/qs');var as=require(_0xeb9b('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0xeb9b('0x15'));var utils=require(_0xeb9b('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0xeb9b('0x17'));var db=require(_0xeb9b('0x18'))['db'];function respondWithStatusCode(_0x3df18a,_0x2a01df){_0x2a01df=_0x2a01df||0xcc;return function(_0x51598f){if(_0x51598f){return _0x3df18a['sendStatus'](_0x2a01df);}return _0x3df18a['status'](_0x2a01df)[_0xeb9b('0x19')]();};}function respondWithResult(_0x1ef03f,_0x2674e6){_0x2674e6=_0x2674e6||0xc8;return function(_0x4ec46d){if(_0x4ec46d){return _0x1ef03f['status'](_0x2674e6)['json'](_0x4ec46d);}};}function respondWithFilteredResult(_0x32538b,_0x1a5f27){return function(_0x406afd){if(_0x406afd){var _0x3fa308=typeof _0x1a5f27[_0xeb9b('0x1a')]===_0xeb9b('0x1b')&&typeof _0x1a5f27[_0xeb9b('0x1c')]==='undefined';var _0x2e8645=_0x406afd[_0xeb9b('0x1d')];var _0x21aca6=_0x3fa308?0x0:_0x1a5f27[_0xeb9b('0x1a')];var _0x3cbe3e=_0x3fa308?_0x406afd[_0xeb9b('0x1d')]:_0x1a5f27[_0xeb9b('0x1a')]+_0x1a5f27[_0xeb9b('0x1c')];var _0x2c199f;if(_0x3cbe3e>=_0x2e8645){_0x3cbe3e=_0x2e8645;_0x2c199f=0xc8;}else{_0x2c199f=0xce;}_0x32538b[_0xeb9b('0x1e')](_0x2c199f);return _0x32538b['set'](_0xeb9b('0x1f'),_0x21aca6+'-'+_0x3cbe3e+'/'+_0x2e8645)['json'](_0x406afd);}return null;};}function patchUpdates(_0x5d5f54){return function(_0x580498){try{jsonpatch[_0xeb9b('0x20')](_0x580498,_0x5d5f54,!![]);}catch(_0x4ab4b8){return BPromise[_0xeb9b('0x21')](_0x4ab4b8);}return _0x580498[_0xeb9b('0x22')]();};}function saveUpdates(_0x37935c,_0x37d7e0){return function(_0x3c8be7){if(_0x3c8be7){return _0x3c8be7[_0xeb9b('0x23')](_0x37935c)[_0xeb9b('0x24')](function(_0x15e5b8){return _0x15e5b8;});}return null;};}function removeEntity(_0x142d1c,_0x46df93){return function(_0x61c86d){if(_0x61c86d){return _0x61c86d[_0xeb9b('0x25')]()[_0xeb9b('0x24')](function(){var _0xe6d3e1=_0x61c86d[_0xeb9b('0x26')]({'plain':!![]});var _0x434461='Projects';return db[_0xeb9b('0x27')]['destroy']({'where':{'type':_0x434461,'resourceId':_0xe6d3e1['id']}})[_0xeb9b('0x24')](function(){return _0x61c86d;});})['then'](function(){_0x142d1c[_0xeb9b('0x1e')](0xcc)[_0xeb9b('0x19')]();});}};}function handleEntityNotFound(_0x7e0134,_0xe3eda5){return function(_0x52f6c1){if(!_0x52f6c1){_0x7e0134[_0xeb9b('0x28')](0x194);}return _0x52f6c1;};}function handleError(_0x42fe78,_0x54ab67){_0x54ab67=_0x54ab67||0x1f4;return function(_0x35ff07){logger[_0xeb9b('0x29')](_0x35ff07['stack']);if(_0x35ff07[_0xeb9b('0x2a')]){delete _0x35ff07[_0xeb9b('0x2a')];}_0x42fe78[_0xeb9b('0x1e')](_0x54ab67)['send'](_0x35ff07);};}exports[_0xeb9b('0x2b')]=function(_0x5336f2,_0x6bb66){var _0x4c1331={},_0x411467={},_0x54c659={'count':0x0,'rows':[]};var _0x27578d=_['map'](db[_0xeb9b('0x2c')]['rawAttributes'],function(_0x25b8da){return{'name':_0x25b8da[_0xeb9b('0x2d')],'type':_0x25b8da[_0xeb9b('0x2e')][_0xeb9b('0x2f')]};});_0x411467[_0xeb9b('0x30')]=_[_0xeb9b('0x31')](_0x27578d,_0xeb9b('0x2a'));_0x411467[_0xeb9b('0x32')]=_[_0xeb9b('0x33')](_0x5336f2[_0xeb9b('0x32')]);_0x411467['filters']=_[_0xeb9b('0x34')](_0x411467[_0xeb9b('0x30')],_0x411467[_0xeb9b('0x32')]);_0x4c1331[_0xeb9b('0x35')]=_[_0xeb9b('0x34')](_0x411467[_0xeb9b('0x30')],qs[_0xeb9b('0x36')](_0x5336f2['query'][_0xeb9b('0x36')]));_0x4c1331[_0xeb9b('0x35')]=_0x4c1331[_0xeb9b('0x35')]['length']?_0x4c1331[_0xeb9b('0x35')]:_0x411467[_0xeb9b('0x30')];if(!_0x5336f2[_0xeb9b('0x32')][_0xeb9b('0x37')](_0xeb9b('0x38'))){_0x4c1331[_0xeb9b('0x1c')]=qs['limit'](_0x5336f2[_0xeb9b('0x32')][_0xeb9b('0x1c')]);_0x4c1331['offset']=qs[_0xeb9b('0x1a')](_0x5336f2[_0xeb9b('0x32')][_0xeb9b('0x1a')]);}_0x4c1331[_0xeb9b('0x39')]=qs[_0xeb9b('0x3a')](_0x5336f2[_0xeb9b('0x32')][_0xeb9b('0x3a')]);_0x4c1331['where']=qs[_0xeb9b('0x3b')](_[_0xeb9b('0x3c')](_0x5336f2[_0xeb9b('0x32')],_0x411467['filters']),_0x27578d);if(_0x5336f2['query']['filter']){_0x4c1331[_0xeb9b('0x3d')]=_[_0xeb9b('0x3e')](_0x4c1331[_0xeb9b('0x3d')],{'$or':_['map'](_0x27578d,function(_0x409ce6){if(_0x409ce6[_0xeb9b('0x2e')]!==_0xeb9b('0x3f')){var _0x20da52={};_0x20da52[_0x409ce6[_0xeb9b('0x2a')]]={'$like':'%'+_0x5336f2[_0xeb9b('0x32')][_0xeb9b('0x40')]+'%'};return _0x20da52;}})});}_0x4c1331=_['merge']({},_0x4c1331,_0x5336f2[_0xeb9b('0x41')]);var _0x3ccf45={'where':_0x4c1331[_0xeb9b('0x3d')]};return db['JscriptyProject']['count'](_0x3ccf45)[_0xeb9b('0x24')](function(_0x110122){_0x54c659['count']=_0x110122;if(_0x5336f2[_0xeb9b('0x32')]['includeAll']){_0x4c1331[_0xeb9b('0x42')]=[{'all':!![]}];}return db[_0xeb9b('0x2c')][_0xeb9b('0x43')](_0x4c1331);})[_0xeb9b('0x24')](function(_0xbee63e){_0x54c659[_0xeb9b('0x44')]=_0xbee63e;return _0x54c659;})[_0xeb9b('0x24')](respondWithFilteredResult(_0x6bb66,_0x4c1331))[_0xeb9b('0x45')](handleError(_0x6bb66,null));};exports[_0xeb9b('0x46')]=function(_0x311e7d,_0x21bcf1){var _0x761d18={'raw':![],'where':{'id':_0x311e7d['params']['id']}},_0x5e270a={};_0x5e270a[_0xeb9b('0x30')]=_['keys'](db[_0xeb9b('0x2c')][_0xeb9b('0x47')]);_0x5e270a[_0xeb9b('0x32')]=_['keys'](_0x311e7d[_0xeb9b('0x32')]);_0x5e270a[_0xeb9b('0x3b')]=_['intersection'](_0x5e270a[_0xeb9b('0x30')],_0x5e270a[_0xeb9b('0x32')]);_0x761d18[_0xeb9b('0x35')]=_[_0xeb9b('0x34')](_0x5e270a[_0xeb9b('0x30')],qs[_0xeb9b('0x36')](_0x311e7d[_0xeb9b('0x32')][_0xeb9b('0x36')]));_0x761d18['attributes']=_0x761d18['attributes'][_0xeb9b('0x48')]?_0x761d18['attributes']:_0x5e270a['model'];if(_0x311e7d[_0xeb9b('0x32')][_0xeb9b('0x49')]){_0x761d18[_0xeb9b('0x42')]=[{'all':!![]}];}_0x761d18=_[_0xeb9b('0x3e')]({},_0x761d18,_0x311e7d[_0xeb9b('0x41')]);return db[_0xeb9b('0x2c')]['find'](_0x761d18)['then'](handleEntityNotFound(_0x21bcf1,null))['then'](respondWithResult(_0x21bcf1,null))[_0xeb9b('0x45')](handleError(_0x21bcf1,null));};exports['create']=function(_0x4901b0,_0x2ee59c){return db[_0xeb9b('0x2c')][_0xeb9b('0x4a')](_0x4901b0[_0xeb9b('0x4b')],{})[_0xeb9b('0x24')](function(_0x202ef3){var _0x1a2189=_0x4901b0[_0xeb9b('0x4c')][_0xeb9b('0x26')]({'plain':!![]});if(!_0x1a2189)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x1a2189['role']===_0xeb9b('0x4c')){var _0x21c93a=_0x202ef3['get']({'plain':!![]});var _0x19bfe9='Projects';return db[_0xeb9b('0x4d')][_0xeb9b('0x4e')]({'where':{'name':_0x19bfe9,'userProfileId':_0x1a2189['userProfileId']},'raw':!![]})['then'](function(_0x530c1c){if(_0x530c1c&&_0x530c1c[_0xeb9b('0x4f')]===0x0){return db[_0xeb9b('0x27')][_0xeb9b('0x4a')]({'name':_0x21c93a['name'],'resourceId':_0x21c93a['id'],'type':_0x530c1c['name'],'sectionId':_0x530c1c['id']},{})[_0xeb9b('0x24')](function(){return _0x202ef3;});}else{return _0x202ef3;}})[_0xeb9b('0x45')](function(_0x3e6e73){logger[_0xeb9b('0x29')](_0xeb9b('0x50'),_0x3e6e73);throw _0x3e6e73;});}return _0x202ef3;})[_0xeb9b('0x24')](respondWithResult(_0x2ee59c,0xc9))['catch'](handleError(_0x2ee59c,null));};exports[_0xeb9b('0x51')]=function(_0x1fab7a,_0x47e84a){var _0x2f1e70={'where':{'id':_0x1fab7a[_0xeb9b('0x52')]['id']}},_0x4ba9d8={};_0x4ba9d8[_0xeb9b('0x30')]=_['keys'](db[_0xeb9b('0x2c')]['rawAttributes']);_0x2f1e70[_0xeb9b('0x35')]=_[_0xeb9b('0x34')](_0x4ba9d8[_0xeb9b('0x30')],qs[_0xeb9b('0x36')](_0x1fab7a[_0xeb9b('0x32')]['fields']));_0x2f1e70[_0xeb9b('0x35')]=_0x2f1e70[_0xeb9b('0x35')][_0xeb9b('0x48')]?_0x2f1e70['attributes']:_0x4ba9d8[_0xeb9b('0x30')];if(_0x1fab7a[_0xeb9b('0x32')][_0xeb9b('0x49')]){_0x2f1e70[_0xeb9b('0x42')]=[{'all':!![]}];}_0x2f1e70=_[_0xeb9b('0x3e')]({},_0x2f1e70,_0x1fab7a[_0xeb9b('0x41')]);return db[_0xeb9b('0x2c')][_0xeb9b('0x4e')](_0x2f1e70)[_0xeb9b('0x24')](handleEntityNotFound(_0x47e84a,null))[_0xeb9b('0x24')](function(_0x2ab192){if(_0x2ab192){var _0x58e550=_0x2ab192['get']({'plain':!![]});_0x58e550=qs['omit'](_0x58e550,['id',_0xeb9b('0x53'),'updatedAt']);_0x1fab7a[_0xeb9b('0x4b')]=_[_0xeb9b('0x54')](_0x1fab7a[_0xeb9b('0x4b')],['id','createdAt',_0xeb9b('0x55')]);return db[_0xeb9b('0x2c')][_0xeb9b('0x4a')](_[_0xeb9b('0x3e')](_0x58e550,_0x1fab7a[_0xeb9b('0x4b')]),{'include':_0x1fab7a[_0xeb9b('0x32')][_0xeb9b('0x49')]?[{'all':!![]}]:undefined})[_0xeb9b('0x24')](function(_0x58a3e2){var _0x5b55a6=_0x1fab7a[_0xeb9b('0x4c')][_0xeb9b('0x26')]({'plain':!![]});if(!_0x5b55a6)throw new Error(_0xeb9b('0x56'));if(_0x5b55a6['role']===_0xeb9b('0x4c')){var _0x4e3449=_0x58a3e2[_0xeb9b('0x26')]({'plain':!![]});var _0x56d01e=_0xeb9b('0x57');return db[_0xeb9b('0x4d')][_0xeb9b('0x4e')]({'where':{'name':_0x56d01e,'userProfileId':_0x5b55a6[_0xeb9b('0x58')]},'raw':!![]})[_0xeb9b('0x24')](function(_0x4be938){if(_0x4be938&&_0x4be938[_0xeb9b('0x4f')]===0x0){return db[_0xeb9b('0x27')]['create']({'name':_0x4e3449['name'],'resourceId':_0x4e3449['id'],'type':_0x4be938[_0xeb9b('0x2a')],'sectionId':_0x4be938['id']},{})[_0xeb9b('0x24')](function(){return _0x58a3e2;});}else{return _0x58a3e2;}})['catch'](function(_0xeb81b9){logger['error'](_0xeb9b('0x50'),_0xeb81b9);throw _0xeb81b9;});}return _0x58a3e2;});}})['then'](respondWithResult(_0x47e84a,0xc9))[_0xeb9b('0x45')](handleError(_0x47e84a,null));};exports[_0xeb9b('0x23')]=function(_0x417221,_0x1fea34){if(_0x417221[_0xeb9b('0x4b')]['id']){delete _0x417221[_0xeb9b('0x4b')]['id'];}return db['JscriptyProject'][_0xeb9b('0x4e')]({'where':{'id':_0x417221[_0xeb9b('0x52')]['id']}})['then'](handleEntityNotFound(_0x1fea34,null))[_0xeb9b('0x24')](saveUpdates(_0x417221[_0xeb9b('0x4b')],null))[_0xeb9b('0x24')](respondWithResult(_0x1fea34,null))[_0xeb9b('0x45')](handleError(_0x1fea34,null));};exports['destroy']=function(_0x115875,_0x22d45f){return db['JscriptyProject'][_0xeb9b('0x4e')]({'where':{'id':_0x115875[_0xeb9b('0x52')]['id']}})[_0xeb9b('0x24')](handleEntityNotFound(_0x22d45f,null))[_0xeb9b('0x24')](removeEntity(_0x22d45f,null))[_0xeb9b('0x45')](handleError(_0x22d45f,null));};exports[_0xeb9b('0x59')]=function(_0x3f9ce0,_0x4a48f6,_0x44adb3){var _0x1024d7={'raw':!![],'where':{}};var _0x5614ba={};var _0x289654={'count':0x0,'rows':[]};return db[_0xeb9b('0x2c')][_0xeb9b('0x5a')]({'where':{'id':_0x3f9ce0[_0xeb9b('0x52')]['id']}})['then'](handleEntityNotFound(_0x4a48f6,null))[_0xeb9b('0x24')](function(_0x26f06e){if(_0x26f06e){_0x5614ba[_0xeb9b('0x30')]=_[_0xeb9b('0x33')](db[_0xeb9b('0x5b')][_0xeb9b('0x47')]);_0x5614ba[_0xeb9b('0x32')]=_[_0xeb9b('0x33')](_0x3f9ce0[_0xeb9b('0x32')]);_0x5614ba[_0xeb9b('0x3b')]=_[_0xeb9b('0x34')](_0x5614ba[_0xeb9b('0x30')],_0x5614ba[_0xeb9b('0x32')]);_0x1024d7[_0xeb9b('0x35')]=_[_0xeb9b('0x34')](_0x5614ba[_0xeb9b('0x30')],qs['fields'](_0x3f9ce0[_0xeb9b('0x32')][_0xeb9b('0x36')]));_0x1024d7[_0xeb9b('0x35')]=_0x1024d7['attributes']['length']?_0x1024d7[_0xeb9b('0x35')]:_0x5614ba['model'];if(!_0x3f9ce0[_0xeb9b('0x32')][_0xeb9b('0x37')](_0xeb9b('0x38'))){_0x1024d7[_0xeb9b('0x1c')]=qs[_0xeb9b('0x1c')](_0x3f9ce0[_0xeb9b('0x32')][_0xeb9b('0x1c')]);_0x1024d7[_0xeb9b('0x1a')]=qs[_0xeb9b('0x1a')](_0x3f9ce0[_0xeb9b('0x32')][_0xeb9b('0x1a')]);}_0x1024d7[_0xeb9b('0x39')]=qs['sort'](_0x3f9ce0['query'][_0xeb9b('0x3a')]);_0x1024d7['where']=qs['filters'](_[_0xeb9b('0x3c')](_0x3f9ce0['query'],_0x5614ba['filters']));_0x1024d7['where'][_0xeb9b('0x5c')]=_0x26f06e['id'];if(_0x3f9ce0[_0xeb9b('0x32')][_0xeb9b('0x40')]){_0x1024d7[_0xeb9b('0x3d')]=_['merge'](_0x1024d7[_0xeb9b('0x3d')],{'$or':_[_0xeb9b('0x31')](_0x1024d7[_0xeb9b('0x35')],function(_0x4e5cfb){var _0x5c010d={};_0x5c010d[_0x4e5cfb]={'$like':'%'+_0x3f9ce0[_0xeb9b('0x32')]['filter']+'%'};return _0x5c010d;})});}_0x1024d7=_[_0xeb9b('0x3e')]({},_0x1024d7,_0x3f9ce0['options']);return db['JscriptySessionReport'][_0xeb9b('0x1d')]({'where':_0x1024d7['where']})[_0xeb9b('0x24')](function(_0x51a808){_0x289654['count']=_0x51a808;if(_0x3f9ce0[_0xeb9b('0x32')][_0xeb9b('0x49')]){_0x1024d7[_0xeb9b('0x42')]=[{'all':!![]}];}return db[_0xeb9b('0x5b')]['findAll'](_0x1024d7);})[_0xeb9b('0x24')](function(_0x31de58){_0x289654[_0xeb9b('0x44')]=_0x31de58;return _0x289654;});}})[_0xeb9b('0x24')](respondWithFilteredResult(_0x4a48f6,_0x1024d7))[_0xeb9b('0x45')](handleError(_0x4a48f6,null));};exports[_0xeb9b('0x5d')]=function(_0x4f5188,_0x107875,_0x5da1da){var _0x42d3d8={'raw':!![],'where':{}};var _0x2b2716={};var _0x5341a7={'count':0x0,'rows':[]};return db[_0xeb9b('0x2c')]['findOne']({'where':{'id':_0x4f5188[_0xeb9b('0x52')]['id']}})['then'](handleEntityNotFound(_0x107875,null))[_0xeb9b('0x24')](function(_0x36af5a){if(_0x36af5a){_0x2b2716[_0xeb9b('0x30')]=_[_0xeb9b('0x33')](db[_0xeb9b('0x5e')][_0xeb9b('0x47')]);_0x2b2716[_0xeb9b('0x32')]=_['keys'](_0x4f5188[_0xeb9b('0x32')]);_0x2b2716[_0xeb9b('0x3b')]=_['intersection'](_0x2b2716[_0xeb9b('0x30')],_0x2b2716[_0xeb9b('0x32')]);_0x42d3d8[_0xeb9b('0x35')]=_['intersection'](_0x2b2716['model'],qs['fields'](_0x4f5188[_0xeb9b('0x32')][_0xeb9b('0x36')]));_0x42d3d8['attributes']=_0x42d3d8[_0xeb9b('0x35')][_0xeb9b('0x48')]?_0x42d3d8[_0xeb9b('0x35')]:_0x2b2716[_0xeb9b('0x30')];if(!_0x4f5188[_0xeb9b('0x32')][_0xeb9b('0x37')]('nolimit')){_0x42d3d8[_0xeb9b('0x1c')]=qs[_0xeb9b('0x1c')](_0x4f5188[_0xeb9b('0x32')][_0xeb9b('0x1c')]);_0x42d3d8[_0xeb9b('0x1a')]=qs[_0xeb9b('0x1a')](_0x4f5188[_0xeb9b('0x32')][_0xeb9b('0x1a')]);}_0x42d3d8[_0xeb9b('0x39')]=qs[_0xeb9b('0x3a')](_0x4f5188[_0xeb9b('0x32')]['sort']);_0x42d3d8[_0xeb9b('0x3d')]=qs[_0xeb9b('0x3b')](_['pick'](_0x4f5188['query'],_0x2b2716[_0xeb9b('0x3b')]));_0x42d3d8[_0xeb9b('0x3d')]['ProjectId']=_0x36af5a['id'];if(_0x4f5188[_0xeb9b('0x32')][_0xeb9b('0x40')]){_0x42d3d8[_0xeb9b('0x3d')]=_[_0xeb9b('0x3e')](_0x42d3d8[_0xeb9b('0x3d')],{'$or':_[_0xeb9b('0x31')](_0x42d3d8[_0xeb9b('0x35')],function(_0x44562a){var _0x267de0={};_0x267de0[_0x44562a]={'$like':'%'+_0x4f5188['query'][_0xeb9b('0x40')]+'%'};return _0x267de0;})});}_0x42d3d8=_[_0xeb9b('0x3e')]({},_0x42d3d8,_0x4f5188[_0xeb9b('0x41')]);return db[_0xeb9b('0x5e')]['count']({'where':_0x42d3d8[_0xeb9b('0x3d')]})['then'](function(_0x4b69d1){_0x5341a7[_0xeb9b('0x1d')]=_0x4b69d1;if(_0x4f5188[_0xeb9b('0x32')][_0xeb9b('0x49')]){_0x42d3d8[_0xeb9b('0x42')]=[{'all':!![]}];}return db[_0xeb9b('0x5e')]['findAll'](_0x42d3d8);})[_0xeb9b('0x24')](function(_0x4e0269){_0x5341a7[_0xeb9b('0x44')]=_0x4e0269;return _0x5341a7;});}})[_0xeb9b('0x24')](respondWithFilteredResult(_0x107875,_0x42d3d8))[_0xeb9b('0x45')](handleError(_0x107875,null));};function char(_0x51628d){return _0xeb9b('0x5f')===typeof _0x51628d?String['fromCharCode']['apply'](null,arguments):_0x51628d;}function needsEncapsulation(_0x3f9806){return!!_0x3f9806&&(_0x3f9806[_0xeb9b('0x60')]()[_0xeb9b('0x61')](char(0xd))>=0x0||_0x3f9806[_0xeb9b('0x60')]()[_0xeb9b('0x61')](char(0xa))>=0x0||_0x3f9806['toString']()[_0xeb9b('0x61')](char(0x2c))>=0x0||_0x3f9806[_0xeb9b('0x60')]()['indexOf'](char(0x22))>=0x0);}function encapsulate(_0x1bebc2){var _0x121647=char(0x22),_0x34e142='\x5c'+char(0x22),_0x4c303d=_0x1bebc2[_0xeb9b('0x60')]()[_0xeb9b('0x62')](new RegExp(_0x121647,'g'),_0x34e142);return _0x121647+_0x4c303d+_0x121647;}exports[_0xeb9b('0x63')]=function(_0x4675d5,_0x4097e4,_0x93fba4){var _0x57d027,_0x2dbcfe;var _0x34b3f4={'where':{'ProjectId':_0x4675d5[_0xeb9b('0x52')]['id']}};if(_0x4675d5[_0xeb9b('0x32')][_0xeb9b('0x64')]){_0x34b3f4[_0xeb9b('0x3d')][_0xeb9b('0x65')]=JSON[_0xeb9b('0x66')](_0x4675d5[_0xeb9b('0x32')][_0xeb9b('0x64')]);}return db[_0xeb9b('0x5b')]['findAll'](_0x34b3f4)[_0xeb9b('0x24')](handleEntityNotFound(_0x4097e4,null))[_0xeb9b('0x24')](function(_0x1e0956){if(_0x1e0956){_0x57d027=_0x1e0956;return db[_0xeb9b('0x67')]['findAll']({'where':{'SessionId':{'$in':_['map'](_0x57d027,'id')},'ProjectId':_0x4675d5[_0xeb9b('0x52')]['id']},'order':_0xeb9b('0x68')});}})[_0xeb9b('0x24')](handleEntityNotFound(_0x4097e4,null))[_0xeb9b('0x24')](function(_0x4697c8){if(_0x4697c8){_0x2dbcfe=_0x4697c8;var _0x20e1d2={};for(var _0x3b29e6=0x0,_0x2e4d56=_0x2dbcfe[_0xeb9b('0x48')];_0x3b29e6<_0x2e4d56;_0x3b29e6++){if(!_0x20e1d2[_0xeb9b('0x37')](_0x2dbcfe[_0x3b29e6][_0xeb9b('0x69')])){_0x20e1d2[_0x2dbcfe[_0x3b29e6][_0xeb9b('0x69')]]=needsEncapsulation(_0x2dbcfe[_0x3b29e6][_0xeb9b('0x6a')])?encapsulate(_0x2dbcfe[_0x3b29e6]['question']):_0x2dbcfe[_0x3b29e6][_0xeb9b('0x6a')];}}var _0x1b4af1=[],_0x48e2cd={};for(var _0x85817f=0x0,_0x31b665=_0x57d027[_0xeb9b('0x48')];_0x85817f<_0x31b665;_0x85817f++){_0x48e2cd={'ProjectId':_0x4675d5['params']['id'],'SessionId':_0x57d027[_0x85817f]['id'],'StartTime':moment(_0x57d027[_0x85817f]['starttime'])[_0xeb9b('0x6b')]('YYYY-MM-DD\x20HH:mm:ss')};for(var _0x21f1db=0x0,_0xf3f7c9=_0x2dbcfe[_0xeb9b('0x48')];_0x21f1db<_0xf3f7c9;_0x21f1db++){if(_0x2dbcfe[_0x21f1db][_0xeb9b('0x6c')]==_0x57d027[_0x85817f]['id']&&_0x20e1d2[_0xeb9b('0x37')](_0x2dbcfe[_0x21f1db][_0xeb9b('0x69')])){_0x48e2cd[_0x20e1d2[_0x2dbcfe[_0x21f1db][_0xeb9b('0x69')]]]=_0x2dbcfe[_0x21f1db][_0xeb9b('0x6d')];}}for(var _0x5e79ec in _0x20e1d2){if(!_0x48e2cd[_0xeb9b('0x37')](_0x20e1d2[_0x5e79ec])){_0x48e2cd[_0x20e1d2[_0x5e79ec]]=null;}}_0x1b4af1[_0xeb9b('0x6e')](_0x48e2cd);}return _0x1b4af1;}})[_0xeb9b('0x24')](function(_0x5e7146){if(!_[_0xeb9b('0x6f')](_0x5e7146)){var _0x4e957c=toCsv(_0x5e7146);var _0x2a78d3=Date[_0xeb9b('0x70')]();fs[_0xeb9b('0x71')](util[_0xeb9b('0x6b')](_0xeb9b('0x72'),_0x4675d5[_0xeb9b('0x52')]['id'],_0x2a78d3),_0x4e957c);_0x4097e4['setHeader'](_0xeb9b('0x73'),_0xeb9b('0x74')+util['format']('Jscripty_Project_%d_Summary_%s.csv',_0x4675d5[_0xeb9b('0x52')]['id'],_0x2a78d3));_0x4097e4[_0xeb9b('0x75')](_0xeb9b('0x76'),_0xeb9b('0x77'));return _0x4097e4[_0xeb9b('0x78')](util[_0xeb9b('0x6b')](_0xeb9b('0x72'),_0x4675d5[_0xeb9b('0x52')]['id'],_0x2a78d3));}else{return _0x4097e4[_0xeb9b('0x28')](0xcc);}})[_0xeb9b('0x45')](handleError(_0x4097e4,null));};