Built motion from commit (unavailable).|2.5.0
[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 _0xb165=['map','keys','filters','intersection','query','fields','attributes','hasOwnProperty','limit','sort','where','pick','merge','VIRTUAL','filter','options','count','include','findAll','show','length','includeAll','catch','create','body','params','describe','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','crypto','desk.js','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','set','Content-Range','apply','reject','save','update','then','destroy','error','stack','name','send','Cdr','type','key','model'];(function(_0x36884e,_0x48008f){var _0x1cc367=function(_0x388a78){while(--_0x388a78){_0x36884e['push'](_0x36884e['shift']());}};_0x1cc367(++_0x48008f);}(_0xb165,0xaf));var _0x5b16=function(_0x2736d2,_0x51a76f){_0x2736d2=_0x2736d2-0x0;var _0x271ea5=_0xb165[_0x2736d2];return _0x271ea5;};'use strict';var pdf=require(_0x5b16('0x0'));var emlformat=require(_0x5b16('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x5b16('0x2'));var jsonpatch=require(_0x5b16('0x3'));var rp=require(_0x5b16('0x4'));var moment=require(_0x5b16('0x5'));var BPromise=require(_0x5b16('0x6'));var Mustache=require(_0x5b16('0x7'));var util=require(_0x5b16('0x8'));var path=require(_0x5b16('0x9'));var sox=require(_0x5b16('0xa'));var csv=require(_0x5b16('0xb'));var ejs=require(_0x5b16('0xc'));var fs=require('fs');var _=require(_0x5b16('0xd'));var squel=require('squel');var crypto=require(_0x5b16('0xe'));var jsforce=require('jsforce');var deskjs=require(_0x5b16('0xf'));var toCsv=require(_0x5b16('0xb'));var querystring=require(_0x5b16('0x10'));var Papa=require('papaparse');var Redis=require(_0x5b16('0x11'));var authService=require('../../components/auth/service');var qs=require(_0x5b16('0x12'));var as=require(_0x5b16('0x13'));var hardwareService=require(_0x5b16('0x14'));var logger=require(_0x5b16('0x15'))(_0x5b16('0x16'));var utils=require(_0x5b16('0x17'));var config=require(_0x5b16('0x18'));var db=require(_0x5b16('0x19'))['db'];function respondWithStatusCode(_0xc31a1c,_0x281513){_0x281513=_0x281513||0xcc;return function(_0x3b48cb){if(_0x3b48cb){return _0xc31a1c[_0x5b16('0x1a')](_0x281513);}return _0xc31a1c[_0x5b16('0x1b')](_0x281513)[_0x5b16('0x1c')]();};}function respondWithResult(_0x4ae807,_0x1bca0d){_0x1bca0d=_0x1bca0d||0xc8;return function(_0x42624d){if(_0x42624d){return _0x4ae807[_0x5b16('0x1b')](_0x1bca0d)[_0x5b16('0x1d')](_0x42624d);}};}function respondWithFilteredResult(_0x1d34ee,_0x4abe04){return function(_0x13bf97){if(_0x13bf97){var _0x4cf763=_0x13bf97['count'],_0x800556=_0x4abe04['offset'],_0x6b0043=_0x4abe04[_0x5b16('0x1e')]+_0x4abe04['limit'],_0x26466d;if(_0x6b0043>=_0x4cf763){_0x6b0043=_0x4cf763;_0x26466d=0xc8;}else{_0x26466d=0xce;}_0x1d34ee[_0x5b16('0x1b')](_0x26466d);return _0x1d34ee[_0x5b16('0x1f')](_0x5b16('0x20'),_0x800556+'-'+_0x6b0043+'/'+_0x4cf763)[_0x5b16('0x1d')](_0x13bf97);}return null;};}function patchUpdates(_0x441e91){return function(_0x1197b5){try{jsonpatch[_0x5b16('0x21')](_0x1197b5,_0x441e91,!![]);}catch(_0x3d9149){return BPromise[_0x5b16('0x22')](_0x3d9149);}return _0x1197b5[_0x5b16('0x23')]();};}function saveUpdates(_0x123488,_0x5c5afe){return function(_0x35cd6b){if(_0x35cd6b){return _0x35cd6b[_0x5b16('0x24')](_0x123488)[_0x5b16('0x25')](function(_0x47b29d){return _0x47b29d;});}return null;};}function removeEntity(_0x419555,_0x3455a0){return function(_0x439739){if(_0x439739){return _0x439739[_0x5b16('0x26')]()[_0x5b16('0x25')](function(){_0x419555[_0x5b16('0x1b')](0xcc)[_0x5b16('0x1c')]();});}};}function handleEntityNotFound(_0xbe25ce,_0x3bf59c){return function(_0x36df10){if(!_0x36df10){_0xbe25ce[_0x5b16('0x1a')](0x194);}return _0x36df10;};}function handleError(_0x4fe0d1,_0x13ad15){_0x13ad15=_0x13ad15||0x1f4;return function(_0x311980){logger[_0x5b16('0x27')](_0x311980[_0x5b16('0x28')]);if(_0x311980[_0x5b16('0x29')]){delete _0x311980[_0x5b16('0x29')];}_0x4fe0d1['status'](_0x13ad15)[_0x5b16('0x2a')](_0x311980);};}exports['index']=function(_0x3edb91,_0x31ff9b){var _0x832c7c={},_0x1c6cae={},_0x1628ee={'count':0x0,'rows':[]};var _0x10bc3f=_['map'](db[_0x5b16('0x2b')]['rawAttributes'],function(_0x102a74){return{'name':_0x102a74['fieldName'],'type':_0x102a74[_0x5b16('0x2c')][_0x5b16('0x2d')]};});_0x1c6cae[_0x5b16('0x2e')]=_[_0x5b16('0x2f')](_0x10bc3f,_0x5b16('0x29'));_0x1c6cae['query']=_[_0x5b16('0x30')](_0x3edb91['query']);_0x1c6cae[_0x5b16('0x31')]=_[_0x5b16('0x32')](_0x1c6cae['model'],_0x1c6cae[_0x5b16('0x33')]);_0x832c7c['attributes']=_[_0x5b16('0x32')](_0x1c6cae['model'],qs['fields'](_0x3edb91[_0x5b16('0x33')][_0x5b16('0x34')]));_0x832c7c[_0x5b16('0x35')]=_0x832c7c[_0x5b16('0x35')]['length']?_0x832c7c[_0x5b16('0x35')]:_0x1c6cae[_0x5b16('0x2e')];if(!_0x3edb91[_0x5b16('0x33')][_0x5b16('0x36')]('nolimit')){_0x832c7c['limit']=qs[_0x5b16('0x37')](_0x3edb91[_0x5b16('0x33')][_0x5b16('0x37')]);_0x832c7c[_0x5b16('0x1e')]=qs[_0x5b16('0x1e')](_0x3edb91[_0x5b16('0x33')][_0x5b16('0x1e')]);}_0x832c7c['order']=qs[_0x5b16('0x38')](_0x3edb91[_0x5b16('0x33')][_0x5b16('0x38')]);_0x832c7c[_0x5b16('0x39')]=qs['filters'](_[_0x5b16('0x3a')](_0x3edb91[_0x5b16('0x33')],_0x1c6cae[_0x5b16('0x31')]),_0x10bc3f);if(_0x3edb91['query']['filter']){_0x832c7c[_0x5b16('0x39')]=_[_0x5b16('0x3b')](_0x832c7c['where'],{'$or':_[_0x5b16('0x2f')](_0x10bc3f,function(_0xb3356e){if(_0xb3356e[_0x5b16('0x2c')]!==_0x5b16('0x3c')){var _0x13ee25={};_0x13ee25[_0xb3356e['name']]={'$like':'%'+_0x3edb91[_0x5b16('0x33')][_0x5b16('0x3d')]+'%'};return _0x13ee25;}})});}_0x832c7c=_[_0x5b16('0x3b')]({},_0x832c7c,_0x3edb91[_0x5b16('0x3e')]);var _0x250ce4={'where':_0x832c7c[_0x5b16('0x39')]};return db['Cdr'][_0x5b16('0x3f')](_0x250ce4)[_0x5b16('0x25')](function(_0x143747){_0x1628ee[_0x5b16('0x3f')]=_0x143747;if(_0x3edb91[_0x5b16('0x33')]['includeAll']){_0x832c7c[_0x5b16('0x40')]=[{'all':!![]}];}return db[_0x5b16('0x2b')][_0x5b16('0x41')](_0x832c7c);})[_0x5b16('0x25')](function(_0x3cfe61){_0x1628ee['rows']=_0x3cfe61;return _0x1628ee;})[_0x5b16('0x25')](respondWithFilteredResult(_0x31ff9b,_0x832c7c))['catch'](handleError(_0x31ff9b,null));};exports[_0x5b16('0x42')]=function(_0x15ab23,_0x51e961){var _0x38c10d={'raw':!![],'where':{'id':_0x15ab23['params']['id']}},_0x1e22fb={};_0x1e22fb[_0x5b16('0x2e')]=_[_0x5b16('0x30')](db[_0x5b16('0x2b')]['rawAttributes']);_0x1e22fb[_0x5b16('0x33')]=_['keys'](_0x15ab23[_0x5b16('0x33')]);_0x1e22fb[_0x5b16('0x31')]=_[_0x5b16('0x32')](_0x1e22fb[_0x5b16('0x2e')],_0x1e22fb['query']);_0x38c10d[_0x5b16('0x35')]=_[_0x5b16('0x32')](_0x1e22fb[_0x5b16('0x2e')],qs[_0x5b16('0x34')](_0x15ab23['query'][_0x5b16('0x34')]));_0x38c10d['attributes']=_0x38c10d[_0x5b16('0x35')][_0x5b16('0x43')]?_0x38c10d[_0x5b16('0x35')]:_0x1e22fb[_0x5b16('0x2e')];if(_0x15ab23['query'][_0x5b16('0x44')]){_0x38c10d[_0x5b16('0x40')]=[{'all':!![]}];}_0x38c10d=_[_0x5b16('0x3b')]({},_0x38c10d,_0x15ab23[_0x5b16('0x3e')]);return db['Cdr']['find'](_0x38c10d)['then'](handleEntityNotFound(_0x51e961,null))[_0x5b16('0x25')](respondWithResult(_0x51e961,null))[_0x5b16('0x45')](handleError(_0x51e961,null));};exports[_0x5b16('0x46')]=function(_0x4ba068,_0x5712ff){return db['Cdr'][_0x5b16('0x46')](_0x4ba068[_0x5b16('0x47')],{})[_0x5b16('0x25')](respondWithResult(_0x5712ff,0xc9))[_0x5b16('0x45')](handleError(_0x5712ff,null));};exports[_0x5b16('0x24')]=function(_0x4fc660,_0x260354){if(_0x4fc660['body']['id']){delete _0x4fc660[_0x5b16('0x47')]['id'];}return db[_0x5b16('0x2b')]['find']({'where':{'id':_0x4fc660[_0x5b16('0x48')]['id']}})['then'](handleEntityNotFound(_0x260354,null))['then'](saveUpdates(_0x4fc660[_0x5b16('0x47')],null))['then'](respondWithResult(_0x260354,null))['catch'](handleError(_0x260354,null));};exports[_0x5b16('0x26')]=function(_0x4e6a98,_0x686bf0){return db[_0x5b16('0x2b')]['find']({'where':{'id':_0x4e6a98[_0x5b16('0x48')]['id']}})[_0x5b16('0x25')](handleEntityNotFound(_0x686bf0,null))[_0x5b16('0x25')](removeEntity(_0x686bf0,null))['catch'](handleError(_0x686bf0,null));};exports[_0x5b16('0x49')]=function(_0x5527f6,_0xd450ff){return db[_0x5b16('0x2b')][_0x5b16('0x49')]()[_0x5b16('0x25')](respondWithResult(_0xd450ff,null))[_0x5b16('0x45')](handleError(_0xd450ff,null));};