52cf651c4c213fb87a45d64fee5608e5dc48cc08
[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 _0xdd92=['crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','limit','count','set','Content-Range','apply','save','update','then','error','stack','name','index','map','VoiceTransferReport','rawAttributes','fieldName','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','filter','merge','type','options','includeAll','include','findAll','rows','show','params','length','find','create','body','catch','destroy','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash'];(function(_0x241bc6,_0x36112d){var _0x5e0bb5=function(_0x539a5a){while(--_0x539a5a){_0x241bc6['push'](_0x241bc6['shift']());}};_0x5e0bb5(++_0x36112d);}(_0xdd92,0x17d));var _0x2dd9=function(_0x35da42,_0x5c2610){_0x35da42=_0x35da42-0x0;var _0x370035=_0xdd92[_0x35da42];return _0x370035;};'use strict';var emlformat=require(_0x2dd9('0x0'));var rimraf=require(_0x2dd9('0x1'));var zipdir=require(_0x2dd9('0x2'));var jsonpatch=require(_0x2dd9('0x3'));var rp=require(_0x2dd9('0x4'));var moment=require(_0x2dd9('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x2dd9('0x6'));var util=require(_0x2dd9('0x7'));var path=require(_0x2dd9('0x8'));var sox=require(_0x2dd9('0x9'));var csv=require(_0x2dd9('0xa'));var ejs=require(_0x2dd9('0xb'));var fs=require('fs');var fs_extra=require(_0x2dd9('0xc'));var _=require(_0x2dd9('0xd'));var squel=require('squel');var crypto=require(_0x2dd9('0xe'));var jsforce=require('jsforce');var deskjs=require(_0x2dd9('0xf'));var toCsv=require(_0x2dd9('0xa'));var querystring=require(_0x2dd9('0x10'));var Papa=require(_0x2dd9('0x11'));var Redis=require(_0x2dd9('0x12'));var authService=require(_0x2dd9('0x13'));var qs=require('../../components/parsers/qs');var as=require(_0x2dd9('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x2dd9('0x15'))(_0x2dd9('0x16'));var utils=require(_0x2dd9('0x17'));var config=require(_0x2dd9('0x18'));var licenseUtil=require(_0x2dd9('0x19'));var db=require(_0x2dd9('0x1a'))['db'];function respondWithStatusCode(_0x11cd71,_0x59e255){_0x59e255=_0x59e255||0xcc;return function(_0xcf91c6){if(_0xcf91c6){return _0x11cd71[_0x2dd9('0x1b')](_0x59e255);}return _0x11cd71['status'](_0x59e255)[_0x2dd9('0x1c')]();};}function respondWithResult(_0x46f00b,_0x17b377){_0x17b377=_0x17b377||0xc8;return function(_0x22580c){if(_0x22580c){return _0x46f00b[_0x2dd9('0x1d')](_0x17b377)[_0x2dd9('0x1e')](_0x22580c);}};}function respondWithFilteredResult(_0x1f8162,_0x2dd9f1){return function(_0x54b8ad){if(_0x54b8ad){var _0x128078=typeof _0x2dd9f1[_0x2dd9('0x1f')]===_0x2dd9('0x20')&&typeof _0x2dd9f1[_0x2dd9('0x21')]===_0x2dd9('0x20');var _0x4c4e92=_0x54b8ad['count'];var _0x44ca81=_0x128078?0x0:_0x2dd9f1[_0x2dd9('0x1f')];var _0x535fdb=_0x128078?_0x54b8ad[_0x2dd9('0x22')]:_0x2dd9f1['offset']+_0x2dd9f1['limit'];var _0x1d84f7;if(_0x535fdb>=_0x4c4e92){_0x535fdb=_0x4c4e92;_0x1d84f7=0xc8;}else{_0x1d84f7=0xce;}_0x1f8162[_0x2dd9('0x1d')](_0x1d84f7);return _0x1f8162[_0x2dd9('0x23')](_0x2dd9('0x24'),_0x44ca81+'-'+_0x535fdb+'/'+_0x4c4e92)['json'](_0x54b8ad);}return null;};}function patchUpdates(_0x3d8eaa){return function(_0xdb7ac3){try{jsonpatch[_0x2dd9('0x25')](_0xdb7ac3,_0x3d8eaa,!![]);}catch(_0x509108){return BPromise['reject'](_0x509108);}return _0xdb7ac3[_0x2dd9('0x26')]();};}function saveUpdates(_0x3b6657,_0x2f3ef5){return function(_0x2e0ffc){if(_0x2e0ffc){return _0x2e0ffc[_0x2dd9('0x27')](_0x3b6657)[_0x2dd9('0x28')](function(_0x3c0887){return _0x3c0887;});}return null;};}function removeEntity(_0x1417a1,_0x32744d){return function(_0x5d22ec){if(_0x5d22ec){return _0x5d22ec['destroy']()['then'](function(){_0x1417a1[_0x2dd9('0x1d')](0xcc)[_0x2dd9('0x1c')]();});}};}function handleEntityNotFound(_0x506c31,_0xcfa503){return function(_0x34f4e6){if(!_0x34f4e6){_0x506c31[_0x2dd9('0x1b')](0x194);}return _0x34f4e6;};}function handleError(_0x31ddc8,_0x4222d6){_0x4222d6=_0x4222d6||0x1f4;return function(_0x327713){logger[_0x2dd9('0x29')](_0x327713[_0x2dd9('0x2a')]);if(_0x327713[_0x2dd9('0x2b')]){delete _0x327713[_0x2dd9('0x2b')];}_0x31ddc8[_0x2dd9('0x1d')](_0x4222d6)['send'](_0x327713);};}exports[_0x2dd9('0x2c')]=function(_0x4df52d,_0x1b956b){var _0xbc63db={},_0x20de72={},_0x56e947={'count':0x0,'rows':[]};var _0xc1d666=_[_0x2dd9('0x2d')](db[_0x2dd9('0x2e')][_0x2dd9('0x2f')],function(_0x474eed){return{'name':_0x474eed[_0x2dd9('0x30')],'type':_0x474eed['type'][_0x2dd9('0x31')]};});_0x20de72[_0x2dd9('0x32')]=_[_0x2dd9('0x2d')](_0xc1d666,'name');_0x20de72[_0x2dd9('0x33')]=_[_0x2dd9('0x34')](_0x4df52d[_0x2dd9('0x33')]);_0x20de72[_0x2dd9('0x35')]=_[_0x2dd9('0x36')](_0x20de72['model'],_0x20de72[_0x2dd9('0x33')]);_0xbc63db[_0x2dd9('0x37')]=_['intersection'](_0x20de72[_0x2dd9('0x32')],qs['fields'](_0x4df52d[_0x2dd9('0x33')][_0x2dd9('0x38')]));_0xbc63db['attributes']=_0xbc63db[_0x2dd9('0x37')]['length']?_0xbc63db[_0x2dd9('0x37')]:_0x20de72[_0x2dd9('0x32')];if(!_0x4df52d[_0x2dd9('0x33')][_0x2dd9('0x39')](_0x2dd9('0x3a'))){_0xbc63db[_0x2dd9('0x21')]=qs[_0x2dd9('0x21')](_0x4df52d['query'][_0x2dd9('0x21')]);_0xbc63db[_0x2dd9('0x1f')]=qs[_0x2dd9('0x1f')](_0x4df52d[_0x2dd9('0x33')][_0x2dd9('0x1f')]);}_0xbc63db[_0x2dd9('0x3b')]=qs[_0x2dd9('0x3c')](_0x4df52d[_0x2dd9('0x33')][_0x2dd9('0x3c')]);_0xbc63db[_0x2dd9('0x3d')]=qs[_0x2dd9('0x35')](_['pick'](_0x4df52d[_0x2dd9('0x33')],_0x20de72[_0x2dd9('0x35')]),_0xc1d666);if(_0x4df52d[_0x2dd9('0x33')][_0x2dd9('0x3e')]){_0xbc63db[_0x2dd9('0x3d')]=_[_0x2dd9('0x3f')](_0xbc63db['where'],{'$or':_['map'](_0xc1d666,function(_0x3555ee){if(_0x3555ee[_0x2dd9('0x40')]!=='VIRTUAL'){var _0x462f6a={};_0x462f6a[_0x3555ee[_0x2dd9('0x2b')]]={'$like':'%'+_0x4df52d[_0x2dd9('0x33')]['filter']+'%'};return _0x462f6a;}})});}_0xbc63db=_[_0x2dd9('0x3f')]({},_0xbc63db,_0x4df52d[_0x2dd9('0x41')]);var _0x5d5793={'where':_0xbc63db[_0x2dd9('0x3d')]};return db[_0x2dd9('0x2e')][_0x2dd9('0x22')](_0x5d5793)[_0x2dd9('0x28')](function(_0x2c9b05){_0x56e947[_0x2dd9('0x22')]=_0x2c9b05;if(_0x4df52d[_0x2dd9('0x33')][_0x2dd9('0x42')]){_0xbc63db[_0x2dd9('0x43')]=[{'all':!![]}];}return db['VoiceTransferReport'][_0x2dd9('0x44')](_0xbc63db);})['then'](function(_0x4b3b68){_0x56e947[_0x2dd9('0x45')]=_0x4b3b68;return _0x56e947;})[_0x2dd9('0x28')](respondWithFilteredResult(_0x1b956b,_0xbc63db))['catch'](handleError(_0x1b956b,null));};exports[_0x2dd9('0x46')]=function(_0x126488,_0x35840a){var _0xfe279c={'raw':!![],'where':{'id':_0x126488[_0x2dd9('0x47')]['id']}},_0xb73574={};_0xb73574['model']=_['keys'](db['VoiceTransferReport'][_0x2dd9('0x2f')]);_0xb73574[_0x2dd9('0x33')]=_[_0x2dd9('0x34')](_0x126488[_0x2dd9('0x33')]);_0xb73574[_0x2dd9('0x35')]=_[_0x2dd9('0x36')](_0xb73574[_0x2dd9('0x32')],_0xb73574[_0x2dd9('0x33')]);_0xfe279c[_0x2dd9('0x37')]=_[_0x2dd9('0x36')](_0xb73574[_0x2dd9('0x32')],qs[_0x2dd9('0x38')](_0x126488[_0x2dd9('0x33')][_0x2dd9('0x38')]));_0xfe279c[_0x2dd9('0x37')]=_0xfe279c[_0x2dd9('0x37')][_0x2dd9('0x48')]?_0xfe279c[_0x2dd9('0x37')]:_0xb73574[_0x2dd9('0x32')];if(_0x126488[_0x2dd9('0x33')][_0x2dd9('0x42')]){_0xfe279c[_0x2dd9('0x43')]=[{'all':!![]}];}_0xfe279c=_[_0x2dd9('0x3f')]({},_0xfe279c,_0x126488[_0x2dd9('0x41')]);return db[_0x2dd9('0x2e')][_0x2dd9('0x49')](_0xfe279c)[_0x2dd9('0x28')](handleEntityNotFound(_0x35840a,null))[_0x2dd9('0x28')](respondWithResult(_0x35840a,null))['catch'](handleError(_0x35840a,null));};exports['create']=function(_0x43d708,_0x424e89){return db['VoiceTransferReport'][_0x2dd9('0x4a')](_0x43d708[_0x2dd9('0x4b')],{})[_0x2dd9('0x28')](respondWithResult(_0x424e89,0xc9))[_0x2dd9('0x4c')](handleError(_0x424e89,null));};exports[_0x2dd9('0x27')]=function(_0x587616,_0x58a90e){if(_0x587616[_0x2dd9('0x4b')]['id']){delete _0x587616[_0x2dd9('0x4b')]['id'];}return db[_0x2dd9('0x2e')][_0x2dd9('0x49')]({'where':{'id':_0x587616[_0x2dd9('0x47')]['id']}})['then'](handleEntityNotFound(_0x58a90e,null))[_0x2dd9('0x28')](saveUpdates(_0x587616[_0x2dd9('0x4b')],null))[_0x2dd9('0x28')](respondWithResult(_0x58a90e,null))[_0x2dd9('0x4c')](handleError(_0x58a90e,null));};exports[_0x2dd9('0x4d')]=function(_0x48ca9b,_0x3cded2){return db['VoiceTransferReport']['find']({'where':{'id':_0x48ca9b[_0x2dd9('0x47')]['id']}})[_0x2dd9('0x28')](handleEntityNotFound(_0x3cded2,null))[_0x2dd9('0x28')](removeEntity(_0x3cded2,null))[_0x2dd9('0x4c')](handleError(_0x3cded2,null));};exports[_0x2dd9('0x4e')]=function(_0x5be438,_0x43c46f){return db['VoiceTransferReport']['describe']()[_0x2dd9('0x28')](respondWithResult(_0x43c46f,null))[_0x2dd9('0x4c')](handleError(_0x43c46f,null));};