Built motion from commit d5e4af8c.|2.6.23
[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 _0x3476=['desk.js','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','undefined','limit','count','offset','set','Content-Range','reject','save','then','destroy','sendStatus','error','stack','name','send','index','map','JscriptySessionReport','rawAttributes','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','filter','merge','VIRTUAL','includeAll','findAll','rows','include','options','find','catch','create','body','params','describe','getQuestions','findOne','order','SessionId','JscriptyQuestionReport','rimraf','fast-json-patch','bluebird','mustache','util','to-csv','ejs','lodash','squel','jsforce'];(function(_0x258180,_0x593d87){var _0x37a1eb=function(_0x146f01){while(--_0x146f01){_0x258180['push'](_0x258180['shift']());}};_0x37a1eb(++_0x593d87);}(_0x3476,0x12a));var _0x6347=function(_0x176329,_0x568c84){_0x176329=_0x176329-0x0;var _0x31997c=_0x3476[_0x176329];return _0x31997c;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x6347('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x6347('0x1'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x6347('0x2'));var Mustache=require(_0x6347('0x3'));var util=require(_0x6347('0x4'));var path=require('path');var sox=require('sox');var csv=require(_0x6347('0x5'));var ejs=require(_0x6347('0x6'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x6347('0x7'));var squel=require(_0x6347('0x8'));var crypto=require('crypto');var jsforce=require(_0x6347('0x9'));var deskjs=require(_0x6347('0xa'));var toCsv=require(_0x6347('0x5'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x6347('0xb'));var authService=require(_0x6347('0xc'));var qs=require(_0x6347('0xd'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x6347('0xe'));var logger=require(_0x6347('0xf'))(_0x6347('0x10'));var utils=require(_0x6347('0x11'));var config=require(_0x6347('0x12'));var licenseUtil=require(_0x6347('0x13'));var db=require(_0x6347('0x14'))['db'];function respondWithStatusCode(_0x1c9ada,_0x2d71c5){_0x2d71c5=_0x2d71c5||0xcc;return function(_0x72e624){if(_0x72e624){return _0x1c9ada['sendStatus'](_0x2d71c5);}return _0x1c9ada[_0x6347('0x15')](_0x2d71c5)[_0x6347('0x16')]();};}function respondWithResult(_0x2c8978,_0xfcdb0a){_0xfcdb0a=_0xfcdb0a||0xc8;return function(_0x32caa5){if(_0x32caa5){return _0x2c8978[_0x6347('0x15')](_0xfcdb0a)[_0x6347('0x17')](_0x32caa5);}};}function respondWithFilteredResult(_0x2cf7d3,_0x3b9262){return function(_0x295a5e){if(_0x295a5e){var _0x1a8159=typeof _0x3b9262['offset']===_0x6347('0x18')&&typeof _0x3b9262[_0x6347('0x19')]==='undefined';var _0x5c9cf3=_0x295a5e[_0x6347('0x1a')];var _0x5c2614=_0x1a8159?0x0:_0x3b9262[_0x6347('0x1b')];var _0x2052db=_0x1a8159?_0x295a5e[_0x6347('0x1a')]:_0x3b9262[_0x6347('0x1b')]+_0x3b9262[_0x6347('0x19')];var _0x70a6c8;if(_0x2052db>=_0x5c9cf3){_0x2052db=_0x5c9cf3;_0x70a6c8=0xc8;}else{_0x70a6c8=0xce;}_0x2cf7d3[_0x6347('0x15')](_0x70a6c8);return _0x2cf7d3[_0x6347('0x1c')](_0x6347('0x1d'),_0x5c2614+'-'+_0x2052db+'/'+_0x5c9cf3)[_0x6347('0x17')](_0x295a5e);}return null;};}function patchUpdates(_0x4e92d5){return function(_0x53c21b){try{jsonpatch['apply'](_0x53c21b,_0x4e92d5,!![]);}catch(_0x538c35){return BPromise[_0x6347('0x1e')](_0x538c35);}return _0x53c21b[_0x6347('0x1f')]();};}function saveUpdates(_0x59c27d,_0x296245){return function(_0x269078){if(_0x269078){return _0x269078['update'](_0x59c27d)[_0x6347('0x20')](function(_0x30dccf){return _0x30dccf;});}return null;};}function removeEntity(_0x515f7c,_0x155602){return function(_0x3c1c20){if(_0x3c1c20){return _0x3c1c20[_0x6347('0x21')]()[_0x6347('0x20')](function(){_0x515f7c['status'](0xcc)[_0x6347('0x16')]();});}};}function handleEntityNotFound(_0x2b5840,_0x3e6866){return function(_0xb46f5d){if(!_0xb46f5d){_0x2b5840[_0x6347('0x22')](0x194);}return _0xb46f5d;};}function handleError(_0x132d69,_0x2ec29f){_0x2ec29f=_0x2ec29f||0x1f4;return function(_0x1c7bd0){logger[_0x6347('0x23')](_0x1c7bd0[_0x6347('0x24')]);if(_0x1c7bd0[_0x6347('0x25')]){delete _0x1c7bd0[_0x6347('0x25')];}_0x132d69['status'](_0x2ec29f)[_0x6347('0x26')](_0x1c7bd0);};}exports[_0x6347('0x27')]=function(_0x3ed1ea,_0x24aa12){var _0x2bca9e={},_0x3068f2={},_0x3ddbd9={'count':0x0,'rows':[]};var _0x3d2349=_[_0x6347('0x28')](db[_0x6347('0x29')][_0x6347('0x2a')],function(_0x2ed56e){return{'name':_0x2ed56e['fieldName'],'type':_0x2ed56e[_0x6347('0x2b')][_0x6347('0x2c')]};});_0x3068f2[_0x6347('0x2d')]=_['map'](_0x3d2349,_0x6347('0x25'));_0x3068f2[_0x6347('0x2e')]=_[_0x6347('0x2f')](_0x3ed1ea['query']);_0x3068f2[_0x6347('0x30')]=_[_0x6347('0x31')](_0x3068f2['model'],_0x3068f2[_0x6347('0x2e')]);_0x2bca9e[_0x6347('0x32')]=_['intersection'](_0x3068f2[_0x6347('0x2d')],qs[_0x6347('0x33')](_0x3ed1ea['query']['fields']));_0x2bca9e['attributes']=_0x2bca9e[_0x6347('0x32')][_0x6347('0x34')]?_0x2bca9e[_0x6347('0x32')]:_0x3068f2[_0x6347('0x2d')];if(!_0x3ed1ea[_0x6347('0x2e')][_0x6347('0x35')](_0x6347('0x36'))){_0x2bca9e[_0x6347('0x19')]=qs[_0x6347('0x19')](_0x3ed1ea[_0x6347('0x2e')][_0x6347('0x19')]);_0x2bca9e[_0x6347('0x1b')]=qs[_0x6347('0x1b')](_0x3ed1ea[_0x6347('0x2e')][_0x6347('0x1b')]);}_0x2bca9e['order']=qs['sort'](_0x3ed1ea[_0x6347('0x2e')][_0x6347('0x37')]);_0x2bca9e[_0x6347('0x38')]=qs[_0x6347('0x30')](_[_0x6347('0x39')](_0x3ed1ea[_0x6347('0x2e')],_0x3068f2['filters']),_0x3d2349);if(_0x3ed1ea[_0x6347('0x2e')][_0x6347('0x3a')]){_0x2bca9e[_0x6347('0x38')]=_[_0x6347('0x3b')](_0x2bca9e[_0x6347('0x38')],{'$or':_[_0x6347('0x28')](_0x3d2349,function(_0x45613e){if(_0x45613e[_0x6347('0x2b')]!==_0x6347('0x3c')){var _0x1125c1={};_0x1125c1[_0x45613e[_0x6347('0x25')]]={'$like':'%'+_0x3ed1ea[_0x6347('0x2e')][_0x6347('0x3a')]+'%'};return _0x1125c1;}})});}_0x2bca9e=_[_0x6347('0x3b')]({},_0x2bca9e,_0x3ed1ea['options']);var _0x339b23={'where':_0x2bca9e[_0x6347('0x38')]};return db[_0x6347('0x29')]['count'](_0x339b23)[_0x6347('0x20')](function(_0x11f6c8){_0x3ddbd9[_0x6347('0x1a')]=_0x11f6c8;if(_0x3ed1ea['query'][_0x6347('0x3d')]){_0x2bca9e['include']=[{'all':!![]}];}return db[_0x6347('0x29')][_0x6347('0x3e')](_0x2bca9e);})['then'](function(_0x36c17a){_0x3ddbd9[_0x6347('0x3f')]=_0x36c17a;return _0x3ddbd9;})[_0x6347('0x20')](respondWithFilteredResult(_0x24aa12,_0x2bca9e))['catch'](handleError(_0x24aa12,null));};exports['show']=function(_0x5eaa02,_0xebc7eb){var _0x4e8945={'raw':!![],'where':{'id':_0x5eaa02['params']['id']}},_0x4fcd63={};_0x4fcd63[_0x6347('0x2d')]=_[_0x6347('0x2f')](db[_0x6347('0x29')][_0x6347('0x2a')]);_0x4fcd63[_0x6347('0x2e')]=_[_0x6347('0x2f')](_0x5eaa02[_0x6347('0x2e')]);_0x4fcd63[_0x6347('0x30')]=_[_0x6347('0x31')](_0x4fcd63[_0x6347('0x2d')],_0x4fcd63['query']);_0x4e8945[_0x6347('0x32')]=_['intersection'](_0x4fcd63[_0x6347('0x2d')],qs[_0x6347('0x33')](_0x5eaa02[_0x6347('0x2e')][_0x6347('0x33')]));_0x4e8945['attributes']=_0x4e8945[_0x6347('0x32')]['length']?_0x4e8945['attributes']:_0x4fcd63[_0x6347('0x2d')];if(_0x5eaa02['query']['includeAll']){_0x4e8945[_0x6347('0x40')]=[{'all':!![]}];}_0x4e8945=_[_0x6347('0x3b')]({},_0x4e8945,_0x5eaa02[_0x6347('0x41')]);return db[_0x6347('0x29')][_0x6347('0x42')](_0x4e8945)['then'](handleEntityNotFound(_0xebc7eb,null))[_0x6347('0x20')](respondWithResult(_0xebc7eb,null))[_0x6347('0x43')](handleError(_0xebc7eb,null));};exports[_0x6347('0x44')]=function(_0x4216f1,_0x5cf128){return db[_0x6347('0x29')][_0x6347('0x44')](_0x4216f1[_0x6347('0x45')],{})[_0x6347('0x20')](respondWithResult(_0x5cf128,0xc9))[_0x6347('0x43')](handleError(_0x5cf128,null));};exports['update']=function(_0x308588,_0x174016){if(_0x308588[_0x6347('0x45')]['id']){delete _0x308588[_0x6347('0x45')]['id'];}return db['JscriptySessionReport'][_0x6347('0x42')]({'where':{'id':_0x308588[_0x6347('0x46')]['id']}})['then'](handleEntityNotFound(_0x174016,null))[_0x6347('0x20')](saveUpdates(_0x308588[_0x6347('0x45')],null))['then'](respondWithResult(_0x174016,null))[_0x6347('0x43')](handleError(_0x174016,null));};exports[_0x6347('0x21')]=function(_0x3d649a,_0x1813b8){return db[_0x6347('0x29')][_0x6347('0x42')]({'where':{'id':_0x3d649a[_0x6347('0x46')]['id']}})[_0x6347('0x20')](handleEntityNotFound(_0x1813b8,null))['then'](removeEntity(_0x1813b8,null))[_0x6347('0x43')](handleError(_0x1813b8,null));};exports[_0x6347('0x47')]=function(_0x2d140c,_0x3c9b01){return db[_0x6347('0x29')][_0x6347('0x47')]()[_0x6347('0x20')](respondWithResult(_0x3c9b01,null))[_0x6347('0x43')](handleError(_0x3c9b01,null));};exports[_0x6347('0x48')]=function(_0x43bf76,_0x3ff9bf,_0x178277){var _0x494116={'raw':!![],'where':{}};var _0x2a0891={};var _0x4544ac={'count':0x0,'rows':[]};return db[_0x6347('0x29')][_0x6347('0x49')]({'where':{'id':_0x43bf76[_0x6347('0x46')]['id']}})[_0x6347('0x20')](handleEntityNotFound(_0x3ff9bf,null))[_0x6347('0x20')](function(_0x356aff){if(_0x356aff){_0x2a0891[_0x6347('0x2d')]=_[_0x6347('0x2f')](db['JscriptyQuestionReport']['rawAttributes']);_0x2a0891['query']=_[_0x6347('0x2f')](_0x43bf76[_0x6347('0x2e')]);_0x2a0891[_0x6347('0x30')]=_['intersection'](_0x2a0891[_0x6347('0x2d')],_0x2a0891[_0x6347('0x2e')]);_0x494116['attributes']=_[_0x6347('0x31')](_0x2a0891['model'],qs['fields'](_0x43bf76[_0x6347('0x2e')]['fields']));_0x494116[_0x6347('0x32')]=_0x494116[_0x6347('0x32')][_0x6347('0x34')]?_0x494116[_0x6347('0x32')]:_0x2a0891[_0x6347('0x2d')];if(!_0x43bf76[_0x6347('0x2e')][_0x6347('0x35')]('nolimit')){_0x494116[_0x6347('0x19')]=qs[_0x6347('0x19')](_0x43bf76[_0x6347('0x2e')][_0x6347('0x19')]);_0x494116[_0x6347('0x1b')]=qs[_0x6347('0x1b')](_0x43bf76['query'][_0x6347('0x1b')]);}_0x494116[_0x6347('0x4a')]=qs[_0x6347('0x37')](_0x43bf76['query'][_0x6347('0x37')]);_0x494116[_0x6347('0x38')]=qs['filters'](_[_0x6347('0x39')](_0x43bf76[_0x6347('0x2e')],_0x2a0891[_0x6347('0x30')]));_0x494116[_0x6347('0x38')][_0x6347('0x4b')]=_0x356aff['id'];if(_0x43bf76['query'][_0x6347('0x3a')]){_0x494116[_0x6347('0x38')]=_['merge'](_0x494116[_0x6347('0x38')],{'$or':_[_0x6347('0x28')](_0x494116[_0x6347('0x32')],function(_0x37b2e3){var _0x2e9487={};_0x2e9487[_0x37b2e3]={'$like':'%'+_0x43bf76[_0x6347('0x2e')][_0x6347('0x3a')]+'%'};return _0x2e9487;})});}_0x494116=_[_0x6347('0x3b')]({},_0x494116,_0x43bf76[_0x6347('0x41')]);return db[_0x6347('0x4c')][_0x6347('0x1a')]({'where':_0x494116[_0x6347('0x38')]})['then'](function(_0x65284b){_0x4544ac['count']=_0x65284b;if(_0x43bf76[_0x6347('0x2e')][_0x6347('0x3d')]){_0x494116[_0x6347('0x40')]=[{'all':!![]}];}return db[_0x6347('0x4c')][_0x6347('0x3e')](_0x494116);})['then'](function(_0x208140){_0x4544ac[_0x6347('0x3f')]=_0x208140;return _0x4544ac;});}})[_0x6347('0x20')](respondWithFilteredResult(_0x3ff9bf,_0x494116))['catch'](handleError(_0x3ff9bf,null));};