088c58e19d22e9db52bca88768c8f1d8846853fe
[motion2.git] / server / api / voiceCallReport / voiceCallReport.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 _0x9057=['body','params','describe','uniqueid','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','util','path','to-csv','ejs','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','status','count','offset','limit','set','apply','reject','save','update','destroy','then','end','sendStatus','error','stack','name','index','map','rawAttributes','type','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','order','sort','where','pick','filter','merge','VIRTUAL','options','VoiceCallReport','includeAll','include','fullname','alias','User','findAll','rows','catch','find'];(function(_0x20c9b2,_0x55d7b1){var _0x2c6030=function(_0x10845f){while(--_0x10845f){_0x20c9b2['push'](_0x20c9b2['shift']());}};_0x2c6030(++_0x55d7b1);}(_0x9057,0x134));var _0x7905=function(_0x5ce3c8,_0x2503bd){_0x5ce3c8=_0x5ce3c8-0x0;var _0xa76867=_0x9057[_0x5ce3c8];return _0xa76867;};'use strict';var pdf=require(_0x7905('0x0'));var emlformat=require(_0x7905('0x1'));var rimraf=require(_0x7905('0x2'));var zipdir=require(_0x7905('0x3'));var jsonpatch=require(_0x7905('0x4'));var rp=require(_0x7905('0x5'));var moment=require(_0x7905('0x6'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x7905('0x7'));var path=require(_0x7905('0x8'));var sox=require('sox');var csv=require(_0x7905('0x9'));var ejs=require(_0x7905('0xa'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require(_0x7905('0xb'));var jsforce=require(_0x7905('0xc'));var deskjs=require(_0x7905('0xd'));var toCsv=require(_0x7905('0x9'));var querystring=require('querystring');var Papa=require(_0x7905('0xe'));var Redis=require(_0x7905('0xf'));var authService=require(_0x7905('0x10'));var qs=require(_0x7905('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x7905('0x12'));var logger=require(_0x7905('0x13'))(_0x7905('0x14'));var utils=require(_0x7905('0x15'));var config=require(_0x7905('0x16'));var db=require(_0x7905('0x17'))['db'];function respondWithStatusCode(_0x8f5522,_0x5a876c){_0x5a876c=_0x5a876c||0xcc;return function(_0x15c792){if(_0x15c792){return _0x8f5522['sendStatus'](_0x5a876c);}return _0x8f5522[_0x7905('0x18')](_0x5a876c)['end']();};}function respondWithResult(_0x45b9c4,_0xaaeb57){_0xaaeb57=_0xaaeb57||0xc8;return function(_0x25aa95){if(_0x25aa95){return _0x45b9c4[_0x7905('0x18')](_0xaaeb57)['json'](_0x25aa95);}};}function respondWithFilteredResult(_0x5d241f,_0x5c0aa4){return function(_0x216efe){if(_0x216efe){var _0x559e57=_0x216efe[_0x7905('0x19')],_0x5eda12=_0x5c0aa4[_0x7905('0x1a')],_0x29be60=_0x5c0aa4['offset']+_0x5c0aa4[_0x7905('0x1b')],_0x5b15db;if(_0x29be60>=_0x559e57){_0x29be60=_0x559e57;_0x5b15db=0xc8;}else{_0x5b15db=0xce;}_0x5d241f[_0x7905('0x18')](_0x5b15db);return _0x5d241f[_0x7905('0x1c')]('Content-Range',_0x5eda12+'-'+_0x29be60+'/'+_0x559e57)['json'](_0x216efe);}return null;};}function patchUpdates(_0x8d7eb3){return function(_0x3279df){try{jsonpatch[_0x7905('0x1d')](_0x3279df,_0x8d7eb3,!![]);}catch(_0x4dc929){return BPromise[_0x7905('0x1e')](_0x4dc929);}return _0x3279df[_0x7905('0x1f')]();};}function saveUpdates(_0x4ebf60,_0x3d8d32){return function(_0x30d71e){if(_0x30d71e){return _0x30d71e[_0x7905('0x20')](_0x4ebf60)['then'](function(_0x1bbab2){return _0x1bbab2;});}return null;};}function removeEntity(_0x13d925,_0x1442d2){return function(_0x6c35c9){if(_0x6c35c9){return _0x6c35c9[_0x7905('0x21')]()[_0x7905('0x22')](function(){_0x13d925[_0x7905('0x18')](0xcc)[_0x7905('0x23')]();});}};}function handleEntityNotFound(_0x29596f,_0x302faf){return function(_0x3af630){if(!_0x3af630){_0x29596f[_0x7905('0x24')](0x194);}return _0x3af630;};}function handleError(_0x1e05a3,_0xf31aa4){_0xf31aa4=_0xf31aa4||0x1f4;return function(_0x6fae19){logger[_0x7905('0x25')](_0x6fae19[_0x7905('0x26')]);if(_0x6fae19['name']){delete _0x6fae19[_0x7905('0x27')];}_0x1e05a3[_0x7905('0x18')](_0xf31aa4)['send'](_0x6fae19);};}exports[_0x7905('0x28')]=function(_0x22434f,_0x53310e){var _0x5b8617={},_0x52f67a={},_0x30d0af={'count':0x0,'rows':[]};var _0x1dda11=_[_0x7905('0x29')](db['VoiceCallReport'][_0x7905('0x2a')],function(_0x523e7a){return{'name':_0x523e7a['fieldName'],'type':_0x523e7a[_0x7905('0x2b')][_0x7905('0x2c')]};});_0x52f67a[_0x7905('0x2d')]=_[_0x7905('0x29')](_0x1dda11,_0x7905('0x27'));_0x52f67a[_0x7905('0x2e')]=_[_0x7905('0x2f')](_0x22434f['query']);_0x52f67a[_0x7905('0x30')]=_['intersection'](_0x52f67a[_0x7905('0x2d')],_0x52f67a[_0x7905('0x2e')]);_0x5b8617['attributes']=_[_0x7905('0x31')](_0x52f67a['model'],qs[_0x7905('0x32')](_0x22434f['query'][_0x7905('0x32')]));_0x5b8617[_0x7905('0x33')]=_0x5b8617[_0x7905('0x33')][_0x7905('0x34')]?_0x5b8617[_0x7905('0x33')]:_0x52f67a['model'];if(!_0x22434f[_0x7905('0x2e')][_0x7905('0x35')]('nolimit')){_0x5b8617['limit']=qs[_0x7905('0x1b')](_0x22434f[_0x7905('0x2e')][_0x7905('0x1b')]);_0x5b8617[_0x7905('0x1a')]=qs[_0x7905('0x1a')](_0x22434f[_0x7905('0x2e')][_0x7905('0x1a')]);}_0x5b8617[_0x7905('0x36')]=qs[_0x7905('0x37')](_0x22434f[_0x7905('0x2e')][_0x7905('0x37')]);_0x5b8617[_0x7905('0x38')]=qs[_0x7905('0x30')](_[_0x7905('0x39')](_0x22434f['query'],_0x52f67a['filters']));if(_0x22434f['query'][_0x7905('0x3a')]){_0x5b8617[_0x7905('0x38')]=_[_0x7905('0x3b')](_0x5b8617[_0x7905('0x38')],{'$or':_['map'](_0x1dda11,function(_0x446e03){if(_0x446e03['type']!==_0x7905('0x3c')){var _0x273508={};_0x273508[_0x446e03[_0x7905('0x27')]]={'$like':'%'+_0x22434f[_0x7905('0x2e')]['filter']+'%'};return _0x273508;}})});}_0x5b8617=_['merge']({},_0x5b8617,_0x22434f[_0x7905('0x3d')]);var _0xa358d9={'where':_0x5b8617[_0x7905('0x38')]};return db[_0x7905('0x3e')][_0x7905('0x19')](_0xa358d9)[_0x7905('0x22')](function(_0x262cb9){_0x30d0af['count']=_0x262cb9;if(_0x22434f[_0x7905('0x2e')][_0x7905('0x3f')]){_0x5b8617[_0x7905('0x40')]=[{'attributes':['id',_0x7905('0x27'),_0x7905('0x41'),_0x7905('0x42')],'model':db[_0x7905('0x43')],'as':_0x7905('0x43')}];}return db[_0x7905('0x3e')][_0x7905('0x44')](_0x5b8617);})[_0x7905('0x22')](function(_0x227ca4){_0x30d0af[_0x7905('0x45')]=_0x227ca4;return _0x30d0af;})[_0x7905('0x22')](respondWithFilteredResult(_0x53310e,_0x5b8617))[_0x7905('0x46')](handleError(_0x53310e,null));};exports['show']=function(_0xa6ac99,_0x46b8c9){var _0x17de63={'raw':!![],'where':{'id':_0xa6ac99['params']['id']}},_0x4e566a={};_0x4e566a[_0x7905('0x2d')]=_[_0x7905('0x2f')](db[_0x7905('0x3e')]['rawAttributes']);_0x4e566a[_0x7905('0x2e')]=_[_0x7905('0x2f')](_0xa6ac99[_0x7905('0x2e')]);_0x4e566a['filters']=_['intersection'](_0x4e566a[_0x7905('0x2d')],_0x4e566a['query']);_0x17de63[_0x7905('0x33')]=_[_0x7905('0x31')](_0x4e566a['model'],qs[_0x7905('0x32')](_0xa6ac99[_0x7905('0x2e')][_0x7905('0x32')]));_0x17de63['attributes']=_0x17de63[_0x7905('0x33')][_0x7905('0x34')]?_0x17de63[_0x7905('0x33')]:_0x4e566a[_0x7905('0x2d')];if(_0xa6ac99[_0x7905('0x2e')]['includeAll']){_0x17de63[_0x7905('0x40')]=[{'all':!![]}];}_0x17de63=_['merge']({},_0x17de63,_0xa6ac99[_0x7905('0x3d')]);return db[_0x7905('0x3e')][_0x7905('0x47')](_0x17de63)['then'](handleEntityNotFound(_0x46b8c9,null))[_0x7905('0x22')](respondWithResult(_0x46b8c9,null))[_0x7905('0x46')](handleError(_0x46b8c9,null));};exports['create']=function(_0x670b1c,_0x5db397){return db[_0x7905('0x3e')]['create'](_0x670b1c[_0x7905('0x48')],{})['then'](respondWithResult(_0x5db397,0xc9))[_0x7905('0x46')](handleError(_0x5db397,null));};exports[_0x7905('0x21')]=function(_0x1d54ea,_0x34a82c){return db[_0x7905('0x3e')][_0x7905('0x47')]({'where':{'id':_0x1d54ea[_0x7905('0x49')]['id']}})[_0x7905('0x22')](handleEntityNotFound(_0x34a82c,null))['then'](removeEntity(_0x34a82c,null))[_0x7905('0x46')](handleError(_0x34a82c,null));};exports[_0x7905('0x4a')]=function(_0x48434e,_0x4e767e){return db[_0x7905('0x3e')][_0x7905('0x4a')]()[_0x7905('0x22')](respondWithResult(_0x4e767e,null))[_0x7905('0x46')](handleError(_0x4e767e,null));};exports['update']=function(_0x253916,_0x380343){if(_0x253916[_0x7905('0x48')][_0x7905('0x4b')]){delete _0x253916[_0x7905('0x48')][_0x7905('0x4b')];}return db[_0x7905('0x3e')][_0x7905('0x47')]({'where':{'uniqueid':_0x253916[_0x7905('0x49')]['id'],'UserId':{'$or':[null,_0x253916['user']['id']]}}})[_0x7905('0x22')](handleEntityNotFound(_0x380343,null))[_0x7905('0x22')](saveUpdates(_0x253916[_0x7905('0x48')],null))['then'](respondWithResult(_0x380343,null))['catch'](handleError(_0x380343,null));};