Built motion from commit (unavailable).|2.5.4
[motion2.git] / server / api / cdr / cdr.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 _0xd7c3=['set','Content-Range','apply','reject','save','update','then','sendStatus','stack','name','send','index','map','Cdr','rawAttributes','type','query','intersection','model','attributes','fields','length','hasOwnProperty','limit','order','sort','where','filters','pick','filter','VIRTUAL','merge','options','includeAll','include','findAll','rows','show','params','keys','catch','create','body','find','destroy','describe','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','ejs','lodash','squel','jsforce','to-csv','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','status','end','count','offset'];(function(_0x72324c,_0x178f26){var _0x2e2bcd=function(_0x1782bc){while(--_0x1782bc){_0x72324c['push'](_0x72324c['shift']());}};_0x2e2bcd(++_0x178f26);}(_0xd7c3,0xc4));var _0x3d7c=function(_0x507526,_0x402649){_0x507526=_0x507526-0x0;var _0x12df4d=_0xd7c3[_0x507526];return _0x12df4d;};'use strict';var pdf=require(_0x3d7c('0x0'));var emlformat=require(_0x3d7c('0x1'));var rimraf=require(_0x3d7c('0x2'));var zipdir=require(_0x3d7c('0x3'));var jsonpatch=require(_0x3d7c('0x4'));var rp=require('request-promise');var moment=require(_0x3d7c('0x5'));var BPromise=require(_0x3d7c('0x6'));var Mustache=require(_0x3d7c('0x7'));var util=require(_0x3d7c('0x8'));var path=require(_0x3d7c('0x9'));var sox=require(_0x3d7c('0xa'));var csv=require('to-csv');var ejs=require(_0x3d7c('0xb'));var fs=require('fs');var _=require(_0x3d7c('0xc'));var squel=require(_0x3d7c('0xd'));var crypto=require('crypto');var jsforce=require(_0x3d7c('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x3d7c('0xf'));var querystring=require(_0x3d7c('0x10'));var Papa=require(_0x3d7c('0x11'));var Redis=require(_0x3d7c('0x12'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x3d7c('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x3d7c('0x14'))(_0x3d7c('0x15'));var utils=require(_0x3d7c('0x16'));var config=require(_0x3d7c('0x17'));var db=require(_0x3d7c('0x18'))['db'];function respondWithStatusCode(_0x192bc9,_0x345e9f){_0x345e9f=_0x345e9f||0xcc;return function(_0x210a80){if(_0x210a80){return _0x192bc9['sendStatus'](_0x345e9f);}return _0x192bc9[_0x3d7c('0x19')](_0x345e9f)[_0x3d7c('0x1a')]();};}function respondWithResult(_0x26089d,_0x1516c7){_0x1516c7=_0x1516c7||0xc8;return function(_0x1f9ecd){if(_0x1f9ecd){return _0x26089d['status'](_0x1516c7)['json'](_0x1f9ecd);}};}function respondWithFilteredResult(_0xced53,_0x3ad80c){return function(_0x1b2806){if(_0x1b2806){var _0x3260a5=_0x1b2806[_0x3d7c('0x1b')],_0x576207=_0x3ad80c[_0x3d7c('0x1c')],_0x4975fd=_0x3ad80c[_0x3d7c('0x1c')]+_0x3ad80c['limit'],_0x3daa53;if(_0x4975fd>=_0x3260a5){_0x4975fd=_0x3260a5;_0x3daa53=0xc8;}else{_0x3daa53=0xce;}_0xced53[_0x3d7c('0x19')](_0x3daa53);return _0xced53[_0x3d7c('0x1d')](_0x3d7c('0x1e'),_0x576207+'-'+_0x4975fd+'/'+_0x3260a5)['json'](_0x1b2806);}return null;};}function patchUpdates(_0x1073fc){return function(_0x36462c){try{jsonpatch[_0x3d7c('0x1f')](_0x36462c,_0x1073fc,!![]);}catch(_0x589115){return BPromise[_0x3d7c('0x20')](_0x589115);}return _0x36462c[_0x3d7c('0x21')]();};}function saveUpdates(_0x19b5d1,_0x1af850){return function(_0x37a586){if(_0x37a586){return _0x37a586[_0x3d7c('0x22')](_0x19b5d1)[_0x3d7c('0x23')](function(_0x4d730f){return _0x4d730f;});}return null;};}function removeEntity(_0x2a2161,_0x362b4d){return function(_0x1ad2d1){if(_0x1ad2d1){return _0x1ad2d1['destroy']()['then'](function(){_0x2a2161['status'](0xcc)[_0x3d7c('0x1a')]();});}};}function handleEntityNotFound(_0xa7557c,_0x1f7d1d){return function(_0xdab932){if(!_0xdab932){_0xa7557c[_0x3d7c('0x24')](0x194);}return _0xdab932;};}function handleError(_0x563260,_0x34fb46){_0x34fb46=_0x34fb46||0x1f4;return function(_0x1e0640){logger['error'](_0x1e0640[_0x3d7c('0x25')]);if(_0x1e0640[_0x3d7c('0x26')]){delete _0x1e0640[_0x3d7c('0x26')];}_0x563260[_0x3d7c('0x19')](_0x34fb46)[_0x3d7c('0x27')](_0x1e0640);};}exports[_0x3d7c('0x28')]=function(_0x5154b4,_0x45f5d9){var _0x26375f={},_0x366722={},_0x369790={'count':0x0,'rows':[]};var _0x4f25a7=_[_0x3d7c('0x29')](db[_0x3d7c('0x2a')][_0x3d7c('0x2b')],function(_0x1355d6){return{'name':_0x1355d6['fieldName'],'type':_0x1355d6[_0x3d7c('0x2c')]['key']};});_0x366722['model']=_[_0x3d7c('0x29')](_0x4f25a7,_0x3d7c('0x26'));_0x366722[_0x3d7c('0x2d')]=_['keys'](_0x5154b4[_0x3d7c('0x2d')]);_0x366722['filters']=_[_0x3d7c('0x2e')](_0x366722[_0x3d7c('0x2f')],_0x366722[_0x3d7c('0x2d')]);_0x26375f[_0x3d7c('0x30')]=_[_0x3d7c('0x2e')](_0x366722[_0x3d7c('0x2f')],qs['fields'](_0x5154b4[_0x3d7c('0x2d')][_0x3d7c('0x31')]));_0x26375f[_0x3d7c('0x30')]=_0x26375f[_0x3d7c('0x30')][_0x3d7c('0x32')]?_0x26375f[_0x3d7c('0x30')]:_0x366722[_0x3d7c('0x2f')];if(!_0x5154b4[_0x3d7c('0x2d')][_0x3d7c('0x33')]('nolimit')){_0x26375f[_0x3d7c('0x34')]=qs[_0x3d7c('0x34')](_0x5154b4[_0x3d7c('0x2d')][_0x3d7c('0x34')]);_0x26375f[_0x3d7c('0x1c')]=qs[_0x3d7c('0x1c')](_0x5154b4[_0x3d7c('0x2d')][_0x3d7c('0x1c')]);}_0x26375f[_0x3d7c('0x35')]=qs['sort'](_0x5154b4[_0x3d7c('0x2d')][_0x3d7c('0x36')]);_0x26375f[_0x3d7c('0x37')]=qs[_0x3d7c('0x38')](_[_0x3d7c('0x39')](_0x5154b4[_0x3d7c('0x2d')],_0x366722[_0x3d7c('0x38')]),_0x4f25a7);if(_0x5154b4[_0x3d7c('0x2d')][_0x3d7c('0x3a')]){_0x26375f[_0x3d7c('0x37')]=_['merge'](_0x26375f[_0x3d7c('0x37')],{'$or':_[_0x3d7c('0x29')](_0x4f25a7,function(_0x19f933){if(_0x19f933[_0x3d7c('0x2c')]!==_0x3d7c('0x3b')){var _0x3a588d={};_0x3a588d[_0x19f933[_0x3d7c('0x26')]]={'$like':'%'+_0x5154b4[_0x3d7c('0x2d')][_0x3d7c('0x3a')]+'%'};return _0x3a588d;}})});}_0x26375f=_[_0x3d7c('0x3c')]({},_0x26375f,_0x5154b4[_0x3d7c('0x3d')]);var _0x238dfa={'where':_0x26375f[_0x3d7c('0x37')]};return db['Cdr']['count'](_0x238dfa)['then'](function(_0x653d25){_0x369790[_0x3d7c('0x1b')]=_0x653d25;if(_0x5154b4[_0x3d7c('0x2d')][_0x3d7c('0x3e')]){_0x26375f[_0x3d7c('0x3f')]=[{'all':!![]}];}return db[_0x3d7c('0x2a')][_0x3d7c('0x40')](_0x26375f);})[_0x3d7c('0x23')](function(_0x381e08){_0x369790[_0x3d7c('0x41')]=_0x381e08;return _0x369790;})[_0x3d7c('0x23')](respondWithFilteredResult(_0x45f5d9,_0x26375f))['catch'](handleError(_0x45f5d9,null));};exports[_0x3d7c('0x42')]=function(_0x28395c,_0x202cdb){var _0x1acda1={'raw':!![],'where':{'id':_0x28395c[_0x3d7c('0x43')]['id']}},_0x279d7f={};_0x279d7f[_0x3d7c('0x2f')]=_[_0x3d7c('0x44')](db['Cdr']['rawAttributes']);_0x279d7f[_0x3d7c('0x2d')]=_[_0x3d7c('0x44')](_0x28395c[_0x3d7c('0x2d')]);_0x279d7f[_0x3d7c('0x38')]=_['intersection'](_0x279d7f[_0x3d7c('0x2f')],_0x279d7f[_0x3d7c('0x2d')]);_0x1acda1[_0x3d7c('0x30')]=_[_0x3d7c('0x2e')](_0x279d7f[_0x3d7c('0x2f')],qs[_0x3d7c('0x31')](_0x28395c[_0x3d7c('0x2d')][_0x3d7c('0x31')]));_0x1acda1['attributes']=_0x1acda1[_0x3d7c('0x30')]['length']?_0x1acda1[_0x3d7c('0x30')]:_0x279d7f[_0x3d7c('0x2f')];if(_0x28395c[_0x3d7c('0x2d')][_0x3d7c('0x3e')]){_0x1acda1[_0x3d7c('0x3f')]=[{'all':!![]}];}_0x1acda1=_[_0x3d7c('0x3c')]({},_0x1acda1,_0x28395c[_0x3d7c('0x3d')]);return db[_0x3d7c('0x2a')]['find'](_0x1acda1)[_0x3d7c('0x23')](handleEntityNotFound(_0x202cdb,null))[_0x3d7c('0x23')](respondWithResult(_0x202cdb,null))[_0x3d7c('0x45')](handleError(_0x202cdb,null));};exports[_0x3d7c('0x46')]=function(_0x5c0379,_0x534276){return db['Cdr'][_0x3d7c('0x46')](_0x5c0379[_0x3d7c('0x47')],{})[_0x3d7c('0x23')](respondWithResult(_0x534276,0xc9))[_0x3d7c('0x45')](handleError(_0x534276,null));};exports[_0x3d7c('0x22')]=function(_0x1c90ed,_0xdb7c10){if(_0x1c90ed[_0x3d7c('0x47')]['id']){delete _0x1c90ed[_0x3d7c('0x47')]['id'];}return db['Cdr'][_0x3d7c('0x48')]({'where':{'id':_0x1c90ed[_0x3d7c('0x43')]['id']}})[_0x3d7c('0x23')](handleEntityNotFound(_0xdb7c10,null))['then'](saveUpdates(_0x1c90ed[_0x3d7c('0x47')],null))[_0x3d7c('0x23')](respondWithResult(_0xdb7c10,null))[_0x3d7c('0x45')](handleError(_0xdb7c10,null));};exports[_0x3d7c('0x49')]=function(_0x542c0b,_0x673b83){return db[_0x3d7c('0x2a')][_0x3d7c('0x48')]({'where':{'id':_0x542c0b['params']['id']}})[_0x3d7c('0x23')](handleEntityNotFound(_0x673b83,null))[_0x3d7c('0x23')](removeEntity(_0x673b83,null))[_0x3d7c('0x45')](handleError(_0x673b83,null));};exports[_0x3d7c('0x4a')]=function(_0x12595d,_0x36c752){return db[_0x3d7c('0x2a')][_0x3d7c('0x4a')]()[_0x3d7c('0x23')](respondWithResult(_0x36c752,null))['catch'](handleError(_0x36c752,null));};