Built motion from commit (unavailable).|2.4.19
[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 _0x36a2=['filters','attributes','intersection','fields','hasOwnProperty','nolimit','limit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','length','find','create','body','params','describe','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','path','sox','to-csv','ejs','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','sendStatus','status','json','count','offset','set','Content-Range','apply','reject','save','update','then','end','error','stack','name','send','index','map','Cdr','rawAttributes','type','key','model','keys','query'];(function(_0x3bac1a,_0x2eb517){var _0x275ac1=function(_0x3f6db2){while(--_0x3f6db2){_0x3bac1a['push'](_0x3bac1a['shift']());}};_0x275ac1(++_0x2eb517);}(_0x36a2,0x105));var _0x236a=function(_0x25701b,_0x2a6976){_0x25701b=_0x25701b-0x0;var _0x3a8a2c=_0x36a2[_0x25701b];return _0x3a8a2c;};'use strict';var pdf=require(_0x236a('0x0'));var emlformat=require(_0x236a('0x1'));var rimraf=require(_0x236a('0x2'));var zipdir=require(_0x236a('0x3'));var jsonpatch=require(_0x236a('0x4'));var rp=require('request-promise');var moment=require(_0x236a('0x5'));var BPromise=require(_0x236a('0x6'));var Mustache=require(_0x236a('0x7'));var util=require('util');var path=require(_0x236a('0x8'));var sox=require(_0x236a('0x9'));var csv=require(_0x236a('0xa'));var ejs=require(_0x236a('0xb'));var fs=require('fs');var _=require('lodash');var squel=require(_0x236a('0xc'));var crypto=require(_0x236a('0xd'));var jsforce=require(_0x236a('0xe'));var deskjs=require(_0x236a('0xf'));var toCsv=require(_0x236a('0xa'));var querystring=require(_0x236a('0x10'));var Papa=require(_0x236a('0x11'));var Redis=require(_0x236a('0x12'));var authService=require('../../components/auth/service');var qs=require(_0x236a('0x13'));var as=require(_0x236a('0x14'));var hardwareService=require(_0x236a('0x15'));var logger=require(_0x236a('0x16'))(_0x236a('0x17'));var utils=require('../../config/utils');var config=require(_0x236a('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0xb8adb4,_0x5610df){_0x5610df=_0x5610df||0xcc;return function(_0x1385e7){if(_0x1385e7){return _0xb8adb4[_0x236a('0x19')](_0x5610df);}return _0xb8adb4[_0x236a('0x1a')](_0x5610df)['end']();};}function respondWithResult(_0x49c1b6,_0xdae799){_0xdae799=_0xdae799||0xc8;return function(_0x5ec17a){if(_0x5ec17a){return _0x49c1b6[_0x236a('0x1a')](_0xdae799)[_0x236a('0x1b')](_0x5ec17a);}};}function respondWithFilteredResult(_0x5077ae,_0x1741e6){return function(_0x150a04){if(_0x150a04){var _0x4a43a6=_0x150a04[_0x236a('0x1c')],_0x38b8a0=_0x1741e6[_0x236a('0x1d')],_0x969c10=_0x1741e6[_0x236a('0x1d')]+_0x1741e6['limit'],_0x29e524;if(_0x969c10>=_0x4a43a6){_0x969c10=_0x4a43a6;_0x29e524=0xc8;}else{_0x29e524=0xce;}_0x5077ae[_0x236a('0x1a')](_0x29e524);return _0x5077ae[_0x236a('0x1e')](_0x236a('0x1f'),_0x38b8a0+'-'+_0x969c10+'/'+_0x4a43a6)[_0x236a('0x1b')](_0x150a04);}return null;};}function patchUpdates(_0x2a09f9){return function(_0xe87e5f){try{jsonpatch[_0x236a('0x20')](_0xe87e5f,_0x2a09f9,!![]);}catch(_0x50885d){return BPromise[_0x236a('0x21')](_0x50885d);}return _0xe87e5f[_0x236a('0x22')]();};}function saveUpdates(_0x7efbe2,_0x110b59){return function(_0x5c7932){if(_0x5c7932){return _0x5c7932[_0x236a('0x23')](_0x7efbe2)['then'](function(_0x55205f){return _0x55205f;});}return null;};}function removeEntity(_0x34a342,_0x2f1517){return function(_0x8debb5){if(_0x8debb5){return _0x8debb5['destroy']()[_0x236a('0x24')](function(){_0x34a342[_0x236a('0x1a')](0xcc)[_0x236a('0x25')]();});}};}function handleEntityNotFound(_0x131325,_0x411929){return function(_0x3c2769){if(!_0x3c2769){_0x131325[_0x236a('0x19')](0x194);}return _0x3c2769;};}function handleError(_0x1521c2,_0x8a5a3){_0x8a5a3=_0x8a5a3||0x1f4;return function(_0x3cb02a){logger[_0x236a('0x26')](_0x3cb02a[_0x236a('0x27')]);if(_0x3cb02a[_0x236a('0x28')]){delete _0x3cb02a['name'];}_0x1521c2[_0x236a('0x1a')](_0x8a5a3)[_0x236a('0x29')](_0x3cb02a);};}exports[_0x236a('0x2a')]=function(_0x2c0a0d,_0x66b77d){var _0xdac439={},_0x4943dc={},_0x997a17={'count':0x0,'rows':[]};var _0x4dd8b2=_[_0x236a('0x2b')](db[_0x236a('0x2c')][_0x236a('0x2d')],function(_0x53889f){return{'name':_0x53889f['fieldName'],'type':_0x53889f[_0x236a('0x2e')][_0x236a('0x2f')]};});_0x4943dc[_0x236a('0x30')]=_[_0x236a('0x2b')](_0x4dd8b2,_0x236a('0x28'));_0x4943dc['query']=_[_0x236a('0x31')](_0x2c0a0d[_0x236a('0x32')]);_0x4943dc[_0x236a('0x33')]=_['intersection'](_0x4943dc[_0x236a('0x30')],_0x4943dc[_0x236a('0x32')]);_0xdac439[_0x236a('0x34')]=_[_0x236a('0x35')](_0x4943dc['model'],qs[_0x236a('0x36')](_0x2c0a0d[_0x236a('0x32')][_0x236a('0x36')]));_0xdac439['attributes']=_0xdac439[_0x236a('0x34')]['length']?_0xdac439[_0x236a('0x34')]:_0x4943dc[_0x236a('0x30')];if(!_0x2c0a0d[_0x236a('0x32')][_0x236a('0x37')](_0x236a('0x38'))){_0xdac439[_0x236a('0x39')]=qs[_0x236a('0x39')](_0x2c0a0d[_0x236a('0x32')][_0x236a('0x39')]);_0xdac439['offset']=qs[_0x236a('0x1d')](_0x2c0a0d[_0x236a('0x32')][_0x236a('0x1d')]);}_0xdac439[_0x236a('0x3a')]=qs[_0x236a('0x3b')](_0x2c0a0d[_0x236a('0x32')][_0x236a('0x3b')]);_0xdac439[_0x236a('0x3c')]=qs[_0x236a('0x33')](_[_0x236a('0x3d')](_0x2c0a0d[_0x236a('0x32')],_0x4943dc[_0x236a('0x33')]));if(_0x2c0a0d[_0x236a('0x32')][_0x236a('0x3e')]){_0xdac439['where']=_[_0x236a('0x3f')](_0xdac439[_0x236a('0x3c')],{'$or':_[_0x236a('0x2b')](_0x4dd8b2,function(_0x6f8c57){if(_0x6f8c57['type']!==_0x236a('0x40')){var _0x4d7146={};_0x4d7146[_0x6f8c57[_0x236a('0x28')]]={'$like':'%'+_0x2c0a0d[_0x236a('0x32')][_0x236a('0x3e')]+'%'};return _0x4d7146;}})});}_0xdac439=_[_0x236a('0x3f')]({},_0xdac439,_0x2c0a0d[_0x236a('0x41')]);var _0x59a761={'where':_0xdac439[_0x236a('0x3c')]};return db[_0x236a('0x2c')][_0x236a('0x1c')](_0x59a761)[_0x236a('0x24')](function(_0x2a3472){_0x997a17[_0x236a('0x1c')]=_0x2a3472;if(_0x2c0a0d[_0x236a('0x32')][_0x236a('0x42')]){_0xdac439[_0x236a('0x43')]=[{'all':!![]}];}return db['Cdr'][_0x236a('0x44')](_0xdac439);})[_0x236a('0x24')](function(_0x370423){_0x997a17[_0x236a('0x45')]=_0x370423;return _0x997a17;})['then'](respondWithFilteredResult(_0x66b77d,_0xdac439))[_0x236a('0x46')](handleError(_0x66b77d,null));};exports[_0x236a('0x47')]=function(_0x20e6ec,_0x19e730){var _0x1efb06={'raw':!![],'where':{'id':_0x20e6ec['params']['id']}},_0x58b753={};_0x58b753[_0x236a('0x30')]=_[_0x236a('0x31')](db[_0x236a('0x2c')][_0x236a('0x2d')]);_0x58b753[_0x236a('0x32')]=_[_0x236a('0x31')](_0x20e6ec[_0x236a('0x32')]);_0x58b753[_0x236a('0x33')]=_[_0x236a('0x35')](_0x58b753[_0x236a('0x30')],_0x58b753[_0x236a('0x32')]);_0x1efb06['attributes']=_['intersection'](_0x58b753[_0x236a('0x30')],qs[_0x236a('0x36')](_0x20e6ec['query'][_0x236a('0x36')]));_0x1efb06[_0x236a('0x34')]=_0x1efb06[_0x236a('0x34')][_0x236a('0x48')]?_0x1efb06[_0x236a('0x34')]:_0x58b753[_0x236a('0x30')];if(_0x20e6ec[_0x236a('0x32')][_0x236a('0x42')]){_0x1efb06['include']=[{'all':!![]}];}_0x1efb06=_[_0x236a('0x3f')]({},_0x1efb06,_0x20e6ec[_0x236a('0x41')]);return db['Cdr'][_0x236a('0x49')](_0x1efb06)[_0x236a('0x24')](handleEntityNotFound(_0x19e730,null))[_0x236a('0x24')](respondWithResult(_0x19e730,null))[_0x236a('0x46')](handleError(_0x19e730,null));};exports[_0x236a('0x4a')]=function(_0x3687ac,_0x5c6e1f){return db[_0x236a('0x2c')]['create'](_0x3687ac[_0x236a('0x4b')],{})[_0x236a('0x24')](respondWithResult(_0x5c6e1f,0xc9))['catch'](handleError(_0x5c6e1f,null));};exports[_0x236a('0x23')]=function(_0x15013f,_0x39cb08){if(_0x15013f[_0x236a('0x4b')]['id']){delete _0x15013f[_0x236a('0x4b')]['id'];}return db[_0x236a('0x2c')][_0x236a('0x49')]({'where':{'id':_0x15013f[_0x236a('0x4c')]['id']}})['then'](handleEntityNotFound(_0x39cb08,null))[_0x236a('0x24')](saveUpdates(_0x15013f[_0x236a('0x4b')],null))[_0x236a('0x24')](respondWithResult(_0x39cb08,null))[_0x236a('0x46')](handleError(_0x39cb08,null));};exports['destroy']=function(_0x77583f,_0x2ded8e){return db[_0x236a('0x2c')][_0x236a('0x49')]({'where':{'id':_0x77583f[_0x236a('0x4c')]['id']}})[_0x236a('0x24')](handleEntityNotFound(_0x2ded8e,null))['then'](removeEntity(_0x2ded8e,null))[_0x236a('0x46')](handleError(_0x2ded8e,null));};exports[_0x236a('0x4d')]=function(_0x30f66d,_0x3398b3){return db[_0x236a('0x2c')][_0x236a('0x4d')]()['then'](respondWithResult(_0x3398b3,null))[_0x236a('0x46')](handleError(_0x3398b3,null));};