Built motion from commit (unavailable).|2.5.11
[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 _0xd384=['show','params','includeAll','find','create','body','describe','eml-format','rimraf','zip-dir','fast-json-patch','moment','mustache','util','path','sox','to-csv','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../mysqldb','sendStatus','status','end','json','count','offset','set','apply','reject','save','update','destroy','then','error','stack','name','index','map','rawAttributes','fieldName','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','where','pick','filter','type','VIRTUAL','merge','options','Cdr','include','rows','catch'];(function(_0x4f20a9,_0x329426){var _0x4ebe5b=function(_0x17e0cb){while(--_0x17e0cb){_0x4f20a9['push'](_0x4f20a9['shift']());}};_0x4ebe5b(++_0x329426);}(_0xd384,0x133));var _0x4d38=function(_0x5696a4,_0xb07ad0){_0x5696a4=_0x5696a4-0x0;var _0x6dec9d=_0xd384[_0x5696a4];return _0x6dec9d;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x4d38('0x0'));var rimraf=require(_0x4d38('0x1'));var zipdir=require(_0x4d38('0x2'));var jsonpatch=require(_0x4d38('0x3'));var rp=require('request-promise');var moment=require(_0x4d38('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x4d38('0x5'));var util=require(_0x4d38('0x6'));var path=require(_0x4d38('0x7'));var sox=require(_0x4d38('0x8'));var csv=require(_0x4d38('0x9'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x4d38('0xa'));var squel=require('squel');var crypto=require(_0x4d38('0xb'));var jsforce=require(_0x4d38('0xc'));var deskjs=require(_0x4d38('0xd'));var toCsv=require(_0x4d38('0x9'));var querystring=require(_0x4d38('0xe'));var Papa=require(_0x4d38('0xf'));var Redis=require(_0x4d38('0x10'));var authService=require(_0x4d38('0x11'));var qs=require(_0x4d38('0x12'));var as=require(_0x4d38('0x13'));var hardwareService=require(_0x4d38('0x14'));var logger=require(_0x4d38('0x15'))('api');var utils=require(_0x4d38('0x16'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x4d38('0x17'))['db'];function respondWithStatusCode(_0x2e6c51,_0xec6def){_0xec6def=_0xec6def||0xcc;return function(_0xb86d71){if(_0xb86d71){return _0x2e6c51[_0x4d38('0x18')](_0xec6def);}return _0x2e6c51[_0x4d38('0x19')](_0xec6def)[_0x4d38('0x1a')]();};}function respondWithResult(_0x4fbec8,_0x3c69fb){_0x3c69fb=_0x3c69fb||0xc8;return function(_0x4700e9){if(_0x4700e9){return _0x4fbec8[_0x4d38('0x19')](_0x3c69fb)[_0x4d38('0x1b')](_0x4700e9);}};}function respondWithFilteredResult(_0x428a05,_0x12250d){return function(_0x5e1ea5){if(_0x5e1ea5){var _0x30b868=_0x5e1ea5[_0x4d38('0x1c')],_0x1bbb7f=_0x12250d['offset'],_0x55abe6=_0x12250d[_0x4d38('0x1d')]+_0x12250d['limit'],_0x230745;if(_0x55abe6>=_0x30b868){_0x55abe6=_0x30b868;_0x230745=0xc8;}else{_0x230745=0xce;}_0x428a05[_0x4d38('0x19')](_0x230745);return _0x428a05[_0x4d38('0x1e')]('Content-Range',_0x1bbb7f+'-'+_0x55abe6+'/'+_0x30b868)[_0x4d38('0x1b')](_0x5e1ea5);}return null;};}function patchUpdates(_0x641979){return function(_0x3e3079){try{jsonpatch[_0x4d38('0x1f')](_0x3e3079,_0x641979,!![]);}catch(_0x2e137b){return BPromise[_0x4d38('0x20')](_0x2e137b);}return _0x3e3079[_0x4d38('0x21')]();};}function saveUpdates(_0x1737c6,_0x444c0d){return function(_0x23a64c){if(_0x23a64c){return _0x23a64c[_0x4d38('0x22')](_0x1737c6)['then'](function(_0x7aaebd){return _0x7aaebd;});}return null;};}function removeEntity(_0x524f33,_0x448b34){return function(_0x4ac26b){if(_0x4ac26b){return _0x4ac26b[_0x4d38('0x23')]()[_0x4d38('0x24')](function(){_0x524f33[_0x4d38('0x19')](0xcc)[_0x4d38('0x1a')]();});}};}function handleEntityNotFound(_0x30c1a4,_0x7eb685){return function(_0x426a5d){if(!_0x426a5d){_0x30c1a4['sendStatus'](0x194);}return _0x426a5d;};}function handleError(_0x57242e,_0x479a04){_0x479a04=_0x479a04||0x1f4;return function(_0x641a30){logger[_0x4d38('0x25')](_0x641a30[_0x4d38('0x26')]);if(_0x641a30['name']){delete _0x641a30[_0x4d38('0x27')];}_0x57242e[_0x4d38('0x19')](_0x479a04)['send'](_0x641a30);};}exports[_0x4d38('0x28')]=function(_0x5322d4,_0x555a12){var _0x359278={},_0x457a60={},_0x32be32={'count':0x0,'rows':[]};var _0x3a5416=_[_0x4d38('0x29')](db['Cdr'][_0x4d38('0x2a')],function(_0x215f0e){return{'name':_0x215f0e[_0x4d38('0x2b')],'type':_0x215f0e['type']['key']};});_0x457a60['model']=_[_0x4d38('0x29')](_0x3a5416,_0x4d38('0x27'));_0x457a60[_0x4d38('0x2c')]=_[_0x4d38('0x2d')](_0x5322d4[_0x4d38('0x2c')]);_0x457a60[_0x4d38('0x2e')]=_[_0x4d38('0x2f')](_0x457a60[_0x4d38('0x30')],_0x457a60[_0x4d38('0x2c')]);_0x359278[_0x4d38('0x31')]=_[_0x4d38('0x2f')](_0x457a60[_0x4d38('0x30')],qs[_0x4d38('0x32')](_0x5322d4['query'][_0x4d38('0x32')]));_0x359278[_0x4d38('0x31')]=_0x359278[_0x4d38('0x31')][_0x4d38('0x33')]?_0x359278[_0x4d38('0x31')]:_0x457a60[_0x4d38('0x30')];if(!_0x5322d4[_0x4d38('0x2c')][_0x4d38('0x34')](_0x4d38('0x35'))){_0x359278[_0x4d38('0x36')]=qs['limit'](_0x5322d4[_0x4d38('0x2c')][_0x4d38('0x36')]);_0x359278['offset']=qs[_0x4d38('0x1d')](_0x5322d4[_0x4d38('0x2c')]['offset']);}_0x359278[_0x4d38('0x37')]=qs['sort'](_0x5322d4[_0x4d38('0x2c')][_0x4d38('0x38')]);_0x359278[_0x4d38('0x39')]=qs[_0x4d38('0x2e')](_[_0x4d38('0x3a')](_0x5322d4['query'],_0x457a60[_0x4d38('0x2e')]),_0x3a5416);if(_0x5322d4[_0x4d38('0x2c')][_0x4d38('0x3b')]){_0x359278[_0x4d38('0x39')]=_['merge'](_0x359278[_0x4d38('0x39')],{'$or':_['map'](_0x3a5416,function(_0x2d1234){if(_0x2d1234[_0x4d38('0x3c')]!==_0x4d38('0x3d')){var _0x4c9ea3={};_0x4c9ea3[_0x2d1234[_0x4d38('0x27')]]={'$like':'%'+_0x5322d4[_0x4d38('0x2c')][_0x4d38('0x3b')]+'%'};return _0x4c9ea3;}})});}_0x359278=_[_0x4d38('0x3e')]({},_0x359278,_0x5322d4[_0x4d38('0x3f')]);var _0x336cc8={'where':_0x359278[_0x4d38('0x39')]};return db[_0x4d38('0x40')][_0x4d38('0x1c')](_0x336cc8)[_0x4d38('0x24')](function(_0x3cf2b8){_0x32be32[_0x4d38('0x1c')]=_0x3cf2b8;if(_0x5322d4[_0x4d38('0x2c')]['includeAll']){_0x359278[_0x4d38('0x41')]=[{'all':!![]}];}return db[_0x4d38('0x40')]['findAll'](_0x359278);})[_0x4d38('0x24')](function(_0x39280b){_0x32be32[_0x4d38('0x42')]=_0x39280b;return _0x32be32;})['then'](respondWithFilteredResult(_0x555a12,_0x359278))[_0x4d38('0x43')](handleError(_0x555a12,null));};exports[_0x4d38('0x44')]=function(_0x893756,_0x2cd10d){var _0x54362e={'raw':!![],'where':{'id':_0x893756[_0x4d38('0x45')]['id']}},_0x38ba1f={};_0x38ba1f['model']=_['keys'](db[_0x4d38('0x40')][_0x4d38('0x2a')]);_0x38ba1f[_0x4d38('0x2c')]=_[_0x4d38('0x2d')](_0x893756[_0x4d38('0x2c')]);_0x38ba1f[_0x4d38('0x2e')]=_[_0x4d38('0x2f')](_0x38ba1f['model'],_0x38ba1f[_0x4d38('0x2c')]);_0x54362e[_0x4d38('0x31')]=_[_0x4d38('0x2f')](_0x38ba1f[_0x4d38('0x30')],qs[_0x4d38('0x32')](_0x893756[_0x4d38('0x2c')][_0x4d38('0x32')]));_0x54362e[_0x4d38('0x31')]=_0x54362e[_0x4d38('0x31')][_0x4d38('0x33')]?_0x54362e[_0x4d38('0x31')]:_0x38ba1f[_0x4d38('0x30')];if(_0x893756['query'][_0x4d38('0x46')]){_0x54362e['include']=[{'all':!![]}];}_0x54362e=_[_0x4d38('0x3e')]({},_0x54362e,_0x893756[_0x4d38('0x3f')]);return db['Cdr'][_0x4d38('0x47')](_0x54362e)['then'](handleEntityNotFound(_0x2cd10d,null))['then'](respondWithResult(_0x2cd10d,null))[_0x4d38('0x43')](handleError(_0x2cd10d,null));};exports['create']=function(_0x40f507,_0x6ee63){return db['Cdr'][_0x4d38('0x48')](_0x40f507[_0x4d38('0x49')],{})['then'](respondWithResult(_0x6ee63,0xc9))['catch'](handleError(_0x6ee63,null));};exports['update']=function(_0xb77936,_0x28bce5){if(_0xb77936[_0x4d38('0x49')]['id']){delete _0xb77936[_0x4d38('0x49')]['id'];}return db[_0x4d38('0x40')]['find']({'where':{'id':_0xb77936['params']['id']}})[_0x4d38('0x24')](handleEntityNotFound(_0x28bce5,null))['then'](saveUpdates(_0xb77936[_0x4d38('0x49')],null))[_0x4d38('0x24')](respondWithResult(_0x28bce5,null))[_0x4d38('0x43')](handleError(_0x28bce5,null));};exports[_0x4d38('0x23')]=function(_0x5bb2e4,_0x491945){return db[_0x4d38('0x40')][_0x4d38('0x47')]({'where':{'id':_0x5bb2e4[_0x4d38('0x45')]['id']}})[_0x4d38('0x24')](handleEntityNotFound(_0x491945,null))[_0x4d38('0x24')](removeEntity(_0x491945,null))[_0x4d38('0x43')](handleError(_0x491945,null));};exports[_0x4d38('0x4a')]=function(_0x56ed05,_0x1a093b){return db[_0x4d38('0x40')][_0x4d38('0x4a')]()[_0x4d38('0x24')](respondWithResult(_0x1a093b,null))[_0x4d38('0x43')](handleError(_0x1a093b,null));};