Built motion from commit (unavailable).|2.5.22
[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 _0x4145=['VIRTUAL','options','count','includeAll','include','findAll','rows','catch','show','params','keys','find','create','body','describe','html-pdf','rimraf','zip-dir','fast-json-patch','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','status','json','offset','limit','Content-Range','apply','reject','update','destroy','then','end','sendStatus','error','stack','name','send','index','Cdr','rawAttributes','type','key','model','query','filters','intersection','attributes','fields','nolimit','order','sort','where','pick','filter','merge','map'];(function(_0x1fbf2d,_0x12a6d1){var _0x3dff60=function(_0x118a82){while(--_0x118a82){_0x1fbf2d['push'](_0x1fbf2d['shift']());}};_0x3dff60(++_0x12a6d1);}(_0x4145,0xf3));var _0x5414=function(_0x30f115,_0x4114b8){_0x30f115=_0x30f115-0x0;var _0x40ee32=_0x4145[_0x30f115];return _0x40ee32;};'use strict';var pdf=require(_0x5414('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x5414('0x1'));var zipdir=require(_0x5414('0x2'));var jsonpatch=require(_0x5414('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x5414('0x4'));var Mustache=require(_0x5414('0x5'));var util=require(_0x5414('0x6'));var path=require(_0x5414('0x7'));var sox=require(_0x5414('0x8'));var csv=require(_0x5414('0x9'));var ejs=require(_0x5414('0xa'));var fs=require('fs');var _=require(_0x5414('0xb'));var squel=require(_0x5414('0xc'));var crypto=require(_0x5414('0xd'));var jsforce=require(_0x5414('0xe'));var deskjs=require(_0x5414('0xf'));var toCsv=require(_0x5414('0x9'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x5414('0x10'));var authService=require(_0x5414('0x11'));var qs=require(_0x5414('0x12'));var as=require(_0x5414('0x13'));var hardwareService=require(_0x5414('0x14'));var logger=require(_0x5414('0x15'))(_0x5414('0x16'));var utils=require(_0x5414('0x17'));var config=require(_0x5414('0x18'));var licenseUtil=require(_0x5414('0x19'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x20984f,_0x1c3a76){_0x1c3a76=_0x1c3a76||0xcc;return function(_0x56966b){if(_0x56966b){return _0x20984f['sendStatus'](_0x1c3a76);}return _0x20984f[_0x5414('0x1a')](_0x1c3a76)['end']();};}function respondWithResult(_0x33503c,_0x1af5b6){_0x1af5b6=_0x1af5b6||0xc8;return function(_0x2786f2){if(_0x2786f2){return _0x33503c['status'](_0x1af5b6)[_0x5414('0x1b')](_0x2786f2);}};}function respondWithFilteredResult(_0x4ea244,_0x2a38d5){return function(_0xa09e3e){if(_0xa09e3e){var _0x197e0a=_0xa09e3e['count'],_0xa5b769=_0x2a38d5[_0x5414('0x1c')],_0x48147d=_0x2a38d5[_0x5414('0x1c')]+_0x2a38d5[_0x5414('0x1d')],_0x4b9def;if(_0x48147d>=_0x197e0a){_0x48147d=_0x197e0a;_0x4b9def=0xc8;}else{_0x4b9def=0xce;}_0x4ea244['status'](_0x4b9def);return _0x4ea244['set'](_0x5414('0x1e'),_0xa5b769+'-'+_0x48147d+'/'+_0x197e0a)[_0x5414('0x1b')](_0xa09e3e);}return null;};}function patchUpdates(_0x5dc7b3){return function(_0x2f46e9){try{jsonpatch[_0x5414('0x1f')](_0x2f46e9,_0x5dc7b3,!![]);}catch(_0x57f637){return BPromise[_0x5414('0x20')](_0x57f637);}return _0x2f46e9['save']();};}function saveUpdates(_0x47ae7b,_0x56fdda){return function(_0x28a1df){if(_0x28a1df){return _0x28a1df[_0x5414('0x21')](_0x47ae7b)['then'](function(_0x1ae9d0){return _0x1ae9d0;});}return null;};}function removeEntity(_0x10289c,_0x1d28d5){return function(_0x2f4409){if(_0x2f4409){return _0x2f4409[_0x5414('0x22')]()[_0x5414('0x23')](function(){_0x10289c['status'](0xcc)[_0x5414('0x24')]();});}};}function handleEntityNotFound(_0x3eba52,_0x1c629c){return function(_0x508940){if(!_0x508940){_0x3eba52[_0x5414('0x25')](0x194);}return _0x508940;};}function handleError(_0x334b3e,_0x2d226b){_0x2d226b=_0x2d226b||0x1f4;return function(_0x26d846){logger[_0x5414('0x26')](_0x26d846[_0x5414('0x27')]);if(_0x26d846[_0x5414('0x28')]){delete _0x26d846[_0x5414('0x28')];}_0x334b3e['status'](_0x2d226b)[_0x5414('0x29')](_0x26d846);};}exports[_0x5414('0x2a')]=function(_0x310061,_0x3fa84d){var _0x1a4f5b={},_0x2a3ffa={},_0x522738={'count':0x0,'rows':[]};var _0x3c8b7c=_['map'](db[_0x5414('0x2b')][_0x5414('0x2c')],function(_0xa7eb14){return{'name':_0xa7eb14['fieldName'],'type':_0xa7eb14[_0x5414('0x2d')][_0x5414('0x2e')]};});_0x2a3ffa[_0x5414('0x2f')]=_['map'](_0x3c8b7c,'name');_0x2a3ffa[_0x5414('0x30')]=_['keys'](_0x310061['query']);_0x2a3ffa[_0x5414('0x31')]=_[_0x5414('0x32')](_0x2a3ffa[_0x5414('0x2f')],_0x2a3ffa['query']);_0x1a4f5b[_0x5414('0x33')]=_['intersection'](_0x2a3ffa[_0x5414('0x2f')],qs[_0x5414('0x34')](_0x310061['query']['fields']));_0x1a4f5b[_0x5414('0x33')]=_0x1a4f5b[_0x5414('0x33')]['length']?_0x1a4f5b['attributes']:_0x2a3ffa['model'];if(!_0x310061[_0x5414('0x30')]['hasOwnProperty'](_0x5414('0x35'))){_0x1a4f5b[_0x5414('0x1d')]=qs['limit'](_0x310061[_0x5414('0x30')][_0x5414('0x1d')]);_0x1a4f5b[_0x5414('0x1c')]=qs[_0x5414('0x1c')](_0x310061[_0x5414('0x30')]['offset']);}_0x1a4f5b[_0x5414('0x36')]=qs[_0x5414('0x37')](_0x310061[_0x5414('0x30')]['sort']);_0x1a4f5b[_0x5414('0x38')]=qs[_0x5414('0x31')](_[_0x5414('0x39')](_0x310061['query'],_0x2a3ffa[_0x5414('0x31')]),_0x3c8b7c);if(_0x310061['query'][_0x5414('0x3a')]){_0x1a4f5b[_0x5414('0x38')]=_[_0x5414('0x3b')](_0x1a4f5b[_0x5414('0x38')],{'$or':_[_0x5414('0x3c')](_0x3c8b7c,function(_0x2f5c53){if(_0x2f5c53[_0x5414('0x2d')]!==_0x5414('0x3d')){var _0x20b4c4={};_0x20b4c4[_0x2f5c53[_0x5414('0x28')]]={'$like':'%'+_0x310061['query'][_0x5414('0x3a')]+'%'};return _0x20b4c4;}})});}_0x1a4f5b=_[_0x5414('0x3b')]({},_0x1a4f5b,_0x310061[_0x5414('0x3e')]);var _0x88a481={'where':_0x1a4f5b[_0x5414('0x38')]};return db[_0x5414('0x2b')][_0x5414('0x3f')](_0x88a481)[_0x5414('0x23')](function(_0x1fdd29){_0x522738[_0x5414('0x3f')]=_0x1fdd29;if(_0x310061['query'][_0x5414('0x40')]){_0x1a4f5b[_0x5414('0x41')]=[{'all':!![]}];}return db[_0x5414('0x2b')][_0x5414('0x42')](_0x1a4f5b);})[_0x5414('0x23')](function(_0xb85e71){_0x522738[_0x5414('0x43')]=_0xb85e71;return _0x522738;})[_0x5414('0x23')](respondWithFilteredResult(_0x3fa84d,_0x1a4f5b))[_0x5414('0x44')](handleError(_0x3fa84d,null));};exports[_0x5414('0x45')]=function(_0x11ec7f,_0x4658ba){var _0x1f098b={'raw':!![],'where':{'id':_0x11ec7f[_0x5414('0x46')]['id']}},_0x2cc08b={};_0x2cc08b[_0x5414('0x2f')]=_[_0x5414('0x47')](db[_0x5414('0x2b')][_0x5414('0x2c')]);_0x2cc08b[_0x5414('0x30')]=_['keys'](_0x11ec7f[_0x5414('0x30')]);_0x2cc08b[_0x5414('0x31')]=_[_0x5414('0x32')](_0x2cc08b[_0x5414('0x2f')],_0x2cc08b[_0x5414('0x30')]);_0x1f098b[_0x5414('0x33')]=_[_0x5414('0x32')](_0x2cc08b[_0x5414('0x2f')],qs['fields'](_0x11ec7f[_0x5414('0x30')]['fields']));_0x1f098b['attributes']=_0x1f098b['attributes']['length']?_0x1f098b[_0x5414('0x33')]:_0x2cc08b[_0x5414('0x2f')];if(_0x11ec7f[_0x5414('0x30')][_0x5414('0x40')]){_0x1f098b['include']=[{'all':!![]}];}_0x1f098b=_[_0x5414('0x3b')]({},_0x1f098b,_0x11ec7f[_0x5414('0x3e')]);return db[_0x5414('0x2b')][_0x5414('0x48')](_0x1f098b)[_0x5414('0x23')](handleEntityNotFound(_0x4658ba,null))['then'](respondWithResult(_0x4658ba,null))[_0x5414('0x44')](handleError(_0x4658ba,null));};exports[_0x5414('0x49')]=function(_0x5acb39,_0x25e474){return db[_0x5414('0x2b')][_0x5414('0x49')](_0x5acb39[_0x5414('0x4a')],{})[_0x5414('0x23')](respondWithResult(_0x25e474,0xc9))['catch'](handleError(_0x25e474,null));};exports['update']=function(_0x4fcf51,_0x3c6d05){if(_0x4fcf51[_0x5414('0x4a')]['id']){delete _0x4fcf51['body']['id'];}return db[_0x5414('0x2b')][_0x5414('0x48')]({'where':{'id':_0x4fcf51['params']['id']}})[_0x5414('0x23')](handleEntityNotFound(_0x3c6d05,null))['then'](saveUpdates(_0x4fcf51[_0x5414('0x4a')],null))[_0x5414('0x23')](respondWithResult(_0x3c6d05,null))[_0x5414('0x44')](handleError(_0x3c6d05,null));};exports[_0x5414('0x22')]=function(_0x9f0eb1,_0x1e3a0b){return db[_0x5414('0x2b')][_0x5414('0x48')]({'where':{'id':_0x9f0eb1[_0x5414('0x46')]['id']}})[_0x5414('0x23')](handleEntityNotFound(_0x1e3a0b,null))[_0x5414('0x23')](removeEntity(_0x1e3a0b,null))['catch'](handleError(_0x1e3a0b,null));};exports[_0x5414('0x4b')]=function(_0x4a8296,_0x39ab35){return db[_0x5414('0x2b')][_0x5414('0x4b')]()[_0x5414('0x23')](respondWithResult(_0x39ab35,null))[_0x5414('0x44')](handleError(_0x39ab35,null));};