1ae03a45ec2284543e962107b5873975a920e29d
[motion2.git] / server / api / voiceDialReport / voiceDialReport.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 _0x062c=['jsforce','desk.js','querystring','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','status','end','limit','undefined','offset','count','set','Content-Range','json','reject','save','update','destroy','then','sendStatus','error','stack','name','send','rawAttributes','fieldName','key','map','query','keys','filters','intersection','model','attributes','hasOwnProperty','nolimit','order','sort','where','filter','merge','type','VIRTUAL','options','VoiceDialReport','includeAll','include','findAll','rows','show','params','fields','catch','create','body','find','describe','rimraf','fast-json-patch','moment','bluebird','mustache','path','sox','to-csv','fs-extra','lodash','crypto'];(function(_0x37add7,_0x396960){var _0x41053d=function(_0x242477){while(--_0x242477){_0x37add7['push'](_0x37add7['shift']());}};_0x41053d(++_0x396960);}(_0x062c,0x1f4));var _0xc062=function(_0x2239b7,_0x8b8b71){_0x2239b7=_0x2239b7-0x0;var _0x446131=_0x062c[_0x2239b7];return _0x446131;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xc062('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0xc062('0x1'));var rp=require('request-promise');var moment=require(_0xc062('0x2'));var BPromise=require(_0xc062('0x3'));var Mustache=require(_0xc062('0x4'));var util=require('util');var path=require(_0xc062('0x5'));var sox=require(_0xc062('0x6'));var csv=require(_0xc062('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xc062('0x8'));var _=require(_0xc062('0x9'));var squel=require('squel');var crypto=require(_0xc062('0xa'));var jsforce=require(_0xc062('0xb'));var deskjs=require(_0xc062('0xc'));var toCsv=require(_0xc062('0x7'));var querystring=require(_0xc062('0xd'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xc062('0xe'));var as=require(_0xc062('0xf'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xc062('0x10'))(_0xc062('0x11'));var utils=require(_0xc062('0x12'));var config=require(_0xc062('0x13'));var licenseUtil=require('../../config/license/util');var db=require(_0xc062('0x14'))['db'];function respondWithStatusCode(_0x19c104,_0x5692c9){_0x5692c9=_0x5692c9||0xcc;return function(_0x3bd55a){if(_0x3bd55a){return _0x19c104['sendStatus'](_0x5692c9);}return _0x19c104[_0xc062('0x15')](_0x5692c9)[_0xc062('0x16')]();};}function respondWithResult(_0x2eac0b,_0x13c44a){_0x13c44a=_0x13c44a||0xc8;return function(_0x1cf8ef){if(_0x1cf8ef){return _0x2eac0b[_0xc062('0x15')](_0x13c44a)['json'](_0x1cf8ef);}};}function respondWithFilteredResult(_0x2b7f83,_0x465846){return function(_0x450a50){if(_0x450a50){var _0x2abd11=typeof _0x465846['offset']==='undefined'&&typeof _0x465846[_0xc062('0x17')]===_0xc062('0x18');var _0x505b97=_0x450a50['count'];var _0x51b21c=_0x2abd11?0x0:_0x465846[_0xc062('0x19')];var _0x568f43=_0x2abd11?_0x450a50[_0xc062('0x1a')]:_0x465846[_0xc062('0x19')]+_0x465846[_0xc062('0x17')];var _0x10956e;if(_0x568f43>=_0x505b97){_0x568f43=_0x505b97;_0x10956e=0xc8;}else{_0x10956e=0xce;}_0x2b7f83['status'](_0x10956e);return _0x2b7f83[_0xc062('0x1b')](_0xc062('0x1c'),_0x51b21c+'-'+_0x568f43+'/'+_0x505b97)[_0xc062('0x1d')](_0x450a50);}return null;};}function patchUpdates(_0x7c43ae){return function(_0x17fe36){try{jsonpatch['apply'](_0x17fe36,_0x7c43ae,!![]);}catch(_0x365cdf){return BPromise[_0xc062('0x1e')](_0x365cdf);}return _0x17fe36[_0xc062('0x1f')]();};}function saveUpdates(_0x596571,_0x64b07d){return function(_0x5d538d){if(_0x5d538d){return _0x5d538d[_0xc062('0x20')](_0x596571)['then'](function(_0x1091b0){return _0x1091b0;});}return null;};}function removeEntity(_0x545ca6,_0x1fcbd3){return function(_0x712fe6){if(_0x712fe6){return _0x712fe6[_0xc062('0x21')]()[_0xc062('0x22')](function(){_0x545ca6[_0xc062('0x15')](0xcc)['end']();});}};}function handleEntityNotFound(_0x22dbdb,_0x4767bc){return function(_0x302217){if(!_0x302217){_0x22dbdb[_0xc062('0x23')](0x194);}return _0x302217;};}function handleError(_0x38ba65,_0x39b6e9){_0x39b6e9=_0x39b6e9||0x1f4;return function(_0x3b3a73){logger[_0xc062('0x24')](_0x3b3a73[_0xc062('0x25')]);if(_0x3b3a73['name']){delete _0x3b3a73[_0xc062('0x26')];}_0x38ba65[_0xc062('0x15')](_0x39b6e9)[_0xc062('0x27')](_0x3b3a73);};}exports['index']=function(_0x5db094,_0x4d4c4c){var _0x513932={},_0x406b27={},_0x379afb={'count':0x0,'rows':[]};var _0x414bb3=_['map'](db['VoiceDialReport'][_0xc062('0x28')],function(_0x25dd82){return{'name':_0x25dd82[_0xc062('0x29')],'type':_0x25dd82['type'][_0xc062('0x2a')]};});_0x406b27['model']=_[_0xc062('0x2b')](_0x414bb3,_0xc062('0x26'));_0x406b27[_0xc062('0x2c')]=_[_0xc062('0x2d')](_0x5db094['query']);_0x406b27[_0xc062('0x2e')]=_[_0xc062('0x2f')](_0x406b27[_0xc062('0x30')],_0x406b27['query']);_0x513932[_0xc062('0x31')]=_[_0xc062('0x2f')](_0x406b27['model'],qs['fields'](_0x5db094[_0xc062('0x2c')]['fields']));_0x513932[_0xc062('0x31')]=_0x513932[_0xc062('0x31')]['length']?_0x513932[_0xc062('0x31')]:_0x406b27[_0xc062('0x30')];if(!_0x5db094[_0xc062('0x2c')][_0xc062('0x32')](_0xc062('0x33'))){_0x513932['limit']=qs[_0xc062('0x17')](_0x5db094['query'][_0xc062('0x17')]);_0x513932[_0xc062('0x19')]=qs[_0xc062('0x19')](_0x5db094[_0xc062('0x2c')][_0xc062('0x19')]);}_0x513932[_0xc062('0x34')]=qs[_0xc062('0x35')](_0x5db094[_0xc062('0x2c')][_0xc062('0x35')]);_0x513932[_0xc062('0x36')]=qs[_0xc062('0x2e')](_['pick'](_0x5db094[_0xc062('0x2c')],_0x406b27[_0xc062('0x2e')]),_0x414bb3);if(_0x5db094[_0xc062('0x2c')][_0xc062('0x37')]){_0x513932[_0xc062('0x36')]=_[_0xc062('0x38')](_0x513932['where'],{'$or':_[_0xc062('0x2b')](_0x414bb3,function(_0x346b4a){if(_0x346b4a[_0xc062('0x39')]!==_0xc062('0x3a')){var _0x2d186e={};_0x2d186e[_0x346b4a[_0xc062('0x26')]]={'$like':'%'+_0x5db094[_0xc062('0x2c')]['filter']+'%'};return _0x2d186e;}})});}_0x513932=_[_0xc062('0x38')]({},_0x513932,_0x5db094[_0xc062('0x3b')]);var _0x17b8fc={'where':_0x513932[_0xc062('0x36')]};return db[_0xc062('0x3c')][_0xc062('0x1a')](_0x17b8fc)[_0xc062('0x22')](function(_0x210e2f){_0x379afb[_0xc062('0x1a')]=_0x210e2f;if(_0x5db094[_0xc062('0x2c')][_0xc062('0x3d')]){_0x513932[_0xc062('0x3e')]=[{'all':!![]}];}return db[_0xc062('0x3c')][_0xc062('0x3f')](_0x513932);})[_0xc062('0x22')](function(_0xd114c6){_0x379afb[_0xc062('0x40')]=_0xd114c6;return _0x379afb;})[_0xc062('0x22')](respondWithFilteredResult(_0x4d4c4c,_0x513932))['catch'](handleError(_0x4d4c4c,null));};exports[_0xc062('0x41')]=function(_0x5cc1b5,_0x1d9abc){var _0x384726={'raw':!![],'where':{'id':_0x5cc1b5[_0xc062('0x42')]['id']}},_0x744bd3={};_0x744bd3['model']=_[_0xc062('0x2d')](db[_0xc062('0x3c')][_0xc062('0x28')]);_0x744bd3['query']=_[_0xc062('0x2d')](_0x5cc1b5['query']);_0x744bd3['filters']=_[_0xc062('0x2f')](_0x744bd3['model'],_0x744bd3[_0xc062('0x2c')]);_0x384726[_0xc062('0x31')]=_[_0xc062('0x2f')](_0x744bd3[_0xc062('0x30')],qs['fields'](_0x5cc1b5[_0xc062('0x2c')][_0xc062('0x43')]));_0x384726[_0xc062('0x31')]=_0x384726['attributes']['length']?_0x384726['attributes']:_0x744bd3[_0xc062('0x30')];if(_0x5cc1b5[_0xc062('0x2c')]['includeAll']){_0x384726[_0xc062('0x3e')]=[{'all':!![]}];}_0x384726=_[_0xc062('0x38')]({},_0x384726,_0x5cc1b5[_0xc062('0x3b')]);return db['VoiceDialReport']['find'](_0x384726)[_0xc062('0x22')](handleEntityNotFound(_0x1d9abc,null))[_0xc062('0x22')](respondWithResult(_0x1d9abc,null))[_0xc062('0x44')](handleError(_0x1d9abc,null));};exports[_0xc062('0x45')]=function(_0x1a2a73,_0x4db85a){return db[_0xc062('0x3c')][_0xc062('0x45')](_0x1a2a73['body'],{})[_0xc062('0x22')](respondWithResult(_0x4db85a,0xc9))[_0xc062('0x44')](handleError(_0x4db85a,null));};exports[_0xc062('0x20')]=function(_0x1bf9ed,_0x17f764){if(_0x1bf9ed['body']['id']){delete _0x1bf9ed[_0xc062('0x46')]['id'];}return db['VoiceDialReport'][_0xc062('0x47')]({'where':{'id':_0x1bf9ed[_0xc062('0x42')]['id']}})[_0xc062('0x22')](handleEntityNotFound(_0x17f764,null))[_0xc062('0x22')](saveUpdates(_0x1bf9ed[_0xc062('0x46')],null))['then'](respondWithResult(_0x17f764,null))[_0xc062('0x44')](handleError(_0x17f764,null));};exports['destroy']=function(_0x8c145,_0xb3fc4a){return db[_0xc062('0x3c')][_0xc062('0x47')]({'where':{'id':_0x8c145[_0xc062('0x42')]['id']}})[_0xc062('0x22')](handleEntityNotFound(_0xb3fc4a,null))[_0xc062('0x22')](removeEntity(_0xb3fc4a,null))[_0xc062('0x44')](handleError(_0xb3fc4a,null));};exports['describe']=function(_0xe7f173,_0x2c0fd3){return db[_0xc062('0x3c')][_0xc062('0x48')]()[_0xc062('0x22')](respondWithResult(_0x2c0fd3,null))[_0xc062('0x44')](handleError(_0x2c0fd3,null));};