Built motion from commit (unavailable).|2.0.78
[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 _0x99e9=['apply','reject','save','update','then','destroy','error','stack','name','index','rawAttributes','query','dateStart','dateEnd','keys','filters','intersection','attributes','fields','model','hasOwnProperty','nolimit','sort','where','pick','add','merge','filter','map','options','includeAll','include','Cdr','rows','catch','show','params','create','body','find','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','path','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set'];(function(_0xdee3c7,_0xe3773a){var _0x496704=function(_0x5dc1e6){while(--_0x5dc1e6){_0xdee3c7['push'](_0xdee3c7['shift']());}};_0x496704(++_0xe3773a);}(_0x99e9,0xb4));var _0x999e=function(_0x4fa489,_0x4cba6b){_0x4fa489=_0x4fa489-0x0;var _0x41d2ce=_0x99e9[_0x4fa489];return _0x41d2ce;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x999e('0x0'));var rimraf=require(_0x999e('0x1'));var zipdir=require(_0x999e('0x2'));var jsonpatch=require(_0x999e('0x3'));var rp=require('request-promise');var moment=require(_0x999e('0x4'));var BPromise=require(_0x999e('0x5'));var Mustache=require(_0x999e('0x6'));var util=require('util');var path=require(_0x999e('0x7'));var sox=require('sox');var csv=require(_0x999e('0x8'));var ejs=require(_0x999e('0x9'));var fs=require('fs');var _=require(_0x999e('0xa'));var squel=require(_0x999e('0xb'));var crypto=require('crypto');var jsforce=require(_0x999e('0xc'));var deskjs=require(_0x999e('0xd'));var toCsv=require(_0x999e('0x8'));var querystring=require(_0x999e('0xe'));var Papa=require(_0x999e('0xf'));var qs=require(_0x999e('0x10'));var logger=require(_0x999e('0x11'))(_0x999e('0x12'));var utils=require(_0x999e('0x13'));var config=require(_0x999e('0x14'));var db=require(_0x999e('0x15'))['db'];function respondWithStatusCode(_0x1d19b0,_0x4246b1){_0x4246b1=_0x4246b1||0xcc;return function(_0x188d02){if(_0x188d02){return _0x1d19b0[_0x999e('0x16')](_0x4246b1);}return _0x1d19b0[_0x999e('0x17')](_0x4246b1)[_0x999e('0x18')]();};}function respondWithResult(_0x47a3c1,_0x15f771){_0x15f771=_0x15f771||0xc8;return function(_0x54afad){if(_0x54afad){return _0x47a3c1[_0x999e('0x17')](_0x15f771)[_0x999e('0x19')](_0x54afad);}};}function respondWithFilteredResult(_0x2fbc3e,_0x538a92){return function(_0x28bdd1){if(_0x28bdd1){var _0x4d1716=_0x28bdd1[_0x999e('0x1a')],_0xa44e4c=_0x538a92[_0x999e('0x1b')],_0x539598=_0x538a92[_0x999e('0x1b')]+_0x538a92[_0x999e('0x1c')],_0x549ad4;if(_0x539598>=_0x4d1716){_0x539598=_0x4d1716;_0x549ad4=0xc8;}else{_0x549ad4=0xce;}_0x2fbc3e[_0x999e('0x17')](_0x549ad4);return _0x2fbc3e[_0x999e('0x1d')]('Content-Range',_0xa44e4c+'-'+_0x539598+'/'+_0x4d1716)['json'](_0x28bdd1);}return null;};}function patchUpdates(_0x4fcdfb){return function(_0x3153ce){try{jsonpatch[_0x999e('0x1e')](_0x3153ce,_0x4fcdfb,!![]);}catch(_0xc4ef74){return BPromise[_0x999e('0x1f')](_0xc4ef74);}return _0x3153ce[_0x999e('0x20')]();};}function saveUpdates(_0x3ece5e,_0x5af4c3){return function(_0x5d86d4){if(_0x5d86d4){return _0x5d86d4[_0x999e('0x21')](_0x3ece5e)[_0x999e('0x22')](function(_0x3b3642){return _0x3b3642;});}return null;};}function removeEntity(_0x510fa2,_0x351dd7){return function(_0x42e167){if(_0x42e167){return _0x42e167[_0x999e('0x23')]()[_0x999e('0x22')](function(){_0x510fa2[_0x999e('0x17')](0xcc)[_0x999e('0x18')]();});}};}function handleEntityNotFound(_0x427bcf,_0x4d4474){return function(_0x54ad83){if(!_0x54ad83){_0x427bcf[_0x999e('0x16')](0x194);}return _0x54ad83;};}function handleError(_0x4f0091,_0x4c5491){_0x4c5491=_0x4c5491||0x1f4;return function(_0x452acd){logger[_0x999e('0x24')](_0x452acd[_0x999e('0x25')]);if(_0x452acd[_0x999e('0x26')]){delete _0x452acd[_0x999e('0x26')];}_0x4f0091[_0x999e('0x17')](_0x4c5491)['send'](_0x452acd);};}exports[_0x999e('0x27')]=function(_0x4199ff,_0x11068e){var _0x12b9ad={},_0x1b7adb={},_0x1d2dc6={'count':0x0,'rows':[]};var _0x44b790=db['Cdr'][_0x999e('0x28')];_0x1b7adb['model']=_['keys'](_0x44b790);var _0x3dff6b={'dateStart':_0x4199ff[_0x999e('0x29')][_0x999e('0x2a')],'dateEnd':_0x4199ff['query'][_0x999e('0x2b')]};delete _0x4199ff[_0x999e('0x29')][_0x999e('0x2a')];delete _0x4199ff[_0x999e('0x29')][_0x999e('0x2b')];_0x1b7adb[_0x999e('0x29')]=_[_0x999e('0x2c')](_0x4199ff[_0x999e('0x29')]);_0x1b7adb[_0x999e('0x2d')]=_[_0x999e('0x2e')](_0x1b7adb['model'],_0x1b7adb[_0x999e('0x29')]);_0x12b9ad[_0x999e('0x2f')]=_[_0x999e('0x2e')](_0x1b7adb['model'],qs[_0x999e('0x30')](_0x4199ff['query']['fields']));_0x12b9ad[_0x999e('0x2f')]=_0x12b9ad[_0x999e('0x2f')]['length']?_0x12b9ad['attributes']:_0x1b7adb[_0x999e('0x31')];if(!_0x4199ff[_0x999e('0x29')][_0x999e('0x32')](_0x999e('0x33'))){_0x12b9ad['limit']=qs[_0x999e('0x1c')](_0x4199ff[_0x999e('0x29')][_0x999e('0x1c')]);_0x12b9ad[_0x999e('0x1b')]=qs['offset'](_0x4199ff['query'][_0x999e('0x1b')]);}_0x12b9ad['order']=qs[_0x999e('0x34')](_0x4199ff[_0x999e('0x29')][_0x999e('0x34')]);_0x12b9ad[_0x999e('0x35')]=qs['filters'](_[_0x999e('0x36')](_0x4199ff[_0x999e('0x29')],_0x1b7adb['filters']));if(_0x3dff6b['dateStart']){if(_0x3dff6b[_0x999e('0x2b')]){_0x3dff6b['dateEnd']=moment(_0x3dff6b[_0x999e('0x2b')])['add'](0x1,'day');}else{_0x3dff6b['dateEnd']=moment(_0x3dff6b['dateStart'])[_0x999e('0x37')](0x1,'day');}_[_0x999e('0x38')](_0x12b9ad['where'],{'createdAt':{'$gte':_0x3dff6b['dateStart'],'$lte':_0x3dff6b['dateEnd']}});}if(_0x4199ff[_0x999e('0x29')][_0x999e('0x39')]){_0x12b9ad[_0x999e('0x35')]=_[_0x999e('0x38')](_0x12b9ad[_0x999e('0x35')],{'$or':_[_0x999e('0x3a')](_0x12b9ad[_0x999e('0x2f')],function(_0x176a8c){var _0x54866a={};_0x54866a[_0x176a8c]={'$like':'%'+_0x4199ff[_0x999e('0x29')][_0x999e('0x39')]+'%'};return _0x54866a;})});}_0x12b9ad=_[_0x999e('0x38')]({},_0x12b9ad,_0x4199ff[_0x999e('0x3b')]);var _0x5dd3db={'where':_0x12b9ad[_0x999e('0x35')]};return db['Cdr'][_0x999e('0x1a')](_0x5dd3db)[_0x999e('0x22')](function(_0x2c19b2){_0x1d2dc6[_0x999e('0x1a')]=_0x2c19b2;if(_0x4199ff['query'][_0x999e('0x3c')]){_0x12b9ad[_0x999e('0x3d')]=[{'all':!![]}];}return db[_0x999e('0x3e')]['findAll'](_0x12b9ad);})['then'](function(_0x282bd7){_0x1d2dc6[_0x999e('0x3f')]=_0x282bd7;return _0x1d2dc6;})[_0x999e('0x22')](respondWithFilteredResult(_0x11068e,_0x12b9ad))[_0x999e('0x40')](handleError(_0x11068e,null));};exports[_0x999e('0x41')]=function(_0x109019,_0x2bec31){var _0x417086={'raw':!![],'where':{'id':_0x109019[_0x999e('0x42')]['id']}},_0x2576da={};_0x2576da['model']=_['keys'](db[_0x999e('0x3e')][_0x999e('0x28')]);_0x2576da[_0x999e('0x29')]=_[_0x999e('0x2c')](_0x109019[_0x999e('0x29')]);_0x2576da[_0x999e('0x2d')]=_['intersection'](_0x2576da[_0x999e('0x31')],_0x2576da['query']);_0x417086['attributes']=_[_0x999e('0x2e')](_0x2576da['model'],qs['fields'](_0x109019['query']['fields']));_0x417086[_0x999e('0x2f')]=_0x417086[_0x999e('0x2f')]['length']?_0x417086[_0x999e('0x2f')]:_0x2576da[_0x999e('0x31')];if(_0x109019[_0x999e('0x29')]['includeAll']){_0x417086['include']=[{'all':!![]}];}_0x417086=_[_0x999e('0x38')]({},_0x417086,_0x109019[_0x999e('0x3b')]);return db[_0x999e('0x3e')]['find'](_0x417086)['then'](handleEntityNotFound(_0x2bec31,null))['then'](respondWithResult(_0x2bec31,null))['catch'](handleError(_0x2bec31,null));};exports[_0x999e('0x43')]=function(_0x56a064,_0x490154){return db[_0x999e('0x3e')][_0x999e('0x43')](_0x56a064['body'],{})[_0x999e('0x22')](respondWithResult(_0x490154,0xc9))[_0x999e('0x40')](handleError(_0x490154,null));};exports['update']=function(_0x2aa072,_0x58be33){if(_0x2aa072[_0x999e('0x44')]['id']){delete _0x2aa072[_0x999e('0x44')]['id'];}return db['Cdr'][_0x999e('0x45')]({'where':{'id':_0x2aa072[_0x999e('0x42')]['id']}})['then'](handleEntityNotFound(_0x58be33,null))['then'](saveUpdates(_0x2aa072[_0x999e('0x44')],null))['then'](respondWithResult(_0x58be33,null))['catch'](handleError(_0x58be33,null));};exports['destroy']=function(_0x1f85dd,_0x3b2023){return db[_0x999e('0x3e')][_0x999e('0x45')]({'where':{'id':_0x1f85dd[_0x999e('0x42')]['id']}})[_0x999e('0x22')](handleEntityNotFound(_0x3b2023,null))['then'](removeEntity(_0x3b2023,null))[_0x999e('0x40')](handleError(_0x3b2023,null));};