Built motion from commit (unavailable).|2.4.18
[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 _0xa3b9=['to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','status','end','json','count','offset','set','apply','reject','save','update','then','sendStatus','name','send','index','map','rawAttributes','fieldName','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','Cdr','findAll','rows','catch','show','params','include','create','body','find','describe','html-pdf','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','squel','crypto','jsforce','desk.js'];(function(_0x16b9ed,_0x56517a){var _0x66b1f8=function(_0x1c883){while(--_0x1c883){_0x16b9ed['push'](_0x16b9ed['shift']());}};_0x66b1f8(++_0x56517a);}(_0xa3b9,0xc8));var _0x9a3b=function(_0x2375ac,_0xf736f1){_0x2375ac=_0x2375ac-0x0;var _0x307261=_0xa3b9[_0x2375ac];return _0x307261;};'use strict';var pdf=require(_0x9a3b('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x9a3b('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x9a3b('0x2'));var rp=require(_0x9a3b('0x3'));var moment=require(_0x9a3b('0x4'));var BPromise=require(_0x9a3b('0x5'));var Mustache=require(_0x9a3b('0x6'));var util=require(_0x9a3b('0x7'));var path=require(_0x9a3b('0x8'));var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0x9a3b('0x9'));var crypto=require(_0x9a3b('0xa'));var jsforce=require(_0x9a3b('0xb'));var deskjs=require(_0x9a3b('0xc'));var toCsv=require(_0x9a3b('0xd'));var querystring=require(_0x9a3b('0xe'));var Papa=require(_0x9a3b('0xf'));var Redis=require(_0x9a3b('0x10'));var authService=require(_0x9a3b('0x11'));var qs=require(_0x9a3b('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x9a3b('0x13'));var logger=require('../../config/logger')(_0x9a3b('0x14'));var utils=require(_0x9a3b('0x15'));var config=require('../../config/environment');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x59fc1c,_0x4da99b){_0x4da99b=_0x4da99b||0xcc;return function(_0x50d15c){if(_0x50d15c){return _0x59fc1c['sendStatus'](_0x4da99b);}return _0x59fc1c[_0x9a3b('0x16')](_0x4da99b)[_0x9a3b('0x17')]();};}function respondWithResult(_0x33c30a,_0x30d1b0){_0x30d1b0=_0x30d1b0||0xc8;return function(_0x14c748){if(_0x14c748){return _0x33c30a[_0x9a3b('0x16')](_0x30d1b0)[_0x9a3b('0x18')](_0x14c748);}};}function respondWithFilteredResult(_0x248da1,_0x178ae7){return function(_0x1f49e5){if(_0x1f49e5){var _0x3f679a=_0x1f49e5[_0x9a3b('0x19')],_0x3993f1=_0x178ae7[_0x9a3b('0x1a')],_0x1614fe=_0x178ae7[_0x9a3b('0x1a')]+_0x178ae7['limit'],_0x4dabb0;if(_0x1614fe>=_0x3f679a){_0x1614fe=_0x3f679a;_0x4dabb0=0xc8;}else{_0x4dabb0=0xce;}_0x248da1[_0x9a3b('0x16')](_0x4dabb0);return _0x248da1[_0x9a3b('0x1b')]('Content-Range',_0x3993f1+'-'+_0x1614fe+'/'+_0x3f679a)['json'](_0x1f49e5);}return null;};}function patchUpdates(_0x5dfa55){return function(_0x1b5005){try{jsonpatch[_0x9a3b('0x1c')](_0x1b5005,_0x5dfa55,!![]);}catch(_0x49e59f){return BPromise[_0x9a3b('0x1d')](_0x49e59f);}return _0x1b5005[_0x9a3b('0x1e')]();};}function saveUpdates(_0xf8567,_0x302a98){return function(_0x524f9c){if(_0x524f9c){return _0x524f9c[_0x9a3b('0x1f')](_0xf8567)[_0x9a3b('0x20')](function(_0x2c66a7){return _0x2c66a7;});}return null;};}function removeEntity(_0x17127b,_0x1a3945){return function(_0x5e0ee3){if(_0x5e0ee3){return _0x5e0ee3['destroy']()['then'](function(){_0x17127b[_0x9a3b('0x16')](0xcc)[_0x9a3b('0x17')]();});}};}function handleEntityNotFound(_0x555fde,_0x57738e){return function(_0x40af33){if(!_0x40af33){_0x555fde[_0x9a3b('0x21')](0x194);}return _0x40af33;};}function handleError(_0x262b47,_0x3175fb){_0x3175fb=_0x3175fb||0x1f4;return function(_0x56ac3b){logger['error'](_0x56ac3b['stack']);if(_0x56ac3b[_0x9a3b('0x22')]){delete _0x56ac3b['name'];}_0x262b47['status'](_0x3175fb)[_0x9a3b('0x23')](_0x56ac3b);};}exports[_0x9a3b('0x24')]=function(_0x501c66,_0x5424d4){var _0x4b0a18={},_0x3ed19a={},_0x4d78c6={'count':0x0,'rows':[]};var _0x4afa8c=_[_0x9a3b('0x25')](db['Cdr'][_0x9a3b('0x26')],function(_0x108f82){return{'name':_0x108f82[_0x9a3b('0x27')],'type':_0x108f82['type'][_0x9a3b('0x28')]};});_0x3ed19a[_0x9a3b('0x29')]=_[_0x9a3b('0x25')](_0x4afa8c,_0x9a3b('0x22'));_0x3ed19a[_0x9a3b('0x2a')]=_[_0x9a3b('0x2b')](_0x501c66[_0x9a3b('0x2a')]);_0x3ed19a[_0x9a3b('0x2c')]=_[_0x9a3b('0x2d')](_0x3ed19a[_0x9a3b('0x29')],_0x3ed19a[_0x9a3b('0x2a')]);_0x4b0a18[_0x9a3b('0x2e')]=_[_0x9a3b('0x2d')](_0x3ed19a[_0x9a3b('0x29')],qs[_0x9a3b('0x2f')](_0x501c66[_0x9a3b('0x2a')][_0x9a3b('0x2f')]));_0x4b0a18[_0x9a3b('0x2e')]=_0x4b0a18[_0x9a3b('0x2e')][_0x9a3b('0x30')]?_0x4b0a18[_0x9a3b('0x2e')]:_0x3ed19a[_0x9a3b('0x29')];if(!_0x501c66[_0x9a3b('0x2a')][_0x9a3b('0x31')](_0x9a3b('0x32'))){_0x4b0a18[_0x9a3b('0x33')]=qs[_0x9a3b('0x33')](_0x501c66[_0x9a3b('0x2a')][_0x9a3b('0x33')]);_0x4b0a18[_0x9a3b('0x1a')]=qs[_0x9a3b('0x1a')](_0x501c66[_0x9a3b('0x2a')][_0x9a3b('0x1a')]);}_0x4b0a18['order']=qs[_0x9a3b('0x34')](_0x501c66[_0x9a3b('0x2a')][_0x9a3b('0x34')]);_0x4b0a18[_0x9a3b('0x35')]=qs['filters'](_[_0x9a3b('0x36')](_0x501c66[_0x9a3b('0x2a')],_0x3ed19a[_0x9a3b('0x2c')]));if(_0x501c66[_0x9a3b('0x2a')][_0x9a3b('0x37')]){_0x4b0a18[_0x9a3b('0x35')]=_[_0x9a3b('0x38')](_0x4b0a18['where'],{'$or':_['map'](_0x4afa8c,function(_0x474fe9){if(_0x474fe9['type']!==_0x9a3b('0x39')){var _0x213da7={};_0x213da7[_0x474fe9[_0x9a3b('0x22')]]={'$like':'%'+_0x501c66[_0x9a3b('0x2a')][_0x9a3b('0x37')]+'%'};return _0x213da7;}})});}_0x4b0a18=_[_0x9a3b('0x38')]({},_0x4b0a18,_0x501c66[_0x9a3b('0x3a')]);var _0x456080={'where':_0x4b0a18[_0x9a3b('0x35')]};return db['Cdr'][_0x9a3b('0x19')](_0x456080)[_0x9a3b('0x20')](function(_0x3fa037){_0x4d78c6[_0x9a3b('0x19')]=_0x3fa037;if(_0x501c66[_0x9a3b('0x2a')][_0x9a3b('0x3b')]){_0x4b0a18['include']=[{'all':!![]}];}return db[_0x9a3b('0x3c')][_0x9a3b('0x3d')](_0x4b0a18);})[_0x9a3b('0x20')](function(_0x38558c){_0x4d78c6[_0x9a3b('0x3e')]=_0x38558c;return _0x4d78c6;})[_0x9a3b('0x20')](respondWithFilteredResult(_0x5424d4,_0x4b0a18))[_0x9a3b('0x3f')](handleError(_0x5424d4,null));};exports[_0x9a3b('0x40')]=function(_0x2aee60,_0x454a36){var _0x450fea={'raw':!![],'where':{'id':_0x2aee60[_0x9a3b('0x41')]['id']}},_0x581bd6={};_0x581bd6[_0x9a3b('0x29')]=_[_0x9a3b('0x2b')](db[_0x9a3b('0x3c')][_0x9a3b('0x26')]);_0x581bd6['query']=_[_0x9a3b('0x2b')](_0x2aee60[_0x9a3b('0x2a')]);_0x581bd6['filters']=_[_0x9a3b('0x2d')](_0x581bd6[_0x9a3b('0x29')],_0x581bd6[_0x9a3b('0x2a')]);_0x450fea[_0x9a3b('0x2e')]=_[_0x9a3b('0x2d')](_0x581bd6['model'],qs[_0x9a3b('0x2f')](_0x2aee60[_0x9a3b('0x2a')][_0x9a3b('0x2f')]));_0x450fea[_0x9a3b('0x2e')]=_0x450fea[_0x9a3b('0x2e')][_0x9a3b('0x30')]?_0x450fea[_0x9a3b('0x2e')]:_0x581bd6[_0x9a3b('0x29')];if(_0x2aee60['query'][_0x9a3b('0x3b')]){_0x450fea[_0x9a3b('0x42')]=[{'all':!![]}];}_0x450fea=_[_0x9a3b('0x38')]({},_0x450fea,_0x2aee60[_0x9a3b('0x3a')]);return db[_0x9a3b('0x3c')]['find'](_0x450fea)[_0x9a3b('0x20')](handleEntityNotFound(_0x454a36,null))[_0x9a3b('0x20')](respondWithResult(_0x454a36,null))[_0x9a3b('0x3f')](handleError(_0x454a36,null));};exports[_0x9a3b('0x43')]=function(_0x309ff6,_0x5e383e){return db[_0x9a3b('0x3c')][_0x9a3b('0x43')](_0x309ff6[_0x9a3b('0x44')],{})['then'](respondWithResult(_0x5e383e,0xc9))['catch'](handleError(_0x5e383e,null));};exports[_0x9a3b('0x1f')]=function(_0x309ef4,_0x80c25a){if(_0x309ef4[_0x9a3b('0x44')]['id']){delete _0x309ef4[_0x9a3b('0x44')]['id'];}return db[_0x9a3b('0x3c')][_0x9a3b('0x45')]({'where':{'id':_0x309ef4[_0x9a3b('0x41')]['id']}})['then'](handleEntityNotFound(_0x80c25a,null))[_0x9a3b('0x20')](saveUpdates(_0x309ef4['body'],null))[_0x9a3b('0x20')](respondWithResult(_0x80c25a,null))[_0x9a3b('0x3f')](handleError(_0x80c25a,null));};exports['destroy']=function(_0x1ac9b2,_0x453c28){return db[_0x9a3b('0x3c')][_0x9a3b('0x45')]({'where':{'id':_0x1ac9b2[_0x9a3b('0x41')]['id']}})['then'](handleEntityNotFound(_0x453c28,null))[_0x9a3b('0x20')](removeEntity(_0x453c28,null))[_0x9a3b('0x3f')](handleError(_0x453c28,null));};exports[_0x9a3b('0x46')]=function(_0x29942c,_0x2f3423){return db['Cdr'][_0x9a3b('0x46')]()[_0x9a3b('0x20')](respondWithResult(_0x2f3423,null))[_0x9a3b('0x3f')](handleError(_0x2f3423,null));};