Built motion from commit (unavailable).|2.5.15
[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 _0x4e2f=['../../mysqldb','end','json','count','offset','limit','set','Content-Range','then','destroy','status','error','stack','name','send','index','map','Cdr','rawAttributes','fieldName','type','model','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','VIRTUAL','options','includeAll','findAll','rows','catch','show','params','keys','include','find','body','update','describe','html-pdf','eml-format','rimraf','request-promise','moment','bluebird','mustache','path','to-csv','ejs','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util'];(function(_0x9b424b,_0x69bb97){var _0x2673c2=function(_0x21109d){while(--_0x21109d){_0x9b424b['push'](_0x9b424b['shift']());}};_0x2673c2(++_0x69bb97);}(_0x4e2f,0x109));var _0xf4e2=function(_0x32186b,_0x1180f2){_0x32186b=_0x32186b-0x0;var _0x149248=_0x4e2f[_0x32186b];return _0x149248;};'use strict';var pdf=require(_0xf4e2('0x0'));var emlformat=require(_0xf4e2('0x1'));var rimraf=require(_0xf4e2('0x2'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xf4e2('0x3'));var moment=require(_0xf4e2('0x4'));var BPromise=require(_0xf4e2('0x5'));var Mustache=require(_0xf4e2('0x6'));var util=require('util');var path=require(_0xf4e2('0x7'));var sox=require('sox');var csv=require(_0xf4e2('0x8'));var ejs=require(_0xf4e2('0x9'));var fs=require('fs');var _=require('lodash');var squel=require(_0xf4e2('0xa'));var crypto=require(_0xf4e2('0xb'));var jsforce=require(_0xf4e2('0xc'));var deskjs=require(_0xf4e2('0xd'));var toCsv=require('to-csv');var querystring=require(_0xf4e2('0xe'));var Papa=require('papaparse');var Redis=require(_0xf4e2('0xf'));var authService=require('../../components/auth/service');var qs=require(_0xf4e2('0x10'));var as=require(_0xf4e2('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xf4e2('0x12'))(_0xf4e2('0x13'));var utils=require(_0xf4e2('0x14'));var config=require(_0xf4e2('0x15'));var licenseUtil=require(_0xf4e2('0x16'));var db=require(_0xf4e2('0x17'))['db'];function respondWithStatusCode(_0x4f448f,_0x2e0269){_0x2e0269=_0x2e0269||0xcc;return function(_0x125263){if(_0x125263){return _0x4f448f['sendStatus'](_0x2e0269);}return _0x4f448f['status'](_0x2e0269)[_0xf4e2('0x18')]();};}function respondWithResult(_0x17bcac,_0x2db902){_0x2db902=_0x2db902||0xc8;return function(_0x5050cd){if(_0x5050cd){return _0x17bcac['status'](_0x2db902)[_0xf4e2('0x19')](_0x5050cd);}};}function respondWithFilteredResult(_0x59eed8,_0xcfd1ba){return function(_0x13bf45){if(_0x13bf45){var _0x1afb10=_0x13bf45[_0xf4e2('0x1a')],_0xb7dfa8=_0xcfd1ba[_0xf4e2('0x1b')],_0x4f4722=_0xcfd1ba[_0xf4e2('0x1b')]+_0xcfd1ba[_0xf4e2('0x1c')],_0x584456;if(_0x4f4722>=_0x1afb10){_0x4f4722=_0x1afb10;_0x584456=0xc8;}else{_0x584456=0xce;}_0x59eed8['status'](_0x584456);return _0x59eed8[_0xf4e2('0x1d')](_0xf4e2('0x1e'),_0xb7dfa8+'-'+_0x4f4722+'/'+_0x1afb10)[_0xf4e2('0x19')](_0x13bf45);}return null;};}function patchUpdates(_0x426987){return function(_0x39bbd5){try{jsonpatch['apply'](_0x39bbd5,_0x426987,!![]);}catch(_0x508f6){return BPromise['reject'](_0x508f6);}return _0x39bbd5['save']();};}function saveUpdates(_0x443dd4,_0x57ef40){return function(_0x529fd1){if(_0x529fd1){return _0x529fd1['update'](_0x443dd4)[_0xf4e2('0x1f')](function(_0x4dfca9){return _0x4dfca9;});}return null;};}function removeEntity(_0x162a06,_0x35618e){return function(_0x1a2608){if(_0x1a2608){return _0x1a2608[_0xf4e2('0x20')]()[_0xf4e2('0x1f')](function(){_0x162a06[_0xf4e2('0x21')](0xcc)[_0xf4e2('0x18')]();});}};}function handleEntityNotFound(_0x783397,_0x37a367){return function(_0x48a603){if(!_0x48a603){_0x783397['sendStatus'](0x194);}return _0x48a603;};}function handleError(_0x504a84,_0x4ed797){_0x4ed797=_0x4ed797||0x1f4;return function(_0x1bf6c2){logger[_0xf4e2('0x22')](_0x1bf6c2[_0xf4e2('0x23')]);if(_0x1bf6c2[_0xf4e2('0x24')]){delete _0x1bf6c2['name'];}_0x504a84[_0xf4e2('0x21')](_0x4ed797)[_0xf4e2('0x25')](_0x1bf6c2);};}exports[_0xf4e2('0x26')]=function(_0x3adaa1,_0x4cfcc7){var _0x277550={},_0x4492b8={},_0x2c1f7c={'count':0x0,'rows':[]};var _0x5a08f4=_[_0xf4e2('0x27')](db[_0xf4e2('0x28')][_0xf4e2('0x29')],function(_0x35e585){return{'name':_0x35e585[_0xf4e2('0x2a')],'type':_0x35e585[_0xf4e2('0x2b')]['key']};});_0x4492b8[_0xf4e2('0x2c')]=_['map'](_0x5a08f4,_0xf4e2('0x24'));_0x4492b8[_0xf4e2('0x2d')]=_['keys'](_0x3adaa1[_0xf4e2('0x2d')]);_0x4492b8[_0xf4e2('0x2e')]=_[_0xf4e2('0x2f')](_0x4492b8[_0xf4e2('0x2c')],_0x4492b8[_0xf4e2('0x2d')]);_0x277550['attributes']=_['intersection'](_0x4492b8['model'],qs[_0xf4e2('0x30')](_0x3adaa1[_0xf4e2('0x2d')][_0xf4e2('0x30')]));_0x277550[_0xf4e2('0x31')]=_0x277550[_0xf4e2('0x31')][_0xf4e2('0x32')]?_0x277550[_0xf4e2('0x31')]:_0x4492b8[_0xf4e2('0x2c')];if(!_0x3adaa1[_0xf4e2('0x2d')][_0xf4e2('0x33')](_0xf4e2('0x34'))){_0x277550['limit']=qs[_0xf4e2('0x1c')](_0x3adaa1[_0xf4e2('0x2d')][_0xf4e2('0x1c')]);_0x277550[_0xf4e2('0x1b')]=qs[_0xf4e2('0x1b')](_0x3adaa1[_0xf4e2('0x2d')][_0xf4e2('0x1b')]);}_0x277550[_0xf4e2('0x35')]=qs['sort'](_0x3adaa1[_0xf4e2('0x2d')][_0xf4e2('0x36')]);_0x277550[_0xf4e2('0x37')]=qs[_0xf4e2('0x2e')](_['pick'](_0x3adaa1[_0xf4e2('0x2d')],_0x4492b8[_0xf4e2('0x2e')]),_0x5a08f4);if(_0x3adaa1['query'][_0xf4e2('0x38')]){_0x277550[_0xf4e2('0x37')]=_[_0xf4e2('0x39')](_0x277550[_0xf4e2('0x37')],{'$or':_[_0xf4e2('0x27')](_0x5a08f4,function(_0x13ff77){if(_0x13ff77['type']!==_0xf4e2('0x3a')){var _0x1caa0e={};_0x1caa0e[_0x13ff77['name']]={'$like':'%'+_0x3adaa1['query'][_0xf4e2('0x38')]+'%'};return _0x1caa0e;}})});}_0x277550=_['merge']({},_0x277550,_0x3adaa1[_0xf4e2('0x3b')]);var _0x380dc1={'where':_0x277550[_0xf4e2('0x37')]};return db[_0xf4e2('0x28')]['count'](_0x380dc1)['then'](function(_0x249b19){_0x2c1f7c[_0xf4e2('0x1a')]=_0x249b19;if(_0x3adaa1[_0xf4e2('0x2d')][_0xf4e2('0x3c')]){_0x277550['include']=[{'all':!![]}];}return db[_0xf4e2('0x28')][_0xf4e2('0x3d')](_0x277550);})[_0xf4e2('0x1f')](function(_0x402a69){_0x2c1f7c[_0xf4e2('0x3e')]=_0x402a69;return _0x2c1f7c;})[_0xf4e2('0x1f')](respondWithFilteredResult(_0x4cfcc7,_0x277550))[_0xf4e2('0x3f')](handleError(_0x4cfcc7,null));};exports[_0xf4e2('0x40')]=function(_0x63b87f,_0x14ac1b){var _0x4af398={'raw':!![],'where':{'id':_0x63b87f[_0xf4e2('0x41')]['id']}},_0x1408e0={};_0x1408e0[_0xf4e2('0x2c')]=_[_0xf4e2('0x42')](db['Cdr']['rawAttributes']);_0x1408e0[_0xf4e2('0x2d')]=_[_0xf4e2('0x42')](_0x63b87f[_0xf4e2('0x2d')]);_0x1408e0['filters']=_['intersection'](_0x1408e0[_0xf4e2('0x2c')],_0x1408e0[_0xf4e2('0x2d')]);_0x4af398[_0xf4e2('0x31')]=_[_0xf4e2('0x2f')](_0x1408e0['model'],qs['fields'](_0x63b87f[_0xf4e2('0x2d')]['fields']));_0x4af398[_0xf4e2('0x31')]=_0x4af398[_0xf4e2('0x31')][_0xf4e2('0x32')]?_0x4af398['attributes']:_0x1408e0[_0xf4e2('0x2c')];if(_0x63b87f[_0xf4e2('0x2d')][_0xf4e2('0x3c')]){_0x4af398[_0xf4e2('0x43')]=[{'all':!![]}];}_0x4af398=_[_0xf4e2('0x39')]({},_0x4af398,_0x63b87f['options']);return db[_0xf4e2('0x28')][_0xf4e2('0x44')](_0x4af398)[_0xf4e2('0x1f')](handleEntityNotFound(_0x14ac1b,null))[_0xf4e2('0x1f')](respondWithResult(_0x14ac1b,null))['catch'](handleError(_0x14ac1b,null));};exports['create']=function(_0x175a8f,_0x5b1c7e){return db[_0xf4e2('0x28')]['create'](_0x175a8f[_0xf4e2('0x45')],{})['then'](respondWithResult(_0x5b1c7e,0xc9))[_0xf4e2('0x3f')](handleError(_0x5b1c7e,null));};exports[_0xf4e2('0x46')]=function(_0x4abc7e,_0x5a4134){if(_0x4abc7e[_0xf4e2('0x45')]['id']){delete _0x4abc7e[_0xf4e2('0x45')]['id'];}return db['Cdr'][_0xf4e2('0x44')]({'where':{'id':_0x4abc7e[_0xf4e2('0x41')]['id']}})[_0xf4e2('0x1f')](handleEntityNotFound(_0x5a4134,null))[_0xf4e2('0x1f')](saveUpdates(_0x4abc7e[_0xf4e2('0x45')],null))[_0xf4e2('0x1f')](respondWithResult(_0x5a4134,null))[_0xf4e2('0x3f')](handleError(_0x5a4134,null));};exports['destroy']=function(_0x40060c,_0xc29e1e){return db[_0xf4e2('0x28')][_0xf4e2('0x44')]({'where':{'id':_0x40060c[_0xf4e2('0x41')]['id']}})[_0xf4e2('0x1f')](handleEntityNotFound(_0xc29e1e,null))[_0xf4e2('0x1f')](removeEntity(_0xc29e1e,null))[_0xf4e2('0x3f')](handleError(_0xc29e1e,null));};exports[_0xf4e2('0x47')]=function(_0xfdcfb0,_0x4a7eeb){return db[_0xf4e2('0x28')]['describe']()['then'](respondWithResult(_0x4a7eeb,null))[_0xf4e2('0x3f')](handleError(_0x4a7eeb,null));};