951f70aee025a9d60ecb55c78dc1f8580ef63501
[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 _0x4424=['squel','crypto','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','count','Content-Range','apply','reject','save','update','then','destroy','error','stack','send','index','map','VoiceTransferReport','rawAttributes','fieldName','type','model','filters','intersection','query','attributes','fields','hasOwnProperty','nolimit','limit','sort','where','pick','filter','merge','name','includeAll','include','rows','catch','show','params','keys','options','find','create','body','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs'];(function(_0x187718,_0x427383){var _0x29ddf4=function(_0x2ec62a){while(--_0x2ec62a){_0x187718['push'](_0x187718['shift']());}};_0x29ddf4(++_0x427383);}(_0x4424,0x153));var _0x4442=function(_0x813954,_0x520044){_0x813954=_0x813954-0x0;var _0x2b7b0e=_0x4424[_0x813954];return _0x2b7b0e;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x4442('0x0'));var zipdir=require(_0x4442('0x1'));var jsonpatch=require(_0x4442('0x2'));var rp=require(_0x4442('0x3'));var moment=require(_0x4442('0x4'));var BPromise=require(_0x4442('0x5'));var Mustache=require(_0x4442('0x6'));var util=require('util');var path=require(_0x4442('0x7'));var sox=require(_0x4442('0x8'));var csv=require(_0x4442('0x9'));var ejs=require(_0x4442('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x4442('0xb'));var crypto=require(_0x4442('0xc'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x4442('0x9'));var querystring=require(_0x4442('0xd'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x4442('0xe'));var qs=require(_0x4442('0xf'));var as=require(_0x4442('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x4442('0x11'))(_0x4442('0x12'));var utils=require(_0x4442('0x13'));var config=require(_0x4442('0x14'));var licenseUtil=require(_0x4442('0x15'));var db=require(_0x4442('0x16'))['db'];function respondWithStatusCode(_0x149992,_0x363223){_0x363223=_0x363223||0xcc;return function(_0x47c8fa){if(_0x47c8fa){return _0x149992[_0x4442('0x17')](_0x363223);}return _0x149992[_0x4442('0x18')](_0x363223)[_0x4442('0x19')]();};}function respondWithResult(_0x25cc14,_0x3003e8){_0x3003e8=_0x3003e8||0xc8;return function(_0x2a08ed){if(_0x2a08ed){return _0x25cc14[_0x4442('0x18')](_0x3003e8)['json'](_0x2a08ed);}};}function respondWithFilteredResult(_0x55ce1e,_0x24ec99){return function(_0x4b5fa4){if(_0x4b5fa4){var _0x3ccd51=typeof _0x24ec99[_0x4442('0x1a')]==='undefined'&&typeof _0x24ec99['limit']==='undefined';var _0x4b5cb4=_0x4b5fa4[_0x4442('0x1b')];var _0x36f1f8=_0x3ccd51?0x0:_0x24ec99['offset'];var _0x1cbd9c=_0x3ccd51?_0x4b5fa4[_0x4442('0x1b')]:_0x24ec99[_0x4442('0x1a')]+_0x24ec99['limit'];var _0x487df8;if(_0x1cbd9c>=_0x4b5cb4){_0x1cbd9c=_0x4b5cb4;_0x487df8=0xc8;}else{_0x487df8=0xce;}_0x55ce1e[_0x4442('0x18')](_0x487df8);return _0x55ce1e['set'](_0x4442('0x1c'),_0x36f1f8+'-'+_0x1cbd9c+'/'+_0x4b5cb4)['json'](_0x4b5fa4);}return null;};}function patchUpdates(_0x20179f){return function(_0x12218){try{jsonpatch[_0x4442('0x1d')](_0x12218,_0x20179f,!![]);}catch(_0x41a739){return BPromise[_0x4442('0x1e')](_0x41a739);}return _0x12218[_0x4442('0x1f')]();};}function saveUpdates(_0x139d1a,_0x334a7a){return function(_0x3e88cd){if(_0x3e88cd){return _0x3e88cd[_0x4442('0x20')](_0x139d1a)[_0x4442('0x21')](function(_0x7c4872){return _0x7c4872;});}return null;};}function removeEntity(_0x51c5ad,_0x2dcbb6){return function(_0x296407){if(_0x296407){return _0x296407[_0x4442('0x22')]()[_0x4442('0x21')](function(){_0x51c5ad[_0x4442('0x18')](0xcc)[_0x4442('0x19')]();});}};}function handleEntityNotFound(_0x7f6008,_0x4d324e){return function(_0x37f0ec){if(!_0x37f0ec){_0x7f6008[_0x4442('0x17')](0x194);}return _0x37f0ec;};}function handleError(_0x3a3312,_0x41cd39){_0x41cd39=_0x41cd39||0x1f4;return function(_0x3d6e06){logger[_0x4442('0x23')](_0x3d6e06[_0x4442('0x24')]);if(_0x3d6e06['name']){delete _0x3d6e06['name'];}_0x3a3312['status'](_0x41cd39)[_0x4442('0x25')](_0x3d6e06);};}exports[_0x4442('0x26')]=function(_0x899135,_0x24aa7a){var _0x1578a1={},_0x17dad4={},_0x254875={'count':0x0,'rows':[]};var _0x3e5781=_[_0x4442('0x27')](db[_0x4442('0x28')][_0x4442('0x29')],function(_0x286295){return{'name':_0x286295[_0x4442('0x2a')],'type':_0x286295[_0x4442('0x2b')]['key']};});_0x17dad4[_0x4442('0x2c')]=_['map'](_0x3e5781,'name');_0x17dad4['query']=_['keys'](_0x899135['query']);_0x17dad4[_0x4442('0x2d')]=_[_0x4442('0x2e')](_0x17dad4['model'],_0x17dad4[_0x4442('0x2f')]);_0x1578a1[_0x4442('0x30')]=_[_0x4442('0x2e')](_0x17dad4[_0x4442('0x2c')],qs[_0x4442('0x31')](_0x899135['query'][_0x4442('0x31')]));_0x1578a1[_0x4442('0x30')]=_0x1578a1[_0x4442('0x30')]['length']?_0x1578a1[_0x4442('0x30')]:_0x17dad4['model'];if(!_0x899135[_0x4442('0x2f')][_0x4442('0x32')](_0x4442('0x33'))){_0x1578a1['limit']=qs[_0x4442('0x34')](_0x899135[_0x4442('0x2f')][_0x4442('0x34')]);_0x1578a1[_0x4442('0x1a')]=qs[_0x4442('0x1a')](_0x899135[_0x4442('0x2f')][_0x4442('0x1a')]);}_0x1578a1['order']=qs[_0x4442('0x35')](_0x899135[_0x4442('0x2f')][_0x4442('0x35')]);_0x1578a1[_0x4442('0x36')]=qs[_0x4442('0x2d')](_[_0x4442('0x37')](_0x899135[_0x4442('0x2f')],_0x17dad4['filters']),_0x3e5781);if(_0x899135[_0x4442('0x2f')][_0x4442('0x38')]){_0x1578a1[_0x4442('0x36')]=_[_0x4442('0x39')](_0x1578a1[_0x4442('0x36')],{'$or':_[_0x4442('0x27')](_0x3e5781,function(_0x1256f8){if(_0x1256f8['type']!=='VIRTUAL'){var _0x3398ce={};_0x3398ce[_0x1256f8[_0x4442('0x3a')]]={'$like':'%'+_0x899135[_0x4442('0x2f')][_0x4442('0x38')]+'%'};return _0x3398ce;}})});}_0x1578a1=_[_0x4442('0x39')]({},_0x1578a1,_0x899135['options']);var _0x1f9fc4={'where':_0x1578a1[_0x4442('0x36')]};return db[_0x4442('0x28')][_0x4442('0x1b')](_0x1f9fc4)[_0x4442('0x21')](function(_0x481a25){_0x254875[_0x4442('0x1b')]=_0x481a25;if(_0x899135[_0x4442('0x2f')][_0x4442('0x3b')]){_0x1578a1[_0x4442('0x3c')]=[{'all':!![]}];}return db[_0x4442('0x28')]['findAll'](_0x1578a1);})[_0x4442('0x21')](function(_0x16ff94){_0x254875[_0x4442('0x3d')]=_0x16ff94;return _0x254875;})[_0x4442('0x21')](respondWithFilteredResult(_0x24aa7a,_0x1578a1))[_0x4442('0x3e')](handleError(_0x24aa7a,null));};exports[_0x4442('0x3f')]=function(_0x56015d,_0x4d64f6){var _0x2e5451={'raw':!![],'where':{'id':_0x56015d[_0x4442('0x40')]['id']}},_0x5bcab0={};_0x5bcab0[_0x4442('0x2c')]=_[_0x4442('0x41')](db[_0x4442('0x28')][_0x4442('0x29')]);_0x5bcab0['query']=_['keys'](_0x56015d[_0x4442('0x2f')]);_0x5bcab0[_0x4442('0x2d')]=_[_0x4442('0x2e')](_0x5bcab0[_0x4442('0x2c')],_0x5bcab0[_0x4442('0x2f')]);_0x2e5451[_0x4442('0x30')]=_[_0x4442('0x2e')](_0x5bcab0['model'],qs[_0x4442('0x31')](_0x56015d['query'][_0x4442('0x31')]));_0x2e5451[_0x4442('0x30')]=_0x2e5451[_0x4442('0x30')]['length']?_0x2e5451[_0x4442('0x30')]:_0x5bcab0[_0x4442('0x2c')];if(_0x56015d[_0x4442('0x2f')][_0x4442('0x3b')]){_0x2e5451[_0x4442('0x3c')]=[{'all':!![]}];}_0x2e5451=_[_0x4442('0x39')]({},_0x2e5451,_0x56015d[_0x4442('0x42')]);return db['VoiceTransferReport'][_0x4442('0x43')](_0x2e5451)[_0x4442('0x21')](handleEntityNotFound(_0x4d64f6,null))['then'](respondWithResult(_0x4d64f6,null))[_0x4442('0x3e')](handleError(_0x4d64f6,null));};exports[_0x4442('0x44')]=function(_0x521766,_0x472712){return db[_0x4442('0x28')]['create'](_0x521766['body'],{})[_0x4442('0x21')](respondWithResult(_0x472712,0xc9))[_0x4442('0x3e')](handleError(_0x472712,null));};exports[_0x4442('0x20')]=function(_0x19f9b6,_0x1b1ae3){if(_0x19f9b6[_0x4442('0x45')]['id']){delete _0x19f9b6['body']['id'];}return db['VoiceTransferReport']['find']({'where':{'id':_0x19f9b6[_0x4442('0x40')]['id']}})['then'](handleEntityNotFound(_0x1b1ae3,null))[_0x4442('0x21')](saveUpdates(_0x19f9b6['body'],null))[_0x4442('0x21')](respondWithResult(_0x1b1ae3,null))[_0x4442('0x3e')](handleError(_0x1b1ae3,null));};exports[_0x4442('0x22')]=function(_0x4ec2a4,_0x487ed2){return db['VoiceTransferReport']['find']({'where':{'id':_0x4ec2a4['params']['id']}})[_0x4442('0x21')](handleEntityNotFound(_0x487ed2,null))['then'](removeEntity(_0x487ed2,null))['catch'](handleError(_0x487ed2,null));};exports['describe']=function(_0x51aa62,_0x2072bb){return db[_0x4442('0x28')]['describe']()[_0x4442('0x21')](respondWithResult(_0x2072bb,null))[_0x4442('0x3e')](handleError(_0x2072bb,null));};