1c2df4a3a3bd1fbcfe303f930e6e19f778572e5f
[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 _0x0b70=['bluebird','mustache','util','sox','ejs','lodash','crypto','desk.js','to-csv','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','undefined','limit','count','set','Content-Range','json','apply','reject','save','update','then','destroy','get','Projects','error','stack','name','send','index','map','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','filter','merge','JscriptyProject','includeAll','include','findAll','rows','catch','show','params','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','autoAssociation','UserProfileResource','clone','options','omit','createdAt','updatedAt','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getSessions','findOne','JscriptySessionReport','order','ProjectId','JscriptyAnswerReport','toString','indexOf','getSummary','starttime','startTime','JscriptyQuestionReport','-createdAt','questionId','question','YYYY-MM-DD\x20HH:mm:ss','SessionId','push','isEmpty','now','writeFileSync','format','/tmp/Jscripty_Project_%d_Summary_%s.csv','Content-disposition','attachment;\x20filename=','setHeader','text/csv','download','rimraf','fast-json-patch','request-promise'];(function(_0x122ef9,_0x451d2a){var _0x42fba0=function(_0x17c9d3){while(--_0x17c9d3){_0x122ef9['push'](_0x122ef9['shift']());}};_0x42fba0(++_0x451d2a);}(_0x0b70,0x159));var _0x00b7=function(_0x2ee8bb,_0x2e2b69){_0x2ee8bb=_0x2ee8bb-0x0;var _0xa1ce8b=_0x0b70[_0x2ee8bb];return _0xa1ce8b;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x00b7('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x00b7('0x1'));var rp=require(_0x00b7('0x2'));var moment=require('moment');var BPromise=require(_0x00b7('0x3'));var Mustache=require(_0x00b7('0x4'));var util=require(_0x00b7('0x5'));var path=require('path');var sox=require(_0x00b7('0x6'));var csv=require('to-csv');var ejs=require(_0x00b7('0x7'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x00b7('0x8'));var squel=require('squel');var crypto=require(_0x00b7('0x9'));var jsforce=require('jsforce');var deskjs=require(_0x00b7('0xa'));var toCsv=require(_0x00b7('0xb'));var querystring=require(_0x00b7('0xc'));var Papa=require(_0x00b7('0xd'));var Redis=require('ioredis');var authService=require(_0x00b7('0xe'));var qs=require(_0x00b7('0xf'));var as=require(_0x00b7('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x00b7('0x11'))('api');var utils=require(_0x00b7('0x12'));var config=require(_0x00b7('0x13'));var licenseUtil=require(_0x00b7('0x14'));var db=require(_0x00b7('0x15'))['db'];function respondWithStatusCode(_0x26619a,_0x32e813){_0x32e813=_0x32e813||0xcc;return function(_0x14dce6){if(_0x14dce6){return _0x26619a[_0x00b7('0x16')](_0x32e813);}return _0x26619a[_0x00b7('0x17')](_0x32e813)[_0x00b7('0x18')]();};}function respondWithResult(_0x4fabee,_0x3b03af){_0x3b03af=_0x3b03af||0xc8;return function(_0x2872a5){if(_0x2872a5){return _0x4fabee['status'](_0x3b03af)['json'](_0x2872a5);}};}function respondWithFilteredResult(_0x3e5471,_0x1a06cc){return function(_0x18f7fb){if(_0x18f7fb){var _0x17e0d0=typeof _0x1a06cc[_0x00b7('0x19')]===_0x00b7('0x1a')&&typeof _0x1a06cc[_0x00b7('0x1b')]===_0x00b7('0x1a');var _0x49f3b8=_0x18f7fb[_0x00b7('0x1c')];var _0x526f3e=_0x17e0d0?0x0:_0x1a06cc[_0x00b7('0x19')];var _0xb6825d=_0x17e0d0?_0x18f7fb[_0x00b7('0x1c')]:_0x1a06cc[_0x00b7('0x19')]+_0x1a06cc[_0x00b7('0x1b')];var _0x41c903;if(_0xb6825d>=_0x49f3b8){_0xb6825d=_0x49f3b8;_0x41c903=0xc8;}else{_0x41c903=0xce;}_0x3e5471[_0x00b7('0x17')](_0x41c903);return _0x3e5471[_0x00b7('0x1d')](_0x00b7('0x1e'),_0x526f3e+'-'+_0xb6825d+'/'+_0x49f3b8)[_0x00b7('0x1f')](_0x18f7fb);}return null;};}function patchUpdates(_0x2664e3){return function(_0x44ed4a){try{jsonpatch[_0x00b7('0x20')](_0x44ed4a,_0x2664e3,!![]);}catch(_0x26af17){return BPromise[_0x00b7('0x21')](_0x26af17);}return _0x44ed4a[_0x00b7('0x22')]();};}function saveUpdates(_0x208636,_0x54f56c){return function(_0x25a916){if(_0x25a916){return _0x25a916[_0x00b7('0x23')](_0x208636)[_0x00b7('0x24')](function(_0x10bf99){return _0x10bf99;});}return null;};}function removeEntity(_0x416946,_0x3a3587){return function(_0x3721df){if(_0x3721df){return _0x3721df[_0x00b7('0x25')]()[_0x00b7('0x24')](function(){var _0x438d3f=_0x3721df[_0x00b7('0x26')]({'plain':!![]});var _0x17c24b=_0x00b7('0x27');return db['UserProfileResource'][_0x00b7('0x25')]({'where':{'type':_0x17c24b,'resourceId':_0x438d3f['id']}})['then'](function(){return _0x3721df;});})[_0x00b7('0x24')](function(){_0x416946[_0x00b7('0x17')](0xcc)[_0x00b7('0x18')]();});}};}function handleEntityNotFound(_0x840f2e,_0x124bfe){return function(_0x558e2d){if(!_0x558e2d){_0x840f2e[_0x00b7('0x16')](0x194);}return _0x558e2d;};}function handleError(_0x405296,_0x1464c1){_0x1464c1=_0x1464c1||0x1f4;return function(_0x1064e5){logger[_0x00b7('0x28')](_0x1064e5[_0x00b7('0x29')]);if(_0x1064e5[_0x00b7('0x2a')]){delete _0x1064e5[_0x00b7('0x2a')];}_0x405296[_0x00b7('0x17')](_0x1464c1)[_0x00b7('0x2b')](_0x1064e5);};}exports[_0x00b7('0x2c')]=function(_0x3e3e92,_0x234c5f){var _0x5c46cb={},_0x1a538e={},_0x4f5f5b={'count':0x0,'rows':[]};var _0x3f6699=_[_0x00b7('0x2d')](db['JscriptyProject'][_0x00b7('0x2e')],function(_0x28f24b){return{'name':_0x28f24b[_0x00b7('0x2f')],'type':_0x28f24b[_0x00b7('0x30')][_0x00b7('0x31')]};});_0x1a538e[_0x00b7('0x32')]=_[_0x00b7('0x2d')](_0x3f6699,_0x00b7('0x2a'));_0x1a538e[_0x00b7('0x33')]=_[_0x00b7('0x34')](_0x3e3e92[_0x00b7('0x33')]);_0x1a538e[_0x00b7('0x35')]=_[_0x00b7('0x36')](_0x1a538e[_0x00b7('0x32')],_0x1a538e['query']);_0x5c46cb[_0x00b7('0x37')]=_[_0x00b7('0x36')](_0x1a538e[_0x00b7('0x32')],qs[_0x00b7('0x38')](_0x3e3e92['query'][_0x00b7('0x38')]));_0x5c46cb[_0x00b7('0x37')]=_0x5c46cb[_0x00b7('0x37')][_0x00b7('0x39')]?_0x5c46cb['attributes']:_0x1a538e[_0x00b7('0x32')];if(!_0x3e3e92[_0x00b7('0x33')][_0x00b7('0x3a')](_0x00b7('0x3b'))){_0x5c46cb[_0x00b7('0x1b')]=qs['limit'](_0x3e3e92[_0x00b7('0x33')][_0x00b7('0x1b')]);_0x5c46cb[_0x00b7('0x19')]=qs[_0x00b7('0x19')](_0x3e3e92[_0x00b7('0x33')][_0x00b7('0x19')]);}_0x5c46cb['order']=qs['sort'](_0x3e3e92[_0x00b7('0x33')][_0x00b7('0x3c')]);_0x5c46cb[_0x00b7('0x3d')]=qs[_0x00b7('0x35')](_[_0x00b7('0x3e')](_0x3e3e92[_0x00b7('0x33')],_0x1a538e[_0x00b7('0x35')]),_0x3f6699);if(_0x3e3e92['query'][_0x00b7('0x3f')]){_0x5c46cb[_0x00b7('0x3d')]=_[_0x00b7('0x40')](_0x5c46cb['where'],{'$or':_[_0x00b7('0x2d')](_0x3f6699,function(_0x23bb2a){if(_0x23bb2a[_0x00b7('0x30')]!=='VIRTUAL'){var _0x5717d1={};_0x5717d1[_0x23bb2a[_0x00b7('0x2a')]]={'$like':'%'+_0x3e3e92[_0x00b7('0x33')][_0x00b7('0x3f')]+'%'};return _0x5717d1;}})});}_0x5c46cb=_[_0x00b7('0x40')]({},_0x5c46cb,_0x3e3e92['options']);var _0x2df7b4={'where':_0x5c46cb[_0x00b7('0x3d')]};return db[_0x00b7('0x41')][_0x00b7('0x1c')](_0x2df7b4)[_0x00b7('0x24')](function(_0x3fcaad){_0x4f5f5b[_0x00b7('0x1c')]=_0x3fcaad;if(_0x3e3e92[_0x00b7('0x33')][_0x00b7('0x42')]){_0x5c46cb[_0x00b7('0x43')]=[{'all':!![]}];}return db[_0x00b7('0x41')][_0x00b7('0x44')](_0x5c46cb);})['then'](function(_0x538f40){_0x4f5f5b[_0x00b7('0x45')]=_0x538f40;return _0x4f5f5b;})[_0x00b7('0x24')](respondWithFilteredResult(_0x234c5f,_0x5c46cb))[_0x00b7('0x46')](handleError(_0x234c5f,null));};exports[_0x00b7('0x47')]=function(_0x294688,_0x1e2653){var _0x505e40={'raw':![],'where':{'id':_0x294688[_0x00b7('0x48')]['id']}},_0x50e8de={};_0x50e8de['model']=_[_0x00b7('0x34')](db[_0x00b7('0x41')][_0x00b7('0x2e')]);_0x50e8de['query']=_[_0x00b7('0x34')](_0x294688[_0x00b7('0x33')]);_0x50e8de[_0x00b7('0x35')]=_['intersection'](_0x50e8de[_0x00b7('0x32')],_0x50e8de[_0x00b7('0x33')]);_0x505e40[_0x00b7('0x37')]=_[_0x00b7('0x36')](_0x50e8de['model'],qs[_0x00b7('0x38')](_0x294688[_0x00b7('0x33')][_0x00b7('0x38')]));_0x505e40[_0x00b7('0x37')]=_0x505e40[_0x00b7('0x37')]['length']?_0x505e40[_0x00b7('0x37')]:_0x50e8de[_0x00b7('0x32')];if(_0x294688['query'][_0x00b7('0x42')]){_0x505e40['include']=[{'all':!![]}];}_0x505e40=_[_0x00b7('0x40')]({},_0x505e40,_0x294688['options']);return db['JscriptyProject'][_0x00b7('0x49')](_0x505e40)[_0x00b7('0x24')](handleEntityNotFound(_0x1e2653,null))[_0x00b7('0x24')](respondWithResult(_0x1e2653,null))[_0x00b7('0x46')](handleError(_0x1e2653,null));};exports['create']=function(_0x3047ac,_0x115b7d){return db[_0x00b7('0x41')][_0x00b7('0x4a')](_0x3047ac[_0x00b7('0x4b')],{})['then'](function(_0x56f7f8){var _0xd33777=_0x3047ac[_0x00b7('0x4c')][_0x00b7('0x26')]({'plain':!![]});if(!_0xd33777)throw new Error(_0x00b7('0x4d'));if(_0xd33777[_0x00b7('0x4e')]===_0x00b7('0x4c')){var _0x32747d=_0x56f7f8[_0x00b7('0x26')]({'plain':!![]});var _0x24528f=_0x00b7('0x27');return db['UserProfileSection'][_0x00b7('0x49')]({'where':{'name':_0x24528f,'userProfileId':_0xd33777[_0x00b7('0x4f')]},'raw':!![]})[_0x00b7('0x24')](function(_0x11e779){if(_0x11e779&&_0x11e779[_0x00b7('0x50')]===0x0){return db[_0x00b7('0x51')][_0x00b7('0x4a')]({'name':_0x32747d[_0x00b7('0x2a')],'resourceId':_0x32747d['id'],'type':_0x11e779[_0x00b7('0x2a')],'sectionId':_0x11e779['id']},{})[_0x00b7('0x24')](function(){return _0x56f7f8;});}else{return _0x56f7f8;}})[_0x00b7('0x46')](function(_0x391e3f){logger[_0x00b7('0x28')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x391e3f);throw _0x391e3f;});}return _0x56f7f8;})['then'](respondWithResult(_0x115b7d,0xc9))[_0x00b7('0x46')](handleError(_0x115b7d,null));};exports[_0x00b7('0x52')]=function(_0x10c025,_0x216115){var _0x28731d={'where':{'id':_0x10c025[_0x00b7('0x48')]['id']}},_0x5e36e8={};_0x5e36e8[_0x00b7('0x32')]=_[_0x00b7('0x34')](db[_0x00b7('0x41')]['rawAttributes']);_0x28731d[_0x00b7('0x37')]=_[_0x00b7('0x36')](_0x5e36e8[_0x00b7('0x32')],qs['fields'](_0x10c025[_0x00b7('0x33')][_0x00b7('0x38')]));_0x28731d['attributes']=_0x28731d['attributes'][_0x00b7('0x39')]?_0x28731d[_0x00b7('0x37')]:_0x5e36e8[_0x00b7('0x32')];if(_0x10c025[_0x00b7('0x33')][_0x00b7('0x42')]){_0x28731d['include']=[{'all':!![]}];}_0x28731d=_[_0x00b7('0x40')]({},_0x28731d,_0x10c025[_0x00b7('0x53')]);return db[_0x00b7('0x41')][_0x00b7('0x49')](_0x28731d)[_0x00b7('0x24')](handleEntityNotFound(_0x216115,null))[_0x00b7('0x24')](function(_0x18a7e3){if(_0x18a7e3){var _0x3b4b55=_0x18a7e3['get']({'plain':!![]});_0x3b4b55=qs[_0x00b7('0x54')](_0x3b4b55,['id',_0x00b7('0x55'),'updatedAt']);_0x10c025[_0x00b7('0x4b')]=_[_0x00b7('0x54')](_0x10c025['body'],['id',_0x00b7('0x55'),_0x00b7('0x56')]);return db['JscriptyProject'][_0x00b7('0x4a')](_[_0x00b7('0x40')](_0x3b4b55,_0x10c025[_0x00b7('0x4b')]),{'include':_0x10c025[_0x00b7('0x33')][_0x00b7('0x42')]?[{'all':!![]}]:undefined})[_0x00b7('0x24')](function(_0x2d9539){var _0x27e268=_0x10c025[_0x00b7('0x4c')][_0x00b7('0x26')]({'plain':!![]});if(!_0x27e268)throw new Error(_0x00b7('0x4d'));if(_0x27e268[_0x00b7('0x4e')]===_0x00b7('0x4c')){var _0x3da01a=_0x2d9539[_0x00b7('0x26')]({'plain':!![]});var _0x1e0838=_0x00b7('0x27');return db['UserProfileSection'][_0x00b7('0x49')]({'where':{'name':_0x1e0838,'userProfileId':_0x27e268[_0x00b7('0x4f')]},'raw':!![]})[_0x00b7('0x24')](function(_0x32a17f){if(_0x32a17f&&_0x32a17f['autoAssociation']===0x0){return db['UserProfileResource']['create']({'name':_0x3da01a[_0x00b7('0x2a')],'resourceId':_0x3da01a['id'],'type':_0x32a17f[_0x00b7('0x2a')],'sectionId':_0x32a17f['id']},{})[_0x00b7('0x24')](function(){return _0x2d9539;});}else{return _0x2d9539;}})[_0x00b7('0x46')](function(_0x2f1040){logger['error'](_0x00b7('0x57'),_0x2f1040);throw _0x2f1040;});}return _0x2d9539;});}})[_0x00b7('0x24')](respondWithResult(_0x216115,0xc9))[_0x00b7('0x46')](handleError(_0x216115,null));};exports['update']=function(_0xe28eb6,_0x462901){if(_0xe28eb6['body']['id']){delete _0xe28eb6[_0x00b7('0x4b')]['id'];}return db['JscriptyProject'][_0x00b7('0x49')]({'where':{'id':_0xe28eb6[_0x00b7('0x48')]['id']}})[_0x00b7('0x24')](handleEntityNotFound(_0x462901,null))[_0x00b7('0x24')](saveUpdates(_0xe28eb6['body'],null))[_0x00b7('0x24')](respondWithResult(_0x462901,null))[_0x00b7('0x46')](handleError(_0x462901,null));};exports['destroy']=function(_0x40d1ef,_0x2f36d4){return db['JscriptyProject'][_0x00b7('0x49')]({'where':{'id':_0x40d1ef[_0x00b7('0x48')]['id']}})[_0x00b7('0x24')](handleEntityNotFound(_0x2f36d4,null))[_0x00b7('0x24')](removeEntity(_0x2f36d4,null))[_0x00b7('0x46')](handleError(_0x2f36d4,null));};exports[_0x00b7('0x58')]=function(_0x5f509b,_0x34a507,_0x176f12){var _0x278027={'raw':!![],'where':{}};var _0x38aa68={};var _0x589929={'count':0x0,'rows':[]};return db[_0x00b7('0x41')][_0x00b7('0x59')]({'where':{'id':_0x5f509b[_0x00b7('0x48')]['id']}})[_0x00b7('0x24')](handleEntityNotFound(_0x34a507,null))[_0x00b7('0x24')](function(_0x4bd284){if(_0x4bd284){_0x38aa68[_0x00b7('0x32')]=_[_0x00b7('0x34')](db[_0x00b7('0x5a')][_0x00b7('0x2e')]);_0x38aa68['query']=_[_0x00b7('0x34')](_0x5f509b[_0x00b7('0x33')]);_0x38aa68[_0x00b7('0x35')]=_[_0x00b7('0x36')](_0x38aa68['model'],_0x38aa68[_0x00b7('0x33')]);_0x278027[_0x00b7('0x37')]=_['intersection'](_0x38aa68[_0x00b7('0x32')],qs['fields'](_0x5f509b[_0x00b7('0x33')][_0x00b7('0x38')]));_0x278027['attributes']=_0x278027['attributes']['length']?_0x278027[_0x00b7('0x37')]:_0x38aa68[_0x00b7('0x32')];if(!_0x5f509b[_0x00b7('0x33')][_0x00b7('0x3a')](_0x00b7('0x3b'))){_0x278027[_0x00b7('0x1b')]=qs['limit'](_0x5f509b['query']['limit']);_0x278027['offset']=qs[_0x00b7('0x19')](_0x5f509b['query'][_0x00b7('0x19')]);}_0x278027[_0x00b7('0x5b')]=qs['sort'](_0x5f509b[_0x00b7('0x33')]['sort']);_0x278027[_0x00b7('0x3d')]=qs[_0x00b7('0x35')](_['pick'](_0x5f509b['query'],_0x38aa68['filters']));_0x278027[_0x00b7('0x3d')][_0x00b7('0x5c')]=_0x4bd284['id'];if(_0x5f509b[_0x00b7('0x33')][_0x00b7('0x3f')]){_0x278027[_0x00b7('0x3d')]=_[_0x00b7('0x40')](_0x278027[_0x00b7('0x3d')],{'$or':_[_0x00b7('0x2d')](_0x278027[_0x00b7('0x37')],function(_0x43859c){var _0x198fb5={};_0x198fb5[_0x43859c]={'$like':'%'+_0x5f509b[_0x00b7('0x33')][_0x00b7('0x3f')]+'%'};return _0x198fb5;})});}_0x278027=_[_0x00b7('0x40')]({},_0x278027,_0x5f509b[_0x00b7('0x53')]);return db[_0x00b7('0x5a')][_0x00b7('0x1c')]({'where':_0x278027[_0x00b7('0x3d')]})[_0x00b7('0x24')](function(_0x112fbe){_0x589929[_0x00b7('0x1c')]=_0x112fbe;if(_0x5f509b[_0x00b7('0x33')][_0x00b7('0x42')]){_0x278027['include']=[{'all':!![]}];}return db[_0x00b7('0x5a')][_0x00b7('0x44')](_0x278027);})[_0x00b7('0x24')](function(_0xb18682){_0x589929[_0x00b7('0x45')]=_0xb18682;return _0x589929;});}})[_0x00b7('0x24')](respondWithFilteredResult(_0x34a507,_0x278027))[_0x00b7('0x46')](handleError(_0x34a507,null));};exports['getAnswers']=function(_0x31ca1f,_0x365366,_0x3128d5){var _0x3ebe62={'raw':!![],'where':{}};var _0x4270db={};var _0x4a39b8={'count':0x0,'rows':[]};return db[_0x00b7('0x41')][_0x00b7('0x59')]({'where':{'id':_0x31ca1f[_0x00b7('0x48')]['id']}})[_0x00b7('0x24')](handleEntityNotFound(_0x365366,null))[_0x00b7('0x24')](function(_0x48e6d1){if(_0x48e6d1){_0x4270db[_0x00b7('0x32')]=_[_0x00b7('0x34')](db[_0x00b7('0x5d')][_0x00b7('0x2e')]);_0x4270db[_0x00b7('0x33')]=_[_0x00b7('0x34')](_0x31ca1f['query']);_0x4270db[_0x00b7('0x35')]=_[_0x00b7('0x36')](_0x4270db[_0x00b7('0x32')],_0x4270db['query']);_0x3ebe62[_0x00b7('0x37')]=_[_0x00b7('0x36')](_0x4270db[_0x00b7('0x32')],qs[_0x00b7('0x38')](_0x31ca1f['query'][_0x00b7('0x38')]));_0x3ebe62[_0x00b7('0x37')]=_0x3ebe62['attributes']['length']?_0x3ebe62['attributes']:_0x4270db['model'];if(!_0x31ca1f[_0x00b7('0x33')][_0x00b7('0x3a')](_0x00b7('0x3b'))){_0x3ebe62[_0x00b7('0x1b')]=qs[_0x00b7('0x1b')](_0x31ca1f[_0x00b7('0x33')][_0x00b7('0x1b')]);_0x3ebe62['offset']=qs[_0x00b7('0x19')](_0x31ca1f[_0x00b7('0x33')][_0x00b7('0x19')]);}_0x3ebe62[_0x00b7('0x5b')]=qs[_0x00b7('0x3c')](_0x31ca1f[_0x00b7('0x33')][_0x00b7('0x3c')]);_0x3ebe62[_0x00b7('0x3d')]=qs[_0x00b7('0x35')](_[_0x00b7('0x3e')](_0x31ca1f[_0x00b7('0x33')],_0x4270db['filters']));_0x3ebe62[_0x00b7('0x3d')][_0x00b7('0x5c')]=_0x48e6d1['id'];if(_0x31ca1f[_0x00b7('0x33')][_0x00b7('0x3f')]){_0x3ebe62[_0x00b7('0x3d')]=_[_0x00b7('0x40')](_0x3ebe62[_0x00b7('0x3d')],{'$or':_['map'](_0x3ebe62[_0x00b7('0x37')],function(_0x16cdcc){var _0x306d88={};_0x306d88[_0x16cdcc]={'$like':'%'+_0x31ca1f[_0x00b7('0x33')][_0x00b7('0x3f')]+'%'};return _0x306d88;})});}_0x3ebe62=_[_0x00b7('0x40')]({},_0x3ebe62,_0x31ca1f['options']);return db[_0x00b7('0x5d')][_0x00b7('0x1c')]({'where':_0x3ebe62[_0x00b7('0x3d')]})['then'](function(_0xe689f6){_0x4a39b8['count']=_0xe689f6;if(_0x31ca1f[_0x00b7('0x33')][_0x00b7('0x42')]){_0x3ebe62['include']=[{'all':!![]}];}return db[_0x00b7('0x5d')]['findAll'](_0x3ebe62);})[_0x00b7('0x24')](function(_0x44ccdc){_0x4a39b8['rows']=_0x44ccdc;return _0x4a39b8;});}})[_0x00b7('0x24')](respondWithFilteredResult(_0x365366,_0x3ebe62))[_0x00b7('0x46')](handleError(_0x365366,null));};function char(_0x5ac726){return'number'===typeof _0x5ac726?String['fromCharCode'][_0x00b7('0x20')](null,arguments):_0x5ac726;}function needsEncapsulation(_0x536c4f){return!!_0x536c4f&&(_0x536c4f[_0x00b7('0x5e')]()[_0x00b7('0x5f')](char(0xd))>=0x0||_0x536c4f[_0x00b7('0x5e')]()[_0x00b7('0x5f')](char(0xa))>=0x0||_0x536c4f[_0x00b7('0x5e')]()[_0x00b7('0x5f')](char(0x2c))>=0x0||_0x536c4f[_0x00b7('0x5e')]()[_0x00b7('0x5f')](char(0x22))>=0x0);}function encapsulate(_0x3e55b8){var _0x4ae0ab=char(0x22),_0x4734da='\x5c'+char(0x22),_0x338885=_0x3e55b8[_0x00b7('0x5e')]()['replace'](new RegExp(_0x4ae0ab,'g'),_0x4734da);return _0x4ae0ab+_0x338885+_0x4ae0ab;}exports[_0x00b7('0x60')]=function(_0x5e05e8,_0x4dcbaf,_0x19fa39){var _0x1deb98,_0x214b19;var _0x51da94={'where':{'ProjectId':_0x5e05e8['params']['id']}};if(_0x5e05e8['query']['startTime']){_0x51da94[_0x00b7('0x3d')][_0x00b7('0x61')]=JSON['parse'](_0x5e05e8['query'][_0x00b7('0x62')]);}return db[_0x00b7('0x5a')]['findAll'](_0x51da94)['then'](handleEntityNotFound(_0x4dcbaf,null))['then'](function(_0x262a51){if(_0x262a51){_0x1deb98=_0x262a51;return db[_0x00b7('0x63')][_0x00b7('0x44')]({'where':{'SessionId':{'$in':_[_0x00b7('0x2d')](_0x1deb98,'id')},'ProjectId':_0x5e05e8['params']['id']},'order':_0x00b7('0x64')});}})[_0x00b7('0x24')](handleEntityNotFound(_0x4dcbaf,null))[_0x00b7('0x24')](function(_0xf8b743){if(_0xf8b743){_0x214b19=_0xf8b743;var _0x3227b6={};for(var _0x5a5359=0x0,_0x219b09=_0x214b19[_0x00b7('0x39')];_0x5a5359<_0x219b09;_0x5a5359++){if(!_0x3227b6['hasOwnProperty'](_0x214b19[_0x5a5359][_0x00b7('0x65')])){_0x3227b6[_0x214b19[_0x5a5359][_0x00b7('0x65')]]=needsEncapsulation(_0x214b19[_0x5a5359][_0x00b7('0x66')])?encapsulate(_0x214b19[_0x5a5359][_0x00b7('0x66')]):_0x214b19[_0x5a5359]['question'];}}var _0x406e35=[],_0x3a5253={};for(var _0x1fd180=0x0,_0x5bb006=_0x1deb98[_0x00b7('0x39')];_0x1fd180<_0x5bb006;_0x1fd180++){_0x3a5253={'ProjectId':_0x5e05e8['params']['id'],'SessionId':_0x1deb98[_0x1fd180]['id'],'StartTime':moment(_0x1deb98[_0x1fd180]['starttime'])['format'](_0x00b7('0x67'))};for(var _0x3ca55e=0x0,_0x52a287=_0x214b19[_0x00b7('0x39')];_0x3ca55e<_0x52a287;_0x3ca55e++){if(_0x214b19[_0x3ca55e][_0x00b7('0x68')]==_0x1deb98[_0x1fd180]['id']&&_0x3227b6['hasOwnProperty'](_0x214b19[_0x3ca55e][_0x00b7('0x65')])){_0x3a5253[_0x3227b6[_0x214b19[_0x3ca55e][_0x00b7('0x65')]]]=_0x214b19[_0x3ca55e]['answer'];}}for(var _0x177e02 in _0x3227b6){if(!_0x3a5253[_0x00b7('0x3a')](_0x3227b6[_0x177e02])){_0x3a5253[_0x3227b6[_0x177e02]]=null;}}_0x406e35[_0x00b7('0x69')](_0x3a5253);}return _0x406e35;}})[_0x00b7('0x24')](function(_0x5b59b4){if(!_[_0x00b7('0x6a')](_0x5b59b4)){var _0x13e384=toCsv(_0x5b59b4);var _0x1ee833=Date[_0x00b7('0x6b')]();fs[_0x00b7('0x6c')](util[_0x00b7('0x6d')](_0x00b7('0x6e'),_0x5e05e8[_0x00b7('0x48')]['id'],_0x1ee833),_0x13e384);_0x4dcbaf['setHeader'](_0x00b7('0x6f'),_0x00b7('0x70')+util[_0x00b7('0x6d')]('Jscripty_Project_%d_Summary_%s.csv',_0x5e05e8[_0x00b7('0x48')]['id'],_0x1ee833));_0x4dcbaf[_0x00b7('0x71')]('Content-type',_0x00b7('0x72'));return _0x4dcbaf[_0x00b7('0x73')](util['format'](_0x00b7('0x6e'),_0x5e05e8['params']['id'],_0x1ee833));}else{return _0x4dcbaf[_0x00b7('0x16')](0xcc);}})[_0x00b7('0x46')](handleError(_0x4dcbaf,null));};