1bb3b1c15af2cb66c4e37a73aa45b01e896b7f27
[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 _0x9656=['startTime','starttime','parse','-createdAt','questionId','question','answer','push','isEmpty','now','writeFileSync','format','/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','zip-dir','fast-json-patch','moment','path','to-csv','fs-extra','squel','crypto','querystring','papaparse','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','save','then','destroy','get','Projects','UserProfileResource','error','name','send','type','model','map','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','pick','filter','merge','where','options','includeAll','include','JscriptyProject','findAll','rows','catch','show','params','rawAttributes','keys','length','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','clone','createdAt','updatedAt','body','omit','update','findOne','JscriptySessionReport','ProjectId','getAnswers','JscriptyAnswerReport','number','fromCharCode','toString','indexOf','replace'];(function(_0x3392fb,_0x5ee5cf){var _0x173e05=function(_0x5be61f){while(--_0x5be61f){_0x3392fb['push'](_0x3392fb['shift']());}};_0x173e05(++_0x5ee5cf);}(_0x9656,0x15e));var _0x6965=function(_0x48927d,_0x1289a4){_0x48927d=_0x48927d-0x0;var _0x19c12a=_0x9656[_0x48927d];return _0x19c12a;};'use strict';var emlformat=require(_0x6965('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x6965('0x1'));var jsonpatch=require(_0x6965('0x2'));var rp=require('request-promise');var moment=require(_0x6965('0x3'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require('util');var path=require(_0x6965('0x4'));var sox=require('sox');var csv=require(_0x6965('0x5'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x6965('0x6'));var _=require('lodash');var squel=require(_0x6965('0x7'));var crypto=require(_0x6965('0x8'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x6965('0x5'));var querystring=require(_0x6965('0x9'));var Papa=require(_0x6965('0xa'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x6965('0xb'));var hardwareService=require(_0x6965('0xc'));var logger=require(_0x6965('0xd'))('api');var utils=require(_0x6965('0xe'));var config=require(_0x6965('0xf'));var licenseUtil=require(_0x6965('0x10'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x48a1d0,_0x396c0a){_0x396c0a=_0x396c0a||0xcc;return function(_0x585d14){if(_0x585d14){return _0x48a1d0[_0x6965('0x11')](_0x396c0a);}return _0x48a1d0[_0x6965('0x12')](_0x396c0a)[_0x6965('0x13')]();};}function respondWithResult(_0x509f01,_0x2d52d5){_0x2d52d5=_0x2d52d5||0xc8;return function(_0x209912){if(_0x209912){return _0x509f01[_0x6965('0x12')](_0x2d52d5)[_0x6965('0x14')](_0x209912);}};}function respondWithFilteredResult(_0x3777b1,_0xd759ba){return function(_0x35e280){if(_0x35e280){var _0x40e4f3=typeof _0xd759ba[_0x6965('0x15')]===_0x6965('0x16')&&typeof _0xd759ba[_0x6965('0x17')]==='undefined';var _0x17f50e=_0x35e280[_0x6965('0x18')];var _0xc31577=_0x40e4f3?0x0:_0xd759ba['offset'];var _0x31e3f5=_0x40e4f3?_0x35e280[_0x6965('0x18')]:_0xd759ba[_0x6965('0x15')]+_0xd759ba[_0x6965('0x17')];var _0x130eff;if(_0x31e3f5>=_0x17f50e){_0x31e3f5=_0x17f50e;_0x130eff=0xc8;}else{_0x130eff=0xce;}_0x3777b1['status'](_0x130eff);return _0x3777b1[_0x6965('0x19')](_0x6965('0x1a'),_0xc31577+'-'+_0x31e3f5+'/'+_0x17f50e)[_0x6965('0x14')](_0x35e280);}return null;};}function patchUpdates(_0x263adc){return function(_0x5b9561){try{jsonpatch[_0x6965('0x1b')](_0x5b9561,_0x263adc,!![]);}catch(_0x414498){return BPromise['reject'](_0x414498);}return _0x5b9561[_0x6965('0x1c')]();};}function saveUpdates(_0x213e2c,_0x19148a){return function(_0x4e5015){if(_0x4e5015){return _0x4e5015['update'](_0x213e2c)[_0x6965('0x1d')](function(_0x38fd5b){return _0x38fd5b;});}return null;};}function removeEntity(_0x416ae4,_0x47d18b){return function(_0x175585){if(_0x175585){return _0x175585[_0x6965('0x1e')]()[_0x6965('0x1d')](function(){var _0x16a64a=_0x175585[_0x6965('0x1f')]({'plain':!![]});var _0x1726bb=_0x6965('0x20');return db[_0x6965('0x21')][_0x6965('0x1e')]({'where':{'type':_0x1726bb,'resourceId':_0x16a64a['id']}})[_0x6965('0x1d')](function(){return _0x175585;});})[_0x6965('0x1d')](function(){_0x416ae4[_0x6965('0x12')](0xcc)[_0x6965('0x13')]();});}};}function handleEntityNotFound(_0x4cf5ce,_0xd2e675){return function(_0x5ab0df){if(!_0x5ab0df){_0x4cf5ce[_0x6965('0x11')](0x194);}return _0x5ab0df;};}function handleError(_0x4fa13c,_0x1ee288){_0x1ee288=_0x1ee288||0x1f4;return function(_0x1ae67e){logger[_0x6965('0x22')](_0x1ae67e['stack']);if(_0x1ae67e[_0x6965('0x23')]){delete _0x1ae67e[_0x6965('0x23')];}_0x4fa13c[_0x6965('0x12')](_0x1ee288)[_0x6965('0x24')](_0x1ae67e);};}exports['index']=function(_0x35f56b,_0x16b353){var _0x144df0={},_0x5c36e7={},_0x49c8e8={'count':0x0,'rows':[]};var _0xcbd951=_['map'](db['JscriptyProject']['rawAttributes'],function(_0x4de646){return{'name':_0x4de646['fieldName'],'type':_0x4de646[_0x6965('0x25')]['key']};});_0x5c36e7[_0x6965('0x26')]=_[_0x6965('0x27')](_0xcbd951,'name');_0x5c36e7[_0x6965('0x28')]=_['keys'](_0x35f56b[_0x6965('0x28')]);_0x5c36e7[_0x6965('0x29')]=_[_0x6965('0x2a')](_0x5c36e7[_0x6965('0x26')],_0x5c36e7[_0x6965('0x28')]);_0x144df0[_0x6965('0x2b')]=_[_0x6965('0x2a')](_0x5c36e7[_0x6965('0x26')],qs['fields'](_0x35f56b[_0x6965('0x28')][_0x6965('0x2c')]));_0x144df0[_0x6965('0x2b')]=_0x144df0[_0x6965('0x2b')]['length']?_0x144df0[_0x6965('0x2b')]:_0x5c36e7['model'];if(!_0x35f56b['query'][_0x6965('0x2d')](_0x6965('0x2e'))){_0x144df0[_0x6965('0x17')]=qs[_0x6965('0x17')](_0x35f56b['query'][_0x6965('0x17')]);_0x144df0[_0x6965('0x15')]=qs['offset'](_0x35f56b[_0x6965('0x28')][_0x6965('0x15')]);}_0x144df0[_0x6965('0x2f')]=qs[_0x6965('0x30')](_0x35f56b[_0x6965('0x28')][_0x6965('0x30')]);_0x144df0['where']=qs['filters'](_[_0x6965('0x31')](_0x35f56b[_0x6965('0x28')],_0x5c36e7[_0x6965('0x29')]),_0xcbd951);if(_0x35f56b['query'][_0x6965('0x32')]){_0x144df0['where']=_[_0x6965('0x33')](_0x144df0[_0x6965('0x34')],{'$or':_['map'](_0xcbd951,function(_0x2cf09c){if(_0x2cf09c[_0x6965('0x25')]!=='VIRTUAL'){var _0x56ec71={};_0x56ec71[_0x2cf09c['name']]={'$like':'%'+_0x35f56b[_0x6965('0x28')][_0x6965('0x32')]+'%'};return _0x56ec71;}})});}_0x144df0=_[_0x6965('0x33')]({},_0x144df0,_0x35f56b[_0x6965('0x35')]);var _0x36d526={'where':_0x144df0[_0x6965('0x34')]};return db['JscriptyProject'][_0x6965('0x18')](_0x36d526)[_0x6965('0x1d')](function(_0x2fe229){_0x49c8e8[_0x6965('0x18')]=_0x2fe229;if(_0x35f56b['query'][_0x6965('0x36')]){_0x144df0[_0x6965('0x37')]=[{'all':!![]}];}return db[_0x6965('0x38')][_0x6965('0x39')](_0x144df0);})[_0x6965('0x1d')](function(_0x1d660b){_0x49c8e8[_0x6965('0x3a')]=_0x1d660b;return _0x49c8e8;})[_0x6965('0x1d')](respondWithFilteredResult(_0x16b353,_0x144df0))[_0x6965('0x3b')](handleError(_0x16b353,null));};exports[_0x6965('0x3c')]=function(_0x39ef02,_0xd394fe){var _0x5f3d42={'raw':![],'where':{'id':_0x39ef02[_0x6965('0x3d')]['id']}},_0x120ec5={};_0x120ec5[_0x6965('0x26')]=_['keys'](db[_0x6965('0x38')][_0x6965('0x3e')]);_0x120ec5[_0x6965('0x28')]=_[_0x6965('0x3f')](_0x39ef02[_0x6965('0x28')]);_0x120ec5['filters']=_['intersection'](_0x120ec5[_0x6965('0x26')],_0x120ec5[_0x6965('0x28')]);_0x5f3d42[_0x6965('0x2b')]=_['intersection'](_0x120ec5[_0x6965('0x26')],qs[_0x6965('0x2c')](_0x39ef02[_0x6965('0x28')][_0x6965('0x2c')]));_0x5f3d42[_0x6965('0x2b')]=_0x5f3d42[_0x6965('0x2b')][_0x6965('0x40')]?_0x5f3d42[_0x6965('0x2b')]:_0x120ec5[_0x6965('0x26')];if(_0x39ef02['query'][_0x6965('0x36')]){_0x5f3d42[_0x6965('0x37')]=[{'all':!![]}];}_0x5f3d42=_[_0x6965('0x33')]({},_0x5f3d42,_0x39ef02[_0x6965('0x35')]);return db[_0x6965('0x38')][_0x6965('0x41')](_0x5f3d42)[_0x6965('0x1d')](handleEntityNotFound(_0xd394fe,null))[_0x6965('0x1d')](respondWithResult(_0xd394fe,null))['catch'](handleError(_0xd394fe,null));};exports[_0x6965('0x42')]=function(_0x344587,_0x49f3e5){return db[_0x6965('0x38')][_0x6965('0x42')](_0x344587['body'],{})[_0x6965('0x1d')](function(_0x36aeae){var _0x30862a=_0x344587[_0x6965('0x43')][_0x6965('0x1f')]({'plain':!![]});if(!_0x30862a)throw new Error(_0x6965('0x44'));if(_0x30862a[_0x6965('0x45')]===_0x6965('0x43')){var _0xfa8f2=_0x36aeae[_0x6965('0x1f')]({'plain':!![]});var _0x33a6a4=_0x6965('0x20');return db[_0x6965('0x46')][_0x6965('0x41')]({'where':{'name':_0x33a6a4,'userProfileId':_0x30862a[_0x6965('0x47')]},'raw':!![]})['then'](function(_0x21d1b0){if(_0x21d1b0&&_0x21d1b0[_0x6965('0x48')]===0x0){return db[_0x6965('0x21')][_0x6965('0x42')]({'name':_0xfa8f2['name'],'resourceId':_0xfa8f2['id'],'type':_0x21d1b0[_0x6965('0x23')],'sectionId':_0x21d1b0['id']},{})[_0x6965('0x1d')](function(){return _0x36aeae;});}else{return _0x36aeae;}})[_0x6965('0x3b')](function(_0x27fac5){logger['error'](_0x6965('0x49'),_0x27fac5);throw _0x27fac5;});}return _0x36aeae;})[_0x6965('0x1d')](respondWithResult(_0x49f3e5,0xc9))['catch'](handleError(_0x49f3e5,null));};exports[_0x6965('0x4a')]=function(_0x1cd77b,_0x38288d){var _0x3bdd93={'where':{'id':_0x1cd77b[_0x6965('0x3d')]['id']}},_0x132154={};_0x132154[_0x6965('0x26')]=_[_0x6965('0x3f')](db[_0x6965('0x38')][_0x6965('0x3e')]);_0x3bdd93['attributes']=_[_0x6965('0x2a')](_0x132154[_0x6965('0x26')],qs[_0x6965('0x2c')](_0x1cd77b['query'][_0x6965('0x2c')]));_0x3bdd93[_0x6965('0x2b')]=_0x3bdd93['attributes'][_0x6965('0x40')]?_0x3bdd93[_0x6965('0x2b')]:_0x132154['model'];if(_0x1cd77b[_0x6965('0x28')][_0x6965('0x36')]){_0x3bdd93[_0x6965('0x37')]=[{'all':!![]}];}_0x3bdd93=_[_0x6965('0x33')]({},_0x3bdd93,_0x1cd77b[_0x6965('0x35')]);return db[_0x6965('0x38')][_0x6965('0x41')](_0x3bdd93)[_0x6965('0x1d')](handleEntityNotFound(_0x38288d,null))[_0x6965('0x1d')](function(_0x3e41b2){if(_0x3e41b2){var _0x40f055=_0x3e41b2[_0x6965('0x1f')]({'plain':!![]});_0x40f055=qs['omit'](_0x40f055,['id',_0x6965('0x4b'),_0x6965('0x4c')]);_0x1cd77b[_0x6965('0x4d')]=_[_0x6965('0x4e')](_0x1cd77b[_0x6965('0x4d')],['id',_0x6965('0x4b'),_0x6965('0x4c')]);return db['JscriptyProject']['create'](_[_0x6965('0x33')](_0x40f055,_0x1cd77b[_0x6965('0x4d')]),{'include':_0x1cd77b[_0x6965('0x28')]['includeAll']?[{'all':!![]}]:undefined})[_0x6965('0x1d')](function(_0x4ad85a){var _0x287eaf=_0x1cd77b[_0x6965('0x43')][_0x6965('0x1f')]({'plain':!![]});if(!_0x287eaf)throw new Error(_0x6965('0x44'));if(_0x287eaf[_0x6965('0x45')]==='user'){var _0x2a7985=_0x4ad85a[_0x6965('0x1f')]({'plain':!![]});var _0xbf3eea=_0x6965('0x20');return db[_0x6965('0x46')]['find']({'where':{'name':_0xbf3eea,'userProfileId':_0x287eaf[_0x6965('0x47')]},'raw':!![]})['then'](function(_0x379cd2){if(_0x379cd2&&_0x379cd2['autoAssociation']===0x0){return db['UserProfileResource'][_0x6965('0x42')]({'name':_0x2a7985[_0x6965('0x23')],'resourceId':_0x2a7985['id'],'type':_0x379cd2[_0x6965('0x23')],'sectionId':_0x379cd2['id']},{})[_0x6965('0x1d')](function(){return _0x4ad85a;});}else{return _0x4ad85a;}})[_0x6965('0x3b')](function(_0x236d5d){logger[_0x6965('0x22')](_0x6965('0x49'),_0x236d5d);throw _0x236d5d;});}return _0x4ad85a;});}})['then'](respondWithResult(_0x38288d,0xc9))[_0x6965('0x3b')](handleError(_0x38288d,null));};exports[_0x6965('0x4f')]=function(_0x4041dc,_0x50d3ec){if(_0x4041dc['body']['id']){delete _0x4041dc[_0x6965('0x4d')]['id'];}return db[_0x6965('0x38')][_0x6965('0x41')]({'where':{'id':_0x4041dc[_0x6965('0x3d')]['id']}})[_0x6965('0x1d')](handleEntityNotFound(_0x50d3ec,null))[_0x6965('0x1d')](saveUpdates(_0x4041dc['body'],null))[_0x6965('0x1d')](respondWithResult(_0x50d3ec,null))[_0x6965('0x3b')](handleError(_0x50d3ec,null));};exports[_0x6965('0x1e')]=function(_0x4732ed,_0x415d86){return db[_0x6965('0x38')][_0x6965('0x41')]({'where':{'id':_0x4732ed[_0x6965('0x3d')]['id']}})['then'](handleEntityNotFound(_0x415d86,null))[_0x6965('0x1d')](removeEntity(_0x415d86,null))[_0x6965('0x3b')](handleError(_0x415d86,null));};exports['getSessions']=function(_0x5a2e1c,_0x95470d,_0x14d347){var _0x154996={'raw':!![],'where':{}};var _0x5e7dcb={};var _0x119ee4={'count':0x0,'rows':[]};return db[_0x6965('0x38')][_0x6965('0x50')]({'where':{'id':_0x5a2e1c[_0x6965('0x3d')]['id']}})['then'](handleEntityNotFound(_0x95470d,null))[_0x6965('0x1d')](function(_0x4e0c03){if(_0x4e0c03){_0x5e7dcb[_0x6965('0x26')]=_[_0x6965('0x3f')](db[_0x6965('0x51')]['rawAttributes']);_0x5e7dcb[_0x6965('0x28')]=_[_0x6965('0x3f')](_0x5a2e1c[_0x6965('0x28')]);_0x5e7dcb[_0x6965('0x29')]=_[_0x6965('0x2a')](_0x5e7dcb[_0x6965('0x26')],_0x5e7dcb['query']);_0x154996[_0x6965('0x2b')]=_[_0x6965('0x2a')](_0x5e7dcb[_0x6965('0x26')],qs[_0x6965('0x2c')](_0x5a2e1c[_0x6965('0x28')][_0x6965('0x2c')]));_0x154996[_0x6965('0x2b')]=_0x154996[_0x6965('0x2b')][_0x6965('0x40')]?_0x154996[_0x6965('0x2b')]:_0x5e7dcb[_0x6965('0x26')];if(!_0x5a2e1c[_0x6965('0x28')][_0x6965('0x2d')]('nolimit')){_0x154996[_0x6965('0x17')]=qs[_0x6965('0x17')](_0x5a2e1c[_0x6965('0x28')][_0x6965('0x17')]);_0x154996[_0x6965('0x15')]=qs['offset'](_0x5a2e1c[_0x6965('0x28')][_0x6965('0x15')]);}_0x154996['order']=qs['sort'](_0x5a2e1c[_0x6965('0x28')]['sort']);_0x154996[_0x6965('0x34')]=qs[_0x6965('0x29')](_[_0x6965('0x31')](_0x5a2e1c[_0x6965('0x28')],_0x5e7dcb[_0x6965('0x29')]));_0x154996[_0x6965('0x34')][_0x6965('0x52')]=_0x4e0c03['id'];if(_0x5a2e1c[_0x6965('0x28')][_0x6965('0x32')]){_0x154996['where']=_[_0x6965('0x33')](_0x154996[_0x6965('0x34')],{'$or':_[_0x6965('0x27')](_0x154996['attributes'],function(_0x373c5f){var _0x3441a8={};_0x3441a8[_0x373c5f]={'$like':'%'+_0x5a2e1c[_0x6965('0x28')]['filter']+'%'};return _0x3441a8;})});}_0x154996=_['merge']({},_0x154996,_0x5a2e1c['options']);return db[_0x6965('0x51')][_0x6965('0x18')]({'where':_0x154996['where']})[_0x6965('0x1d')](function(_0x2715a5){_0x119ee4[_0x6965('0x18')]=_0x2715a5;if(_0x5a2e1c[_0x6965('0x28')]['includeAll']){_0x154996[_0x6965('0x37')]=[{'all':!![]}];}return db['JscriptySessionReport'][_0x6965('0x39')](_0x154996);})[_0x6965('0x1d')](function(_0x521d99){_0x119ee4[_0x6965('0x3a')]=_0x521d99;return _0x119ee4;});}})['then'](respondWithFilteredResult(_0x95470d,_0x154996))[_0x6965('0x3b')](handleError(_0x95470d,null));};exports[_0x6965('0x53')]=function(_0x30f797,_0x298e62,_0x39cc5b){var _0x2e12d3={'raw':!![],'where':{}};var _0x34fb79={};var _0x2bbb76={'count':0x0,'rows':[]};return db['JscriptyProject'][_0x6965('0x50')]({'where':{'id':_0x30f797[_0x6965('0x3d')]['id']}})[_0x6965('0x1d')](handleEntityNotFound(_0x298e62,null))[_0x6965('0x1d')](function(_0x1381c4){if(_0x1381c4){_0x34fb79['model']=_[_0x6965('0x3f')](db[_0x6965('0x54')][_0x6965('0x3e')]);_0x34fb79[_0x6965('0x28')]=_[_0x6965('0x3f')](_0x30f797[_0x6965('0x28')]);_0x34fb79['filters']=_[_0x6965('0x2a')](_0x34fb79[_0x6965('0x26')],_0x34fb79[_0x6965('0x28')]);_0x2e12d3['attributes']=_['intersection'](_0x34fb79['model'],qs[_0x6965('0x2c')](_0x30f797[_0x6965('0x28')][_0x6965('0x2c')]));_0x2e12d3[_0x6965('0x2b')]=_0x2e12d3['attributes'][_0x6965('0x40')]?_0x2e12d3[_0x6965('0x2b')]:_0x34fb79['model'];if(!_0x30f797[_0x6965('0x28')]['hasOwnProperty'](_0x6965('0x2e'))){_0x2e12d3[_0x6965('0x17')]=qs[_0x6965('0x17')](_0x30f797[_0x6965('0x28')]['limit']);_0x2e12d3[_0x6965('0x15')]=qs[_0x6965('0x15')](_0x30f797[_0x6965('0x28')][_0x6965('0x15')]);}_0x2e12d3['order']=qs[_0x6965('0x30')](_0x30f797[_0x6965('0x28')]['sort']);_0x2e12d3[_0x6965('0x34')]=qs[_0x6965('0x29')](_[_0x6965('0x31')](_0x30f797[_0x6965('0x28')],_0x34fb79[_0x6965('0x29')]));_0x2e12d3['where'][_0x6965('0x52')]=_0x1381c4['id'];if(_0x30f797[_0x6965('0x28')][_0x6965('0x32')]){_0x2e12d3[_0x6965('0x34')]=_[_0x6965('0x33')](_0x2e12d3[_0x6965('0x34')],{'$or':_[_0x6965('0x27')](_0x2e12d3[_0x6965('0x2b')],function(_0x2d0b0c){var _0x326aed={};_0x326aed[_0x2d0b0c]={'$like':'%'+_0x30f797['query'][_0x6965('0x32')]+'%'};return _0x326aed;})});}_0x2e12d3=_[_0x6965('0x33')]({},_0x2e12d3,_0x30f797[_0x6965('0x35')]);return db[_0x6965('0x54')][_0x6965('0x18')]({'where':_0x2e12d3['where']})[_0x6965('0x1d')](function(_0x4548fe){_0x2bbb76['count']=_0x4548fe;if(_0x30f797[_0x6965('0x28')][_0x6965('0x36')]){_0x2e12d3['include']=[{'all':!![]}];}return db[_0x6965('0x54')][_0x6965('0x39')](_0x2e12d3);})[_0x6965('0x1d')](function(_0x1cf512){_0x2bbb76[_0x6965('0x3a')]=_0x1cf512;return _0x2bbb76;});}})['then'](respondWithFilteredResult(_0x298e62,_0x2e12d3))[_0x6965('0x3b')](handleError(_0x298e62,null));};function char(_0x3e6dc2){return _0x6965('0x55')===typeof _0x3e6dc2?String[_0x6965('0x56')]['apply'](null,arguments):_0x3e6dc2;}function needsEncapsulation(_0x5d76e1){return!!_0x5d76e1&&(_0x5d76e1[_0x6965('0x57')]()[_0x6965('0x58')](char(0xd))>=0x0||_0x5d76e1[_0x6965('0x57')]()[_0x6965('0x58')](char(0xa))>=0x0||_0x5d76e1['toString']()['indexOf'](char(0x2c))>=0x0||_0x5d76e1[_0x6965('0x57')]()[_0x6965('0x58')](char(0x22))>=0x0);}function encapsulate(_0x3c0259){var _0x4be66f=char(0x22),_0x899c3d='\x5c'+char(0x22),_0x235aee=_0x3c0259[_0x6965('0x57')]()[_0x6965('0x59')](new RegExp(_0x4be66f,'g'),_0x899c3d);return _0x4be66f+_0x235aee+_0x4be66f;}exports['getSummary']=function(_0x4715c7,_0x4f13cd,_0x246e2c){var _0x14e09b,_0x17f3a8;var _0x2573af={'where':{'ProjectId':_0x4715c7[_0x6965('0x3d')]['id']}};if(_0x4715c7[_0x6965('0x28')][_0x6965('0x5a')]){_0x2573af[_0x6965('0x34')][_0x6965('0x5b')]=JSON[_0x6965('0x5c')](_0x4715c7['query'][_0x6965('0x5a')]);}return db[_0x6965('0x51')]['findAll'](_0x2573af)[_0x6965('0x1d')](handleEntityNotFound(_0x4f13cd,null))[_0x6965('0x1d')](function(_0x2f980d){if(_0x2f980d){_0x14e09b=_0x2f980d;return db['JscriptyQuestionReport'][_0x6965('0x39')]({'where':{'SessionId':{'$in':_[_0x6965('0x27')](_0x14e09b,'id')},'ProjectId':_0x4715c7[_0x6965('0x3d')]['id']},'order':_0x6965('0x5d')});}})[_0x6965('0x1d')](handleEntityNotFound(_0x4f13cd,null))['then'](function(_0x382568){if(_0x382568){_0x17f3a8=_0x382568;var _0x3ea746={};for(var _0x2eca03=0x0,_0xccea0a=_0x17f3a8[_0x6965('0x40')];_0x2eca03<_0xccea0a;_0x2eca03++){if(!_0x3ea746[_0x6965('0x2d')](_0x17f3a8[_0x2eca03]['questionId'])){_0x3ea746[_0x17f3a8[_0x2eca03][_0x6965('0x5e')]]=needsEncapsulation(_0x17f3a8[_0x2eca03][_0x6965('0x5f')])?encapsulate(_0x17f3a8[_0x2eca03][_0x6965('0x5f')]):_0x17f3a8[_0x2eca03][_0x6965('0x5f')];}}var _0x20725f=[],_0x4e92c2={};for(var _0x42e3a3=0x0,_0xf38753=_0x14e09b[_0x6965('0x40')];_0x42e3a3<_0xf38753;_0x42e3a3++){_0x4e92c2={'ProjectId':_0x4715c7[_0x6965('0x3d')]['id'],'SessionId':_0x14e09b[_0x42e3a3]['id'],'StartTime':moment(_0x14e09b[_0x42e3a3][_0x6965('0x5b')])['format']('YYYY-MM-DD\x20HH:mm:ss')};for(var _0x3bbab3=0x0,_0x203354=_0x17f3a8[_0x6965('0x40')];_0x3bbab3<_0x203354;_0x3bbab3++){if(_0x17f3a8[_0x3bbab3]['SessionId']==_0x14e09b[_0x42e3a3]['id']&&_0x3ea746['hasOwnProperty'](_0x17f3a8[_0x3bbab3]['questionId'])){_0x4e92c2[_0x3ea746[_0x17f3a8[_0x3bbab3][_0x6965('0x5e')]]]=_0x17f3a8[_0x3bbab3][_0x6965('0x60')];}}for(var _0xafee79 in _0x3ea746){if(!_0x4e92c2['hasOwnProperty'](_0x3ea746[_0xafee79])){_0x4e92c2[_0x3ea746[_0xafee79]]=null;}}_0x20725f[_0x6965('0x61')](_0x4e92c2);}return _0x20725f;}})['then'](function(_0x26806f){if(!_[_0x6965('0x62')](_0x26806f)){var _0x26dbda=toCsv(_0x26806f);var _0x3a8712=Date[_0x6965('0x63')]();fs[_0x6965('0x64')](util[_0x6965('0x65')](_0x6965('0x66'),_0x4715c7['params']['id'],_0x3a8712),_0x26dbda);_0x4f13cd[_0x6965('0x67')](_0x6965('0x68'),_0x6965('0x69')+util[_0x6965('0x65')](_0x6965('0x6a'),_0x4715c7['params']['id'],_0x3a8712));_0x4f13cd[_0x6965('0x67')](_0x6965('0x6b'),_0x6965('0x6c'));return _0x4f13cd[_0x6965('0x6d')](util[_0x6965('0x65')](_0x6965('0x66'),_0x4715c7[_0x6965('0x3d')]['id'],_0x3a8712));}else{return _0x4f13cd[_0x6965('0x11')](0xcc);}})[_0x6965('0x3b')](handleError(_0x4f13cd,null));};