752a7195cde5a7da6119abfa8670bb28ced32d9c
[motion2.git] / server / api / mailTransferReport / mailTransferReport.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 _0xbc9a=['offset','undefined','limit','count','Content-Range','reject','update','then','error','stack','name','send','map','MailTransferReport','rawAttributes','type','query','keys','filters','intersection','model','attributes','fields','length','nolimit','sort','where','pick','VIRTUAL','filter','merge','options','includeAll','include','findAll','rows','find','catch','create','body','params','describe','request-promise','moment','mustache','util','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json'];(function(_0x4ea413,_0x51ff3a){var _0x51cf25=function(_0x3c6456){while(--_0x3c6456){_0x4ea413['push'](_0x4ea413['shift']());}};_0x51cf25(++_0x51ff3a);}(_0xbc9a,0xf3));var _0xabc9=function(_0x322522,_0x4db288){_0x322522=_0x322522-0x0;var _0x293bcf=_0xbc9a[_0x322522];return _0x293bcf;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xabc9('0x0'));var moment=require(_0xabc9('0x1'));var BPromise=require('bluebird');var Mustache=require(_0xabc9('0x2'));var util=require(_0xabc9('0x3'));var path=require('path');var sox=require(_0xabc9('0x4'));var csv=require(_0xabc9('0x5'));var ejs=require(_0xabc9('0x6'));var fs=require('fs');var fs_extra=require(_0xabc9('0x7'));var _=require(_0xabc9('0x8'));var squel=require(_0xabc9('0x9'));var crypto=require(_0xabc9('0xa'));var jsforce=require(_0xabc9('0xb'));var deskjs=require(_0xabc9('0xc'));var toCsv=require(_0xabc9('0x5'));var querystring=require(_0xabc9('0xd'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xabc9('0xe'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0xabc9('0xf'))(_0xabc9('0x10'));var utils=require(_0xabc9('0x11'));var config=require(_0xabc9('0x12'));var licenseUtil=require(_0xabc9('0x13'));var db=require(_0xabc9('0x14'))['db'];function respondWithStatusCode(_0x3653f9,_0x29b0eb){_0x29b0eb=_0x29b0eb||0xcc;return function(_0x5bca86){if(_0x5bca86){return _0x3653f9[_0xabc9('0x15')](_0x29b0eb);}return _0x3653f9[_0xabc9('0x16')](_0x29b0eb)[_0xabc9('0x17')]();};}function respondWithResult(_0x423993,_0x1dae02){_0x1dae02=_0x1dae02||0xc8;return function(_0x5bdff8){if(_0x5bdff8){return _0x423993['status'](_0x1dae02)[_0xabc9('0x18')](_0x5bdff8);}};}function respondWithFilteredResult(_0x5d40a5,_0x4b8004){return function(_0x5dc1c2){if(_0x5dc1c2){var _0x450118=typeof _0x4b8004[_0xabc9('0x19')]===_0xabc9('0x1a')&&typeof _0x4b8004[_0xabc9('0x1b')]===_0xabc9('0x1a');var _0x52e25c=_0x5dc1c2[_0xabc9('0x1c')];var _0x2a2707=_0x450118?0x0:_0x4b8004[_0xabc9('0x19')];var _0xaac8f0=_0x450118?_0x5dc1c2[_0xabc9('0x1c')]:_0x4b8004[_0xabc9('0x19')]+_0x4b8004['limit'];var _0x1aa44a;if(_0xaac8f0>=_0x52e25c){_0xaac8f0=_0x52e25c;_0x1aa44a=0xc8;}else{_0x1aa44a=0xce;}_0x5d40a5['status'](_0x1aa44a);return _0x5d40a5['set'](_0xabc9('0x1d'),_0x2a2707+'-'+_0xaac8f0+'/'+_0x52e25c)['json'](_0x5dc1c2);}return null;};}function patchUpdates(_0x3b22ea){return function(_0x4c4d2c){try{jsonpatch['apply'](_0x4c4d2c,_0x3b22ea,!![]);}catch(_0x583ece){return BPromise[_0xabc9('0x1e')](_0x583ece);}return _0x4c4d2c['save']();};}function saveUpdates(_0x2d9cf7,_0x299589){return function(_0x51e78a){if(_0x51e78a){return _0x51e78a[_0xabc9('0x1f')](_0x2d9cf7)[_0xabc9('0x20')](function(_0x179c75){return _0x179c75;});}return null;};}function removeEntity(_0x28a9a9,_0x11992f){return function(_0x42febe){if(_0x42febe){return _0x42febe['destroy']()[_0xabc9('0x20')](function(){_0x28a9a9[_0xabc9('0x16')](0xcc)[_0xabc9('0x17')]();});}};}function handleEntityNotFound(_0x447f8a,_0x492d17){return function(_0x58ee25){if(!_0x58ee25){_0x447f8a['sendStatus'](0x194);}return _0x58ee25;};}function handleError(_0x4784ef,_0x109df9){_0x109df9=_0x109df9||0x1f4;return function(_0x3109fc){logger[_0xabc9('0x21')](_0x3109fc[_0xabc9('0x22')]);if(_0x3109fc[_0xabc9('0x23')]){delete _0x3109fc[_0xabc9('0x23')];}_0x4784ef[_0xabc9('0x16')](_0x109df9)[_0xabc9('0x24')](_0x3109fc);};}exports['index']=function(_0x5851f0,_0x142288){var _0x539471={},_0x10dde2={},_0x57de05={'count':0x0,'rows':[]};var _0x46bb4e=_[_0xabc9('0x25')](db[_0xabc9('0x26')][_0xabc9('0x27')],function(_0x4bcc66){return{'name':_0x4bcc66['fieldName'],'type':_0x4bcc66[_0xabc9('0x28')]['key']};});_0x10dde2['model']=_[_0xabc9('0x25')](_0x46bb4e,_0xabc9('0x23'));_0x10dde2[_0xabc9('0x29')]=_[_0xabc9('0x2a')](_0x5851f0['query']);_0x10dde2[_0xabc9('0x2b')]=_[_0xabc9('0x2c')](_0x10dde2[_0xabc9('0x2d')],_0x10dde2[_0xabc9('0x29')]);_0x539471[_0xabc9('0x2e')]=_[_0xabc9('0x2c')](_0x10dde2[_0xabc9('0x2d')],qs[_0xabc9('0x2f')](_0x5851f0[_0xabc9('0x29')]['fields']));_0x539471[_0xabc9('0x2e')]=_0x539471[_0xabc9('0x2e')][_0xabc9('0x30')]?_0x539471[_0xabc9('0x2e')]:_0x10dde2[_0xabc9('0x2d')];if(!_0x5851f0[_0xabc9('0x29')]['hasOwnProperty'](_0xabc9('0x31'))){_0x539471[_0xabc9('0x1b')]=qs[_0xabc9('0x1b')](_0x5851f0[_0xabc9('0x29')][_0xabc9('0x1b')]);_0x539471[_0xabc9('0x19')]=qs[_0xabc9('0x19')](_0x5851f0[_0xabc9('0x29')][_0xabc9('0x19')]);}_0x539471['order']=qs[_0xabc9('0x32')](_0x5851f0[_0xabc9('0x29')][_0xabc9('0x32')]);_0x539471[_0xabc9('0x33')]=qs[_0xabc9('0x2b')](_[_0xabc9('0x34')](_0x5851f0['query'],_0x10dde2[_0xabc9('0x2b')]),_0x46bb4e);if(_0x5851f0['query']['filter']){_0x539471[_0xabc9('0x33')]=_['merge'](_0x539471[_0xabc9('0x33')],{'$or':_[_0xabc9('0x25')](_0x46bb4e,function(_0x4407fe){if(_0x4407fe[_0xabc9('0x28')]!==_0xabc9('0x35')){var _0x3fdd57={};_0x3fdd57[_0x4407fe[_0xabc9('0x23')]]={'$like':'%'+_0x5851f0[_0xabc9('0x29')][_0xabc9('0x36')]+'%'};return _0x3fdd57;}})});}_0x539471=_[_0xabc9('0x37')]({},_0x539471,_0x5851f0[_0xabc9('0x38')]);var _0x4932b4={'where':_0x539471[_0xabc9('0x33')]};return db['MailTransferReport'][_0xabc9('0x1c')](_0x4932b4)['then'](function(_0x19444a){_0x57de05[_0xabc9('0x1c')]=_0x19444a;if(_0x5851f0[_0xabc9('0x29')][_0xabc9('0x39')]){_0x539471[_0xabc9('0x3a')]=[{'all':!![]}];}return db['MailTransferReport'][_0xabc9('0x3b')](_0x539471);})[_0xabc9('0x20')](function(_0x1d5402){_0x57de05[_0xabc9('0x3c')]=_0x1d5402;return _0x57de05;})[_0xabc9('0x20')](respondWithFilteredResult(_0x142288,_0x539471))['catch'](handleError(_0x142288,null));};exports['show']=function(_0x2a079a,_0x108324){var _0x48c154={'raw':!![],'where':{'id':_0x2a079a['params']['id']}},_0x1ed873={};_0x1ed873[_0xabc9('0x2d')]=_[_0xabc9('0x2a')](db[_0xabc9('0x26')]['rawAttributes']);_0x1ed873[_0xabc9('0x29')]=_['keys'](_0x2a079a['query']);_0x1ed873[_0xabc9('0x2b')]=_[_0xabc9('0x2c')](_0x1ed873[_0xabc9('0x2d')],_0x1ed873[_0xabc9('0x29')]);_0x48c154[_0xabc9('0x2e')]=_[_0xabc9('0x2c')](_0x1ed873[_0xabc9('0x2d')],qs[_0xabc9('0x2f')](_0x2a079a[_0xabc9('0x29')][_0xabc9('0x2f')]));_0x48c154['attributes']=_0x48c154[_0xabc9('0x2e')][_0xabc9('0x30')]?_0x48c154['attributes']:_0x1ed873[_0xabc9('0x2d')];if(_0x2a079a[_0xabc9('0x29')]['includeAll']){_0x48c154[_0xabc9('0x3a')]=[{'all':!![]}];}_0x48c154=_[_0xabc9('0x37')]({},_0x48c154,_0x2a079a[_0xabc9('0x38')]);return db['MailTransferReport'][_0xabc9('0x3d')](_0x48c154)['then'](handleEntityNotFound(_0x108324,null))[_0xabc9('0x20')](respondWithResult(_0x108324,null))[_0xabc9('0x3e')](handleError(_0x108324,null));};exports[_0xabc9('0x3f')]=function(_0x4f8c6f,_0x5e143b){return db[_0xabc9('0x26')][_0xabc9('0x3f')](_0x4f8c6f[_0xabc9('0x40')],{})[_0xabc9('0x20')](respondWithResult(_0x5e143b,0xc9))['catch'](handleError(_0x5e143b,null));};exports[_0xabc9('0x1f')]=function(_0x3f389d,_0x4f3fe6){if(_0x3f389d[_0xabc9('0x40')]['id']){delete _0x3f389d['body']['id'];}return db[_0xabc9('0x26')][_0xabc9('0x3d')]({'where':{'id':_0x3f389d['params']['id']}})['then'](handleEntityNotFound(_0x4f3fe6,null))[_0xabc9('0x20')](saveUpdates(_0x3f389d['body'],null))[_0xabc9('0x20')](respondWithResult(_0x4f3fe6,null))[_0xabc9('0x3e')](handleError(_0x4f3fe6,null));};exports['destroy']=function(_0x4aea5b,_0x13602d){return db[_0xabc9('0x26')]['find']({'where':{'id':_0x4aea5b[_0xabc9('0x41')]['id']}})['then'](handleEntityNotFound(_0x13602d,null))[_0xabc9('0x20')](removeEntity(_0x13602d,null))[_0xabc9('0x3e')](handleError(_0x13602d,null));};exports['describe']=function(_0x1b2c12,_0xa4bcb5){return db[_0xabc9('0x26')][_0xabc9('0x42')]()['then'](respondWithResult(_0xa4bcb5,null))[_0xabc9('0x3e')](handleError(_0xa4bcb5,null));};