Built motion from commit (unavailable).|2.5.9
[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 _0x36ad=['path','sox','to-csv','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','count','offset','limit','Content-Range','json','apply','save','update','then','destroy','sendStatus','stack','name','send','map','Cdr','rawAttributes','fieldName','type','query','keys','filters','intersection','model','attributes','fields','length','nolimit','order','sort','where','pick','filter','VIRTUAL','includeAll','include','findAll','catch','params','merge','find','create','body','describe','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util'];(function(_0x45d55e,_0x2fede3){var _0x29812a=function(_0x3c6830){while(--_0x3c6830){_0x45d55e['push'](_0x45d55e['shift']());}};_0x29812a(++_0x2fede3);}(_0x36ad,0x1be));var _0xd36a=function(_0x373032,_0x58a47f){_0x373032=_0x373032-0x0;var _0x2e2da4=_0x36ad[_0x373032];return _0x2e2da4;};'use strict';var pdf=require(_0xd36a('0x0'));var emlformat=require(_0xd36a('0x1'));var rimraf=require(_0xd36a('0x2'));var zipdir=require(_0xd36a('0x3'));var jsonpatch=require(_0xd36a('0x4'));var rp=require(_0xd36a('0x5'));var moment=require(_0xd36a('0x6'));var BPromise=require(_0xd36a('0x7'));var Mustache=require(_0xd36a('0x8'));var util=require(_0xd36a('0x9'));var path=require(_0xd36a('0xa'));var sox=require(_0xd36a('0xb'));var csv=require(_0xd36a('0xc'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xd36a('0xd'));var squel=require('squel');var crypto=require(_0xd36a('0xe'));var jsforce=require(_0xd36a('0xf'));var deskjs=require(_0xd36a('0x10'));var toCsv=require(_0xd36a('0xc'));var querystring=require(_0xd36a('0x11'));var Papa=require(_0xd36a('0x12'));var Redis=require(_0xd36a('0x13'));var authService=require(_0xd36a('0x14'));var qs=require(_0xd36a('0x15'));var as=require(_0xd36a('0x16'));var hardwareService=require(_0xd36a('0x17'));var logger=require(_0xd36a('0x18'))(_0xd36a('0x19'));var utils=require(_0xd36a('0x1a'));var config=require(_0xd36a('0x1b'));var licenseUtil=require(_0xd36a('0x1c'));var db=require(_0xd36a('0x1d'))['db'];function respondWithStatusCode(_0x355535,_0x5298f8){_0x5298f8=_0x5298f8||0xcc;return function(_0xc31c6){if(_0xc31c6){return _0x355535['sendStatus'](_0x5298f8);}return _0x355535[_0xd36a('0x1e')](_0x5298f8)[_0xd36a('0x1f')]();};}function respondWithResult(_0x1f94fd,_0x1c6066){_0x1c6066=_0x1c6066||0xc8;return function(_0x3b6ff0){if(_0x3b6ff0){return _0x1f94fd['status'](_0x1c6066)['json'](_0x3b6ff0);}};}function respondWithFilteredResult(_0x174424,_0x2b389d){return function(_0x278b7e){if(_0x278b7e){var _0x3692ae=_0x278b7e[_0xd36a('0x20')],_0x51599a=_0x2b389d[_0xd36a('0x21')],_0x325a21=_0x2b389d[_0xd36a('0x21')]+_0x2b389d[_0xd36a('0x22')],_0x17e9f9;if(_0x325a21>=_0x3692ae){_0x325a21=_0x3692ae;_0x17e9f9=0xc8;}else{_0x17e9f9=0xce;}_0x174424['status'](_0x17e9f9);return _0x174424['set'](_0xd36a('0x23'),_0x51599a+'-'+_0x325a21+'/'+_0x3692ae)[_0xd36a('0x24')](_0x278b7e);}return null;};}function patchUpdates(_0x58d092){return function(_0x57dbf2){try{jsonpatch[_0xd36a('0x25')](_0x57dbf2,_0x58d092,!![]);}catch(_0x2fde0a){return BPromise['reject'](_0x2fde0a);}return _0x57dbf2[_0xd36a('0x26')]();};}function saveUpdates(_0x3853cc,_0x56541e){return function(_0x3cc546){if(_0x3cc546){return _0x3cc546[_0xd36a('0x27')](_0x3853cc)[_0xd36a('0x28')](function(_0x5867f7){return _0x5867f7;});}return null;};}function removeEntity(_0x2971d7,_0x3095f4){return function(_0xff50c5){if(_0xff50c5){return _0xff50c5[_0xd36a('0x29')]()['then'](function(){_0x2971d7[_0xd36a('0x1e')](0xcc)[_0xd36a('0x1f')]();});}};}function handleEntityNotFound(_0x4b5cc0,_0x3e7ce9){return function(_0x72e699){if(!_0x72e699){_0x4b5cc0[_0xd36a('0x2a')](0x194);}return _0x72e699;};}function handleError(_0x1d7ddd,_0x482c73){_0x482c73=_0x482c73||0x1f4;return function(_0x578916){logger['error'](_0x578916[_0xd36a('0x2b')]);if(_0x578916['name']){delete _0x578916[_0xd36a('0x2c')];}_0x1d7ddd[_0xd36a('0x1e')](_0x482c73)[_0xd36a('0x2d')](_0x578916);};}exports['index']=function(_0x117412,_0x26db69){var _0x5cd9a7={},_0x4a42f1={},_0x1f55e1={'count':0x0,'rows':[]};var _0x8d592=_[_0xd36a('0x2e')](db[_0xd36a('0x2f')][_0xd36a('0x30')],function(_0x573d1c){return{'name':_0x573d1c[_0xd36a('0x31')],'type':_0x573d1c[_0xd36a('0x32')]['key']};});_0x4a42f1['model']=_[_0xd36a('0x2e')](_0x8d592,_0xd36a('0x2c'));_0x4a42f1[_0xd36a('0x33')]=_[_0xd36a('0x34')](_0x117412[_0xd36a('0x33')]);_0x4a42f1[_0xd36a('0x35')]=_[_0xd36a('0x36')](_0x4a42f1[_0xd36a('0x37')],_0x4a42f1[_0xd36a('0x33')]);_0x5cd9a7[_0xd36a('0x38')]=_[_0xd36a('0x36')](_0x4a42f1['model'],qs[_0xd36a('0x39')](_0x117412[_0xd36a('0x33')][_0xd36a('0x39')]));_0x5cd9a7['attributes']=_0x5cd9a7[_0xd36a('0x38')][_0xd36a('0x3a')]?_0x5cd9a7[_0xd36a('0x38')]:_0x4a42f1['model'];if(!_0x117412['query']['hasOwnProperty'](_0xd36a('0x3b'))){_0x5cd9a7[_0xd36a('0x22')]=qs['limit'](_0x117412[_0xd36a('0x33')][_0xd36a('0x22')]);_0x5cd9a7[_0xd36a('0x21')]=qs[_0xd36a('0x21')](_0x117412[_0xd36a('0x33')][_0xd36a('0x21')]);}_0x5cd9a7[_0xd36a('0x3c')]=qs['sort'](_0x117412[_0xd36a('0x33')][_0xd36a('0x3d')]);_0x5cd9a7[_0xd36a('0x3e')]=qs[_0xd36a('0x35')](_[_0xd36a('0x3f')](_0x117412['query'],_0x4a42f1[_0xd36a('0x35')]),_0x8d592);if(_0x117412[_0xd36a('0x33')][_0xd36a('0x40')]){_0x5cd9a7[_0xd36a('0x3e')]=_['merge'](_0x5cd9a7['where'],{'$or':_[_0xd36a('0x2e')](_0x8d592,function(_0x25e1b2){if(_0x25e1b2[_0xd36a('0x32')]!==_0xd36a('0x41')){var _0x2abcc7={};_0x2abcc7[_0x25e1b2['name']]={'$like':'%'+_0x117412['query'][_0xd36a('0x40')]+'%'};return _0x2abcc7;}})});}_0x5cd9a7=_['merge']({},_0x5cd9a7,_0x117412['options']);var _0xb74007={'where':_0x5cd9a7[_0xd36a('0x3e')]};return db[_0xd36a('0x2f')][_0xd36a('0x20')](_0xb74007)[_0xd36a('0x28')](function(_0x2743be){_0x1f55e1['count']=_0x2743be;if(_0x117412[_0xd36a('0x33')][_0xd36a('0x42')]){_0x5cd9a7[_0xd36a('0x43')]=[{'all':!![]}];}return db[_0xd36a('0x2f')][_0xd36a('0x44')](_0x5cd9a7);})[_0xd36a('0x28')](function(_0x1f25ad){_0x1f55e1['rows']=_0x1f25ad;return _0x1f55e1;})[_0xd36a('0x28')](respondWithFilteredResult(_0x26db69,_0x5cd9a7))[_0xd36a('0x45')](handleError(_0x26db69,null));};exports['show']=function(_0x18a80e,_0xaedd20){var _0x223e6d={'raw':!![],'where':{'id':_0x18a80e[_0xd36a('0x46')]['id']}},_0x25d925={};_0x25d925[_0xd36a('0x37')]=_['keys'](db[_0xd36a('0x2f')][_0xd36a('0x30')]);_0x25d925['query']=_[_0xd36a('0x34')](_0x18a80e[_0xd36a('0x33')]);_0x25d925[_0xd36a('0x35')]=_[_0xd36a('0x36')](_0x25d925[_0xd36a('0x37')],_0x25d925[_0xd36a('0x33')]);_0x223e6d[_0xd36a('0x38')]=_[_0xd36a('0x36')](_0x25d925[_0xd36a('0x37')],qs[_0xd36a('0x39')](_0x18a80e['query'][_0xd36a('0x39')]));_0x223e6d[_0xd36a('0x38')]=_0x223e6d[_0xd36a('0x38')][_0xd36a('0x3a')]?_0x223e6d[_0xd36a('0x38')]:_0x25d925[_0xd36a('0x37')];if(_0x18a80e[_0xd36a('0x33')][_0xd36a('0x42')]){_0x223e6d[_0xd36a('0x43')]=[{'all':!![]}];}_0x223e6d=_[_0xd36a('0x47')]({},_0x223e6d,_0x18a80e['options']);return db[_0xd36a('0x2f')][_0xd36a('0x48')](_0x223e6d)[_0xd36a('0x28')](handleEntityNotFound(_0xaedd20,null))[_0xd36a('0x28')](respondWithResult(_0xaedd20,null))[_0xd36a('0x45')](handleError(_0xaedd20,null));};exports[_0xd36a('0x49')]=function(_0x35b9cb,_0x443927){return db[_0xd36a('0x2f')][_0xd36a('0x49')](_0x35b9cb[_0xd36a('0x4a')],{})['then'](respondWithResult(_0x443927,0xc9))['catch'](handleError(_0x443927,null));};exports[_0xd36a('0x27')]=function(_0x42af68,_0x2a54b1){if(_0x42af68[_0xd36a('0x4a')]['id']){delete _0x42af68[_0xd36a('0x4a')]['id'];}return db[_0xd36a('0x2f')]['find']({'where':{'id':_0x42af68['params']['id']}})['then'](handleEntityNotFound(_0x2a54b1,null))['then'](saveUpdates(_0x42af68[_0xd36a('0x4a')],null))[_0xd36a('0x28')](respondWithResult(_0x2a54b1,null))[_0xd36a('0x45')](handleError(_0x2a54b1,null));};exports[_0xd36a('0x29')]=function(_0x3e87a1,_0xc54263){return db[_0xd36a('0x2f')][_0xd36a('0x48')]({'where':{'id':_0x3e87a1[_0xd36a('0x46')]['id']}})[_0xd36a('0x28')](handleEntityNotFound(_0xc54263,null))['then'](removeEntity(_0xc54263,null))['catch'](handleError(_0xc54263,null));};exports[_0xd36a('0x4b')]=function(_0x4e74c5,_0xef3e98){return db[_0xd36a('0x2f')][_0xd36a('0x4b')]()[_0xd36a('0x28')](respondWithResult(_0xef3e98,null))[_0xd36a('0x45')](handleError(_0xef3e98,null));};