713c55a7645acc414b90106d602215bec5a6efef
[motion2.git] / server / api / voiceTransferReport / voiceTransferReport.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 _0xd5b6=['pick','where','filter','options','includeAll','include','findAll','show','rawAttributes','filters','find','catch','create','update','params','describe','fast-json-patch','request-promise','bluebird','mustache','util','path','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','end','status','limit','count','offset','set','Content-Range','json','reject','save','then','destroy','stack','name','send','render','merge','body','message','agent','interaction','account','index','map','VoiceTransferReport','type','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort'];(function(_0x533381,_0x8a69fa){var _0x2877ed=function(_0x45cb54){while(--_0x45cb54){_0x533381['push'](_0x533381['shift']());}};_0x2877ed(++_0x8a69fa);}(_0xd5b6,0x191));var _0x6d5b=function(_0x5105d7,_0xeed3c6){_0x5105d7=_0x5105d7-0x0;var _0x5ee075=_0xd5b6[_0x5105d7];return _0x5ee075;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x6d5b('0x0'));var rp=require(_0x6d5b('0x1'));var moment=require('moment');var BPromise=require(_0x6d5b('0x2'));var Mustache=require(_0x6d5b('0x3'));var util=require(_0x6d5b('0x4'));var path=require(_0x6d5b('0x5'));var sox=require('sox');var csv=require(_0x6d5b('0x6'));var ejs=require(_0x6d5b('0x7'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x6d5b('0x8'));var squel=require(_0x6d5b('0x9'));var crypto=require(_0x6d5b('0xa'));var jsforce=require(_0x6d5b('0xb'));var deskjs=require(_0x6d5b('0xc'));var toCsv=require(_0x6d5b('0x6'));var querystring=require(_0x6d5b('0xd'));var Papa=require('papaparse');var Redis=require(_0x6d5b('0xe'));var authService=require(_0x6d5b('0xf'));var qs=require(_0x6d5b('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x6d5b('0x11'));var logger=require('../../config/logger')(_0x6d5b('0x12'));var utils=require(_0x6d5b('0x13'));var config=require(_0x6d5b('0x14'));var licenseUtil=require(_0x6d5b('0x15'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x43f359,_0x4ada01){_0x4ada01=_0x4ada01||0xcc;return function(_0x3ce178){if(_0x3ce178){return _0x43f359[_0x6d5b('0x16')](_0x4ada01);}return _0x43f359['status'](_0x4ada01)[_0x6d5b('0x17')]();};}function respondWithResult(_0x3542b9,_0x119767){_0x119767=_0x119767||0xc8;return function(_0x2bb80f){if(_0x2bb80f){return _0x3542b9[_0x6d5b('0x18')](_0x119767)['json'](_0x2bb80f);}};}function respondWithFilteredResult(_0x40c8c3,_0x194708){return function(_0x3270bf){if(_0x3270bf){var _0x52b520=typeof _0x194708['offset']==='undefined'&&typeof _0x194708[_0x6d5b('0x19')]==='undefined';var _0x6008b1=_0x3270bf[_0x6d5b('0x1a')];var _0x17a53d=_0x52b520?0x0:_0x194708[_0x6d5b('0x1b')];var _0x385422=_0x52b520?_0x3270bf[_0x6d5b('0x1a')]:_0x194708[_0x6d5b('0x1b')]+_0x194708['limit'];var _0x357e7a;if(_0x385422>=_0x6008b1){_0x385422=_0x6008b1;_0x357e7a=0xc8;}else{_0x357e7a=0xce;}_0x40c8c3[_0x6d5b('0x18')](_0x357e7a);return _0x40c8c3[_0x6d5b('0x1c')](_0x6d5b('0x1d'),_0x17a53d+'-'+_0x385422+'/'+_0x6008b1)[_0x6d5b('0x1e')](_0x3270bf);}return null;};}function patchUpdates(_0x43dbbe){return function(_0xbebf58){try{jsonpatch['apply'](_0xbebf58,_0x43dbbe,!![]);}catch(_0x432d21){return BPromise[_0x6d5b('0x1f')](_0x432d21);}return _0xbebf58[_0x6d5b('0x20')]();};}function saveUpdates(_0x2f0b09,_0x4b198e){return function(_0x269dc5){if(_0x269dc5){return _0x269dc5['update'](_0x2f0b09)[_0x6d5b('0x21')](function(_0x1f3dd8){return _0x1f3dd8;});}return null;};}function removeEntity(_0x5d4d7f,_0x3d1d5a){return function(_0x4036c5){if(_0x4036c5){return _0x4036c5[_0x6d5b('0x22')]()[_0x6d5b('0x21')](function(){_0x5d4d7f[_0x6d5b('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x4961fd,_0x21c81a){return function(_0x595034){if(!_0x595034){_0x4961fd[_0x6d5b('0x16')](0x194);}return _0x595034;};}function handleError(_0x3149e9,_0x12c558){_0x12c558=_0x12c558||0x1f4;return function(_0x556a14){logger['error'](_0x556a14[_0x6d5b('0x23')]);if(_0x556a14[_0x6d5b('0x24')]){delete _0x556a14[_0x6d5b('0x24')];}_0x3149e9[_0x6d5b('0x18')](_0x12c558)[_0x6d5b('0x25')](_0x556a14);};}function getMustacheRender(_0x1c9386,_0x2687f6){return Mustache[_0x6d5b('0x26')](_0x1c9386,_[_0x6d5b('0x27')](_0x2687f6[_0x6d5b('0x28')],{'contact':_0x2687f6['contact'],'message':_0x2687f6[_0x6d5b('0x29')],'agent':_0x2687f6[_0x6d5b('0x2a')],'interaction':_0x2687f6[_0x6d5b('0x2b')],'account':_0x2687f6[_0x6d5b('0x2c')]}))||'';}exports[_0x6d5b('0x2d')]=function(_0x1323b9,_0x72b9fd){var _0x289bb8={},_0x4e1730={},_0x54e31a={'count':0x0,'rows':[]};var _0x1573cf=_[_0x6d5b('0x2e')](db[_0x6d5b('0x2f')]['rawAttributes'],function(_0x26fa3f){return{'name':_0x26fa3f['fieldName'],'type':_0x26fa3f[_0x6d5b('0x30')][_0x6d5b('0x31')]};});_0x4e1730[_0x6d5b('0x32')]=_[_0x6d5b('0x2e')](_0x1573cf,_0x6d5b('0x24'));_0x4e1730[_0x6d5b('0x33')]=_[_0x6d5b('0x34')](_0x1323b9[_0x6d5b('0x33')]);_0x4e1730['filters']=_[_0x6d5b('0x35')](_0x4e1730[_0x6d5b('0x32')],_0x4e1730[_0x6d5b('0x33')]);_0x289bb8[_0x6d5b('0x36')]=_[_0x6d5b('0x35')](_0x4e1730['model'],qs[_0x6d5b('0x37')](_0x1323b9[_0x6d5b('0x33')][_0x6d5b('0x37')]));_0x289bb8['attributes']=_0x289bb8['attributes'][_0x6d5b('0x38')]?_0x289bb8['attributes']:_0x4e1730[_0x6d5b('0x32')];if(!_0x1323b9[_0x6d5b('0x33')][_0x6d5b('0x39')](_0x6d5b('0x3a'))){_0x289bb8[_0x6d5b('0x19')]=qs[_0x6d5b('0x19')](_0x1323b9[_0x6d5b('0x33')][_0x6d5b('0x19')]);_0x289bb8['offset']=qs[_0x6d5b('0x1b')](_0x1323b9[_0x6d5b('0x33')][_0x6d5b('0x1b')]);}_0x289bb8[_0x6d5b('0x3b')]=qs[_0x6d5b('0x3c')](_0x1323b9[_0x6d5b('0x33')][_0x6d5b('0x3c')]);_0x289bb8['where']=qs['filters'](_[_0x6d5b('0x3d')](_0x1323b9[_0x6d5b('0x33')],_0x4e1730['filters']),_0x1573cf);if(_0x1323b9['query']['filter']){_0x289bb8[_0x6d5b('0x3e')]=_[_0x6d5b('0x27')](_0x289bb8[_0x6d5b('0x3e')],{'$or':_[_0x6d5b('0x2e')](_0x1573cf,function(_0x4e265e){if(_0x4e265e['type']!=='VIRTUAL'){var _0x102ff3={};_0x102ff3[_0x4e265e[_0x6d5b('0x24')]]={'$like':'%'+_0x1323b9['query'][_0x6d5b('0x3f')]+'%'};return _0x102ff3;}})});}_0x289bb8=_[_0x6d5b('0x27')]({},_0x289bb8,_0x1323b9[_0x6d5b('0x40')]);var _0x3bdccb={'where':_0x289bb8['where']};return db[_0x6d5b('0x2f')][_0x6d5b('0x1a')](_0x3bdccb)[_0x6d5b('0x21')](function(_0x49708d){_0x54e31a[_0x6d5b('0x1a')]=_0x49708d;if(_0x1323b9[_0x6d5b('0x33')][_0x6d5b('0x41')]){_0x289bb8[_0x6d5b('0x42')]=[{'all':!![]}];}return db[_0x6d5b('0x2f')][_0x6d5b('0x43')](_0x289bb8);})['then'](function(_0x1cc8f3){_0x54e31a['rows']=_0x1cc8f3;return _0x54e31a;})['then'](respondWithFilteredResult(_0x72b9fd,_0x289bb8))['catch'](handleError(_0x72b9fd,null));};exports[_0x6d5b('0x44')]=function(_0x43dfe7,_0xb7fe14){var _0x1d2262={'raw':!![],'where':{'id':_0x43dfe7['params']['id']}},_0x48e880={};_0x48e880[_0x6d5b('0x32')]=_[_0x6d5b('0x34')](db['VoiceTransferReport'][_0x6d5b('0x45')]);_0x48e880[_0x6d5b('0x33')]=_[_0x6d5b('0x34')](_0x43dfe7[_0x6d5b('0x33')]);_0x48e880[_0x6d5b('0x46')]=_[_0x6d5b('0x35')](_0x48e880[_0x6d5b('0x32')],_0x48e880['query']);_0x1d2262[_0x6d5b('0x36')]=_[_0x6d5b('0x35')](_0x48e880[_0x6d5b('0x32')],qs[_0x6d5b('0x37')](_0x43dfe7[_0x6d5b('0x33')][_0x6d5b('0x37')]));_0x1d2262[_0x6d5b('0x36')]=_0x1d2262[_0x6d5b('0x36')][_0x6d5b('0x38')]?_0x1d2262[_0x6d5b('0x36')]:_0x48e880['model'];if(_0x43dfe7[_0x6d5b('0x33')]['includeAll']){_0x1d2262[_0x6d5b('0x42')]=[{'all':!![]}];}_0x1d2262=_[_0x6d5b('0x27')]({},_0x1d2262,_0x43dfe7[_0x6d5b('0x40')]);return db[_0x6d5b('0x2f')][_0x6d5b('0x47')](_0x1d2262)[_0x6d5b('0x21')](handleEntityNotFound(_0xb7fe14,null))[_0x6d5b('0x21')](respondWithResult(_0xb7fe14,null))[_0x6d5b('0x48')](handleError(_0xb7fe14,null));};exports[_0x6d5b('0x49')]=function(_0xde8bb4,_0x2087b2){return db[_0x6d5b('0x2f')]['create'](_0xde8bb4[_0x6d5b('0x28')],{})['then'](respondWithResult(_0x2087b2,0xc9))[_0x6d5b('0x48')](handleError(_0x2087b2,null));};exports[_0x6d5b('0x4a')]=function(_0x3afc32,_0x279640){if(_0x3afc32[_0x6d5b('0x28')]['id']){delete _0x3afc32[_0x6d5b('0x28')]['id'];}return db[_0x6d5b('0x2f')][_0x6d5b('0x47')]({'where':{'id':_0x3afc32['params']['id']}})[_0x6d5b('0x21')](handleEntityNotFound(_0x279640,null))[_0x6d5b('0x21')](saveUpdates(_0x3afc32[_0x6d5b('0x28')],null))[_0x6d5b('0x21')](respondWithResult(_0x279640,null))['catch'](handleError(_0x279640,null));};exports[_0x6d5b('0x22')]=function(_0x240f21,_0x37f730){return db[_0x6d5b('0x2f')][_0x6d5b('0x47')]({'where':{'id':_0x240f21[_0x6d5b('0x4b')]['id']}})[_0x6d5b('0x21')](handleEntityNotFound(_0x37f730,null))[_0x6d5b('0x21')](removeEntity(_0x37f730,null))['catch'](handleError(_0x37f730,null));};exports[_0x6d5b('0x4c')]=function(_0x2914fe,_0x477ee3){return db[_0x6d5b('0x2f')][_0x6d5b('0x4c')]()[_0x6d5b('0x21')](respondWithResult(_0x477ee3,null))[_0x6d5b('0x48')](handleError(_0x477ee3,null));};