Built motion from commit 753c950e.|2.5.42
[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 _0xf4c9=['query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','type','options','JscriptyProject','includeAll','include','rows','catch','show','keys','find','create','body','user','role','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','clone','params','omit','createdAt','updatedAt','Unable\x20to\x20retrieve\x20the\x20current\x20user','Projects','findOne','ProjectId','JscriptySessionReport','JscriptyAnswerReport','findAll','number','fromCharCode','apply','toString','indexOf','replace','getSummary','startTime','JscriptyQuestionReport','-createdAt','questionId','question','starttime','format','YYYY-MM-DD\x20HH:mm:ss','SessionId','answer','push','isEmpty','now','writeFileSync','/tmp/Jscripty_Project_%d_Summary_%s.csv','setHeader','Content-disposition','attachment;\x20filename=','Jscripty_Project_%d_Summary_%s.csv','Content-type','text/csv','download','eml-format','rimraf','zip-dir','request-promise','bluebird','mustache','util','sox','ejs','crypto','jsforce','desk.js','to-csv','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','status','json','offset','undefined','limit','count','reject','update','destroy','then','get','UserProfileResource','end','sendStatus','error','stack','name','send','index','map','rawAttributes','fieldName','model'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0xf4c9,0x1aa));var _0x9f4c=function(_0x12fc8d,_0x19ee33){_0x12fc8d=_0x12fc8d-0x0;var _0x3f9d04=_0xf4c9[_0x12fc8d];return _0x3f9d04;};'use strict';var emlformat=require(_0x9f4c('0x0'));var rimraf=require(_0x9f4c('0x1'));var zipdir=require(_0x9f4c('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x9f4c('0x3'));var moment=require('moment');var BPromise=require(_0x9f4c('0x4'));var Mustache=require(_0x9f4c('0x5'));var util=require(_0x9f4c('0x6'));var path=require('path');var sox=require(_0x9f4c('0x7'));var csv=require('to-csv');var ejs=require(_0x9f4c('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require('squel');var crypto=require(_0x9f4c('0x9'));var jsforce=require(_0x9f4c('0xa'));var deskjs=require(_0x9f4c('0xb'));var toCsv=require(_0x9f4c('0xc'));var querystring=require(_0x9f4c('0xd'));var Papa=require(_0x9f4c('0xe'));var Redis=require('ioredis');var authService=require(_0x9f4c('0xf'));var qs=require(_0x9f4c('0x10'));var as=require(_0x9f4c('0x11'));var hardwareService=require(_0x9f4c('0x12'));var logger=require(_0x9f4c('0x13'))(_0x9f4c('0x14'));var utils=require(_0x9f4c('0x15'));var config=require(_0x9f4c('0x16'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x4d71a9,_0x124492){_0x124492=_0x124492||0xcc;return function(_0x53159a){if(_0x53159a){return _0x4d71a9['sendStatus'](_0x124492);}return _0x4d71a9[_0x9f4c('0x17')](_0x124492)['end']();};}function respondWithResult(_0x5a9cb0,_0xf217d4){_0xf217d4=_0xf217d4||0xc8;return function(_0x4ce352){if(_0x4ce352){return _0x5a9cb0['status'](_0xf217d4)[_0x9f4c('0x18')](_0x4ce352);}};}function respondWithFilteredResult(_0x516787,_0x25f8ed){return function(_0x336fc2){if(_0x336fc2){var _0x46abfe=typeof _0x25f8ed[_0x9f4c('0x19')]===_0x9f4c('0x1a')&&typeof _0x25f8ed[_0x9f4c('0x1b')]==='undefined';var _0x2be1ba=_0x336fc2[_0x9f4c('0x1c')];var _0x143335=_0x46abfe?0x0:_0x25f8ed[_0x9f4c('0x19')];var _0x3f862c=_0x46abfe?_0x336fc2['count']:_0x25f8ed[_0x9f4c('0x19')]+_0x25f8ed[_0x9f4c('0x1b')];var _0x8efbfe;if(_0x3f862c>=_0x2be1ba){_0x3f862c=_0x2be1ba;_0x8efbfe=0xc8;}else{_0x8efbfe=0xce;}_0x516787['status'](_0x8efbfe);return _0x516787['set']('Content-Range',_0x143335+'-'+_0x3f862c+'/'+_0x2be1ba)['json'](_0x336fc2);}return null;};}function patchUpdates(_0x2040a5){return function(_0x47accd){try{jsonpatch['apply'](_0x47accd,_0x2040a5,!![]);}catch(_0x603a8d){return BPromise[_0x9f4c('0x1d')](_0x603a8d);}return _0x47accd['save']();};}function saveUpdates(_0x341693,_0x1d0df9){return function(_0x57b636){if(_0x57b636){return _0x57b636[_0x9f4c('0x1e')](_0x341693)['then'](function(_0x5e6632){return _0x5e6632;});}return null;};}function removeEntity(_0x36e15f,_0x49d6d6){return function(_0xa4a8e9){if(_0xa4a8e9){return _0xa4a8e9[_0x9f4c('0x1f')]()[_0x9f4c('0x20')](function(){var _0x4698b3=_0xa4a8e9[_0x9f4c('0x21')]({'plain':!![]});var _0x10c9a9='Projects';return db[_0x9f4c('0x22')][_0x9f4c('0x1f')]({'where':{'type':_0x10c9a9,'resourceId':_0x4698b3['id']}})[_0x9f4c('0x20')](function(){return _0xa4a8e9;});})[_0x9f4c('0x20')](function(){_0x36e15f[_0x9f4c('0x17')](0xcc)[_0x9f4c('0x23')]();});}};}function handleEntityNotFound(_0x945f00,_0xadd84c){return function(_0x3bcc3f){if(!_0x3bcc3f){_0x945f00[_0x9f4c('0x24')](0x194);}return _0x3bcc3f;};}function handleError(_0x4712c7,_0x4f0d37){_0x4f0d37=_0x4f0d37||0x1f4;return function(_0x168ed8){logger[_0x9f4c('0x25')](_0x168ed8[_0x9f4c('0x26')]);if(_0x168ed8[_0x9f4c('0x27')]){delete _0x168ed8[_0x9f4c('0x27')];}_0x4712c7[_0x9f4c('0x17')](_0x4f0d37)[_0x9f4c('0x28')](_0x168ed8);};}exports[_0x9f4c('0x29')]=function(_0x20d2f4,_0x2158ac){var _0x4e9b77={},_0x4b6d91={},_0x52ef31={'count':0x0,'rows':[]};var _0x101c13=_[_0x9f4c('0x2a')](db['JscriptyProject'][_0x9f4c('0x2b')],function(_0x8cd2b3){return{'name':_0x8cd2b3[_0x9f4c('0x2c')],'type':_0x8cd2b3['type']['key']};});_0x4b6d91[_0x9f4c('0x2d')]=_[_0x9f4c('0x2a')](_0x101c13,'name');_0x4b6d91[_0x9f4c('0x2e')]=_['keys'](_0x20d2f4['query']);_0x4b6d91[_0x9f4c('0x2f')]=_[_0x9f4c('0x30')](_0x4b6d91[_0x9f4c('0x2d')],_0x4b6d91[_0x9f4c('0x2e')]);_0x4e9b77[_0x9f4c('0x31')]=_[_0x9f4c('0x30')](_0x4b6d91['model'],qs[_0x9f4c('0x32')](_0x20d2f4[_0x9f4c('0x2e')][_0x9f4c('0x32')]));_0x4e9b77[_0x9f4c('0x31')]=_0x4e9b77[_0x9f4c('0x31')][_0x9f4c('0x33')]?_0x4e9b77[_0x9f4c('0x31')]:_0x4b6d91[_0x9f4c('0x2d')];if(!_0x20d2f4[_0x9f4c('0x2e')][_0x9f4c('0x34')](_0x9f4c('0x35'))){_0x4e9b77[_0x9f4c('0x1b')]=qs[_0x9f4c('0x1b')](_0x20d2f4['query'][_0x9f4c('0x1b')]);_0x4e9b77['offset']=qs[_0x9f4c('0x19')](_0x20d2f4[_0x9f4c('0x2e')][_0x9f4c('0x19')]);}_0x4e9b77[_0x9f4c('0x36')]=qs[_0x9f4c('0x37')](_0x20d2f4[_0x9f4c('0x2e')][_0x9f4c('0x37')]);_0x4e9b77[_0x9f4c('0x38')]=qs[_0x9f4c('0x2f')](_[_0x9f4c('0x39')](_0x20d2f4[_0x9f4c('0x2e')],_0x4b6d91[_0x9f4c('0x2f')]),_0x101c13);if(_0x20d2f4['query'][_0x9f4c('0x3a')]){_0x4e9b77[_0x9f4c('0x38')]=_[_0x9f4c('0x3b')](_0x4e9b77['where'],{'$or':_[_0x9f4c('0x2a')](_0x101c13,function(_0x380c08){if(_0x380c08[_0x9f4c('0x3c')]!=='VIRTUAL'){var _0xb58e5a={};_0xb58e5a[_0x380c08[_0x9f4c('0x27')]]={'$like':'%'+_0x20d2f4[_0x9f4c('0x2e')][_0x9f4c('0x3a')]+'%'};return _0xb58e5a;}})});}_0x4e9b77=_[_0x9f4c('0x3b')]({},_0x4e9b77,_0x20d2f4[_0x9f4c('0x3d')]);var _0x44b920={'where':_0x4e9b77[_0x9f4c('0x38')]};return db[_0x9f4c('0x3e')][_0x9f4c('0x1c')](_0x44b920)['then'](function(_0x167363){_0x52ef31[_0x9f4c('0x1c')]=_0x167363;if(_0x20d2f4['query'][_0x9f4c('0x3f')]){_0x4e9b77[_0x9f4c('0x40')]=[{'all':!![]}];}return db[_0x9f4c('0x3e')]['findAll'](_0x4e9b77);})[_0x9f4c('0x20')](function(_0x4da3ed){_0x52ef31[_0x9f4c('0x41')]=_0x4da3ed;return _0x52ef31;})['then'](respondWithFilteredResult(_0x2158ac,_0x4e9b77))[_0x9f4c('0x42')](handleError(_0x2158ac,null));};exports[_0x9f4c('0x43')]=function(_0x10437e,_0x437558){var _0x3ee559={'raw':![],'where':{'id':_0x10437e['params']['id']}},_0x51553d={};_0x51553d[_0x9f4c('0x2d')]=_[_0x9f4c('0x44')](db[_0x9f4c('0x3e')]['rawAttributes']);_0x51553d[_0x9f4c('0x2e')]=_['keys'](_0x10437e['query']);_0x51553d[_0x9f4c('0x2f')]=_['intersection'](_0x51553d[_0x9f4c('0x2d')],_0x51553d[_0x9f4c('0x2e')]);_0x3ee559[_0x9f4c('0x31')]=_['intersection'](_0x51553d[_0x9f4c('0x2d')],qs['fields'](_0x10437e[_0x9f4c('0x2e')][_0x9f4c('0x32')]));_0x3ee559[_0x9f4c('0x31')]=_0x3ee559[_0x9f4c('0x31')]['length']?_0x3ee559[_0x9f4c('0x31')]:_0x51553d['model'];if(_0x10437e[_0x9f4c('0x2e')]['includeAll']){_0x3ee559[_0x9f4c('0x40')]=[{'all':!![]}];}_0x3ee559=_[_0x9f4c('0x3b')]({},_0x3ee559,_0x10437e['options']);return db[_0x9f4c('0x3e')][_0x9f4c('0x45')](_0x3ee559)['then'](handleEntityNotFound(_0x437558,null))[_0x9f4c('0x20')](respondWithResult(_0x437558,null))['catch'](handleError(_0x437558,null));};exports[_0x9f4c('0x46')]=function(_0x384f47,_0x5b8fca){return db['JscriptyProject']['create'](_0x384f47[_0x9f4c('0x47')],{})[_0x9f4c('0x20')](function(_0x5e93ae){var _0x2c7f9a=_0x384f47[_0x9f4c('0x48')][_0x9f4c('0x21')]({'plain':!![]});if(!_0x2c7f9a)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x2c7f9a[_0x9f4c('0x49')]==='user'){var _0x1830e7=_0x5e93ae[_0x9f4c('0x21')]({'plain':!![]});var _0x50edbd='Projects';return db[_0x9f4c('0x4a')][_0x9f4c('0x45')]({'where':{'name':_0x50edbd,'userProfileId':_0x2c7f9a['userProfileId']},'raw':!![]})[_0x9f4c('0x20')](function(_0x885938){if(_0x885938&&_0x885938[_0x9f4c('0x4b')]===0x0){return db['UserProfileResource']['create']({'name':_0x1830e7[_0x9f4c('0x27')],'resourceId':_0x1830e7['id'],'type':_0x885938[_0x9f4c('0x27')],'sectionId':_0x885938['id']},{})[_0x9f4c('0x20')](function(){return _0x5e93ae;});}else{return _0x5e93ae;}})[_0x9f4c('0x42')](function(_0x558102){logger[_0x9f4c('0x25')](_0x9f4c('0x4c'),_0x558102);throw _0x558102;});}return _0x5e93ae;})[_0x9f4c('0x20')](respondWithResult(_0x5b8fca,0xc9))[_0x9f4c('0x42')](handleError(_0x5b8fca,null));};exports[_0x9f4c('0x4d')]=function(_0x200190,_0x2fbaaa){var _0x1e88b0={'where':{'id':_0x200190[_0x9f4c('0x4e')]['id']}},_0x20ea33={};_0x20ea33[_0x9f4c('0x2d')]=_['keys'](db[_0x9f4c('0x3e')][_0x9f4c('0x2b')]);_0x1e88b0[_0x9f4c('0x31')]=_[_0x9f4c('0x30')](_0x20ea33[_0x9f4c('0x2d')],qs['fields'](_0x200190['query'][_0x9f4c('0x32')]));_0x1e88b0['attributes']=_0x1e88b0[_0x9f4c('0x31')]['length']?_0x1e88b0[_0x9f4c('0x31')]:_0x20ea33[_0x9f4c('0x2d')];if(_0x200190[_0x9f4c('0x2e')][_0x9f4c('0x3f')]){_0x1e88b0[_0x9f4c('0x40')]=[{'all':!![]}];}_0x1e88b0=_[_0x9f4c('0x3b')]({},_0x1e88b0,_0x200190['options']);return db[_0x9f4c('0x3e')][_0x9f4c('0x45')](_0x1e88b0)[_0x9f4c('0x20')](handleEntityNotFound(_0x2fbaaa,null))[_0x9f4c('0x20')](function(_0x440576){if(_0x440576){var _0x584744=_0x440576[_0x9f4c('0x21')]({'plain':!![]});_0x584744=qs[_0x9f4c('0x4f')](_0x584744,['id',_0x9f4c('0x50'),_0x9f4c('0x51')]);_0x200190[_0x9f4c('0x47')]=_[_0x9f4c('0x4f')](_0x200190[_0x9f4c('0x47')],['id',_0x9f4c('0x50'),_0x9f4c('0x51')]);return db['JscriptyProject'][_0x9f4c('0x46')](_[_0x9f4c('0x3b')](_0x584744,_0x200190[_0x9f4c('0x47')]),{'include':_0x200190[_0x9f4c('0x2e')][_0x9f4c('0x3f')]?[{'all':!![]}]:undefined})[_0x9f4c('0x20')](function(_0x5ae1ef){var _0x36d619=_0x200190[_0x9f4c('0x48')][_0x9f4c('0x21')]({'plain':!![]});if(!_0x36d619)throw new Error(_0x9f4c('0x52'));if(_0x36d619[_0x9f4c('0x49')]===_0x9f4c('0x48')){var _0x4a488f=_0x5ae1ef['get']({'plain':!![]});var _0x484151=_0x9f4c('0x53');return db[_0x9f4c('0x4a')][_0x9f4c('0x45')]({'where':{'name':_0x484151,'userProfileId':_0x36d619['userProfileId']},'raw':!![]})[_0x9f4c('0x20')](function(_0x108bee){if(_0x108bee&&_0x108bee[_0x9f4c('0x4b')]===0x0){return db[_0x9f4c('0x22')][_0x9f4c('0x46')]({'name':_0x4a488f[_0x9f4c('0x27')],'resourceId':_0x4a488f['id'],'type':_0x108bee[_0x9f4c('0x27')],'sectionId':_0x108bee['id']},{})[_0x9f4c('0x20')](function(){return _0x5ae1ef;});}else{return _0x5ae1ef;}})[_0x9f4c('0x42')](function(_0x10ba77){logger['error'](_0x9f4c('0x4c'),_0x10ba77);throw _0x10ba77;});}return _0x5ae1ef;});}})[_0x9f4c('0x20')](respondWithResult(_0x2fbaaa,0xc9))[_0x9f4c('0x42')](handleError(_0x2fbaaa,null));};exports[_0x9f4c('0x1e')]=function(_0x528cc5,_0x5294a2){if(_0x528cc5['body']['id']){delete _0x528cc5[_0x9f4c('0x47')]['id'];}return db[_0x9f4c('0x3e')]['find']({'where':{'id':_0x528cc5[_0x9f4c('0x4e')]['id']}})['then'](handleEntityNotFound(_0x5294a2,null))['then'](saveUpdates(_0x528cc5[_0x9f4c('0x47')],null))['then'](respondWithResult(_0x5294a2,null))[_0x9f4c('0x42')](handleError(_0x5294a2,null));};exports[_0x9f4c('0x1f')]=function(_0x4e3904,_0x13c7a7){return db['JscriptyProject']['find']({'where':{'id':_0x4e3904[_0x9f4c('0x4e')]['id']}})[_0x9f4c('0x20')](handleEntityNotFound(_0x13c7a7,null))[_0x9f4c('0x20')](removeEntity(_0x13c7a7,null))[_0x9f4c('0x42')](handleError(_0x13c7a7,null));};exports['getSessions']=function(_0x33967a,_0x5514a1,_0x5505f3){var _0x161e0d={'raw':!![],'where':{}};var _0x558648={};var _0x108845={'count':0x0,'rows':[]};return db[_0x9f4c('0x3e')][_0x9f4c('0x54')]({'where':{'id':_0x33967a[_0x9f4c('0x4e')]['id']}})[_0x9f4c('0x20')](handleEntityNotFound(_0x5514a1,null))['then'](function(_0x5c0366){if(_0x5c0366){_0x558648['model']=_[_0x9f4c('0x44')](db['JscriptySessionReport'][_0x9f4c('0x2b')]);_0x558648[_0x9f4c('0x2e')]=_[_0x9f4c('0x44')](_0x33967a['query']);_0x558648[_0x9f4c('0x2f')]=_[_0x9f4c('0x30')](_0x558648[_0x9f4c('0x2d')],_0x558648[_0x9f4c('0x2e')]);_0x161e0d['attributes']=_[_0x9f4c('0x30')](_0x558648[_0x9f4c('0x2d')],qs[_0x9f4c('0x32')](_0x33967a[_0x9f4c('0x2e')]['fields']));_0x161e0d['attributes']=_0x161e0d['attributes']['length']?_0x161e0d['attributes']:_0x558648[_0x9f4c('0x2d')];if(!_0x33967a['query'][_0x9f4c('0x34')](_0x9f4c('0x35'))){_0x161e0d['limit']=qs['limit'](_0x33967a[_0x9f4c('0x2e')][_0x9f4c('0x1b')]);_0x161e0d[_0x9f4c('0x19')]=qs[_0x9f4c('0x19')](_0x33967a['query'][_0x9f4c('0x19')]);}_0x161e0d['order']=qs['sort'](_0x33967a['query'][_0x9f4c('0x37')]);_0x161e0d[_0x9f4c('0x38')]=qs['filters'](_[_0x9f4c('0x39')](_0x33967a[_0x9f4c('0x2e')],_0x558648[_0x9f4c('0x2f')]));_0x161e0d[_0x9f4c('0x38')][_0x9f4c('0x55')]=_0x5c0366['id'];if(_0x33967a[_0x9f4c('0x2e')][_0x9f4c('0x3a')]){_0x161e0d[_0x9f4c('0x38')]=_[_0x9f4c('0x3b')](_0x161e0d[_0x9f4c('0x38')],{'$or':_[_0x9f4c('0x2a')](_0x161e0d[_0x9f4c('0x31')],function(_0x289028){var _0x4804af={};_0x4804af[_0x289028]={'$like':'%'+_0x33967a[_0x9f4c('0x2e')][_0x9f4c('0x3a')]+'%'};return _0x4804af;})});}_0x161e0d=_[_0x9f4c('0x3b')]({},_0x161e0d,_0x33967a[_0x9f4c('0x3d')]);return db[_0x9f4c('0x56')]['count']({'where':_0x161e0d[_0x9f4c('0x38')]})['then'](function(_0x416d88){_0x108845[_0x9f4c('0x1c')]=_0x416d88;if(_0x33967a['query'][_0x9f4c('0x3f')]){_0x161e0d['include']=[{'all':!![]}];}return db['JscriptySessionReport']['findAll'](_0x161e0d);})['then'](function(_0x11112c){_0x108845[_0x9f4c('0x41')]=_0x11112c;return _0x108845;});}})[_0x9f4c('0x20')](respondWithFilteredResult(_0x5514a1,_0x161e0d))[_0x9f4c('0x42')](handleError(_0x5514a1,null));};exports['getAnswers']=function(_0x2138f1,_0x36cbc6,_0x12bf39){var _0x55a4ac={'raw':!![],'where':{}};var _0x2aa997={};var _0x1ffbd6={'count':0x0,'rows':[]};return db[_0x9f4c('0x3e')]['findOne']({'where':{'id':_0x2138f1[_0x9f4c('0x4e')]['id']}})['then'](handleEntityNotFound(_0x36cbc6,null))['then'](function(_0x12603f){if(_0x12603f){_0x2aa997[_0x9f4c('0x2d')]=_[_0x9f4c('0x44')](db['JscriptyAnswerReport'][_0x9f4c('0x2b')]);_0x2aa997[_0x9f4c('0x2e')]=_[_0x9f4c('0x44')](_0x2138f1['query']);_0x2aa997[_0x9f4c('0x2f')]=_[_0x9f4c('0x30')](_0x2aa997[_0x9f4c('0x2d')],_0x2aa997['query']);_0x55a4ac['attributes']=_[_0x9f4c('0x30')](_0x2aa997[_0x9f4c('0x2d')],qs[_0x9f4c('0x32')](_0x2138f1['query'][_0x9f4c('0x32')]));_0x55a4ac[_0x9f4c('0x31')]=_0x55a4ac['attributes'][_0x9f4c('0x33')]?_0x55a4ac[_0x9f4c('0x31')]:_0x2aa997[_0x9f4c('0x2d')];if(!_0x2138f1[_0x9f4c('0x2e')]['hasOwnProperty'](_0x9f4c('0x35'))){_0x55a4ac[_0x9f4c('0x1b')]=qs[_0x9f4c('0x1b')](_0x2138f1[_0x9f4c('0x2e')]['limit']);_0x55a4ac[_0x9f4c('0x19')]=qs['offset'](_0x2138f1[_0x9f4c('0x2e')][_0x9f4c('0x19')]);}_0x55a4ac[_0x9f4c('0x36')]=qs[_0x9f4c('0x37')](_0x2138f1[_0x9f4c('0x2e')][_0x9f4c('0x37')]);_0x55a4ac[_0x9f4c('0x38')]=qs[_0x9f4c('0x2f')](_[_0x9f4c('0x39')](_0x2138f1[_0x9f4c('0x2e')],_0x2aa997['filters']));_0x55a4ac[_0x9f4c('0x38')]['ProjectId']=_0x12603f['id'];if(_0x2138f1[_0x9f4c('0x2e')][_0x9f4c('0x3a')]){_0x55a4ac[_0x9f4c('0x38')]=_[_0x9f4c('0x3b')](_0x55a4ac[_0x9f4c('0x38')],{'$or':_[_0x9f4c('0x2a')](_0x55a4ac[_0x9f4c('0x31')],function(_0x5db3be){var _0x19b09b={};_0x19b09b[_0x5db3be]={'$like':'%'+_0x2138f1[_0x9f4c('0x2e')]['filter']+'%'};return _0x19b09b;})});}_0x55a4ac=_[_0x9f4c('0x3b')]({},_0x55a4ac,_0x2138f1[_0x9f4c('0x3d')]);return db[_0x9f4c('0x57')][_0x9f4c('0x1c')]({'where':_0x55a4ac[_0x9f4c('0x38')]})[_0x9f4c('0x20')](function(_0x44cc1f){_0x1ffbd6[_0x9f4c('0x1c')]=_0x44cc1f;if(_0x2138f1[_0x9f4c('0x2e')]['includeAll']){_0x55a4ac[_0x9f4c('0x40')]=[{'all':!![]}];}return db[_0x9f4c('0x57')][_0x9f4c('0x58')](_0x55a4ac);})[_0x9f4c('0x20')](function(_0x371e82){_0x1ffbd6[_0x9f4c('0x41')]=_0x371e82;return _0x1ffbd6;});}})[_0x9f4c('0x20')](respondWithFilteredResult(_0x36cbc6,_0x55a4ac))['catch'](handleError(_0x36cbc6,null));};function char(_0x49c366){return _0x9f4c('0x59')===typeof _0x49c366?String[_0x9f4c('0x5a')][_0x9f4c('0x5b')](null,arguments):_0x49c366;}function needsEncapsulation(_0x127215){return!!_0x127215&&(_0x127215[_0x9f4c('0x5c')]()['indexOf'](char(0xd))>=0x0||_0x127215[_0x9f4c('0x5c')]()[_0x9f4c('0x5d')](char(0xa))>=0x0||_0x127215[_0x9f4c('0x5c')]()[_0x9f4c('0x5d')](char(0x2c))>=0x0||_0x127215[_0x9f4c('0x5c')]()[_0x9f4c('0x5d')](char(0x22))>=0x0);}function encapsulate(_0x224eb5){var _0x498cc8=char(0x22),_0x214e48='\x5c'+char(0x22),_0x1de423=_0x224eb5['toString']()[_0x9f4c('0x5e')](new RegExp(_0x498cc8,'g'),_0x214e48);return _0x498cc8+_0x1de423+_0x498cc8;}exports[_0x9f4c('0x5f')]=function(_0x22ef54,_0x1912c9,_0x1b49cd){var _0xcb283d,_0x3fbb63;var _0x472946={'where':{'ProjectId':_0x22ef54['params']['id']}};if(_0x22ef54[_0x9f4c('0x2e')]['startTime']){_0x472946[_0x9f4c('0x38')]['starttime']=JSON['parse'](_0x22ef54[_0x9f4c('0x2e')][_0x9f4c('0x60')]);}return db[_0x9f4c('0x56')][_0x9f4c('0x58')](_0x472946)[_0x9f4c('0x20')](handleEntityNotFound(_0x1912c9,null))[_0x9f4c('0x20')](function(_0x632ae){if(_0x632ae){_0xcb283d=_0x632ae;return db[_0x9f4c('0x61')][_0x9f4c('0x58')]({'where':{'SessionId':{'$in':_[_0x9f4c('0x2a')](_0xcb283d,'id')},'ProjectId':_0x22ef54[_0x9f4c('0x4e')]['id']},'order':_0x9f4c('0x62')});}})[_0x9f4c('0x20')](handleEntityNotFound(_0x1912c9,null))[_0x9f4c('0x20')](function(_0x285722){if(_0x285722){_0x3fbb63=_0x285722;var _0x2c8f1c={};for(var _0x333edd=0x0,_0x406d47=_0x3fbb63[_0x9f4c('0x33')];_0x333edd<_0x406d47;_0x333edd++){if(!_0x2c8f1c[_0x9f4c('0x34')](_0x3fbb63[_0x333edd][_0x9f4c('0x63')])){_0x2c8f1c[_0x3fbb63[_0x333edd][_0x9f4c('0x63')]]=needsEncapsulation(_0x3fbb63[_0x333edd][_0x9f4c('0x64')])?encapsulate(_0x3fbb63[_0x333edd][_0x9f4c('0x64')]):_0x3fbb63[_0x333edd][_0x9f4c('0x64')];}}var _0x104d21=[],_0x29e563={};for(var _0x5568a3=0x0,_0x7c5300=_0xcb283d[_0x9f4c('0x33')];_0x5568a3<_0x7c5300;_0x5568a3++){_0x29e563={'ProjectId':_0x22ef54[_0x9f4c('0x4e')]['id'],'SessionId':_0xcb283d[_0x5568a3]['id'],'StartTime':moment(_0xcb283d[_0x5568a3][_0x9f4c('0x65')])[_0x9f4c('0x66')](_0x9f4c('0x67'))};for(var _0x594f15=0x0,_0x302a65=_0x3fbb63['length'];_0x594f15<_0x302a65;_0x594f15++){if(_0x3fbb63[_0x594f15][_0x9f4c('0x68')]==_0xcb283d[_0x5568a3]['id']&&_0x2c8f1c[_0x9f4c('0x34')](_0x3fbb63[_0x594f15][_0x9f4c('0x63')])){_0x29e563[_0x2c8f1c[_0x3fbb63[_0x594f15][_0x9f4c('0x63')]]]=_0x3fbb63[_0x594f15][_0x9f4c('0x69')];}}for(var _0x1bef4c in _0x2c8f1c){if(!_0x29e563[_0x9f4c('0x34')](_0x2c8f1c[_0x1bef4c])){_0x29e563[_0x2c8f1c[_0x1bef4c]]=null;}}_0x104d21[_0x9f4c('0x6a')](_0x29e563);}return _0x104d21;}})[_0x9f4c('0x20')](function(_0x3b5658){if(!_[_0x9f4c('0x6b')](_0x3b5658)){var _0x1cb837=toCsv(_0x3b5658);var _0x5f4596=Date[_0x9f4c('0x6c')]();fs[_0x9f4c('0x6d')](util[_0x9f4c('0x66')](_0x9f4c('0x6e'),_0x22ef54[_0x9f4c('0x4e')]['id'],_0x5f4596),_0x1cb837);_0x1912c9[_0x9f4c('0x6f')](_0x9f4c('0x70'),_0x9f4c('0x71')+util['format'](_0x9f4c('0x72'),_0x22ef54[_0x9f4c('0x4e')]['id'],_0x5f4596));_0x1912c9[_0x9f4c('0x6f')](_0x9f4c('0x73'),_0x9f4c('0x74'));return _0x1912c9[_0x9f4c('0x75')](util[_0x9f4c('0x66')]('/tmp/Jscripty_Project_%d_Summary_%s.csv',_0x22ef54['params']['id'],_0x5f4596));}else{return _0x1912c9[_0x9f4c('0x24')](0xcc);}})['catch'](handleError(_0x1912c9,null));};