703a1165b0457b01c9d1d3ccd915085e9fae69ea
[motion2.git] / server / api / mailQueueReport / mailQueueReport.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 _0x10c2=['update','then','end','error','name','index','map','MailQueueReport','fieldName','type','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','filters','merge','VIRTUAL','options','include','findAll','rows','catch','show','params','rawAttributes','includeAll','create','body','find','destroy','describe','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','path','sox','to-csv','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','sendStatus','status','json','offset','limit','undefined','count','set','Content-Range','apply','reject'];(function(_0xe5a4a9,_0x5b7e08){var _0x4c9e71=function(_0x3bdba4){while(--_0x3bdba4){_0xe5a4a9['push'](_0xe5a4a9['shift']());}};_0x4c9e71(++_0x5b7e08);}(_0x10c2,0x1de));var _0x210c=function(_0x155d7d,_0x45d9e2){_0x155d7d=_0x155d7d-0x0;var _0x5c244c=_0x10c2[_0x155d7d];return _0x5c244c;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x210c('0x0'));var zipdir=require(_0x210c('0x1'));var jsonpatch=require(_0x210c('0x2'));var rp=require(_0x210c('0x3'));var moment=require('moment');var BPromise=require(_0x210c('0x4'));var Mustache=require(_0x210c('0x5'));var util=require('util');var path=require(_0x210c('0x6'));var sox=require(_0x210c('0x7'));var csv=require(_0x210c('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x210c('0x9'));var _=require(_0x210c('0xa'));var squel=require('squel');var crypto=require(_0x210c('0xb'));var jsforce=require(_0x210c('0xc'));var deskjs=require(_0x210c('0xd'));var toCsv=require(_0x210c('0x8'));var querystring=require(_0x210c('0xe'));var Papa=require(_0x210c('0xf'));var Redis=require(_0x210c('0x10'));var authService=require(_0x210c('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0x210c('0x12'));var hardwareService=require(_0x210c('0x13'));var logger=require(_0x210c('0x14'))('api');var utils=require('../../config/utils');var config=require(_0x210c('0x15'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x1e7605,_0x2ff3e6){_0x2ff3e6=_0x2ff3e6||0xcc;return function(_0xae0be0){if(_0xae0be0){return _0x1e7605[_0x210c('0x16')](_0x2ff3e6);}return _0x1e7605[_0x210c('0x17')](_0x2ff3e6)['end']();};}function respondWithResult(_0x35995e,_0x16a9b1){_0x16a9b1=_0x16a9b1||0xc8;return function(_0xd5ab93){if(_0xd5ab93){return _0x35995e['status'](_0x16a9b1)[_0x210c('0x18')](_0xd5ab93);}};}function respondWithFilteredResult(_0xc36cc5,_0x2537ee){return function(_0x4438da){if(_0x4438da){var _0x5e6a3c=typeof _0x2537ee[_0x210c('0x19')]==='undefined'&&typeof _0x2537ee[_0x210c('0x1a')]===_0x210c('0x1b');var _0x6e59aa=_0x4438da['count'];var _0x59cf86=_0x5e6a3c?0x0:_0x2537ee[_0x210c('0x19')];var _0x347b56=_0x5e6a3c?_0x4438da[_0x210c('0x1c')]:_0x2537ee['offset']+_0x2537ee[_0x210c('0x1a')];var _0xa70b09;if(_0x347b56>=_0x6e59aa){_0x347b56=_0x6e59aa;_0xa70b09=0xc8;}else{_0xa70b09=0xce;}_0xc36cc5[_0x210c('0x17')](_0xa70b09);return _0xc36cc5[_0x210c('0x1d')](_0x210c('0x1e'),_0x59cf86+'-'+_0x347b56+'/'+_0x6e59aa)['json'](_0x4438da);}return null;};}function patchUpdates(_0x1f0b8f){return function(_0x14aabd){try{jsonpatch[_0x210c('0x1f')](_0x14aabd,_0x1f0b8f,!![]);}catch(_0x18275f){return BPromise[_0x210c('0x20')](_0x18275f);}return _0x14aabd['save']();};}function saveUpdates(_0x386ebd,_0x3b7f38){return function(_0x5d16eb){if(_0x5d16eb){return _0x5d16eb[_0x210c('0x21')](_0x386ebd)[_0x210c('0x22')](function(_0x42aacc){return _0x42aacc;});}return null;};}function removeEntity(_0x3e1199,_0x4e65ff){return function(_0x4d933d){if(_0x4d933d){return _0x4d933d['destroy']()[_0x210c('0x22')](function(){_0x3e1199[_0x210c('0x17')](0xcc)[_0x210c('0x23')]();});}};}function handleEntityNotFound(_0x5bca60,_0x5b2e01){return function(_0xe3ef50){if(!_0xe3ef50){_0x5bca60['sendStatus'](0x194);}return _0xe3ef50;};}function handleError(_0x2579de,_0x1930db){_0x1930db=_0x1930db||0x1f4;return function(_0xc280f7){logger[_0x210c('0x24')](_0xc280f7['stack']);if(_0xc280f7[_0x210c('0x25')]){delete _0xc280f7['name'];}_0x2579de[_0x210c('0x17')](_0x1930db)['send'](_0xc280f7);};}exports[_0x210c('0x26')]=function(_0x2787e4,_0x367982){var _0x924f03={},_0x2dd070={},_0x1e85fe={'count':0x0,'rows':[]};var _0x19f44c=_[_0x210c('0x27')](db[_0x210c('0x28')]['rawAttributes'],function(_0x8ebf56){return{'name':_0x8ebf56[_0x210c('0x29')],'type':_0x8ebf56[_0x210c('0x2a')][_0x210c('0x2b')]};});_0x2dd070[_0x210c('0x2c')]=_[_0x210c('0x27')](_0x19f44c,_0x210c('0x25'));_0x2dd070[_0x210c('0x2d')]=_[_0x210c('0x2e')](_0x2787e4[_0x210c('0x2d')]);_0x2dd070['filters']=_[_0x210c('0x2f')](_0x2dd070[_0x210c('0x2c')],_0x2dd070[_0x210c('0x2d')]);_0x924f03[_0x210c('0x30')]=_[_0x210c('0x2f')](_0x2dd070['model'],qs[_0x210c('0x31')](_0x2787e4[_0x210c('0x2d')][_0x210c('0x31')]));_0x924f03[_0x210c('0x30')]=_0x924f03[_0x210c('0x30')][_0x210c('0x32')]?_0x924f03[_0x210c('0x30')]:_0x2dd070[_0x210c('0x2c')];if(!_0x2787e4[_0x210c('0x2d')][_0x210c('0x33')](_0x210c('0x34'))){_0x924f03[_0x210c('0x1a')]=qs[_0x210c('0x1a')](_0x2787e4[_0x210c('0x2d')][_0x210c('0x1a')]);_0x924f03[_0x210c('0x19')]=qs[_0x210c('0x19')](_0x2787e4[_0x210c('0x2d')][_0x210c('0x19')]);}_0x924f03['order']=qs[_0x210c('0x35')](_0x2787e4[_0x210c('0x2d')][_0x210c('0x35')]);_0x924f03[_0x210c('0x36')]=qs['filters'](_[_0x210c('0x37')](_0x2787e4[_0x210c('0x2d')],_0x2dd070[_0x210c('0x38')]),_0x19f44c);if(_0x2787e4[_0x210c('0x2d')]['filter']){_0x924f03[_0x210c('0x36')]=_[_0x210c('0x39')](_0x924f03['where'],{'$or':_[_0x210c('0x27')](_0x19f44c,function(_0x234b8f){if(_0x234b8f['type']!==_0x210c('0x3a')){var _0x212559={};_0x212559[_0x234b8f[_0x210c('0x25')]]={'$like':'%'+_0x2787e4[_0x210c('0x2d')]['filter']+'%'};return _0x212559;}})});}_0x924f03=_[_0x210c('0x39')]({},_0x924f03,_0x2787e4[_0x210c('0x3b')]);var _0x18d3f2={'where':_0x924f03[_0x210c('0x36')]};return db['MailQueueReport'][_0x210c('0x1c')](_0x18d3f2)['then'](function(_0x1a9a65){_0x1e85fe['count']=_0x1a9a65;if(_0x2787e4[_0x210c('0x2d')]['includeAll']){_0x924f03[_0x210c('0x3c')]=[{'all':!![]}];}return db['MailQueueReport'][_0x210c('0x3d')](_0x924f03);})['then'](function(_0x575bf6){_0x1e85fe[_0x210c('0x3e')]=_0x575bf6;return _0x1e85fe;})[_0x210c('0x22')](respondWithFilteredResult(_0x367982,_0x924f03))[_0x210c('0x3f')](handleError(_0x367982,null));};exports[_0x210c('0x40')]=function(_0x1bf7f1,_0x251e93){var _0xf8aaf9={'raw':!![],'where':{'id':_0x1bf7f1[_0x210c('0x41')]['id']}},_0x49df21={};_0x49df21[_0x210c('0x2c')]=_['keys'](db[_0x210c('0x28')][_0x210c('0x42')]);_0x49df21[_0x210c('0x2d')]=_[_0x210c('0x2e')](_0x1bf7f1['query']);_0x49df21[_0x210c('0x38')]=_[_0x210c('0x2f')](_0x49df21[_0x210c('0x2c')],_0x49df21[_0x210c('0x2d')]);_0xf8aaf9['attributes']=_[_0x210c('0x2f')](_0x49df21['model'],qs[_0x210c('0x31')](_0x1bf7f1[_0x210c('0x2d')][_0x210c('0x31')]));_0xf8aaf9[_0x210c('0x30')]=_0xf8aaf9[_0x210c('0x30')][_0x210c('0x32')]?_0xf8aaf9[_0x210c('0x30')]:_0x49df21[_0x210c('0x2c')];if(_0x1bf7f1[_0x210c('0x2d')][_0x210c('0x43')]){_0xf8aaf9['include']=[{'all':!![]}];}_0xf8aaf9=_[_0x210c('0x39')]({},_0xf8aaf9,_0x1bf7f1[_0x210c('0x3b')]);return db[_0x210c('0x28')]['find'](_0xf8aaf9)[_0x210c('0x22')](handleEntityNotFound(_0x251e93,null))[_0x210c('0x22')](respondWithResult(_0x251e93,null))[_0x210c('0x3f')](handleError(_0x251e93,null));};exports['create']=function(_0x25e1b0,_0x147a0b){return db[_0x210c('0x28')][_0x210c('0x44')](_0x25e1b0[_0x210c('0x45')],{})[_0x210c('0x22')](respondWithResult(_0x147a0b,0xc9))[_0x210c('0x3f')](handleError(_0x147a0b,null));};exports[_0x210c('0x21')]=function(_0x5f8108,_0x1d91f2){if(_0x5f8108[_0x210c('0x45')]['id']){delete _0x5f8108['body']['id'];}return db[_0x210c('0x28')][_0x210c('0x46')]({'where':{'id':_0x5f8108[_0x210c('0x41')]['id']}})[_0x210c('0x22')](handleEntityNotFound(_0x1d91f2,null))[_0x210c('0x22')](saveUpdates(_0x5f8108['body'],null))[_0x210c('0x22')](respondWithResult(_0x1d91f2,null))['catch'](handleError(_0x1d91f2,null));};exports[_0x210c('0x47')]=function(_0x50a960,_0x57a22e){return db['MailQueueReport'][_0x210c('0x46')]({'where':{'id':_0x50a960[_0x210c('0x41')]['id']}})['then'](handleEntityNotFound(_0x57a22e,null))[_0x210c('0x22')](removeEntity(_0x57a22e,null))['catch'](handleError(_0x57a22e,null));};exports['describe']=function(_0x33a3e5,_0x5ba46e){return db[_0x210c('0x28')][_0x210c('0x48')]()[_0x210c('0x22')](respondWithResult(_0x5ba46e,null))['catch'](handleError(_0x5ba46e,null));};