Built motion from commit (unavailable).|2.3.93
[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 _0x60b6=['mustache','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','sendStatus','end','status','json','count','offset','limit','Content-Range','apply','save','then','destroy','error','stack','name','send','index','Cdr','rawAttributes','model','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','sort','where','filter','merge','map','type','VIRTUAL','field','options','includeAll','include','rows','catch','show','params','find','create','body','update','describe','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','bluebird'];(function(_0x47a349,_0x4699d9){var _0x18ab75=function(_0x210796){while(--_0x210796){_0x47a349['push'](_0x47a349['shift']());}};_0x18ab75(++_0x4699d9);}(_0x60b6,0xd2));var _0x660b=function(_0x5a256e,_0x26ebd7){_0x5a256e=_0x5a256e-0x0;var _0x53c58a=_0x60b6[_0x5a256e];return _0x53c58a;};'use strict';var pdf=require(_0x660b('0x0'));var emlformat=require(_0x660b('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x660b('0x2'));var jsonpatch=require(_0x660b('0x3'));var rp=require(_0x660b('0x4'));var moment=require('moment');var BPromise=require(_0x660b('0x5'));var Mustache=require(_0x660b('0x6'));var util=require('util');var path=require(_0x660b('0x7'));var sox=require(_0x660b('0x8'));var csv=require(_0x660b('0x9'));var ejs=require(_0x660b('0xa'));var fs=require('fs');var _=require(_0x660b('0xb'));var squel=require(_0x660b('0xc'));var crypto=require(_0x660b('0xd'));var jsforce=require(_0x660b('0xe'));var deskjs=require(_0x660b('0xf'));var toCsv=require(_0x660b('0x9'));var querystring=require(_0x660b('0x10'));var Papa=require(_0x660b('0x11'));var authService=require(_0x660b('0x12'));var hardwareService=require('../../config/license/hardware');var Redis=require('ioredis');var qs=require(_0x660b('0x13'));var logger=require(_0x660b('0x14'))(_0x660b('0x15'));var utils=require(_0x660b('0x16'));var config=require(_0x660b('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x19451d,_0x23edfd){_0x23edfd=_0x23edfd||0xcc;return function(_0x283e3e){if(_0x283e3e){return _0x19451d[_0x660b('0x18')](_0x23edfd);}return _0x19451d['status'](_0x23edfd)[_0x660b('0x19')]();};}function respondWithResult(_0x1d3e60,_0x268ea5){_0x268ea5=_0x268ea5||0xc8;return function(_0x261aab){if(_0x261aab){return _0x1d3e60[_0x660b('0x1a')](_0x268ea5)[_0x660b('0x1b')](_0x261aab);}};}function respondWithFilteredResult(_0x313eaa,_0x1f6133){return function(_0x24f352){if(_0x24f352){var _0x3e1683=_0x24f352[_0x660b('0x1c')],_0x456455=_0x1f6133[_0x660b('0x1d')],_0x5693d6=_0x1f6133['offset']+_0x1f6133[_0x660b('0x1e')],_0x201fd0;if(_0x5693d6>=_0x3e1683){_0x5693d6=_0x3e1683;_0x201fd0=0xc8;}else{_0x201fd0=0xce;}_0x313eaa[_0x660b('0x1a')](_0x201fd0);return _0x313eaa['set'](_0x660b('0x1f'),_0x456455+'-'+_0x5693d6+'/'+_0x3e1683)[_0x660b('0x1b')](_0x24f352);}return null;};}function patchUpdates(_0x7a85d7){return function(_0x252a6f){try{jsonpatch[_0x660b('0x20')](_0x252a6f,_0x7a85d7,!![]);}catch(_0x6195b3){return BPromise['reject'](_0x6195b3);}return _0x252a6f[_0x660b('0x21')]();};}function saveUpdates(_0x2a5e3a,_0x46ae02){return function(_0x209790){if(_0x209790){return _0x209790['update'](_0x2a5e3a)[_0x660b('0x22')](function(_0x2fd19a){return _0x2fd19a;});}return null;};}function removeEntity(_0xda096b,_0x53e0d2){return function(_0x5a1fe8){if(_0x5a1fe8){return _0x5a1fe8[_0x660b('0x23')]()[_0x660b('0x22')](function(){_0xda096b[_0x660b('0x1a')](0xcc)[_0x660b('0x19')]();});}};}function handleEntityNotFound(_0x47024a,_0x208a8a){return function(_0x3c0f9a){if(!_0x3c0f9a){_0x47024a[_0x660b('0x18')](0x194);}return _0x3c0f9a;};}function handleError(_0x2c94e1,_0x440011){_0x440011=_0x440011||0x1f4;return function(_0x1f3d64){logger[_0x660b('0x24')](_0x1f3d64[_0x660b('0x25')]);if(_0x1f3d64[_0x660b('0x26')]){delete _0x1f3d64['name'];}_0x2c94e1[_0x660b('0x1a')](_0x440011)[_0x660b('0x27')](_0x1f3d64);};}exports[_0x660b('0x28')]=function(_0xc67607,_0x492527){var _0x341d3f={},_0x1101f4={},_0x40fb4e={'count':0x0,'rows':[]};var _0x47b712=db[_0x660b('0x29')][_0x660b('0x2a')];_0x1101f4[_0x660b('0x2b')]=_[_0x660b('0x2c')](_0x47b712);_0x1101f4['query']=_[_0x660b('0x2c')](_0xc67607[_0x660b('0x2d')]);_0x1101f4[_0x660b('0x2e')]=_[_0x660b('0x2f')](_0x1101f4[_0x660b('0x2b')],_0x1101f4['query']);_0x341d3f[_0x660b('0x30')]=_['intersection'](_0x1101f4[_0x660b('0x2b')],qs[_0x660b('0x31')](_0xc67607[_0x660b('0x2d')]['fields']));_0x341d3f[_0x660b('0x30')]=_0x341d3f[_0x660b('0x30')][_0x660b('0x32')]?_0x341d3f['attributes']:_0x1101f4['model'];if(!_0xc67607['query'][_0x660b('0x33')]('nolimit')){_0x341d3f[_0x660b('0x1e')]=qs[_0x660b('0x1e')](_0xc67607[_0x660b('0x2d')][_0x660b('0x1e')]);_0x341d3f[_0x660b('0x1d')]=qs[_0x660b('0x1d')](_0xc67607['query'][_0x660b('0x1d')]);}_0x341d3f['order']=qs[_0x660b('0x34')](_0xc67607[_0x660b('0x2d')]['sort']);_0x341d3f[_0x660b('0x35')]=qs[_0x660b('0x2e')](_['pick'](_0xc67607[_0x660b('0x2d')],_0x1101f4['filters']));if(_0xc67607[_0x660b('0x2d')][_0x660b('0x36')]){_0x341d3f[_0x660b('0x35')]=_[_0x660b('0x37')](_0x341d3f[_0x660b('0x35')],{'$or':_[_0x660b('0x38')](_0x47b712,function(_0x2abe99){if(_0x2abe99[_0x660b('0x39')]['key']!==_0x660b('0x3a')){var _0x31fca6={};_0x31fca6[_0x2abe99[_0x660b('0x3b')]]={'$like':'%'+_0xc67607[_0x660b('0x2d')]['filter']+'%'};return _0x31fca6;}})});}_0x341d3f=_[_0x660b('0x37')]({},_0x341d3f,_0xc67607[_0x660b('0x3c')]);var _0x3c805={'where':_0x341d3f[_0x660b('0x35')]};return db[_0x660b('0x29')][_0x660b('0x1c')](_0x3c805)['then'](function(_0x5b6b02){_0x40fb4e['count']=_0x5b6b02;if(_0xc67607['query'][_0x660b('0x3d')]){_0x341d3f[_0x660b('0x3e')]=[{'all':!![]}];}return db[_0x660b('0x29')]['findAll'](_0x341d3f);})[_0x660b('0x22')](function(_0x192588){_0x40fb4e[_0x660b('0x3f')]=_0x192588;return _0x40fb4e;})[_0x660b('0x22')](respondWithFilteredResult(_0x492527,_0x341d3f))[_0x660b('0x40')](handleError(_0x492527,null));};exports[_0x660b('0x41')]=function(_0x510940,_0x339627){var _0x59d198={'raw':!![],'where':{'id':_0x510940[_0x660b('0x42')]['id']}},_0x778216={};_0x778216[_0x660b('0x2b')]=_[_0x660b('0x2c')](db[_0x660b('0x29')][_0x660b('0x2a')]);_0x778216[_0x660b('0x2d')]=_[_0x660b('0x2c')](_0x510940[_0x660b('0x2d')]);_0x778216['filters']=_['intersection'](_0x778216['model'],_0x778216['query']);_0x59d198[_0x660b('0x30')]=_[_0x660b('0x2f')](_0x778216[_0x660b('0x2b')],qs[_0x660b('0x31')](_0x510940[_0x660b('0x2d')]['fields']));_0x59d198[_0x660b('0x30')]=_0x59d198[_0x660b('0x30')]['length']?_0x59d198[_0x660b('0x30')]:_0x778216[_0x660b('0x2b')];if(_0x510940[_0x660b('0x2d')][_0x660b('0x3d')]){_0x59d198[_0x660b('0x3e')]=[{'all':!![]}];}_0x59d198=_[_0x660b('0x37')]({},_0x59d198,_0x510940[_0x660b('0x3c')]);return db['Cdr'][_0x660b('0x43')](_0x59d198)[_0x660b('0x22')](handleEntityNotFound(_0x339627,null))[_0x660b('0x22')](respondWithResult(_0x339627,null))[_0x660b('0x40')](handleError(_0x339627,null));};exports[_0x660b('0x44')]=function(_0x3c47f0,_0x30dbce){return db['Cdr'][_0x660b('0x44')](_0x3c47f0[_0x660b('0x45')],{})[_0x660b('0x22')](respondWithResult(_0x30dbce,0xc9))[_0x660b('0x40')](handleError(_0x30dbce,null));};exports[_0x660b('0x46')]=function(_0x1f1580,_0x286d38){if(_0x1f1580[_0x660b('0x45')]['id']){delete _0x1f1580['body']['id'];}return db[_0x660b('0x29')][_0x660b('0x43')]({'where':{'id':_0x1f1580[_0x660b('0x42')]['id']}})['then'](handleEntityNotFound(_0x286d38,null))[_0x660b('0x22')](saveUpdates(_0x1f1580['body'],null))[_0x660b('0x22')](respondWithResult(_0x286d38,null))[_0x660b('0x40')](handleError(_0x286d38,null));};exports[_0x660b('0x23')]=function(_0x493580,_0x91717b){return db[_0x660b('0x29')]['find']({'where':{'id':_0x493580[_0x660b('0x42')]['id']}})[_0x660b('0x22')](handleEntityNotFound(_0x91717b,null))[_0x660b('0x22')](removeEntity(_0x91717b,null))['catch'](handleError(_0x91717b,null));};exports[_0x660b('0x47')]=function(_0x5bb32a,_0x422027){return db['Cdr']['describe']()[_0x660b('0x22')](respondWithResult(_0x422027,null))[_0x660b('0x40')](handleError(_0x422027,null));};