Built motion from commit (unavailable).|2.5.30
[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 _0x4fd1=['offset','undefined','limit','count','set','Content-Range','json','reject','save','then','end','name','index','fieldName','type','map','query','keys','filters','intersection','attributes','length','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','Cdr','includeAll','findAll','rows','catch','show','params','model','rawAttributes','fields','include','create','body','update','destroy','find','describe','rimraf','zip-dir','request-promise','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','lodash','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','sendStatus','status'];(function(_0x2641f9,_0x26715f){var _0x585741=function(_0x2d1462){while(--_0x2d1462){_0x2641f9['push'](_0x2641f9['shift']());}};_0x585741(++_0x26715f);}(_0x4fd1,0xc8));var _0x14fd=function(_0x6a88f6,_0x532cab){_0x6a88f6=_0x6a88f6-0x0;var _0x2ec3d8=_0x4fd1[_0x6a88f6];return _0x2ec3d8;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x14fd('0x0'));var zipdir=require(_0x14fd('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x14fd('0x2'));var moment=require('moment');var BPromise=require(_0x14fd('0x3'));var Mustache=require(_0x14fd('0x4'));var util=require('util');var path=require(_0x14fd('0x5'));var sox=require(_0x14fd('0x6'));var csv=require(_0x14fd('0x7'));var ejs=require(_0x14fd('0x8'));var fs=require('fs');var fs_extra=require(_0x14fd('0x9'));var _=require(_0x14fd('0xa'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x14fd('0xb'));var deskjs=require(_0x14fd('0xc'));var toCsv=require(_0x14fd('0x7'));var querystring=require(_0x14fd('0xd'));var Papa=require(_0x14fd('0xe'));var Redis=require(_0x14fd('0xf'));var authService=require(_0x14fd('0x10'));var qs=require(_0x14fd('0x11'));var as=require(_0x14fd('0x12'));var hardwareService=require(_0x14fd('0x13'));var logger=require(_0x14fd('0x14'))(_0x14fd('0x15'));var utils=require(_0x14fd('0x16'));var config=require(_0x14fd('0x17'));var licenseUtil=require(_0x14fd('0x18'));var db=require(_0x14fd('0x19'))['db'];function respondWithStatusCode(_0x17daa9,_0x41c7ad){_0x41c7ad=_0x41c7ad||0xcc;return function(_0x2ff971){if(_0x2ff971){return _0x17daa9[_0x14fd('0x1a')](_0x41c7ad);}return _0x17daa9[_0x14fd('0x1b')](_0x41c7ad)['end']();};}function respondWithResult(_0x49a9f2,_0x2c895e){_0x2c895e=_0x2c895e||0xc8;return function(_0x3aaa04){if(_0x3aaa04){return _0x49a9f2['status'](_0x2c895e)['json'](_0x3aaa04);}};}function respondWithFilteredResult(_0x52c926,_0x48a986){return function(_0x2a64e0){if(_0x2a64e0){var _0x1d16ad=typeof _0x48a986[_0x14fd('0x1c')]===_0x14fd('0x1d')&&typeof _0x48a986[_0x14fd('0x1e')]===_0x14fd('0x1d');var _0x6cfd56=_0x2a64e0[_0x14fd('0x1f')];var _0x3b567b=_0x1d16ad?0x0:_0x48a986[_0x14fd('0x1c')];var _0x51339c=_0x1d16ad?_0x2a64e0['count']:_0x48a986['offset']+_0x48a986[_0x14fd('0x1e')];var _0xb4d31b;if(_0x51339c>=_0x6cfd56){_0x51339c=_0x6cfd56;_0xb4d31b=0xc8;}else{_0xb4d31b=0xce;}_0x52c926['status'](_0xb4d31b);return _0x52c926[_0x14fd('0x20')](_0x14fd('0x21'),_0x3b567b+'-'+_0x51339c+'/'+_0x6cfd56)[_0x14fd('0x22')](_0x2a64e0);}return null;};}function patchUpdates(_0xfb068b){return function(_0x3cc1d9){try{jsonpatch['apply'](_0x3cc1d9,_0xfb068b,!![]);}catch(_0x492606){return BPromise[_0x14fd('0x23')](_0x492606);}return _0x3cc1d9[_0x14fd('0x24')]();};}function saveUpdates(_0xca3ead,_0x41bdbc){return function(_0x3121f1){if(_0x3121f1){return _0x3121f1['update'](_0xca3ead)['then'](function(_0xf0b1b4){return _0xf0b1b4;});}return null;};}function removeEntity(_0x57f68b,_0x2a1a6b){return function(_0x12311b){if(_0x12311b){return _0x12311b['destroy']()[_0x14fd('0x25')](function(){_0x57f68b[_0x14fd('0x1b')](0xcc)[_0x14fd('0x26')]();});}};}function handleEntityNotFound(_0xa8535c,_0xb0ba78){return function(_0x437054){if(!_0x437054){_0xa8535c['sendStatus'](0x194);}return _0x437054;};}function handleError(_0x104785,_0x1e7a8f){_0x1e7a8f=_0x1e7a8f||0x1f4;return function(_0x24ddb9){logger['error'](_0x24ddb9['stack']);if(_0x24ddb9['name']){delete _0x24ddb9[_0x14fd('0x27')];}_0x104785[_0x14fd('0x1b')](_0x1e7a8f)['send'](_0x24ddb9);};}exports[_0x14fd('0x28')]=function(_0x3a03b2,_0x3ec66a){var _0x21b012={},_0x3c0775={},_0x423697={'count':0x0,'rows':[]};var _0x33ce95=_['map'](db['Cdr']['rawAttributes'],function(_0x1637d9){return{'name':_0x1637d9[_0x14fd('0x29')],'type':_0x1637d9[_0x14fd('0x2a')]['key']};});_0x3c0775['model']=_[_0x14fd('0x2b')](_0x33ce95,_0x14fd('0x27'));_0x3c0775[_0x14fd('0x2c')]=_[_0x14fd('0x2d')](_0x3a03b2[_0x14fd('0x2c')]);_0x3c0775[_0x14fd('0x2e')]=_[_0x14fd('0x2f')](_0x3c0775['model'],_0x3c0775[_0x14fd('0x2c')]);_0x21b012['attributes']=_['intersection'](_0x3c0775['model'],qs['fields'](_0x3a03b2[_0x14fd('0x2c')]['fields']));_0x21b012[_0x14fd('0x30')]=_0x21b012['attributes'][_0x14fd('0x31')]?_0x21b012[_0x14fd('0x30')]:_0x3c0775['model'];if(!_0x3a03b2['query']['hasOwnProperty'](_0x14fd('0x32'))){_0x21b012['limit']=qs[_0x14fd('0x1e')](_0x3a03b2['query']['limit']);_0x21b012[_0x14fd('0x1c')]=qs[_0x14fd('0x1c')](_0x3a03b2[_0x14fd('0x2c')][_0x14fd('0x1c')]);}_0x21b012[_0x14fd('0x33')]=qs[_0x14fd('0x34')](_0x3a03b2['query'][_0x14fd('0x34')]);_0x21b012[_0x14fd('0x35')]=qs[_0x14fd('0x2e')](_[_0x14fd('0x36')](_0x3a03b2[_0x14fd('0x2c')],_0x3c0775['filters']),_0x33ce95);if(_0x3a03b2[_0x14fd('0x2c')][_0x14fd('0x37')]){_0x21b012['where']=_[_0x14fd('0x38')](_0x21b012[_0x14fd('0x35')],{'$or':_[_0x14fd('0x2b')](_0x33ce95,function(_0x1afab0){if(_0x1afab0['type']!==_0x14fd('0x39')){var _0xe4162f={};_0xe4162f[_0x1afab0[_0x14fd('0x27')]]={'$like':'%'+_0x3a03b2[_0x14fd('0x2c')]['filter']+'%'};return _0xe4162f;}})});}_0x21b012=_[_0x14fd('0x38')]({},_0x21b012,_0x3a03b2[_0x14fd('0x3a')]);var _0x56a126={'where':_0x21b012['where']};return db[_0x14fd('0x3b')][_0x14fd('0x1f')](_0x56a126)[_0x14fd('0x25')](function(_0x136518){_0x423697[_0x14fd('0x1f')]=_0x136518;if(_0x3a03b2[_0x14fd('0x2c')][_0x14fd('0x3c')]){_0x21b012['include']=[{'all':!![]}];}return db['Cdr'][_0x14fd('0x3d')](_0x21b012);})[_0x14fd('0x25')](function(_0xc7f042){_0x423697[_0x14fd('0x3e')]=_0xc7f042;return _0x423697;})[_0x14fd('0x25')](respondWithFilteredResult(_0x3ec66a,_0x21b012))[_0x14fd('0x3f')](handleError(_0x3ec66a,null));};exports[_0x14fd('0x40')]=function(_0x341292,_0x37a468){var _0x13f592={'raw':!![],'where':{'id':_0x341292[_0x14fd('0x41')]['id']}},_0x1294b3={};_0x1294b3[_0x14fd('0x42')]=_[_0x14fd('0x2d')](db[_0x14fd('0x3b')][_0x14fd('0x43')]);_0x1294b3[_0x14fd('0x2c')]=_[_0x14fd('0x2d')](_0x341292['query']);_0x1294b3['filters']=_[_0x14fd('0x2f')](_0x1294b3[_0x14fd('0x42')],_0x1294b3['query']);_0x13f592[_0x14fd('0x30')]=_[_0x14fd('0x2f')](_0x1294b3[_0x14fd('0x42')],qs[_0x14fd('0x44')](_0x341292[_0x14fd('0x2c')][_0x14fd('0x44')]));_0x13f592[_0x14fd('0x30')]=_0x13f592[_0x14fd('0x30')][_0x14fd('0x31')]?_0x13f592[_0x14fd('0x30')]:_0x1294b3[_0x14fd('0x42')];if(_0x341292['query']['includeAll']){_0x13f592[_0x14fd('0x45')]=[{'all':!![]}];}_0x13f592=_[_0x14fd('0x38')]({},_0x13f592,_0x341292[_0x14fd('0x3a')]);return db[_0x14fd('0x3b')]['find'](_0x13f592)[_0x14fd('0x25')](handleEntityNotFound(_0x37a468,null))[_0x14fd('0x25')](respondWithResult(_0x37a468,null))[_0x14fd('0x3f')](handleError(_0x37a468,null));};exports[_0x14fd('0x46')]=function(_0x5d6d7e,_0x40f9bc){return db['Cdr'][_0x14fd('0x46')](_0x5d6d7e[_0x14fd('0x47')],{})[_0x14fd('0x25')](respondWithResult(_0x40f9bc,0xc9))[_0x14fd('0x3f')](handleError(_0x40f9bc,null));};exports[_0x14fd('0x48')]=function(_0x22813b,_0x17cde8){if(_0x22813b[_0x14fd('0x47')]['id']){delete _0x22813b[_0x14fd('0x47')]['id'];}return db[_0x14fd('0x3b')]['find']({'where':{'id':_0x22813b['params']['id']}})[_0x14fd('0x25')](handleEntityNotFound(_0x17cde8,null))[_0x14fd('0x25')](saveUpdates(_0x22813b[_0x14fd('0x47')],null))[_0x14fd('0x25')](respondWithResult(_0x17cde8,null))['catch'](handleError(_0x17cde8,null));};exports[_0x14fd('0x49')]=function(_0x881c25,_0x586148){return db[_0x14fd('0x3b')][_0x14fd('0x4a')]({'where':{'id':_0x881c25[_0x14fd('0x41')]['id']}})['then'](handleEntityNotFound(_0x586148,null))[_0x14fd('0x25')](removeEntity(_0x586148,null))['catch'](handleError(_0x586148,null));};exports[_0x14fd('0x4b')]=function(_0x45479b,_0x5f2868){return db['Cdr'][_0x14fd('0x4b')]()[_0x14fd('0x25')](respondWithResult(_0x5f2868,null))[_0x14fd('0x3f')](handleError(_0x5f2868,null));};