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 _0x3a60=['ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','apply','reject','save','update','then','destroy','error','stack','name','send','Cdr','rawAttributes','fieldName','type','model','map','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','includeAll','include','findAll','rows','catch','show','options','find','create','body','params','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse'];(function(_0x2c7780,_0x100f4a){var _0x580bc8=function(_0x3d435c){while(--_0x3d435c){_0x2c7780['push'](_0x2c7780['shift']());}};_0x580bc8(++_0x100f4a);}(_0x3a60,0x87));var _0x03a6=function(_0x14add3,_0x13ce8d){_0x14add3=_0x14add3-0x0;var _0x4a174f=_0x3a60[_0x14add3];return _0x4a174f;};'use strict';var pdf=require(_0x03a6('0x0'));var emlformat=require(_0x03a6('0x1'));var rimraf=require(_0x03a6('0x2'));var zipdir=require(_0x03a6('0x3'));var jsonpatch=require(_0x03a6('0x4'));var rp=require(_0x03a6('0x5'));var moment=require(_0x03a6('0x6'));var BPromise=require(_0x03a6('0x7'));var Mustache=require(_0x03a6('0x8'));var util=require(_0x03a6('0x9'));var path=require(_0x03a6('0xa'));var sox=require(_0x03a6('0xb'));var csv=require(_0x03a6('0xc'));var ejs=require(_0x03a6('0xd'));var fs=require('fs');var _=require(_0x03a6('0xe'));var squel=require(_0x03a6('0xf'));var crypto=require(_0x03a6('0x10'));var jsforce=require(_0x03a6('0x11'));var deskjs=require(_0x03a6('0x12'));var toCsv=require(_0x03a6('0xc'));var querystring=require(_0x03a6('0x13'));var Papa=require(_0x03a6('0x14'));var Redis=require(_0x03a6('0x15'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x03a6('0x16'));var hardwareService=require(_0x03a6('0x17'));var logger=require(_0x03a6('0x18'))(_0x03a6('0x19'));var utils=require(_0x03a6('0x1a'));var config=require(_0x03a6('0x1b'));var db=require(_0x03a6('0x1c'))['db'];function respondWithStatusCode(_0x21199b,_0x160c7c){_0x160c7c=_0x160c7c||0xcc;return function(_0x53f011){if(_0x53f011){return _0x21199b[_0x03a6('0x1d')](_0x160c7c);}return _0x21199b[_0x03a6('0x1e')](_0x160c7c)[_0x03a6('0x1f')]();};}function respondWithResult(_0x1cf5af,_0x5a0856){_0x5a0856=_0x5a0856||0xc8;return function(_0x2e5a9f){if(_0x2e5a9f){return _0x1cf5af['status'](_0x5a0856)[_0x03a6('0x20')](_0x2e5a9f);}};}function respondWithFilteredResult(_0x2aaa4f,_0x1718f8){return function(_0x2da35a){if(_0x2da35a){var _0x50c8e5=_0x2da35a[_0x03a6('0x21')],_0x1f4c79=_0x1718f8[_0x03a6('0x22')],_0x4e91e4=_0x1718f8[_0x03a6('0x22')]+_0x1718f8[_0x03a6('0x23')],_0x189b7e;if(_0x4e91e4>=_0x50c8e5){_0x4e91e4=_0x50c8e5;_0x189b7e=0xc8;}else{_0x189b7e=0xce;}_0x2aaa4f[_0x03a6('0x1e')](_0x189b7e);return _0x2aaa4f[_0x03a6('0x24')]('Content-Range',_0x1f4c79+'-'+_0x4e91e4+'/'+_0x50c8e5)[_0x03a6('0x20')](_0x2da35a);}return null;};}function patchUpdates(_0x43ad46){return function(_0x3da49f){try{jsonpatch[_0x03a6('0x25')](_0x3da49f,_0x43ad46,!![]);}catch(_0x130d84){return BPromise[_0x03a6('0x26')](_0x130d84);}return _0x3da49f[_0x03a6('0x27')]();};}function saveUpdates(_0x5ad58c,_0x35165a){return function(_0x2ac582){if(_0x2ac582){return _0x2ac582[_0x03a6('0x28')](_0x5ad58c)[_0x03a6('0x29')](function(_0x17afc0){return _0x17afc0;});}return null;};}function removeEntity(_0x1ea412,_0x20cec7){return function(_0xff236d){if(_0xff236d){return _0xff236d[_0x03a6('0x2a')]()['then'](function(){_0x1ea412[_0x03a6('0x1e')](0xcc)[_0x03a6('0x1f')]();});}};}function handleEntityNotFound(_0x4a09ba,_0xf8c0c8){return function(_0x39a342){if(!_0x39a342){_0x4a09ba[_0x03a6('0x1d')](0x194);}return _0x39a342;};}function handleError(_0x292c5a,_0x3c0348){_0x3c0348=_0x3c0348||0x1f4;return function(_0x525b1c){logger[_0x03a6('0x2b')](_0x525b1c[_0x03a6('0x2c')]);if(_0x525b1c[_0x03a6('0x2d')]){delete _0x525b1c[_0x03a6('0x2d')];}_0x292c5a[_0x03a6('0x1e')](_0x3c0348)[_0x03a6('0x2e')](_0x525b1c);};}exports['index']=function(_0x20795b,_0x536ed0){var _0x5ee442={},_0x2d7459={},_0x2beb04={'count':0x0,'rows':[]};var _0x36870e=_['map'](db[_0x03a6('0x2f')][_0x03a6('0x30')],function(_0x4f5e50){return{'name':_0x4f5e50[_0x03a6('0x31')],'type':_0x4f5e50[_0x03a6('0x32')]['key']};});_0x2d7459[_0x03a6('0x33')]=_[_0x03a6('0x34')](_0x36870e,_0x03a6('0x2d'));_0x2d7459[_0x03a6('0x35')]=_[_0x03a6('0x36')](_0x20795b[_0x03a6('0x35')]);_0x2d7459[_0x03a6('0x37')]=_[_0x03a6('0x38')](_0x2d7459[_0x03a6('0x33')],_0x2d7459['query']);_0x5ee442[_0x03a6('0x39')]=_['intersection'](_0x2d7459[_0x03a6('0x33')],qs[_0x03a6('0x3a')](_0x20795b[_0x03a6('0x35')][_0x03a6('0x3a')]));_0x5ee442[_0x03a6('0x39')]=_0x5ee442[_0x03a6('0x39')][_0x03a6('0x3b')]?_0x5ee442[_0x03a6('0x39')]:_0x2d7459[_0x03a6('0x33')];if(!_0x20795b['query'][_0x03a6('0x3c')](_0x03a6('0x3d'))){_0x5ee442['limit']=qs['limit'](_0x20795b[_0x03a6('0x35')][_0x03a6('0x23')]);_0x5ee442[_0x03a6('0x22')]=qs[_0x03a6('0x22')](_0x20795b[_0x03a6('0x35')][_0x03a6('0x22')]);}_0x5ee442[_0x03a6('0x3e')]=qs[_0x03a6('0x3f')](_0x20795b[_0x03a6('0x35')][_0x03a6('0x3f')]);_0x5ee442[_0x03a6('0x40')]=qs[_0x03a6('0x37')](_[_0x03a6('0x41')](_0x20795b['query'],_0x2d7459[_0x03a6('0x37')]),_0x36870e);if(_0x20795b[_0x03a6('0x35')][_0x03a6('0x42')]){_0x5ee442[_0x03a6('0x40')]=_['merge'](_0x5ee442[_0x03a6('0x40')],{'$or':_[_0x03a6('0x34')](_0x36870e,function(_0x4736db){if(_0x4736db[_0x03a6('0x32')]!=='VIRTUAL'){var _0x577c42={};_0x577c42[_0x4736db[_0x03a6('0x2d')]]={'$like':'%'+_0x20795b[_0x03a6('0x35')][_0x03a6('0x42')]+'%'};return _0x577c42;}})});}_0x5ee442=_['merge']({},_0x5ee442,_0x20795b['options']);var _0x42b1bc={'where':_0x5ee442[_0x03a6('0x40')]};return db['Cdr'][_0x03a6('0x21')](_0x42b1bc)['then'](function(_0x2855fb){_0x2beb04[_0x03a6('0x21')]=_0x2855fb;if(_0x20795b['query'][_0x03a6('0x43')]){_0x5ee442[_0x03a6('0x44')]=[{'all':!![]}];}return db[_0x03a6('0x2f')][_0x03a6('0x45')](_0x5ee442);})['then'](function(_0x1b195b){_0x2beb04[_0x03a6('0x46')]=_0x1b195b;return _0x2beb04;})[_0x03a6('0x29')](respondWithFilteredResult(_0x536ed0,_0x5ee442))[_0x03a6('0x47')](handleError(_0x536ed0,null));};exports[_0x03a6('0x48')]=function(_0x174310,_0x4c4680){var _0x224326={'raw':!![],'where':{'id':_0x174310['params']['id']}},_0x43e2d5={};_0x43e2d5[_0x03a6('0x33')]=_[_0x03a6('0x36')](db['Cdr'][_0x03a6('0x30')]);_0x43e2d5[_0x03a6('0x35')]=_[_0x03a6('0x36')](_0x174310['query']);_0x43e2d5[_0x03a6('0x37')]=_['intersection'](_0x43e2d5[_0x03a6('0x33')],_0x43e2d5['query']);_0x224326[_0x03a6('0x39')]=_[_0x03a6('0x38')](_0x43e2d5[_0x03a6('0x33')],qs[_0x03a6('0x3a')](_0x174310[_0x03a6('0x35')][_0x03a6('0x3a')]));_0x224326[_0x03a6('0x39')]=_0x224326[_0x03a6('0x39')][_0x03a6('0x3b')]?_0x224326['attributes']:_0x43e2d5['model'];if(_0x174310[_0x03a6('0x35')][_0x03a6('0x43')]){_0x224326[_0x03a6('0x44')]=[{'all':!![]}];}_0x224326=_['merge']({},_0x224326,_0x174310[_0x03a6('0x49')]);return db[_0x03a6('0x2f')][_0x03a6('0x4a')](_0x224326)[_0x03a6('0x29')](handleEntityNotFound(_0x4c4680,null))['then'](respondWithResult(_0x4c4680,null))[_0x03a6('0x47')](handleError(_0x4c4680,null));};exports[_0x03a6('0x4b')]=function(_0x4f961a,_0x21b754){return db[_0x03a6('0x2f')]['create'](_0x4f961a[_0x03a6('0x4c')],{})[_0x03a6('0x29')](respondWithResult(_0x21b754,0xc9))[_0x03a6('0x47')](handleError(_0x21b754,null));};exports[_0x03a6('0x28')]=function(_0x311d0d,_0x8e0a16){if(_0x311d0d[_0x03a6('0x4c')]['id']){delete _0x311d0d[_0x03a6('0x4c')]['id'];}return db[_0x03a6('0x2f')][_0x03a6('0x4a')]({'where':{'id':_0x311d0d['params']['id']}})[_0x03a6('0x29')](handleEntityNotFound(_0x8e0a16,null))[_0x03a6('0x29')](saveUpdates(_0x311d0d[_0x03a6('0x4c')],null))['then'](respondWithResult(_0x8e0a16,null))['catch'](handleError(_0x8e0a16,null));};exports['destroy']=function(_0x5a082d,_0x4fa115){return db[_0x03a6('0x2f')][_0x03a6('0x4a')]({'where':{'id':_0x5a082d[_0x03a6('0x4d')]['id']}})['then'](handleEntityNotFound(_0x4fa115,null))[_0x03a6('0x29')](removeEntity(_0x4fa115,null))['catch'](handleError(_0x4fa115,null));};exports['describe']=function(_0x157642,_0x22bf32){return db['Cdr']['describe']()['then'](respondWithResult(_0x22bf32,null))[_0x03a6('0x47')](handleError(_0x22bf32,null));};