Built motion from commit da617fac.|2.6.6
[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 _0x184d=['YYYY-MM-DD\x20HH:mm:ss','SessionId','push','isEmpty','now','writeFileSync','/tmp/Jscripty_Project_%d_Summary_%s.csv','Content-disposition','Jscripty_Project_%d_Summary_%s.csv','setHeader','text/csv','download','rimraf','bluebird','mustache','util','path','sox','to-csv','squel','crypto','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','update','then','Projects','UserProfileResource','error','name','send','index','JscriptyProject','rawAttributes','fieldName','type','key','model','map','query','keys','filters','attributes','intersection','fields','length','nolimit','order','sort','where','filter','merge','VIRTUAL','includeAll','include','rows','catch','show','find','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','autoAssociation','clone','params','omit','createdAt','updatedAt','UserProfileSection','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getSessions','findOne','JscriptySessionReport','hasOwnProperty','ProjectId','options','findAll','getAnswers','JscriptyAnswerReport','number','fromCharCode','toString','indexOf','replace','starttime','startTime','-createdAt','questionId','question','format'];(function(_0x5d8ee1,_0x3626cb){var _0x2e312b=function(_0x237770){while(--_0x237770){_0x5d8ee1['push'](_0x5d8ee1['shift']());}};_0x2e312b(++_0x3626cb);}(_0x184d,0x1d0));var _0xd184=function(_0x5627e1,_0x1b2dbf){_0x5627e1=_0x5627e1-0x0;var _0x2f013f=_0x184d[_0x5627e1];return _0x2f013f;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xd184('0x0'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xd184('0x1'));var Mustache=require(_0xd184('0x2'));var util=require(_0xd184('0x3'));var path=require(_0xd184('0x4'));var sox=require(_0xd184('0x5'));var csv=require(_0xd184('0x6'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0xd184('0x7'));var crypto=require(_0xd184('0x8'));var jsforce=require('jsforce');var deskjs=require(_0xd184('0x9'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0xd184('0xa'));var Redis=require(_0xd184('0xb'));var authService=require(_0xd184('0xc'));var qs=require(_0xd184('0xd'));var as=require(_0xd184('0xe'));var hardwareService=require(_0xd184('0xf'));var logger=require('../../config/logger')(_0xd184('0x10'));var utils=require(_0xd184('0x11'));var config=require(_0xd184('0x12'));var licenseUtil=require('../../config/license/util');var db=require(_0xd184('0x13'))['db'];function respondWithStatusCode(_0x5e5585,_0x33b94c){_0x33b94c=_0x33b94c||0xcc;return function(_0x3e27db){if(_0x3e27db){return _0x5e5585[_0xd184('0x14')](_0x33b94c);}return _0x5e5585[_0xd184('0x15')](_0x33b94c)[_0xd184('0x16')]();};}function respondWithResult(_0x7dc346,_0x5a13eb){_0x5a13eb=_0x5a13eb||0xc8;return function(_0x35a0f5){if(_0x35a0f5){return _0x7dc346[_0xd184('0x15')](_0x5a13eb)[_0xd184('0x17')](_0x35a0f5);}};}function respondWithFilteredResult(_0x313c07,_0x712577){return function(_0x316f4a){if(_0x316f4a){var _0x3fe670=typeof _0x712577[_0xd184('0x18')]===_0xd184('0x19')&&typeof _0x712577[_0xd184('0x1a')]==='undefined';var _0x48203f=_0x316f4a['count'];var _0x2584f8=_0x3fe670?0x0:_0x712577[_0xd184('0x18')];var _0x3dd63e=_0x3fe670?_0x316f4a[_0xd184('0x1b')]:_0x712577[_0xd184('0x18')]+_0x712577[_0xd184('0x1a')];var _0x2f9f39;if(_0x3dd63e>=_0x48203f){_0x3dd63e=_0x48203f;_0x2f9f39=0xc8;}else{_0x2f9f39=0xce;}_0x313c07['status'](_0x2f9f39);return _0x313c07[_0xd184('0x1c')](_0xd184('0x1d'),_0x2584f8+'-'+_0x3dd63e+'/'+_0x48203f)[_0xd184('0x17')](_0x316f4a);}return null;};}function patchUpdates(_0x38bbaf){return function(_0x92a5f9){try{jsonpatch[_0xd184('0x1e')](_0x92a5f9,_0x38bbaf,!![]);}catch(_0x540294){return BPromise[_0xd184('0x1f')](_0x540294);}return _0x92a5f9['save']();};}function saveUpdates(_0x1318a7,_0x2fc10d){return function(_0x1cae70){if(_0x1cae70){return _0x1cae70[_0xd184('0x20')](_0x1318a7)[_0xd184('0x21')](function(_0x1aeafb){return _0x1aeafb;});}return null;};}function removeEntity(_0x52b84b,_0x5398b5){return function(_0x466307){if(_0x466307){return _0x466307['destroy']()['then'](function(){var _0xcb670d=_0x466307['get']({'plain':!![]});var _0x5ae859=_0xd184('0x22');return db[_0xd184('0x23')]['destroy']({'where':{'type':_0x5ae859,'resourceId':_0xcb670d['id']}})[_0xd184('0x21')](function(){return _0x466307;});})[_0xd184('0x21')](function(){_0x52b84b[_0xd184('0x15')](0xcc)[_0xd184('0x16')]();});}};}function handleEntityNotFound(_0x1cdd3e,_0x1f8c99){return function(_0x116254){if(!_0x116254){_0x1cdd3e[_0xd184('0x14')](0x194);}return _0x116254;};}function handleError(_0x201088,_0x3c4c18){_0x3c4c18=_0x3c4c18||0x1f4;return function(_0x540b6d){logger[_0xd184('0x24')](_0x540b6d['stack']);if(_0x540b6d[_0xd184('0x25')]){delete _0x540b6d[_0xd184('0x25')];}_0x201088['status'](_0x3c4c18)[_0xd184('0x26')](_0x540b6d);};}exports[_0xd184('0x27')]=function(_0x3dbdb7,_0x652273){var _0x202dd0={},_0x4b12d1={},_0x3e37e7={'count':0x0,'rows':[]};var _0x2f77c4=_['map'](db[_0xd184('0x28')][_0xd184('0x29')],function(_0xf9167e){return{'name':_0xf9167e[_0xd184('0x2a')],'type':_0xf9167e[_0xd184('0x2b')][_0xd184('0x2c')]};});_0x4b12d1[_0xd184('0x2d')]=_[_0xd184('0x2e')](_0x2f77c4,_0xd184('0x25'));_0x4b12d1[_0xd184('0x2f')]=_[_0xd184('0x30')](_0x3dbdb7[_0xd184('0x2f')]);_0x4b12d1[_0xd184('0x31')]=_['intersection'](_0x4b12d1['model'],_0x4b12d1[_0xd184('0x2f')]);_0x202dd0[_0xd184('0x32')]=_[_0xd184('0x33')](_0x4b12d1[_0xd184('0x2d')],qs[_0xd184('0x34')](_0x3dbdb7[_0xd184('0x2f')]['fields']));_0x202dd0[_0xd184('0x32')]=_0x202dd0['attributes'][_0xd184('0x35')]?_0x202dd0['attributes']:_0x4b12d1[_0xd184('0x2d')];if(!_0x3dbdb7[_0xd184('0x2f')]['hasOwnProperty'](_0xd184('0x36'))){_0x202dd0[_0xd184('0x1a')]=qs[_0xd184('0x1a')](_0x3dbdb7[_0xd184('0x2f')][_0xd184('0x1a')]);_0x202dd0[_0xd184('0x18')]=qs['offset'](_0x3dbdb7['query'][_0xd184('0x18')]);}_0x202dd0[_0xd184('0x37')]=qs['sort'](_0x3dbdb7[_0xd184('0x2f')][_0xd184('0x38')]);_0x202dd0[_0xd184('0x39')]=qs[_0xd184('0x31')](_['pick'](_0x3dbdb7[_0xd184('0x2f')],_0x4b12d1[_0xd184('0x31')]),_0x2f77c4);if(_0x3dbdb7['query'][_0xd184('0x3a')]){_0x202dd0['where']=_[_0xd184('0x3b')](_0x202dd0[_0xd184('0x39')],{'$or':_['map'](_0x2f77c4,function(_0x1508d9){if(_0x1508d9[_0xd184('0x2b')]!==_0xd184('0x3c')){var _0x3aae38={};_0x3aae38[_0x1508d9['name']]={'$like':'%'+_0x3dbdb7[_0xd184('0x2f')]['filter']+'%'};return _0x3aae38;}})});}_0x202dd0=_[_0xd184('0x3b')]({},_0x202dd0,_0x3dbdb7['options']);var _0x165f5b={'where':_0x202dd0[_0xd184('0x39')]};return db[_0xd184('0x28')][_0xd184('0x1b')](_0x165f5b)[_0xd184('0x21')](function(_0x1e7afa){_0x3e37e7['count']=_0x1e7afa;if(_0x3dbdb7[_0xd184('0x2f')][_0xd184('0x3d')]){_0x202dd0[_0xd184('0x3e')]=[{'all':!![]}];}return db[_0xd184('0x28')]['findAll'](_0x202dd0);})[_0xd184('0x21')](function(_0x52839b){_0x3e37e7[_0xd184('0x3f')]=_0x52839b;return _0x3e37e7;})[_0xd184('0x21')](respondWithFilteredResult(_0x652273,_0x202dd0))[_0xd184('0x40')](handleError(_0x652273,null));};exports[_0xd184('0x41')]=function(_0x11cbe,_0x15f8fc){var _0x394004={'raw':![],'where':{'id':_0x11cbe['params']['id']}},_0x75d871={};_0x75d871[_0xd184('0x2d')]=_[_0xd184('0x30')](db[_0xd184('0x28')][_0xd184('0x29')]);_0x75d871['query']=_[_0xd184('0x30')](_0x11cbe['query']);_0x75d871['filters']=_[_0xd184('0x33')](_0x75d871['model'],_0x75d871['query']);_0x394004[_0xd184('0x32')]=_[_0xd184('0x33')](_0x75d871[_0xd184('0x2d')],qs[_0xd184('0x34')](_0x11cbe[_0xd184('0x2f')][_0xd184('0x34')]));_0x394004[_0xd184('0x32')]=_0x394004[_0xd184('0x32')][_0xd184('0x35')]?_0x394004[_0xd184('0x32')]:_0x75d871[_0xd184('0x2d')];if(_0x11cbe['query'][_0xd184('0x3d')]){_0x394004[_0xd184('0x3e')]=[{'all':!![]}];}_0x394004=_['merge']({},_0x394004,_0x11cbe['options']);return db[_0xd184('0x28')][_0xd184('0x42')](_0x394004)[_0xd184('0x21')](handleEntityNotFound(_0x15f8fc,null))[_0xd184('0x21')](respondWithResult(_0x15f8fc,null))[_0xd184('0x40')](handleError(_0x15f8fc,null));};exports[_0xd184('0x43')]=function(_0x452fb7,_0x553929){return db['JscriptyProject'][_0xd184('0x43')](_0x452fb7[_0xd184('0x44')],{})[_0xd184('0x21')](function(_0x4b44f4){var _0x1b1ea0=_0x452fb7[_0xd184('0x45')][_0xd184('0x46')]({'plain':!![]});if(!_0x1b1ea0)throw new Error(_0xd184('0x47'));if(_0x1b1ea0[_0xd184('0x48')]===_0xd184('0x45')){var _0x53a103=_0x4b44f4['get']({'plain':!![]});var _0x157c06=_0xd184('0x22');return db['UserProfileSection'][_0xd184('0x42')]({'where':{'name':_0x157c06,'userProfileId':_0x1b1ea0['userProfileId']},'raw':!![]})[_0xd184('0x21')](function(_0x4651a9){if(_0x4651a9&&_0x4651a9[_0xd184('0x49')]===0x0){return db[_0xd184('0x23')]['create']({'name':_0x53a103['name'],'resourceId':_0x53a103['id'],'type':_0x4651a9[_0xd184('0x25')],'sectionId':_0x4651a9['id']},{})[_0xd184('0x21')](function(){return _0x4b44f4;});}else{return _0x4b44f4;}})[_0xd184('0x40')](function(_0x5778d5){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x5778d5);throw _0x5778d5;});}return _0x4b44f4;})[_0xd184('0x21')](respondWithResult(_0x553929,0xc9))[_0xd184('0x40')](handleError(_0x553929,null));};exports[_0xd184('0x4a')]=function(_0xb97b3,_0x2d89d5){var _0x5120da={'where':{'id':_0xb97b3[_0xd184('0x4b')]['id']}},_0x32f59c={};_0x32f59c['model']=_[_0xd184('0x30')](db[_0xd184('0x28')][_0xd184('0x29')]);_0x5120da[_0xd184('0x32')]=_[_0xd184('0x33')](_0x32f59c['model'],qs[_0xd184('0x34')](_0xb97b3[_0xd184('0x2f')][_0xd184('0x34')]));_0x5120da[_0xd184('0x32')]=_0x5120da[_0xd184('0x32')][_0xd184('0x35')]?_0x5120da['attributes']:_0x32f59c[_0xd184('0x2d')];if(_0xb97b3[_0xd184('0x2f')][_0xd184('0x3d')]){_0x5120da[_0xd184('0x3e')]=[{'all':!![]}];}_0x5120da=_[_0xd184('0x3b')]({},_0x5120da,_0xb97b3['options']);return db[_0xd184('0x28')]['find'](_0x5120da)['then'](handleEntityNotFound(_0x2d89d5,null))['then'](function(_0x10bbfb){if(_0x10bbfb){var _0x2e9036=_0x10bbfb[_0xd184('0x46')]({'plain':!![]});_0x2e9036=qs[_0xd184('0x4c')](_0x2e9036,['id',_0xd184('0x4d'),_0xd184('0x4e')]);_0xb97b3[_0xd184('0x44')]=_['omit'](_0xb97b3[_0xd184('0x44')],['id',_0xd184('0x4d'),_0xd184('0x4e')]);return db['JscriptyProject'][_0xd184('0x43')](_[_0xd184('0x3b')](_0x2e9036,_0xb97b3[_0xd184('0x44')]),{'include':_0xb97b3[_0xd184('0x2f')][_0xd184('0x3d')]?[{'all':!![]}]:undefined})[_0xd184('0x21')](function(_0x58c43c){var _0xe569e=_0xb97b3[_0xd184('0x45')][_0xd184('0x46')]({'plain':!![]});if(!_0xe569e)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0xe569e[_0xd184('0x48')]===_0xd184('0x45')){var _0x4ac2a5=_0x58c43c[_0xd184('0x46')]({'plain':!![]});var _0x22a1ef='Projects';return db[_0xd184('0x4f')][_0xd184('0x42')]({'where':{'name':_0x22a1ef,'userProfileId':_0xe569e['userProfileId']},'raw':!![]})[_0xd184('0x21')](function(_0x3aeefb){if(_0x3aeefb&&_0x3aeefb[_0xd184('0x49')]===0x0){return db[_0xd184('0x23')][_0xd184('0x43')]({'name':_0x4ac2a5['name'],'resourceId':_0x4ac2a5['id'],'type':_0x3aeefb[_0xd184('0x25')],'sectionId':_0x3aeefb['id']},{})[_0xd184('0x21')](function(){return _0x58c43c;});}else{return _0x58c43c;}})['catch'](function(_0x4c8da6){logger['error'](_0xd184('0x50'),_0x4c8da6);throw _0x4c8da6;});}return _0x58c43c;});}})['then'](respondWithResult(_0x2d89d5,0xc9))[_0xd184('0x40')](handleError(_0x2d89d5,null));};exports[_0xd184('0x20')]=function(_0x5bafb9,_0x4dedf6){if(_0x5bafb9[_0xd184('0x44')]['id']){delete _0x5bafb9[_0xd184('0x44')]['id'];}return db['JscriptyProject'][_0xd184('0x42')]({'where':{'id':_0x5bafb9[_0xd184('0x4b')]['id']}})[_0xd184('0x21')](handleEntityNotFound(_0x4dedf6,null))[_0xd184('0x21')](saveUpdates(_0x5bafb9['body'],null))['then'](respondWithResult(_0x4dedf6,null))['catch'](handleError(_0x4dedf6,null));};exports['destroy']=function(_0x3916f4,_0x596e03){return db[_0xd184('0x28')][_0xd184('0x42')]({'where':{'id':_0x3916f4[_0xd184('0x4b')]['id']}})[_0xd184('0x21')](handleEntityNotFound(_0x596e03,null))[_0xd184('0x21')](removeEntity(_0x596e03,null))[_0xd184('0x40')](handleError(_0x596e03,null));};exports[_0xd184('0x51')]=function(_0x5f1c62,_0x2b29b9,_0x36d131){var _0x165206={'raw':!![],'where':{}};var _0x17d2e7={};var _0x46bccf={'count':0x0,'rows':[]};return db[_0xd184('0x28')][_0xd184('0x52')]({'where':{'id':_0x5f1c62['params']['id']}})[_0xd184('0x21')](handleEntityNotFound(_0x2b29b9,null))['then'](function(_0x477553){if(_0x477553){_0x17d2e7[_0xd184('0x2d')]=_[_0xd184('0x30')](db[_0xd184('0x53')][_0xd184('0x29')]);_0x17d2e7[_0xd184('0x2f')]=_[_0xd184('0x30')](_0x5f1c62[_0xd184('0x2f')]);_0x17d2e7['filters']=_[_0xd184('0x33')](_0x17d2e7[_0xd184('0x2d')],_0x17d2e7[_0xd184('0x2f')]);_0x165206['attributes']=_['intersection'](_0x17d2e7['model'],qs[_0xd184('0x34')](_0x5f1c62[_0xd184('0x2f')][_0xd184('0x34')]));_0x165206[_0xd184('0x32')]=_0x165206[_0xd184('0x32')][_0xd184('0x35')]?_0x165206['attributes']:_0x17d2e7[_0xd184('0x2d')];if(!_0x5f1c62[_0xd184('0x2f')][_0xd184('0x54')](_0xd184('0x36'))){_0x165206[_0xd184('0x1a')]=qs[_0xd184('0x1a')](_0x5f1c62[_0xd184('0x2f')][_0xd184('0x1a')]);_0x165206['offset']=qs[_0xd184('0x18')](_0x5f1c62[_0xd184('0x2f')]['offset']);}_0x165206[_0xd184('0x37')]=qs[_0xd184('0x38')](_0x5f1c62[_0xd184('0x2f')][_0xd184('0x38')]);_0x165206[_0xd184('0x39')]=qs['filters'](_['pick'](_0x5f1c62[_0xd184('0x2f')],_0x17d2e7[_0xd184('0x31')]));_0x165206[_0xd184('0x39')][_0xd184('0x55')]=_0x477553['id'];if(_0x5f1c62[_0xd184('0x2f')][_0xd184('0x3a')]){_0x165206[_0xd184('0x39')]=_[_0xd184('0x3b')](_0x165206['where'],{'$or':_[_0xd184('0x2e')](_0x165206['attributes'],function(_0x71149e){var _0x918e6f={};_0x918e6f[_0x71149e]={'$like':'%'+_0x5f1c62[_0xd184('0x2f')]['filter']+'%'};return _0x918e6f;})});}_0x165206=_[_0xd184('0x3b')]({},_0x165206,_0x5f1c62[_0xd184('0x56')]);return db[_0xd184('0x53')][_0xd184('0x1b')]({'where':_0x165206[_0xd184('0x39')]})[_0xd184('0x21')](function(_0x4d076d){_0x46bccf[_0xd184('0x1b')]=_0x4d076d;if(_0x5f1c62[_0xd184('0x2f')][_0xd184('0x3d')]){_0x165206['include']=[{'all':!![]}];}return db[_0xd184('0x53')][_0xd184('0x57')](_0x165206);})[_0xd184('0x21')](function(_0x253b7b){_0x46bccf[_0xd184('0x3f')]=_0x253b7b;return _0x46bccf;});}})[_0xd184('0x21')](respondWithFilteredResult(_0x2b29b9,_0x165206))['catch'](handleError(_0x2b29b9,null));};exports[_0xd184('0x58')]=function(_0x498866,_0x29e0fb,_0x15ea6b){var _0x13c1c2={'raw':!![],'where':{}};var _0x10aef3={};var _0x499546={'count':0x0,'rows':[]};return db[_0xd184('0x28')][_0xd184('0x52')]({'where':{'id':_0x498866[_0xd184('0x4b')]['id']}})[_0xd184('0x21')](handleEntityNotFound(_0x29e0fb,null))[_0xd184('0x21')](function(_0x289e71){if(_0x289e71){_0x10aef3[_0xd184('0x2d')]=_[_0xd184('0x30')](db[_0xd184('0x59')][_0xd184('0x29')]);_0x10aef3[_0xd184('0x2f')]=_[_0xd184('0x30')](_0x498866['query']);_0x10aef3['filters']=_[_0xd184('0x33')](_0x10aef3[_0xd184('0x2d')],_0x10aef3[_0xd184('0x2f')]);_0x13c1c2[_0xd184('0x32')]=_[_0xd184('0x33')](_0x10aef3[_0xd184('0x2d')],qs[_0xd184('0x34')](_0x498866['query'][_0xd184('0x34')]));_0x13c1c2[_0xd184('0x32')]=_0x13c1c2['attributes'][_0xd184('0x35')]?_0x13c1c2[_0xd184('0x32')]:_0x10aef3[_0xd184('0x2d')];if(!_0x498866[_0xd184('0x2f')]['hasOwnProperty'](_0xd184('0x36'))){_0x13c1c2[_0xd184('0x1a')]=qs['limit'](_0x498866[_0xd184('0x2f')]['limit']);_0x13c1c2[_0xd184('0x18')]=qs[_0xd184('0x18')](_0x498866[_0xd184('0x2f')]['offset']);}_0x13c1c2['order']=qs[_0xd184('0x38')](_0x498866[_0xd184('0x2f')][_0xd184('0x38')]);_0x13c1c2[_0xd184('0x39')]=qs[_0xd184('0x31')](_['pick'](_0x498866[_0xd184('0x2f')],_0x10aef3[_0xd184('0x31')]));_0x13c1c2[_0xd184('0x39')][_0xd184('0x55')]=_0x289e71['id'];if(_0x498866['query']['filter']){_0x13c1c2[_0xd184('0x39')]=_[_0xd184('0x3b')](_0x13c1c2[_0xd184('0x39')],{'$or':_['map'](_0x13c1c2[_0xd184('0x32')],function(_0x4d276a){var _0xe6118e={};_0xe6118e[_0x4d276a]={'$like':'%'+_0x498866[_0xd184('0x2f')][_0xd184('0x3a')]+'%'};return _0xe6118e;})});}_0x13c1c2=_[_0xd184('0x3b')]({},_0x13c1c2,_0x498866[_0xd184('0x56')]);return db[_0xd184('0x59')]['count']({'where':_0x13c1c2[_0xd184('0x39')]})[_0xd184('0x21')](function(_0x466c3c){_0x499546[_0xd184('0x1b')]=_0x466c3c;if(_0x498866[_0xd184('0x2f')][_0xd184('0x3d')]){_0x13c1c2['include']=[{'all':!![]}];}return db[_0xd184('0x59')][_0xd184('0x57')](_0x13c1c2);})[_0xd184('0x21')](function(_0x425190){_0x499546[_0xd184('0x3f')]=_0x425190;return _0x499546;});}})[_0xd184('0x21')](respondWithFilteredResult(_0x29e0fb,_0x13c1c2))[_0xd184('0x40')](handleError(_0x29e0fb,null));};function char(_0x407617){return _0xd184('0x5a')===typeof _0x407617?String[_0xd184('0x5b')][_0xd184('0x1e')](null,arguments):_0x407617;}function needsEncapsulation(_0x3c0c23){return!!_0x3c0c23&&(_0x3c0c23[_0xd184('0x5c')]()[_0xd184('0x5d')](char(0xd))>=0x0||_0x3c0c23[_0xd184('0x5c')]()[_0xd184('0x5d')](char(0xa))>=0x0||_0x3c0c23[_0xd184('0x5c')]()[_0xd184('0x5d')](char(0x2c))>=0x0||_0x3c0c23[_0xd184('0x5c')]()[_0xd184('0x5d')](char(0x22))>=0x0);}function encapsulate(_0x1c842f){var _0x589b5b=char(0x22),_0x39e09e='\x5c'+char(0x22),_0x27a697=_0x1c842f['toString']()[_0xd184('0x5e')](new RegExp(_0x589b5b,'g'),_0x39e09e);return _0x589b5b+_0x27a697+_0x589b5b;}exports['getSummary']=function(_0x4d258e,_0x5e6452,_0x5977ba){var _0x15fcd5,_0x491cf9;var _0x18569e={'where':{'ProjectId':_0x4d258e[_0xd184('0x4b')]['id']}};if(_0x4d258e[_0xd184('0x2f')]['startTime']){_0x18569e[_0xd184('0x39')][_0xd184('0x5f')]=JSON['parse'](_0x4d258e['query'][_0xd184('0x60')]);}return db[_0xd184('0x53')][_0xd184('0x57')](_0x18569e)['then'](handleEntityNotFound(_0x5e6452,null))[_0xd184('0x21')](function(_0x3a42d4){if(_0x3a42d4){_0x15fcd5=_0x3a42d4;return db['JscriptyQuestionReport']['findAll']({'where':{'SessionId':{'$in':_['map'](_0x15fcd5,'id')},'ProjectId':_0x4d258e['params']['id']},'order':_0xd184('0x61')});}})[_0xd184('0x21')](handleEntityNotFound(_0x5e6452,null))[_0xd184('0x21')](function(_0x386b28){if(_0x386b28){_0x491cf9=_0x386b28;var _0x3b5831={};for(var _0xe1f8be=0x0,_0x42097c=_0x491cf9[_0xd184('0x35')];_0xe1f8be<_0x42097c;_0xe1f8be++){if(!_0x3b5831[_0xd184('0x54')](_0x491cf9[_0xe1f8be][_0xd184('0x62')])){_0x3b5831[_0x491cf9[_0xe1f8be][_0xd184('0x62')]]=needsEncapsulation(_0x491cf9[_0xe1f8be][_0xd184('0x63')])?encapsulate(_0x491cf9[_0xe1f8be][_0xd184('0x63')]):_0x491cf9[_0xe1f8be][_0xd184('0x63')];}}var _0x37c9a8=[],_0x5521a4={};for(var _0xe7a5c7=0x0,_0x33a28b=_0x15fcd5[_0xd184('0x35')];_0xe7a5c7<_0x33a28b;_0xe7a5c7++){_0x5521a4={'ProjectId':_0x4d258e[_0xd184('0x4b')]['id'],'SessionId':_0x15fcd5[_0xe7a5c7]['id'],'StartTime':moment(_0x15fcd5[_0xe7a5c7][_0xd184('0x5f')])[_0xd184('0x64')](_0xd184('0x65'))};for(var _0xfafafe=0x0,_0x3d80c1=_0x491cf9[_0xd184('0x35')];_0xfafafe<_0x3d80c1;_0xfafafe++){if(_0x491cf9[_0xfafafe][_0xd184('0x66')]==_0x15fcd5[_0xe7a5c7]['id']&&_0x3b5831['hasOwnProperty'](_0x491cf9[_0xfafafe][_0xd184('0x62')])){_0x5521a4[_0x3b5831[_0x491cf9[_0xfafafe][_0xd184('0x62')]]]=_0x491cf9[_0xfafafe]['answer'];}}for(var _0xdb85d5 in _0x3b5831){if(!_0x5521a4[_0xd184('0x54')](_0x3b5831[_0xdb85d5])){_0x5521a4[_0x3b5831[_0xdb85d5]]=null;}}_0x37c9a8[_0xd184('0x67')](_0x5521a4);}return _0x37c9a8;}})['then'](function(_0x3b826c){if(!_[_0xd184('0x68')](_0x3b826c)){var _0xd33e6=toCsv(_0x3b826c);var _0x3414be=Date[_0xd184('0x69')]();fs[_0xd184('0x6a')](util['format'](_0xd184('0x6b'),_0x4d258e[_0xd184('0x4b')]['id'],_0x3414be),_0xd33e6);_0x5e6452['setHeader'](_0xd184('0x6c'),'attachment;\x20filename='+util[_0xd184('0x64')](_0xd184('0x6d'),_0x4d258e['params']['id'],_0x3414be));_0x5e6452[_0xd184('0x6e')]('Content-type',_0xd184('0x6f'));return _0x5e6452[_0xd184('0x70')](util['format']('/tmp/Jscripty_Project_%d_Summary_%s.csv',_0x4d258e['params']['id'],_0x3414be));}else{return _0x5e6452[_0xd184('0x14')](0xcc);}})[_0xd184('0x40')](handleError(_0x5e6452,null));};