Built motion from commit (unavailable).|2.5.21
[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 _0xe8f9=['limit','Content-Range','apply','reject','save','update','destroy','error','stack','name','send','map','Cdr','rawAttributes','fieldName','type','model','query','keys','filters','intersection','attributes','fields','length','order','sort','where','pick','filter','merge','VIRTUAL','options','count','then','includeAll','include','findAll','rows','catch','show','params','find','create','body','rimraf','zip-dir','fast-json-patch','bluebird','util','to-csv','lodash','squel','crypto','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset'];(function(_0x98a2ce,_0x2a2402){var _0x195773=function(_0x420777){while(--_0x420777){_0x98a2ce['push'](_0x98a2ce['shift']());}};_0x195773(++_0x2a2402);}(_0xe8f9,0x13c));var _0x9e8f=function(_0x1cf7d8,_0x39b688){_0x1cf7d8=_0x1cf7d8-0x0;var _0x79f7d0=_0xe8f9[_0x1cf7d8];return _0x79f7d0;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0x9e8f('0x0'));var zipdir=require(_0x9e8f('0x1'));var jsonpatch=require(_0x9e8f('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x9e8f('0x3'));var Mustache=require('mustache');var util=require(_0x9e8f('0x4'));var path=require('path');var sox=require('sox');var csv=require(_0x9e8f('0x5'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x9e8f('0x6'));var squel=require(_0x9e8f('0x7'));var crypto=require(_0x9e8f('0x8'));var jsforce=require('jsforce');var deskjs=require(_0x9e8f('0x9'));var toCsv=require(_0x9e8f('0x5'));var querystring=require(_0x9e8f('0xa'));var Papa=require(_0x9e8f('0xb'));var Redis=require('ioredis');var authService=require(_0x9e8f('0xc'));var qs=require(_0x9e8f('0xd'));var as=require(_0x9e8f('0xe'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x9e8f('0xf'))('api');var utils=require(_0x9e8f('0x10'));var config=require(_0x9e8f('0x11'));var licenseUtil=require('../../config/license/util');var db=require(_0x9e8f('0x12'))['db'];function respondWithStatusCode(_0x3a023c,_0x2f742e){_0x2f742e=_0x2f742e||0xcc;return function(_0x3a5feb){if(_0x3a5feb){return _0x3a023c[_0x9e8f('0x13')](_0x2f742e);}return _0x3a023c[_0x9e8f('0x14')](_0x2f742e)[_0x9e8f('0x15')]();};}function respondWithResult(_0xae4d37,_0x4bef4d){_0x4bef4d=_0x4bef4d||0xc8;return function(_0xa84c69){if(_0xa84c69){return _0xae4d37[_0x9e8f('0x14')](_0x4bef4d)[_0x9e8f('0x16')](_0xa84c69);}};}function respondWithFilteredResult(_0x4c9abb,_0x53aae1){return function(_0x137b1e){if(_0x137b1e){var _0x31d794=_0x137b1e['count'],_0x4a3e83=_0x53aae1[_0x9e8f('0x17')],_0x20656e=_0x53aae1[_0x9e8f('0x17')]+_0x53aae1[_0x9e8f('0x18')],_0x23561d;if(_0x20656e>=_0x31d794){_0x20656e=_0x31d794;_0x23561d=0xc8;}else{_0x23561d=0xce;}_0x4c9abb[_0x9e8f('0x14')](_0x23561d);return _0x4c9abb['set'](_0x9e8f('0x19'),_0x4a3e83+'-'+_0x20656e+'/'+_0x31d794)['json'](_0x137b1e);}return null;};}function patchUpdates(_0x4b2874){return function(_0x31f65a){try{jsonpatch[_0x9e8f('0x1a')](_0x31f65a,_0x4b2874,!![]);}catch(_0x3ef00b){return BPromise[_0x9e8f('0x1b')](_0x3ef00b);}return _0x31f65a[_0x9e8f('0x1c')]();};}function saveUpdates(_0x3e6dad,_0x3698d3){return function(_0x4cd0f5){if(_0x4cd0f5){return _0x4cd0f5[_0x9e8f('0x1d')](_0x3e6dad)['then'](function(_0x222ca1){return _0x222ca1;});}return null;};}function removeEntity(_0xffbb86,_0x1df2cc){return function(_0x4636d0){if(_0x4636d0){return _0x4636d0[_0x9e8f('0x1e')]()['then'](function(){_0xffbb86[_0x9e8f('0x14')](0xcc)[_0x9e8f('0x15')]();});}};}function handleEntityNotFound(_0x1aecdc,_0x3c5957){return function(_0x55274b){if(!_0x55274b){_0x1aecdc[_0x9e8f('0x13')](0x194);}return _0x55274b;};}function handleError(_0x370d8a,_0x29ea82){_0x29ea82=_0x29ea82||0x1f4;return function(_0x14bda0){logger[_0x9e8f('0x1f')](_0x14bda0[_0x9e8f('0x20')]);if(_0x14bda0[_0x9e8f('0x21')]){delete _0x14bda0['name'];}_0x370d8a['status'](_0x29ea82)[_0x9e8f('0x22')](_0x14bda0);};}exports['index']=function(_0x101344,_0x15a38a){var _0x43aa28={},_0x101bfc={},_0xf964bd={'count':0x0,'rows':[]};var _0x593a0f=_[_0x9e8f('0x23')](db[_0x9e8f('0x24')][_0x9e8f('0x25')],function(_0x424b7c){return{'name':_0x424b7c[_0x9e8f('0x26')],'type':_0x424b7c[_0x9e8f('0x27')]['key']};});_0x101bfc[_0x9e8f('0x28')]=_['map'](_0x593a0f,_0x9e8f('0x21'));_0x101bfc[_0x9e8f('0x29')]=_[_0x9e8f('0x2a')](_0x101344['query']);_0x101bfc[_0x9e8f('0x2b')]=_[_0x9e8f('0x2c')](_0x101bfc[_0x9e8f('0x28')],_0x101bfc[_0x9e8f('0x29')]);_0x43aa28[_0x9e8f('0x2d')]=_['intersection'](_0x101bfc[_0x9e8f('0x28')],qs[_0x9e8f('0x2e')](_0x101344[_0x9e8f('0x29')][_0x9e8f('0x2e')]));_0x43aa28[_0x9e8f('0x2d')]=_0x43aa28[_0x9e8f('0x2d')][_0x9e8f('0x2f')]?_0x43aa28[_0x9e8f('0x2d')]:_0x101bfc[_0x9e8f('0x28')];if(!_0x101344[_0x9e8f('0x29')]['hasOwnProperty']('nolimit')){_0x43aa28['limit']=qs[_0x9e8f('0x18')](_0x101344['query'][_0x9e8f('0x18')]);_0x43aa28['offset']=qs[_0x9e8f('0x17')](_0x101344['query'][_0x9e8f('0x17')]);}_0x43aa28[_0x9e8f('0x30')]=qs[_0x9e8f('0x31')](_0x101344[_0x9e8f('0x29')]['sort']);_0x43aa28[_0x9e8f('0x32')]=qs[_0x9e8f('0x2b')](_[_0x9e8f('0x33')](_0x101344[_0x9e8f('0x29')],_0x101bfc[_0x9e8f('0x2b')]),_0x593a0f);if(_0x101344[_0x9e8f('0x29')][_0x9e8f('0x34')]){_0x43aa28[_0x9e8f('0x32')]=_[_0x9e8f('0x35')](_0x43aa28['where'],{'$or':_[_0x9e8f('0x23')](_0x593a0f,function(_0x239f6c){if(_0x239f6c[_0x9e8f('0x27')]!==_0x9e8f('0x36')){var _0x3f1701={};_0x3f1701[_0x239f6c[_0x9e8f('0x21')]]={'$like':'%'+_0x101344[_0x9e8f('0x29')][_0x9e8f('0x34')]+'%'};return _0x3f1701;}})});}_0x43aa28=_[_0x9e8f('0x35')]({},_0x43aa28,_0x101344[_0x9e8f('0x37')]);var _0x541a90={'where':_0x43aa28['where']};return db['Cdr'][_0x9e8f('0x38')](_0x541a90)[_0x9e8f('0x39')](function(_0x1c6e3d){_0xf964bd['count']=_0x1c6e3d;if(_0x101344[_0x9e8f('0x29')][_0x9e8f('0x3a')]){_0x43aa28[_0x9e8f('0x3b')]=[{'all':!![]}];}return db['Cdr'][_0x9e8f('0x3c')](_0x43aa28);})[_0x9e8f('0x39')](function(_0x3933eb){_0xf964bd[_0x9e8f('0x3d')]=_0x3933eb;return _0xf964bd;})[_0x9e8f('0x39')](respondWithFilteredResult(_0x15a38a,_0x43aa28))[_0x9e8f('0x3e')](handleError(_0x15a38a,null));};exports[_0x9e8f('0x3f')]=function(_0xfa418c,_0x15e87d){var _0x1c3202={'raw':!![],'where':{'id':_0xfa418c[_0x9e8f('0x40')]['id']}},_0x3b3787={};_0x3b3787[_0x9e8f('0x28')]=_['keys'](db[_0x9e8f('0x24')][_0x9e8f('0x25')]);_0x3b3787[_0x9e8f('0x29')]=_[_0x9e8f('0x2a')](_0xfa418c[_0x9e8f('0x29')]);_0x3b3787[_0x9e8f('0x2b')]=_[_0x9e8f('0x2c')](_0x3b3787[_0x9e8f('0x28')],_0x3b3787[_0x9e8f('0x29')]);_0x1c3202['attributes']=_['intersection'](_0x3b3787[_0x9e8f('0x28')],qs[_0x9e8f('0x2e')](_0xfa418c['query'][_0x9e8f('0x2e')]));_0x1c3202[_0x9e8f('0x2d')]=_0x1c3202[_0x9e8f('0x2d')][_0x9e8f('0x2f')]?_0x1c3202['attributes']:_0x3b3787[_0x9e8f('0x28')];if(_0xfa418c[_0x9e8f('0x29')][_0x9e8f('0x3a')]){_0x1c3202[_0x9e8f('0x3b')]=[{'all':!![]}];}_0x1c3202=_['merge']({},_0x1c3202,_0xfa418c[_0x9e8f('0x37')]);return db[_0x9e8f('0x24')][_0x9e8f('0x41')](_0x1c3202)[_0x9e8f('0x39')](handleEntityNotFound(_0x15e87d,null))[_0x9e8f('0x39')](respondWithResult(_0x15e87d,null))['catch'](handleError(_0x15e87d,null));};exports[_0x9e8f('0x42')]=function(_0x32422c,_0x4f5be8){return db['Cdr'][_0x9e8f('0x42')](_0x32422c[_0x9e8f('0x43')],{})[_0x9e8f('0x39')](respondWithResult(_0x4f5be8,0xc9))[_0x9e8f('0x3e')](handleError(_0x4f5be8,null));};exports['update']=function(_0x54bb08,_0x39a4cf){if(_0x54bb08[_0x9e8f('0x43')]['id']){delete _0x54bb08[_0x9e8f('0x43')]['id'];}return db[_0x9e8f('0x24')][_0x9e8f('0x41')]({'where':{'id':_0x54bb08[_0x9e8f('0x40')]['id']}})[_0x9e8f('0x39')](handleEntityNotFound(_0x39a4cf,null))[_0x9e8f('0x39')](saveUpdates(_0x54bb08[_0x9e8f('0x43')],null))['then'](respondWithResult(_0x39a4cf,null))[_0x9e8f('0x3e')](handleError(_0x39a4cf,null));};exports[_0x9e8f('0x1e')]=function(_0x1cdefe,_0x2c1433){return db['Cdr'][_0x9e8f('0x41')]({'where':{'id':_0x1cdefe[_0x9e8f('0x40')]['id']}})['then'](handleEntityNotFound(_0x2c1433,null))[_0x9e8f('0x39')](removeEntity(_0x2c1433,null))['catch'](handleError(_0x2c1433,null));};exports['describe']=function(_0x5f3d36,_0xc5a2ca){return db[_0x9e8f('0x24')]['describe']()['then'](respondWithResult(_0xc5a2ca,null))[_0x9e8f('0x3e')](handleError(_0xc5a2ca,null));};