Built motion from commit e1760111.|2.6.18
[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 _0xffe1=['sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','autoAssociation','clone','find','get','omit','createdAt','updatedAt','findOne','JscriptySessionReport','ProjectId','JscriptyAnswerReport','fromCharCode','toString','indexOf','replace','getSummary','startTime','starttime','parse','questionId','question','format','YYYY-MM-DD\x20HH:mm:ss','SessionId','/tmp/Jscripty_Project_%d_Summary_%s.csv','Content-disposition','attachment;\x20filename=','Jscripty_Project_%d_Summary_%s.csv','setHeader','Content-type','text/csv','download','eml-format','rimraf','fast-json-patch','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','json','offset','count','set','Content-Range','apply','update','destroy','then','Projects','UserProfileResource','error','stack','name','send','index','map','JscriptyProject','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','order'];(function(_0x4329e3,_0x1f3cd4){var _0x516af5=function(_0xc0e51b){while(--_0xc0e51b){_0x4329e3['push'](_0x4329e3['shift']());}};_0x516af5(++_0x1f3cd4);}(_0xffe1,0x187));var _0x1ffe=function(_0x2798bd,_0x362b97){_0x2798bd=_0x2798bd-0x0;var _0x47e3cc=_0xffe1[_0x2798bd];return _0x47e3cc;};'use strict';var emlformat=require(_0x1ffe('0x0'));var rimraf=require(_0x1ffe('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x1ffe('0x2'));var rp=require('request-promise');var moment=require(_0x1ffe('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x1ffe('0x4'));var util=require(_0x1ffe('0x5'));var path=require(_0x1ffe('0x6'));var sox=require(_0x1ffe('0x7'));var csv=require(_0x1ffe('0x8'));var ejs=require(_0x1ffe('0x9'));var fs=require('fs');var fs_extra=require(_0x1ffe('0xa'));var _=require(_0x1ffe('0xb'));var squel=require(_0x1ffe('0xc'));var crypto=require('crypto');var jsforce=require(_0x1ffe('0xd'));var deskjs=require('desk.js');var toCsv=require(_0x1ffe('0x8'));var querystring=require('querystring');var Papa=require(_0x1ffe('0xe'));var Redis=require('ioredis');var authService=require(_0x1ffe('0xf'));var qs=require(_0x1ffe('0x10'));var as=require(_0x1ffe('0x11'));var hardwareService=require(_0x1ffe('0x12'));var logger=require(_0x1ffe('0x13'))(_0x1ffe('0x14'));var utils=require(_0x1ffe('0x15'));var config=require(_0x1ffe('0x16'));var licenseUtil=require(_0x1ffe('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x5ebb12,_0x3b925b){_0x3b925b=_0x3b925b||0xcc;return function(_0x32c382){if(_0x32c382){return _0x5ebb12[_0x1ffe('0x18')](_0x3b925b);}return _0x5ebb12[_0x1ffe('0x19')](_0x3b925b)[_0x1ffe('0x1a')]();};}function respondWithResult(_0x3470a8,_0x3fc73c){_0x3fc73c=_0x3fc73c||0xc8;return function(_0x59440c){if(_0x59440c){return _0x3470a8[_0x1ffe('0x19')](_0x3fc73c)[_0x1ffe('0x1b')](_0x59440c);}};}function respondWithFilteredResult(_0x2494e6,_0x32bc09){return function(_0x1c78ec){if(_0x1c78ec){var _0x45459f=typeof _0x32bc09[_0x1ffe('0x1c')]==='undefined'&&typeof _0x32bc09['limit']==='undefined';var _0x17ca0c=_0x1c78ec['count'];var _0x37ce73=_0x45459f?0x0:_0x32bc09[_0x1ffe('0x1c')];var _0x762656=_0x45459f?_0x1c78ec[_0x1ffe('0x1d')]:_0x32bc09[_0x1ffe('0x1c')]+_0x32bc09['limit'];var _0x2d88be;if(_0x762656>=_0x17ca0c){_0x762656=_0x17ca0c;_0x2d88be=0xc8;}else{_0x2d88be=0xce;}_0x2494e6[_0x1ffe('0x19')](_0x2d88be);return _0x2494e6[_0x1ffe('0x1e')](_0x1ffe('0x1f'),_0x37ce73+'-'+_0x762656+'/'+_0x17ca0c)[_0x1ffe('0x1b')](_0x1c78ec);}return null;};}function patchUpdates(_0x280598){return function(_0x1b1136){try{jsonpatch[_0x1ffe('0x20')](_0x1b1136,_0x280598,!![]);}catch(_0x400160){return BPromise['reject'](_0x400160);}return _0x1b1136['save']();};}function saveUpdates(_0x161c9e,_0x2be091){return function(_0x45885b){if(_0x45885b){return _0x45885b[_0x1ffe('0x21')](_0x161c9e)['then'](function(_0x5c5515){return _0x5c5515;});}return null;};}function removeEntity(_0x42fb48,_0x5a7b39){return function(_0x49d68b){if(_0x49d68b){return _0x49d68b[_0x1ffe('0x22')]()[_0x1ffe('0x23')](function(){var _0x5215db=_0x49d68b['get']({'plain':!![]});var _0x5aa3a8=_0x1ffe('0x24');return db[_0x1ffe('0x25')][_0x1ffe('0x22')]({'where':{'type':_0x5aa3a8,'resourceId':_0x5215db['id']}})[_0x1ffe('0x23')](function(){return _0x49d68b;});})['then'](function(){_0x42fb48[_0x1ffe('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x266304,_0x4a0e20){return function(_0x1e0b1e){if(!_0x1e0b1e){_0x266304[_0x1ffe('0x18')](0x194);}return _0x1e0b1e;};}function handleError(_0xf9381f,_0x246e86){_0x246e86=_0x246e86||0x1f4;return function(_0x56bee3){logger[_0x1ffe('0x26')](_0x56bee3[_0x1ffe('0x27')]);if(_0x56bee3[_0x1ffe('0x28')]){delete _0x56bee3[_0x1ffe('0x28')];}_0xf9381f[_0x1ffe('0x19')](_0x246e86)[_0x1ffe('0x29')](_0x56bee3);};}exports[_0x1ffe('0x2a')]=function(_0x36feeb,_0x35f8fd){var _0x1edb78={},_0x1e697f={},_0x3f0a65={'count':0x0,'rows':[]};var _0x4ec473=_[_0x1ffe('0x2b')](db[_0x1ffe('0x2c')][_0x1ffe('0x2d')],function(_0x39226e){return{'name':_0x39226e[_0x1ffe('0x2e')],'type':_0x39226e[_0x1ffe('0x2f')][_0x1ffe('0x30')]};});_0x1e697f[_0x1ffe('0x31')]=_[_0x1ffe('0x2b')](_0x4ec473,_0x1ffe('0x28'));_0x1e697f[_0x1ffe('0x32')]=_[_0x1ffe('0x33')](_0x36feeb[_0x1ffe('0x32')]);_0x1e697f[_0x1ffe('0x34')]=_[_0x1ffe('0x35')](_0x1e697f['model'],_0x1e697f[_0x1ffe('0x32')]);_0x1edb78[_0x1ffe('0x36')]=_['intersection'](_0x1e697f['model'],qs['fields'](_0x36feeb[_0x1ffe('0x32')][_0x1ffe('0x37')]));_0x1edb78[_0x1ffe('0x36')]=_0x1edb78['attributes'][_0x1ffe('0x38')]?_0x1edb78[_0x1ffe('0x36')]:_0x1e697f[_0x1ffe('0x31')];if(!_0x36feeb[_0x1ffe('0x32')][_0x1ffe('0x39')](_0x1ffe('0x3a'))){_0x1edb78[_0x1ffe('0x3b')]=qs[_0x1ffe('0x3b')](_0x36feeb['query'][_0x1ffe('0x3b')]);_0x1edb78[_0x1ffe('0x1c')]=qs['offset'](_0x36feeb[_0x1ffe('0x32')][_0x1ffe('0x1c')]);}_0x1edb78[_0x1ffe('0x3c')]=qs[_0x1ffe('0x3d')](_0x36feeb[_0x1ffe('0x32')]['sort']);_0x1edb78[_0x1ffe('0x3e')]=qs[_0x1ffe('0x34')](_[_0x1ffe('0x3f')](_0x36feeb[_0x1ffe('0x32')],_0x1e697f[_0x1ffe('0x34')]),_0x4ec473);if(_0x36feeb['query'][_0x1ffe('0x40')]){_0x1edb78[_0x1ffe('0x3e')]=_[_0x1ffe('0x41')](_0x1edb78[_0x1ffe('0x3e')],{'$or':_[_0x1ffe('0x2b')](_0x4ec473,function(_0xb03c21){if(_0xb03c21[_0x1ffe('0x2f')]!==_0x1ffe('0x42')){var _0x3a88e1={};_0x3a88e1[_0xb03c21[_0x1ffe('0x28')]]={'$like':'%'+_0x36feeb[_0x1ffe('0x32')][_0x1ffe('0x40')]+'%'};return _0x3a88e1;}})});}_0x1edb78=_[_0x1ffe('0x41')]({},_0x1edb78,_0x36feeb[_0x1ffe('0x43')]);var _0x25fd00={'where':_0x1edb78[_0x1ffe('0x3e')]};return db[_0x1ffe('0x2c')][_0x1ffe('0x1d')](_0x25fd00)[_0x1ffe('0x23')](function(_0x2ed943){_0x3f0a65['count']=_0x2ed943;if(_0x36feeb[_0x1ffe('0x32')][_0x1ffe('0x44')]){_0x1edb78[_0x1ffe('0x45')]=[{'all':!![]}];}return db['JscriptyProject'][_0x1ffe('0x46')](_0x1edb78);})[_0x1ffe('0x23')](function(_0x33a214){_0x3f0a65[_0x1ffe('0x47')]=_0x33a214;return _0x3f0a65;})[_0x1ffe('0x23')](respondWithFilteredResult(_0x35f8fd,_0x1edb78))[_0x1ffe('0x48')](handleError(_0x35f8fd,null));};exports[_0x1ffe('0x49')]=function(_0x1039d6,_0xa28f7a){var _0x4146e6={'raw':![],'where':{'id':_0x1039d6[_0x1ffe('0x4a')]['id']}},_0x51013e={};_0x51013e[_0x1ffe('0x31')]=_[_0x1ffe('0x33')](db[_0x1ffe('0x2c')][_0x1ffe('0x2d')]);_0x51013e[_0x1ffe('0x32')]=_['keys'](_0x1039d6['query']);_0x51013e[_0x1ffe('0x34')]=_[_0x1ffe('0x35')](_0x51013e[_0x1ffe('0x31')],_0x51013e[_0x1ffe('0x32')]);_0x4146e6[_0x1ffe('0x36')]=_['intersection'](_0x51013e['model'],qs[_0x1ffe('0x37')](_0x1039d6[_0x1ffe('0x32')][_0x1ffe('0x37')]));_0x4146e6['attributes']=_0x4146e6['attributes'][_0x1ffe('0x38')]?_0x4146e6[_0x1ffe('0x36')]:_0x51013e[_0x1ffe('0x31')];if(_0x1039d6[_0x1ffe('0x32')][_0x1ffe('0x44')]){_0x4146e6[_0x1ffe('0x45')]=[{'all':!![]}];}_0x4146e6=_[_0x1ffe('0x41')]({},_0x4146e6,_0x1039d6['options']);return db[_0x1ffe('0x2c')]['find'](_0x4146e6)[_0x1ffe('0x23')](handleEntityNotFound(_0xa28f7a,null))[_0x1ffe('0x23')](respondWithResult(_0xa28f7a,null))[_0x1ffe('0x48')](handleError(_0xa28f7a,null));};exports[_0x1ffe('0x4b')]=function(_0x306238,_0x369254){return db[_0x1ffe('0x2c')][_0x1ffe('0x4b')](_0x306238[_0x1ffe('0x4c')],{})['then'](function(_0x58f346){var _0x202651=_0x306238[_0x1ffe('0x4d')]['get']({'plain':!![]});if(!_0x202651)throw new Error(_0x1ffe('0x4e'));if(_0x202651[_0x1ffe('0x4f')]===_0x1ffe('0x4d')){var _0x49e8f2=_0x58f346['get']({'plain':!![]});var _0x116be0=_0x1ffe('0x24');return db['UserProfileSection']['find']({'where':{'name':_0x116be0,'userProfileId':_0x202651[_0x1ffe('0x50')]},'raw':!![]})['then'](function(_0x2a5d60){if(_0x2a5d60&&_0x2a5d60[_0x1ffe('0x51')]===0x0){return db[_0x1ffe('0x25')]['create']({'name':_0x49e8f2[_0x1ffe('0x28')],'resourceId':_0x49e8f2['id'],'type':_0x2a5d60[_0x1ffe('0x28')],'sectionId':_0x2a5d60['id']},{})[_0x1ffe('0x23')](function(){return _0x58f346;});}else{return _0x58f346;}})[_0x1ffe('0x48')](function(_0x319e6b){logger[_0x1ffe('0x26')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x319e6b);throw _0x319e6b;});}return _0x58f346;})['then'](respondWithResult(_0x369254,0xc9))[_0x1ffe('0x48')](handleError(_0x369254,null));};exports[_0x1ffe('0x52')]=function(_0x1c06dc,_0x3ba6c3){var _0x44000d={'where':{'id':_0x1c06dc[_0x1ffe('0x4a')]['id']}},_0x4f96b0={};_0x4f96b0[_0x1ffe('0x31')]=_[_0x1ffe('0x33')](db['JscriptyProject'][_0x1ffe('0x2d')]);_0x44000d[_0x1ffe('0x36')]=_[_0x1ffe('0x35')](_0x4f96b0[_0x1ffe('0x31')],qs[_0x1ffe('0x37')](_0x1c06dc[_0x1ffe('0x32')]['fields']));_0x44000d[_0x1ffe('0x36')]=_0x44000d[_0x1ffe('0x36')][_0x1ffe('0x38')]?_0x44000d[_0x1ffe('0x36')]:_0x4f96b0[_0x1ffe('0x31')];if(_0x1c06dc[_0x1ffe('0x32')][_0x1ffe('0x44')]){_0x44000d[_0x1ffe('0x45')]=[{'all':!![]}];}_0x44000d=_[_0x1ffe('0x41')]({},_0x44000d,_0x1c06dc[_0x1ffe('0x43')]);return db[_0x1ffe('0x2c')][_0x1ffe('0x53')](_0x44000d)['then'](handleEntityNotFound(_0x3ba6c3,null))[_0x1ffe('0x23')](function(_0x2e14af){if(_0x2e14af){var _0x3aff33=_0x2e14af[_0x1ffe('0x54')]({'plain':!![]});_0x3aff33=qs[_0x1ffe('0x55')](_0x3aff33,['id',_0x1ffe('0x56'),_0x1ffe('0x57')]);_0x1c06dc[_0x1ffe('0x4c')]=_['omit'](_0x1c06dc[_0x1ffe('0x4c')],['id','createdAt',_0x1ffe('0x57')]);return db[_0x1ffe('0x2c')][_0x1ffe('0x4b')](_[_0x1ffe('0x41')](_0x3aff33,_0x1c06dc[_0x1ffe('0x4c')]),{'include':_0x1c06dc[_0x1ffe('0x32')]['includeAll']?[{'all':!![]}]:undefined})['then'](function(_0x5aee4b){var _0x3ab5f3=_0x1c06dc[_0x1ffe('0x4d')]['get']({'plain':!![]});if(!_0x3ab5f3)throw new Error(_0x1ffe('0x4e'));if(_0x3ab5f3[_0x1ffe('0x4f')]==='user'){var _0x1b30bf=_0x5aee4b[_0x1ffe('0x54')]({'plain':!![]});var _0x37c51a='Projects';return db['UserProfileSection']['find']({'where':{'name':_0x37c51a,'userProfileId':_0x3ab5f3[_0x1ffe('0x50')]},'raw':!![]})[_0x1ffe('0x23')](function(_0x3c294d){if(_0x3c294d&&_0x3c294d[_0x1ffe('0x51')]===0x0){return db[_0x1ffe('0x25')][_0x1ffe('0x4b')]({'name':_0x1b30bf[_0x1ffe('0x28')],'resourceId':_0x1b30bf['id'],'type':_0x3c294d['name'],'sectionId':_0x3c294d['id']},{})[_0x1ffe('0x23')](function(){return _0x5aee4b;});}else{return _0x5aee4b;}})[_0x1ffe('0x48')](function(_0xf98da2){logger[_0x1ffe('0x26')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0xf98da2);throw _0xf98da2;});}return _0x5aee4b;});}})[_0x1ffe('0x23')](respondWithResult(_0x3ba6c3,0xc9))['catch'](handleError(_0x3ba6c3,null));};exports[_0x1ffe('0x21')]=function(_0x4b3822,_0x1e302d){if(_0x4b3822['body']['id']){delete _0x4b3822[_0x1ffe('0x4c')]['id'];}return db[_0x1ffe('0x2c')][_0x1ffe('0x53')]({'where':{'id':_0x4b3822[_0x1ffe('0x4a')]['id']}})[_0x1ffe('0x23')](handleEntityNotFound(_0x1e302d,null))[_0x1ffe('0x23')](saveUpdates(_0x4b3822[_0x1ffe('0x4c')],null))[_0x1ffe('0x23')](respondWithResult(_0x1e302d,null))[_0x1ffe('0x48')](handleError(_0x1e302d,null));};exports[_0x1ffe('0x22')]=function(_0x5a037e,_0x280daf){return db[_0x1ffe('0x2c')][_0x1ffe('0x53')]({'where':{'id':_0x5a037e[_0x1ffe('0x4a')]['id']}})[_0x1ffe('0x23')](handleEntityNotFound(_0x280daf,null))[_0x1ffe('0x23')](removeEntity(_0x280daf,null))[_0x1ffe('0x48')](handleError(_0x280daf,null));};exports['getSessions']=function(_0x2cc67e,_0x45647a,_0x3e0864){var _0x1f6823={'raw':!![],'where':{}};var _0x2ada98={};var _0x33d1c1={'count':0x0,'rows':[]};return db[_0x1ffe('0x2c')][_0x1ffe('0x58')]({'where':{'id':_0x2cc67e['params']['id']}})[_0x1ffe('0x23')](handleEntityNotFound(_0x45647a,null))[_0x1ffe('0x23')](function(_0x50c645){if(_0x50c645){_0x2ada98[_0x1ffe('0x31')]=_['keys'](db[_0x1ffe('0x59')][_0x1ffe('0x2d')]);_0x2ada98[_0x1ffe('0x32')]=_[_0x1ffe('0x33')](_0x2cc67e['query']);_0x2ada98['filters']=_[_0x1ffe('0x35')](_0x2ada98[_0x1ffe('0x31')],_0x2ada98[_0x1ffe('0x32')]);_0x1f6823[_0x1ffe('0x36')]=_[_0x1ffe('0x35')](_0x2ada98[_0x1ffe('0x31')],qs[_0x1ffe('0x37')](_0x2cc67e['query'][_0x1ffe('0x37')]));_0x1f6823[_0x1ffe('0x36')]=_0x1f6823[_0x1ffe('0x36')]['length']?_0x1f6823[_0x1ffe('0x36')]:_0x2ada98['model'];if(!_0x2cc67e[_0x1ffe('0x32')][_0x1ffe('0x39')](_0x1ffe('0x3a'))){_0x1f6823[_0x1ffe('0x3b')]=qs['limit'](_0x2cc67e[_0x1ffe('0x32')][_0x1ffe('0x3b')]);_0x1f6823['offset']=qs['offset'](_0x2cc67e[_0x1ffe('0x32')][_0x1ffe('0x1c')]);}_0x1f6823[_0x1ffe('0x3c')]=qs[_0x1ffe('0x3d')](_0x2cc67e['query'][_0x1ffe('0x3d')]);_0x1f6823[_0x1ffe('0x3e')]=qs[_0x1ffe('0x34')](_['pick'](_0x2cc67e[_0x1ffe('0x32')],_0x2ada98['filters']));_0x1f6823[_0x1ffe('0x3e')][_0x1ffe('0x5a')]=_0x50c645['id'];if(_0x2cc67e[_0x1ffe('0x32')][_0x1ffe('0x40')]){_0x1f6823['where']=_[_0x1ffe('0x41')](_0x1f6823[_0x1ffe('0x3e')],{'$or':_['map'](_0x1f6823[_0x1ffe('0x36')],function(_0x243e20){var _0x4636ea={};_0x4636ea[_0x243e20]={'$like':'%'+_0x2cc67e[_0x1ffe('0x32')]['filter']+'%'};return _0x4636ea;})});}_0x1f6823=_['merge']({},_0x1f6823,_0x2cc67e[_0x1ffe('0x43')]);return db[_0x1ffe('0x59')]['count']({'where':_0x1f6823[_0x1ffe('0x3e')]})[_0x1ffe('0x23')](function(_0x1115a0){_0x33d1c1[_0x1ffe('0x1d')]=_0x1115a0;if(_0x2cc67e[_0x1ffe('0x32')][_0x1ffe('0x44')]){_0x1f6823['include']=[{'all':!![]}];}return db[_0x1ffe('0x59')][_0x1ffe('0x46')](_0x1f6823);})[_0x1ffe('0x23')](function(_0x583968){_0x33d1c1[_0x1ffe('0x47')]=_0x583968;return _0x33d1c1;});}})[_0x1ffe('0x23')](respondWithFilteredResult(_0x45647a,_0x1f6823))['catch'](handleError(_0x45647a,null));};exports['getAnswers']=function(_0xa722ac,_0x23e0bd,_0x1b7412){var _0xe3ef20={'raw':!![],'where':{}};var _0x217a65={};var _0x24894e={'count':0x0,'rows':[]};return db[_0x1ffe('0x2c')]['findOne']({'where':{'id':_0xa722ac[_0x1ffe('0x4a')]['id']}})[_0x1ffe('0x23')](handleEntityNotFound(_0x23e0bd,null))['then'](function(_0x98856a){if(_0x98856a){_0x217a65['model']=_['keys'](db['JscriptyAnswerReport'][_0x1ffe('0x2d')]);_0x217a65[_0x1ffe('0x32')]=_['keys'](_0xa722ac[_0x1ffe('0x32')]);_0x217a65[_0x1ffe('0x34')]=_['intersection'](_0x217a65[_0x1ffe('0x31')],_0x217a65['query']);_0xe3ef20[_0x1ffe('0x36')]=_[_0x1ffe('0x35')](_0x217a65[_0x1ffe('0x31')],qs[_0x1ffe('0x37')](_0xa722ac[_0x1ffe('0x32')][_0x1ffe('0x37')]));_0xe3ef20['attributes']=_0xe3ef20[_0x1ffe('0x36')][_0x1ffe('0x38')]?_0xe3ef20[_0x1ffe('0x36')]:_0x217a65[_0x1ffe('0x31')];if(!_0xa722ac[_0x1ffe('0x32')]['hasOwnProperty'](_0x1ffe('0x3a'))){_0xe3ef20['limit']=qs[_0x1ffe('0x3b')](_0xa722ac[_0x1ffe('0x32')]['limit']);_0xe3ef20[_0x1ffe('0x1c')]=qs[_0x1ffe('0x1c')](_0xa722ac[_0x1ffe('0x32')]['offset']);}_0xe3ef20[_0x1ffe('0x3c')]=qs[_0x1ffe('0x3d')](_0xa722ac[_0x1ffe('0x32')][_0x1ffe('0x3d')]);_0xe3ef20[_0x1ffe('0x3e')]=qs['filters'](_[_0x1ffe('0x3f')](_0xa722ac[_0x1ffe('0x32')],_0x217a65['filters']));_0xe3ef20['where'][_0x1ffe('0x5a')]=_0x98856a['id'];if(_0xa722ac[_0x1ffe('0x32')][_0x1ffe('0x40')]){_0xe3ef20[_0x1ffe('0x3e')]=_['merge'](_0xe3ef20[_0x1ffe('0x3e')],{'$or':_[_0x1ffe('0x2b')](_0xe3ef20[_0x1ffe('0x36')],function(_0x592a3f){var _0x1e18a6={};_0x1e18a6[_0x592a3f]={'$like':'%'+_0xa722ac['query'][_0x1ffe('0x40')]+'%'};return _0x1e18a6;})});}_0xe3ef20=_['merge']({},_0xe3ef20,_0xa722ac['options']);return db[_0x1ffe('0x5b')][_0x1ffe('0x1d')]({'where':_0xe3ef20[_0x1ffe('0x3e')]})[_0x1ffe('0x23')](function(_0x4ea724){_0x24894e[_0x1ffe('0x1d')]=_0x4ea724;if(_0xa722ac[_0x1ffe('0x32')]['includeAll']){_0xe3ef20[_0x1ffe('0x45')]=[{'all':!![]}];}return db[_0x1ffe('0x5b')][_0x1ffe('0x46')](_0xe3ef20);})[_0x1ffe('0x23')](function(_0x15a0d6){_0x24894e[_0x1ffe('0x47')]=_0x15a0d6;return _0x24894e;});}})[_0x1ffe('0x23')](respondWithFilteredResult(_0x23e0bd,_0xe3ef20))[_0x1ffe('0x48')](handleError(_0x23e0bd,null));};function char(_0x42a8b6){return'number'===typeof _0x42a8b6?String[_0x1ffe('0x5c')][_0x1ffe('0x20')](null,arguments):_0x42a8b6;}function needsEncapsulation(_0x3fe97b){return!!_0x3fe97b&&(_0x3fe97b[_0x1ffe('0x5d')]()[_0x1ffe('0x5e')](char(0xd))>=0x0||_0x3fe97b[_0x1ffe('0x5d')]()[_0x1ffe('0x5e')](char(0xa))>=0x0||_0x3fe97b['toString']()[_0x1ffe('0x5e')](char(0x2c))>=0x0||_0x3fe97b[_0x1ffe('0x5d')]()[_0x1ffe('0x5e')](char(0x22))>=0x0);}function encapsulate(_0x50cc12){var _0x6b357=char(0x22),_0x100d3a='\x5c'+char(0x22),_0x4009d7=_0x50cc12['toString']()[_0x1ffe('0x5f')](new RegExp(_0x6b357,'g'),_0x100d3a);return _0x6b357+_0x4009d7+_0x6b357;}exports[_0x1ffe('0x60')]=function(_0x23624c,_0x488bce,_0x20a87b){var _0x2e0f6f,_0x4454da;var _0x31f849={'where':{'ProjectId':_0x23624c[_0x1ffe('0x4a')]['id']}};if(_0x23624c['query'][_0x1ffe('0x61')]){_0x31f849[_0x1ffe('0x3e')][_0x1ffe('0x62')]=JSON[_0x1ffe('0x63')](_0x23624c[_0x1ffe('0x32')][_0x1ffe('0x61')]);}return db[_0x1ffe('0x59')][_0x1ffe('0x46')](_0x31f849)['then'](handleEntityNotFound(_0x488bce,null))[_0x1ffe('0x23')](function(_0x246538){if(_0x246538){_0x2e0f6f=_0x246538;return db['JscriptyQuestionReport'][_0x1ffe('0x46')]({'where':{'SessionId':{'$in':_['map'](_0x2e0f6f,'id')},'ProjectId':_0x23624c[_0x1ffe('0x4a')]['id']},'order':'-createdAt'});}})['then'](handleEntityNotFound(_0x488bce,null))[_0x1ffe('0x23')](function(_0x4105b0){if(_0x4105b0){_0x4454da=_0x4105b0;var _0x24176d={};for(var _0x45e6a7=0x0,_0x379b64=_0x4454da[_0x1ffe('0x38')];_0x45e6a7<_0x379b64;_0x45e6a7++){if(!_0x24176d['hasOwnProperty'](_0x4454da[_0x45e6a7][_0x1ffe('0x64')])){_0x24176d[_0x4454da[_0x45e6a7][_0x1ffe('0x64')]]=needsEncapsulation(_0x4454da[_0x45e6a7][_0x1ffe('0x65')])?encapsulate(_0x4454da[_0x45e6a7][_0x1ffe('0x65')]):_0x4454da[_0x45e6a7][_0x1ffe('0x65')];}}var _0x14dff5=[],_0x5ac930={};for(var _0x21b5f2=0x0,_0x10ac74=_0x2e0f6f[_0x1ffe('0x38')];_0x21b5f2<_0x10ac74;_0x21b5f2++){_0x5ac930={'ProjectId':_0x23624c[_0x1ffe('0x4a')]['id'],'SessionId':_0x2e0f6f[_0x21b5f2]['id'],'StartTime':moment(_0x2e0f6f[_0x21b5f2][_0x1ffe('0x62')])[_0x1ffe('0x66')](_0x1ffe('0x67'))};for(var _0x27dbe2=0x0,_0x5b3d24=_0x4454da[_0x1ffe('0x38')];_0x27dbe2<_0x5b3d24;_0x27dbe2++){if(_0x4454da[_0x27dbe2][_0x1ffe('0x68')]==_0x2e0f6f[_0x21b5f2]['id']&&_0x24176d['hasOwnProperty'](_0x4454da[_0x27dbe2][_0x1ffe('0x64')])){_0x5ac930[_0x24176d[_0x4454da[_0x27dbe2]['questionId']]]=_0x4454da[_0x27dbe2]['answer'];}}for(var _0x51e330 in _0x24176d){if(!_0x5ac930[_0x1ffe('0x39')](_0x24176d[_0x51e330])){_0x5ac930[_0x24176d[_0x51e330]]=null;}}_0x14dff5['push'](_0x5ac930);}return _0x14dff5;}})[_0x1ffe('0x23')](function(_0xd02a40){if(!_['isEmpty'](_0xd02a40)){var _0x36b212=toCsv(_0xd02a40);var _0x278e13=Date['now']();fs['writeFileSync'](util[_0x1ffe('0x66')](_0x1ffe('0x69'),_0x23624c[_0x1ffe('0x4a')]['id'],_0x278e13),_0x36b212);_0x488bce['setHeader'](_0x1ffe('0x6a'),_0x1ffe('0x6b')+util[_0x1ffe('0x66')](_0x1ffe('0x6c'),_0x23624c[_0x1ffe('0x4a')]['id'],_0x278e13));_0x488bce[_0x1ffe('0x6d')](_0x1ffe('0x6e'),_0x1ffe('0x6f'));return _0x488bce[_0x1ffe('0x70')](util['format'](_0x1ffe('0x69'),_0x23624c['params']['id'],_0x278e13));}else{return _0x488bce[_0x1ffe('0x18')](0xcc);}})[_0x1ffe('0x48')](handleError(_0x488bce,null));};