a2da3307355aab1868fec72a0737efef6370fcd7
[motion2.git] / server / api / voiceAgentReport / voiceAgentReport.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 _0x8ac4=['mustache','util','path','sox','to-csv','ejs','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','offset','undefined','limit','count','json','apply','reject','save','update','then','destroy','end','name','send','body','contact','message','agent','interaction','account','index','VoiceAgentReport','rawAttributes','fieldName','type','key','map','query','keys','filters','intersection','attributes','model','fields','length','hasOwnProperty','nolimit','sort','where','filter','merge','options','includeAll','include','findAll','rows','catch','params','find','create','describe','rimraf','zip-dir','request-promise','moment','bluebird'];(function(_0x6d5f31,_0x510751){var _0x1b1dda=function(_0x12f562){while(--_0x12f562){_0x6d5f31['push'](_0x6d5f31['shift']());}};_0x1b1dda(++_0x510751);}(_0x8ac4,0x13b));var _0x48ac=function(_0x4007b4,_0x414c5b){_0x4007b4=_0x4007b4-0x0;var _0xe319d1=_0x8ac4[_0x4007b4];return _0xe319d1;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x48ac('0x0'));var zipdir=require(_0x48ac('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x48ac('0x2'));var moment=require(_0x48ac('0x3'));var BPromise=require(_0x48ac('0x4'));var Mustache=require(_0x48ac('0x5'));var util=require(_0x48ac('0x6'));var path=require(_0x48ac('0x7'));var sox=require(_0x48ac('0x8'));var csv=require(_0x48ac('0x9'));var ejs=require(_0x48ac('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x48ac('0xb'));var squel=require('squel');var crypto=require(_0x48ac('0xc'));var jsforce=require(_0x48ac('0xd'));var deskjs=require(_0x48ac('0xe'));var toCsv=require(_0x48ac('0x9'));var querystring=require(_0x48ac('0xf'));var Papa=require(_0x48ac('0x10'));var Redis=require(_0x48ac('0x11'));var authService=require(_0x48ac('0x12'));var qs=require(_0x48ac('0x13'));var as=require(_0x48ac('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x48ac('0x15'))(_0x48ac('0x16'));var utils=require(_0x48ac('0x17'));var config=require(_0x48ac('0x18'));var licenseUtil=require(_0x48ac('0x19'));var db=require(_0x48ac('0x1a'))['db'];function respondWithStatusCode(_0x4e7355,_0x5daf79){_0x5daf79=_0x5daf79||0xcc;return function(_0xb33bc8){if(_0xb33bc8){return _0x4e7355[_0x48ac('0x1b')](_0x5daf79);}return _0x4e7355[_0x48ac('0x1c')](_0x5daf79)['end']();};}function respondWithResult(_0x4570a6,_0x3a761e){_0x3a761e=_0x3a761e||0xc8;return function(_0x3e2752){if(_0x3e2752){return _0x4570a6[_0x48ac('0x1c')](_0x3a761e)['json'](_0x3e2752);}};}function respondWithFilteredResult(_0x1a2c64,_0x3e418d){return function(_0xd1593d){if(_0xd1593d){var _0x4c5fdc=typeof _0x3e418d[_0x48ac('0x1d')]===_0x48ac('0x1e')&&typeof _0x3e418d[_0x48ac('0x1f')]==='undefined';var _0x19755d=_0xd1593d[_0x48ac('0x20')];var _0x3c3d10=_0x4c5fdc?0x0:_0x3e418d['offset'];var _0x5c6df3=_0x4c5fdc?_0xd1593d[_0x48ac('0x20')]:_0x3e418d[_0x48ac('0x1d')]+_0x3e418d[_0x48ac('0x1f')];var _0x22a615;if(_0x5c6df3>=_0x19755d){_0x5c6df3=_0x19755d;_0x22a615=0xc8;}else{_0x22a615=0xce;}_0x1a2c64['status'](_0x22a615);return _0x1a2c64['set']('Content-Range',_0x3c3d10+'-'+_0x5c6df3+'/'+_0x19755d)[_0x48ac('0x21')](_0xd1593d);}return null;};}function patchUpdates(_0x4ea354){return function(_0x3a5909){try{jsonpatch[_0x48ac('0x22')](_0x3a5909,_0x4ea354,!![]);}catch(_0xd3352a){return BPromise[_0x48ac('0x23')](_0xd3352a);}return _0x3a5909[_0x48ac('0x24')]();};}function saveUpdates(_0x21777a,_0x490ef1){return function(_0x5562ea){if(_0x5562ea){return _0x5562ea[_0x48ac('0x25')](_0x21777a)[_0x48ac('0x26')](function(_0x5485ad){return _0x5485ad;});}return null;};}function removeEntity(_0x3d7926,_0x288e20){return function(_0x5645aa){if(_0x5645aa){return _0x5645aa[_0x48ac('0x27')]()[_0x48ac('0x26')](function(){_0x3d7926['status'](0xcc)[_0x48ac('0x28')]();});}};}function handleEntityNotFound(_0xd3dfb6,_0x33b8b3){return function(_0x175486){if(!_0x175486){_0xd3dfb6[_0x48ac('0x1b')](0x194);}return _0x175486;};}function handleError(_0x51a856,_0x5eb1d6){_0x5eb1d6=_0x5eb1d6||0x1f4;return function(_0xead6c){logger['error'](_0xead6c['stack']);if(_0xead6c[_0x48ac('0x29')]){delete _0xead6c[_0x48ac('0x29')];}_0x51a856[_0x48ac('0x1c')](_0x5eb1d6)[_0x48ac('0x2a')](_0xead6c);};}function getMustacheRender(_0x58d868,_0x41b24c){return Mustache['render'](_0x58d868,_['merge'](_0x41b24c[_0x48ac('0x2b')],{'contact':_0x41b24c[_0x48ac('0x2c')],'message':_0x41b24c[_0x48ac('0x2d')],'agent':_0x41b24c[_0x48ac('0x2e')],'interaction':_0x41b24c[_0x48ac('0x2f')],'account':_0x41b24c[_0x48ac('0x30')]}))||'';}exports[_0x48ac('0x31')]=function(_0x405b32,_0x23bae6){var _0x5f0df5={},_0x5553df={},_0x335b19={'count':0x0,'rows':[]};var _0x4ec549=_['map'](db[_0x48ac('0x32')][_0x48ac('0x33')],function(_0x5dd3b3){return{'name':_0x5dd3b3[_0x48ac('0x34')],'type':_0x5dd3b3[_0x48ac('0x35')][_0x48ac('0x36')]};});_0x5553df['model']=_[_0x48ac('0x37')](_0x4ec549,'name');_0x5553df[_0x48ac('0x38')]=_[_0x48ac('0x39')](_0x405b32['query']);_0x5553df[_0x48ac('0x3a')]=_[_0x48ac('0x3b')](_0x5553df['model'],_0x5553df[_0x48ac('0x38')]);_0x5f0df5[_0x48ac('0x3c')]=_[_0x48ac('0x3b')](_0x5553df[_0x48ac('0x3d')],qs['fields'](_0x405b32[_0x48ac('0x38')][_0x48ac('0x3e')]));_0x5f0df5['attributes']=_0x5f0df5[_0x48ac('0x3c')][_0x48ac('0x3f')]?_0x5f0df5[_0x48ac('0x3c')]:_0x5553df[_0x48ac('0x3d')];if(!_0x405b32[_0x48ac('0x38')][_0x48ac('0x40')](_0x48ac('0x41'))){_0x5f0df5[_0x48ac('0x1f')]=qs[_0x48ac('0x1f')](_0x405b32[_0x48ac('0x38')][_0x48ac('0x1f')]);_0x5f0df5['offset']=qs[_0x48ac('0x1d')](_0x405b32[_0x48ac('0x38')][_0x48ac('0x1d')]);}_0x5f0df5['order']=qs[_0x48ac('0x42')](_0x405b32[_0x48ac('0x38')]['sort']);_0x5f0df5[_0x48ac('0x43')]=qs[_0x48ac('0x3a')](_['pick'](_0x405b32[_0x48ac('0x38')],_0x5553df['filters']),_0x4ec549);if(_0x405b32[_0x48ac('0x38')][_0x48ac('0x44')]){_0x5f0df5[_0x48ac('0x43')]=_[_0x48ac('0x45')](_0x5f0df5[_0x48ac('0x43')],{'$or':_[_0x48ac('0x37')](_0x4ec549,function(_0x3298ea){if(_0x3298ea[_0x48ac('0x35')]!=='VIRTUAL'){var _0x5d7cae={};_0x5d7cae[_0x3298ea[_0x48ac('0x29')]]={'$like':'%'+_0x405b32[_0x48ac('0x38')][_0x48ac('0x44')]+'%'};return _0x5d7cae;}})});}_0x5f0df5=_[_0x48ac('0x45')]({},_0x5f0df5,_0x405b32[_0x48ac('0x46')]);var _0x34665f={'where':_0x5f0df5['where']};return db['VoiceAgentReport'][_0x48ac('0x20')](_0x34665f)['then'](function(_0xde727b){_0x335b19[_0x48ac('0x20')]=_0xde727b;if(_0x405b32['query'][_0x48ac('0x47')]){_0x5f0df5[_0x48ac('0x48')]=[{'all':!![]}];}return db[_0x48ac('0x32')][_0x48ac('0x49')](_0x5f0df5);})[_0x48ac('0x26')](function(_0x32d13f){_0x335b19[_0x48ac('0x4a')]=_0x32d13f;return _0x335b19;})[_0x48ac('0x26')](respondWithFilteredResult(_0x23bae6,_0x5f0df5))[_0x48ac('0x4b')](handleError(_0x23bae6,null));};exports['show']=function(_0x59b761,_0x16c509){var _0x3847b3={'raw':![],'where':{'id':_0x59b761[_0x48ac('0x4c')]['id']}},_0x574642={};_0x574642[_0x48ac('0x3d')]=_[_0x48ac('0x39')](db[_0x48ac('0x32')][_0x48ac('0x33')]);_0x574642[_0x48ac('0x38')]=_['keys'](_0x59b761[_0x48ac('0x38')]);_0x574642[_0x48ac('0x3a')]=_[_0x48ac('0x3b')](_0x574642['model'],_0x574642[_0x48ac('0x38')]);_0x3847b3[_0x48ac('0x3c')]=_[_0x48ac('0x3b')](_0x574642[_0x48ac('0x3d')],qs[_0x48ac('0x3e')](_0x59b761[_0x48ac('0x38')][_0x48ac('0x3e')]));_0x3847b3['attributes']=_0x3847b3['attributes'][_0x48ac('0x3f')]?_0x3847b3[_0x48ac('0x3c')]:_0x574642[_0x48ac('0x3d')];if(_0x59b761[_0x48ac('0x38')][_0x48ac('0x47')]){_0x3847b3[_0x48ac('0x48')]=[{'all':!![]}];}_0x3847b3=_[_0x48ac('0x45')]({},_0x3847b3,_0x59b761[_0x48ac('0x46')]);return db[_0x48ac('0x32')][_0x48ac('0x4d')](_0x3847b3)[_0x48ac('0x26')](handleEntityNotFound(_0x16c509,null))[_0x48ac('0x26')](respondWithResult(_0x16c509,null))[_0x48ac('0x4b')](handleError(_0x16c509,null));};exports[_0x48ac('0x4e')]=function(_0x3efe1a,_0x4789e3){return db[_0x48ac('0x32')][_0x48ac('0x4e')](_0x3efe1a['body'],{})['then'](respondWithResult(_0x4789e3,0xc9))[_0x48ac('0x4b')](handleError(_0x4789e3,null));};exports['update']=function(_0x5c0db8,_0x395e8e){if(_0x5c0db8[_0x48ac('0x2b')]['id']){delete _0x5c0db8[_0x48ac('0x2b')]['id'];}return db[_0x48ac('0x32')][_0x48ac('0x4d')]({'where':{'id':_0x5c0db8[_0x48ac('0x4c')]['id']}})[_0x48ac('0x26')](handleEntityNotFound(_0x395e8e,null))[_0x48ac('0x26')](saveUpdates(_0x5c0db8[_0x48ac('0x2b')],null))[_0x48ac('0x26')](respondWithResult(_0x395e8e,null))[_0x48ac('0x4b')](handleError(_0x395e8e,null));};exports['destroy']=function(_0x163630,_0x5f17d6){return db[_0x48ac('0x32')]['find']({'where':{'id':_0x163630[_0x48ac('0x4c')]['id']}})[_0x48ac('0x26')](handleEntityNotFound(_0x5f17d6,null))[_0x48ac('0x26')](removeEntity(_0x5f17d6,null))['catch'](handleError(_0x5f17d6,null));};exports[_0x48ac('0x4f')]=function(_0x4e924b,_0xcfcb0c){return db['VoiceAgentReport'][_0x48ac('0x4f')]()[_0x48ac('0x26')](respondWithResult(_0xcfcb0c,null))[_0x48ac('0x4b')](handleError(_0xcfcb0c,null));};