Built motion from commit 616d3211.|2.6.4
[motion2.git] / server / api / jscriptySessionReport / jscriptySessionReport.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 _0x92ba=['../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','set','apply','reject','save','update','then','name','send','index','map','JscriptySessionReport','rawAttributes','fieldName','type','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','filters','pick','filter','merge','VIRTUAL','options','count','includeAll','include','rows','show','find','catch','create','body','params','destroy','describe','getQuestions','JscriptyQuestionReport','SessionId','findAll','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis'];(function(_0x55e08b,_0x421620){var _0xd1a7ff=function(_0x58c7ff){while(--_0x58c7ff){_0x55e08b['push'](_0x55e08b['shift']());}};_0xd1a7ff(++_0x421620);}(_0x92ba,0xdc));var _0xa92b=function(_0xc95068,_0x2625ea){_0xc95068=_0xc95068-0x0;var _0x3aeaca=_0x92ba[_0xc95068];return _0x3aeaca;};'use strict';var emlformat=require(_0xa92b('0x0'));var rimraf=require(_0xa92b('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xa92b('0x2'));var rp=require(_0xa92b('0x3'));var moment=require(_0xa92b('0x4'));var BPromise=require(_0xa92b('0x5'));var Mustache=require(_0xa92b('0x6'));var util=require(_0xa92b('0x7'));var path=require(_0xa92b('0x8'));var sox=require(_0xa92b('0x9'));var csv=require(_0xa92b('0xa'));var ejs=require(_0xa92b('0xb'));var fs=require('fs');var fs_extra=require(_0xa92b('0xc'));var _=require(_0xa92b('0xd'));var squel=require(_0xa92b('0xe'));var crypto=require(_0xa92b('0xf'));var jsforce=require(_0xa92b('0x10'));var deskjs=require(_0xa92b('0x11'));var toCsv=require(_0xa92b('0xa'));var querystring=require(_0xa92b('0x12'));var Papa=require('papaparse');var Redis=require(_0xa92b('0x13'));var authService=require('../../components/auth/service');var qs=require(_0xa92b('0x14'));var as=require(_0xa92b('0x15'));var hardwareService=require(_0xa92b('0x16'));var logger=require('../../config/logger')('api');var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0xa92b('0x17'));var db=require(_0xa92b('0x18'))['db'];function respondWithStatusCode(_0x3c5333,_0x2d860c){_0x2d860c=_0x2d860c||0xcc;return function(_0x4e85c6){if(_0x4e85c6){return _0x3c5333[_0xa92b('0x19')](_0x2d860c);}return _0x3c5333[_0xa92b('0x1a')](_0x2d860c)[_0xa92b('0x1b')]();};}function respondWithResult(_0x23f789,_0x359240){_0x359240=_0x359240||0xc8;return function(_0x514f96){if(_0x514f96){return _0x23f789[_0xa92b('0x1a')](_0x359240)[_0xa92b('0x1c')](_0x514f96);}};}function respondWithFilteredResult(_0x256783,_0x3e9dd8){return function(_0x111c8e){if(_0x111c8e){var _0x1e705a=typeof _0x3e9dd8[_0xa92b('0x1d')]===_0xa92b('0x1e')&&typeof _0x3e9dd8[_0xa92b('0x1f')]===_0xa92b('0x1e');var _0x209a89=_0x111c8e['count'];var _0x5130e2=_0x1e705a?0x0:_0x3e9dd8['offset'];var _0x2588da=_0x1e705a?_0x111c8e['count']:_0x3e9dd8[_0xa92b('0x1d')]+_0x3e9dd8[_0xa92b('0x1f')];var _0x323534;if(_0x2588da>=_0x209a89){_0x2588da=_0x209a89;_0x323534=0xc8;}else{_0x323534=0xce;}_0x256783['status'](_0x323534);return _0x256783[_0xa92b('0x20')]('Content-Range',_0x5130e2+'-'+_0x2588da+'/'+_0x209a89)[_0xa92b('0x1c')](_0x111c8e);}return null;};}function patchUpdates(_0x330d87){return function(_0x1d25a6){try{jsonpatch[_0xa92b('0x21')](_0x1d25a6,_0x330d87,!![]);}catch(_0x15cdad){return BPromise[_0xa92b('0x22')](_0x15cdad);}return _0x1d25a6[_0xa92b('0x23')]();};}function saveUpdates(_0x1e6ae3,_0x45c5a7){return function(_0x314b84){if(_0x314b84){return _0x314b84[_0xa92b('0x24')](_0x1e6ae3)[_0xa92b('0x25')](function(_0x4d3faa){return _0x4d3faa;});}return null;};}function removeEntity(_0x49c883,_0x3b4503){return function(_0xfb2088){if(_0xfb2088){return _0xfb2088['destroy']()[_0xa92b('0x25')](function(){_0x49c883[_0xa92b('0x1a')](0xcc)[_0xa92b('0x1b')]();});}};}function handleEntityNotFound(_0x339a4f,_0x253b14){return function(_0x51dc49){if(!_0x51dc49){_0x339a4f['sendStatus'](0x194);}return _0x51dc49;};}function handleError(_0x2a43e4,_0x363fac){_0x363fac=_0x363fac||0x1f4;return function(_0xa9d6f){logger['error'](_0xa9d6f['stack']);if(_0xa9d6f[_0xa92b('0x26')]){delete _0xa9d6f[_0xa92b('0x26')];}_0x2a43e4['status'](_0x363fac)[_0xa92b('0x27')](_0xa9d6f);};}exports[_0xa92b('0x28')]=function(_0x38002e,_0x27c274){var _0x13dcf4={},_0x527956={},_0x3a4393={'count':0x0,'rows':[]};var _0x23e101=_[_0xa92b('0x29')](db[_0xa92b('0x2a')][_0xa92b('0x2b')],function(_0x17ac6e){return{'name':_0x17ac6e[_0xa92b('0x2c')],'type':_0x17ac6e[_0xa92b('0x2d')][_0xa92b('0x2e')]};});_0x527956[_0xa92b('0x2f')]=_[_0xa92b('0x29')](_0x23e101,_0xa92b('0x26'));_0x527956[_0xa92b('0x30')]=_[_0xa92b('0x31')](_0x38002e[_0xa92b('0x30')]);_0x527956['filters']=_[_0xa92b('0x32')](_0x527956[_0xa92b('0x2f')],_0x527956[_0xa92b('0x30')]);_0x13dcf4[_0xa92b('0x33')]=_[_0xa92b('0x32')](_0x527956[_0xa92b('0x2f')],qs[_0xa92b('0x34')](_0x38002e['query'][_0xa92b('0x34')]));_0x13dcf4[_0xa92b('0x33')]=_0x13dcf4['attributes'][_0xa92b('0x35')]?_0x13dcf4[_0xa92b('0x33')]:_0x527956[_0xa92b('0x2f')];if(!_0x38002e['query'][_0xa92b('0x36')](_0xa92b('0x37'))){_0x13dcf4['limit']=qs[_0xa92b('0x1f')](_0x38002e[_0xa92b('0x30')][_0xa92b('0x1f')]);_0x13dcf4[_0xa92b('0x1d')]=qs[_0xa92b('0x1d')](_0x38002e['query'][_0xa92b('0x1d')]);}_0x13dcf4['order']=qs[_0xa92b('0x38')](_0x38002e[_0xa92b('0x30')][_0xa92b('0x38')]);_0x13dcf4[_0xa92b('0x39')]=qs[_0xa92b('0x3a')](_[_0xa92b('0x3b')](_0x38002e[_0xa92b('0x30')],_0x527956[_0xa92b('0x3a')]),_0x23e101);if(_0x38002e['query'][_0xa92b('0x3c')]){_0x13dcf4[_0xa92b('0x39')]=_[_0xa92b('0x3d')](_0x13dcf4['where'],{'$or':_[_0xa92b('0x29')](_0x23e101,function(_0x18286a){if(_0x18286a[_0xa92b('0x2d')]!==_0xa92b('0x3e')){var _0x41c115={};_0x41c115[_0x18286a['name']]={'$like':'%'+_0x38002e[_0xa92b('0x30')][_0xa92b('0x3c')]+'%'};return _0x41c115;}})});}_0x13dcf4=_['merge']({},_0x13dcf4,_0x38002e[_0xa92b('0x3f')]);var _0x11f3c5={'where':_0x13dcf4['where']};return db['JscriptySessionReport'][_0xa92b('0x40')](_0x11f3c5)[_0xa92b('0x25')](function(_0x142d8e){_0x3a4393[_0xa92b('0x40')]=_0x142d8e;if(_0x38002e['query'][_0xa92b('0x41')]){_0x13dcf4[_0xa92b('0x42')]=[{'all':!![]}];}return db[_0xa92b('0x2a')]['findAll'](_0x13dcf4);})[_0xa92b('0x25')](function(_0x5e5134){_0x3a4393[_0xa92b('0x43')]=_0x5e5134;return _0x3a4393;})[_0xa92b('0x25')](respondWithFilteredResult(_0x27c274,_0x13dcf4))['catch'](handleError(_0x27c274,null));};exports[_0xa92b('0x44')]=function(_0x3b4d3b,_0x1e8928){var _0x199b64={'raw':!![],'where':{'id':_0x3b4d3b['params']['id']}},_0x2bfbe2={};_0x2bfbe2['model']=_[_0xa92b('0x31')](db[_0xa92b('0x2a')]['rawAttributes']);_0x2bfbe2[_0xa92b('0x30')]=_['keys'](_0x3b4d3b['query']);_0x2bfbe2[_0xa92b('0x3a')]=_[_0xa92b('0x32')](_0x2bfbe2[_0xa92b('0x2f')],_0x2bfbe2['query']);_0x199b64['attributes']=_[_0xa92b('0x32')](_0x2bfbe2[_0xa92b('0x2f')],qs[_0xa92b('0x34')](_0x3b4d3b[_0xa92b('0x30')]['fields']));_0x199b64[_0xa92b('0x33')]=_0x199b64[_0xa92b('0x33')][_0xa92b('0x35')]?_0x199b64[_0xa92b('0x33')]:_0x2bfbe2[_0xa92b('0x2f')];if(_0x3b4d3b['query'][_0xa92b('0x41')]){_0x199b64['include']=[{'all':!![]}];}_0x199b64=_['merge']({},_0x199b64,_0x3b4d3b[_0xa92b('0x3f')]);return db['JscriptySessionReport'][_0xa92b('0x45')](_0x199b64)[_0xa92b('0x25')](handleEntityNotFound(_0x1e8928,null))[_0xa92b('0x25')](respondWithResult(_0x1e8928,null))[_0xa92b('0x46')](handleError(_0x1e8928,null));};exports['create']=function(_0x20866a,_0x3e9759){return db[_0xa92b('0x2a')][_0xa92b('0x47')](_0x20866a['body'],{})[_0xa92b('0x25')](respondWithResult(_0x3e9759,0xc9))[_0xa92b('0x46')](handleError(_0x3e9759,null));};exports[_0xa92b('0x24')]=function(_0x673937,_0x500a37){if(_0x673937[_0xa92b('0x48')]['id']){delete _0x673937[_0xa92b('0x48')]['id'];}return db[_0xa92b('0x2a')][_0xa92b('0x45')]({'where':{'id':_0x673937[_0xa92b('0x49')]['id']}})[_0xa92b('0x25')](handleEntityNotFound(_0x500a37,null))[_0xa92b('0x25')](saveUpdates(_0x673937[_0xa92b('0x48')],null))[_0xa92b('0x25')](respondWithResult(_0x500a37,null))[_0xa92b('0x46')](handleError(_0x500a37,null));};exports[_0xa92b('0x4a')]=function(_0x4196d0,_0xfd4982){return db[_0xa92b('0x2a')][_0xa92b('0x45')]({'where':{'id':_0x4196d0[_0xa92b('0x49')]['id']}})[_0xa92b('0x25')](handleEntityNotFound(_0xfd4982,null))[_0xa92b('0x25')](removeEntity(_0xfd4982,null))[_0xa92b('0x46')](handleError(_0xfd4982,null));};exports[_0xa92b('0x4b')]=function(_0x3aec2d,_0x4f012f){return db[_0xa92b('0x2a')][_0xa92b('0x4b')]()[_0xa92b('0x25')](respondWithResult(_0x4f012f,null))[_0xa92b('0x46')](handleError(_0x4f012f,null));};exports[_0xa92b('0x4c')]=function(_0x41531b,_0xd524a9,_0x43261e){var _0x16b219={'raw':!![],'where':{}};var _0x28d8e8={};var _0x487095={'count':0x0,'rows':[]};return db[_0xa92b('0x2a')]['findOne']({'where':{'id':_0x41531b['params']['id']}})[_0xa92b('0x25')](handleEntityNotFound(_0xd524a9,null))[_0xa92b('0x25')](function(_0x3fc1e4){if(_0x3fc1e4){_0x28d8e8['model']=_['keys'](db[_0xa92b('0x4d')][_0xa92b('0x2b')]);_0x28d8e8['query']=_[_0xa92b('0x31')](_0x41531b[_0xa92b('0x30')]);_0x28d8e8[_0xa92b('0x3a')]=_[_0xa92b('0x32')](_0x28d8e8[_0xa92b('0x2f')],_0x28d8e8[_0xa92b('0x30')]);_0x16b219[_0xa92b('0x33')]=_['intersection'](_0x28d8e8[_0xa92b('0x2f')],qs[_0xa92b('0x34')](_0x41531b[_0xa92b('0x30')][_0xa92b('0x34')]));_0x16b219[_0xa92b('0x33')]=_0x16b219[_0xa92b('0x33')][_0xa92b('0x35')]?_0x16b219[_0xa92b('0x33')]:_0x28d8e8[_0xa92b('0x2f')];if(!_0x41531b[_0xa92b('0x30')][_0xa92b('0x36')](_0xa92b('0x37'))){_0x16b219[_0xa92b('0x1f')]=qs[_0xa92b('0x1f')](_0x41531b['query'][_0xa92b('0x1f')]);_0x16b219[_0xa92b('0x1d')]=qs[_0xa92b('0x1d')](_0x41531b[_0xa92b('0x30')][_0xa92b('0x1d')]);}_0x16b219['order']=qs['sort'](_0x41531b['query'][_0xa92b('0x38')]);_0x16b219[_0xa92b('0x39')]=qs[_0xa92b('0x3a')](_[_0xa92b('0x3b')](_0x41531b[_0xa92b('0x30')],_0x28d8e8['filters']));_0x16b219[_0xa92b('0x39')][_0xa92b('0x4e')]=_0x3fc1e4['id'];if(_0x41531b[_0xa92b('0x30')][_0xa92b('0x3c')]){_0x16b219[_0xa92b('0x39')]=_[_0xa92b('0x3d')](_0x16b219[_0xa92b('0x39')],{'$or':_[_0xa92b('0x29')](_0x16b219[_0xa92b('0x33')],function(_0x21c4eb){var _0x58b98f={};_0x58b98f[_0x21c4eb]={'$like':'%'+_0x41531b[_0xa92b('0x30')]['filter']+'%'};return _0x58b98f;})});}_0x16b219=_[_0xa92b('0x3d')]({},_0x16b219,_0x41531b['options']);return db['JscriptyQuestionReport'][_0xa92b('0x40')]({'where':_0x16b219[_0xa92b('0x39')]})['then'](function(_0x1b85e9){_0x487095[_0xa92b('0x40')]=_0x1b85e9;if(_0x41531b[_0xa92b('0x30')][_0xa92b('0x41')]){_0x16b219[_0xa92b('0x42')]=[{'all':!![]}];}return db['JscriptyQuestionReport'][_0xa92b('0x4f')](_0x16b219);})[_0xa92b('0x25')](function(_0x309b73){_0x487095[_0xa92b('0x43')]=_0x309b73;return _0x487095;});}})[_0xa92b('0x25')](respondWithFilteredResult(_0xd524a9,_0x16b219))['catch'](handleError(_0xd524a9,null));};