Built motion from commit 3e059bc2.|2.5.32
[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 _0x2ec5=['destroy','describe','findOne','JscriptyQuestionReport','order','rows','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','papaparse','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','sendStatus','status','end','offset','undefined','limit','set','json','reject','update','then','error','name','rawAttributes','fieldName','key','model','map','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','sort','where','pick','merge','type','filter','options','count','includeAll','include','findAll','show','params','keys','JscriptySessionReport','length','find','create','body','catch'];(function(_0x4b3831,_0x446e10){var _0x48bed4=function(_0xb18ad6){while(--_0xb18ad6){_0x4b3831['push'](_0x4b3831['shift']());}};_0x48bed4(++_0x446e10);}(_0x2ec5,0x9a));var _0x52ec=function(_0x473158,_0x506bc6){_0x473158=_0x473158-0x0;var _0x59e577=_0x2ec5[_0x473158];return _0x59e577;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x52ec('0x0'));var zipdir=require(_0x52ec('0x1'));var jsonpatch=require(_0x52ec('0x2'));var rp=require(_0x52ec('0x3'));var moment=require(_0x52ec('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x52ec('0x5'));var util=require(_0x52ec('0x6'));var path=require(_0x52ec('0x7'));var sox=require(_0x52ec('0x8'));var csv=require('to-csv');var ejs=require(_0x52ec('0x9'));var fs=require('fs');var fs_extra=require(_0x52ec('0xa'));var _=require(_0x52ec('0xb'));var squel=require(_0x52ec('0xc'));var crypto=require(_0x52ec('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x52ec('0xe'));var toCsv=require('to-csv');var querystring=require(_0x52ec('0xf'));var Papa=require(_0x52ec('0x10'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x52ec('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x52ec('0x12'));var logger=require(_0x52ec('0x13'))(_0x52ec('0x14'));var utils=require('../../config/utils');var config=require(_0x52ec('0x15'));var licenseUtil=require(_0x52ec('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x1acb49,_0x4186f4){_0x4186f4=_0x4186f4||0xcc;return function(_0x5cac81){if(_0x5cac81){return _0x1acb49[_0x52ec('0x17')](_0x4186f4);}return _0x1acb49[_0x52ec('0x18')](_0x4186f4)[_0x52ec('0x19')]();};}function respondWithResult(_0x3e60fa,_0x488b73){_0x488b73=_0x488b73||0xc8;return function(_0x3ab1e2){if(_0x3ab1e2){return _0x3e60fa[_0x52ec('0x18')](_0x488b73)['json'](_0x3ab1e2);}};}function respondWithFilteredResult(_0x3950a4,_0x36d976){return function(_0x121b12){if(_0x121b12){var _0x40463c=typeof _0x36d976[_0x52ec('0x1a')]===_0x52ec('0x1b')&&typeof _0x36d976[_0x52ec('0x1c')]==='undefined';var _0x3603b3=_0x121b12['count'];var _0x1254df=_0x40463c?0x0:_0x36d976['offset'];var _0x1ee782=_0x40463c?_0x121b12['count']:_0x36d976[_0x52ec('0x1a')]+_0x36d976[_0x52ec('0x1c')];var _0x46f77c;if(_0x1ee782>=_0x3603b3){_0x1ee782=_0x3603b3;_0x46f77c=0xc8;}else{_0x46f77c=0xce;}_0x3950a4['status'](_0x46f77c);return _0x3950a4[_0x52ec('0x1d')]('Content-Range',_0x1254df+'-'+_0x1ee782+'/'+_0x3603b3)[_0x52ec('0x1e')](_0x121b12);}return null;};}function patchUpdates(_0x58a0ae){return function(_0x376cf0){try{jsonpatch['apply'](_0x376cf0,_0x58a0ae,!![]);}catch(_0x3494f7){return BPromise[_0x52ec('0x1f')](_0x3494f7);}return _0x376cf0['save']();};}function saveUpdates(_0xa10046,_0x444d0a){return function(_0x2007a0){if(_0x2007a0){return _0x2007a0[_0x52ec('0x20')](_0xa10046)[_0x52ec('0x21')](function(_0x145678){return _0x145678;});}return null;};}function removeEntity(_0x595edf,_0x230ab0){return function(_0x184347){if(_0x184347){return _0x184347['destroy']()['then'](function(){_0x595edf[_0x52ec('0x18')](0xcc)[_0x52ec('0x19')]();});}};}function handleEntityNotFound(_0x44646b,_0x53e6e1){return function(_0xc02a0){if(!_0xc02a0){_0x44646b[_0x52ec('0x17')](0x194);}return _0xc02a0;};}function handleError(_0x4ae4b9,_0x485880){_0x485880=_0x485880||0x1f4;return function(_0x2a9759){logger[_0x52ec('0x22')](_0x2a9759['stack']);if(_0x2a9759[_0x52ec('0x23')]){delete _0x2a9759[_0x52ec('0x23')];}_0x4ae4b9[_0x52ec('0x18')](_0x485880)['send'](_0x2a9759);};}exports['index']=function(_0x34e393,_0x20c443){var _0x3972af={},_0x10fc3d={},_0x4093ec={'count':0x0,'rows':[]};var _0x3fbc65=_['map'](db['JscriptySessionReport'][_0x52ec('0x24')],function(_0x39dacb){return{'name':_0x39dacb[_0x52ec('0x25')],'type':_0x39dacb['type'][_0x52ec('0x26')]};});_0x10fc3d[_0x52ec('0x27')]=_[_0x52ec('0x28')](_0x3fbc65,_0x52ec('0x23'));_0x10fc3d[_0x52ec('0x29')]=_['keys'](_0x34e393[_0x52ec('0x29')]);_0x10fc3d[_0x52ec('0x2a')]=_[_0x52ec('0x2b')](_0x10fc3d['model'],_0x10fc3d[_0x52ec('0x29')]);_0x3972af[_0x52ec('0x2c')]=_[_0x52ec('0x2b')](_0x10fc3d[_0x52ec('0x27')],qs[_0x52ec('0x2d')](_0x34e393[_0x52ec('0x29')][_0x52ec('0x2d')]));_0x3972af[_0x52ec('0x2c')]=_0x3972af[_0x52ec('0x2c')]['length']?_0x3972af[_0x52ec('0x2c')]:_0x10fc3d[_0x52ec('0x27')];if(!_0x34e393[_0x52ec('0x29')][_0x52ec('0x2e')](_0x52ec('0x2f'))){_0x3972af[_0x52ec('0x1c')]=qs[_0x52ec('0x1c')](_0x34e393['query']['limit']);_0x3972af[_0x52ec('0x1a')]=qs[_0x52ec('0x1a')](_0x34e393[_0x52ec('0x29')][_0x52ec('0x1a')]);}_0x3972af['order']=qs[_0x52ec('0x30')](_0x34e393[_0x52ec('0x29')][_0x52ec('0x30')]);_0x3972af[_0x52ec('0x31')]=qs['filters'](_[_0x52ec('0x32')](_0x34e393[_0x52ec('0x29')],_0x10fc3d[_0x52ec('0x2a')]),_0x3fbc65);if(_0x34e393[_0x52ec('0x29')]['filter']){_0x3972af[_0x52ec('0x31')]=_[_0x52ec('0x33')](_0x3972af[_0x52ec('0x31')],{'$or':_[_0x52ec('0x28')](_0x3fbc65,function(_0x5c0143){if(_0x5c0143[_0x52ec('0x34')]!=='VIRTUAL'){var _0x5c7c8e={};_0x5c7c8e[_0x5c0143[_0x52ec('0x23')]]={'$like':'%'+_0x34e393['query'][_0x52ec('0x35')]+'%'};return _0x5c7c8e;}})});}_0x3972af=_['merge']({},_0x3972af,_0x34e393[_0x52ec('0x36')]);var _0xa872cc={'where':_0x3972af[_0x52ec('0x31')]};return db['JscriptySessionReport'][_0x52ec('0x37')](_0xa872cc)['then'](function(_0x55e69e){_0x4093ec[_0x52ec('0x37')]=_0x55e69e;if(_0x34e393[_0x52ec('0x29')][_0x52ec('0x38')]){_0x3972af[_0x52ec('0x39')]=[{'all':!![]}];}return db['JscriptySessionReport'][_0x52ec('0x3a')](_0x3972af);})[_0x52ec('0x21')](function(_0x1d2aa8){_0x4093ec['rows']=_0x1d2aa8;return _0x4093ec;})['then'](respondWithFilteredResult(_0x20c443,_0x3972af))['catch'](handleError(_0x20c443,null));};exports[_0x52ec('0x3b')]=function(_0x2ff6b6,_0x285485){var _0x4fa406={'raw':!![],'where':{'id':_0x2ff6b6[_0x52ec('0x3c')]['id']}},_0x406bc4={};_0x406bc4[_0x52ec('0x27')]=_[_0x52ec('0x3d')](db[_0x52ec('0x3e')][_0x52ec('0x24')]);_0x406bc4[_0x52ec('0x29')]=_[_0x52ec('0x3d')](_0x2ff6b6[_0x52ec('0x29')]);_0x406bc4['filters']=_[_0x52ec('0x2b')](_0x406bc4[_0x52ec('0x27')],_0x406bc4[_0x52ec('0x29')]);_0x4fa406['attributes']=_['intersection'](_0x406bc4[_0x52ec('0x27')],qs[_0x52ec('0x2d')](_0x2ff6b6[_0x52ec('0x29')]['fields']));_0x4fa406['attributes']=_0x4fa406[_0x52ec('0x2c')][_0x52ec('0x3f')]?_0x4fa406['attributes']:_0x406bc4[_0x52ec('0x27')];if(_0x2ff6b6[_0x52ec('0x29')][_0x52ec('0x38')]){_0x4fa406['include']=[{'all':!![]}];}_0x4fa406=_[_0x52ec('0x33')]({},_0x4fa406,_0x2ff6b6[_0x52ec('0x36')]);return db['JscriptySessionReport'][_0x52ec('0x40')](_0x4fa406)[_0x52ec('0x21')](handleEntityNotFound(_0x285485,null))[_0x52ec('0x21')](respondWithResult(_0x285485,null))['catch'](handleError(_0x285485,null));};exports[_0x52ec('0x41')]=function(_0x36728a,_0x4d8e04){return db[_0x52ec('0x3e')][_0x52ec('0x41')](_0x36728a['body'],{})['then'](respondWithResult(_0x4d8e04,0xc9))['catch'](handleError(_0x4d8e04,null));};exports[_0x52ec('0x20')]=function(_0x309972,_0x147ae9){if(_0x309972[_0x52ec('0x42')]['id']){delete _0x309972[_0x52ec('0x42')]['id'];}return db[_0x52ec('0x3e')][_0x52ec('0x40')]({'where':{'id':_0x309972[_0x52ec('0x3c')]['id']}})[_0x52ec('0x21')](handleEntityNotFound(_0x147ae9,null))[_0x52ec('0x21')](saveUpdates(_0x309972[_0x52ec('0x42')],null))[_0x52ec('0x21')](respondWithResult(_0x147ae9,null))[_0x52ec('0x43')](handleError(_0x147ae9,null));};exports[_0x52ec('0x44')]=function(_0x207656,_0x134008){return db[_0x52ec('0x3e')][_0x52ec('0x40')]({'where':{'id':_0x207656[_0x52ec('0x3c')]['id']}})[_0x52ec('0x21')](handleEntityNotFound(_0x134008,null))[_0x52ec('0x21')](removeEntity(_0x134008,null))[_0x52ec('0x43')](handleError(_0x134008,null));};exports[_0x52ec('0x45')]=function(_0x574665,_0x326441){return db[_0x52ec('0x3e')][_0x52ec('0x45')]()[_0x52ec('0x21')](respondWithResult(_0x326441,null))[_0x52ec('0x43')](handleError(_0x326441,null));};exports['getQuestions']=function(_0x38a6bf,_0x3220c9,_0x3c6bc1){var _0x2f5bc2={'raw':!![],'where':{}};var _0x46f827={};var _0x47cd36={'count':0x0,'rows':[]};return db['JscriptySessionReport'][_0x52ec('0x46')]({'where':{'id':_0x38a6bf[_0x52ec('0x3c')]['id']}})[_0x52ec('0x21')](handleEntityNotFound(_0x3220c9,null))[_0x52ec('0x21')](function(_0x325e21){if(_0x325e21){_0x46f827['model']=_[_0x52ec('0x3d')](db[_0x52ec('0x47')][_0x52ec('0x24')]);_0x46f827[_0x52ec('0x29')]=_[_0x52ec('0x3d')](_0x38a6bf[_0x52ec('0x29')]);_0x46f827[_0x52ec('0x2a')]=_['intersection'](_0x46f827[_0x52ec('0x27')],_0x46f827[_0x52ec('0x29')]);_0x2f5bc2[_0x52ec('0x2c')]=_[_0x52ec('0x2b')](_0x46f827[_0x52ec('0x27')],qs['fields'](_0x38a6bf['query']['fields']));_0x2f5bc2[_0x52ec('0x2c')]=_0x2f5bc2['attributes'][_0x52ec('0x3f')]?_0x2f5bc2[_0x52ec('0x2c')]:_0x46f827['model'];if(!_0x38a6bf[_0x52ec('0x29')]['hasOwnProperty'](_0x52ec('0x2f'))){_0x2f5bc2[_0x52ec('0x1c')]=qs[_0x52ec('0x1c')](_0x38a6bf[_0x52ec('0x29')][_0x52ec('0x1c')]);_0x2f5bc2['offset']=qs[_0x52ec('0x1a')](_0x38a6bf[_0x52ec('0x29')][_0x52ec('0x1a')]);}_0x2f5bc2[_0x52ec('0x48')]=qs[_0x52ec('0x30')](_0x38a6bf[_0x52ec('0x29')][_0x52ec('0x30')]);_0x2f5bc2[_0x52ec('0x31')]=qs[_0x52ec('0x2a')](_[_0x52ec('0x32')](_0x38a6bf['query'],_0x46f827[_0x52ec('0x2a')]));_0x2f5bc2[_0x52ec('0x31')]['SessionId']=_0x325e21['id'];if(_0x38a6bf[_0x52ec('0x29')]['filter']){_0x2f5bc2[_0x52ec('0x31')]=_[_0x52ec('0x33')](_0x2f5bc2['where'],{'$or':_[_0x52ec('0x28')](_0x2f5bc2[_0x52ec('0x2c')],function(_0x1b0b52){var _0x225617={};_0x225617[_0x1b0b52]={'$like':'%'+_0x38a6bf[_0x52ec('0x29')]['filter']+'%'};return _0x225617;})});}_0x2f5bc2=_['merge']({},_0x2f5bc2,_0x38a6bf[_0x52ec('0x36')]);return db['JscriptyQuestionReport']['count']({'where':_0x2f5bc2[_0x52ec('0x31')]})[_0x52ec('0x21')](function(_0x424f3b){_0x47cd36[_0x52ec('0x37')]=_0x424f3b;if(_0x38a6bf[_0x52ec('0x29')][_0x52ec('0x38')]){_0x2f5bc2[_0x52ec('0x39')]=[{'all':!![]}];}return db[_0x52ec('0x47')][_0x52ec('0x3a')](_0x2f5bc2);})[_0x52ec('0x21')](function(_0x26422b){_0x47cd36[_0x52ec('0x49')]=_0x26422b;return _0x47cd36;});}})[_0x52ec('0x21')](respondWithFilteredResult(_0x3220c9,_0x2f5bc2))[_0x52ec('0x43')](handleError(_0x3220c9,null));};