1e9e3f91e8a23dac802d3c7cbcbb05046e7680c4
[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 _0xd1a4=['include','findAll','rows','catch','show','params','rawAttributes','find','create','body','describe','rimraf','moment','bluebird','util','path','to-csv','ejs','fs-extra','squel','jsforce','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','limit','count','set','Content-Range','apply','save','update','end','error','stack','name','send','map','fieldName','type','key','model','keys','query','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','merge','VIRTUAL','options','MailTransferReport','then','includeAll'];(function(_0x1976b7,_0xea718a){var _0x2ad878=function(_0x34412a){while(--_0x34412a){_0x1976b7['push'](_0x1976b7['shift']());}};_0x2ad878(++_0xea718a);}(_0xd1a4,0x16e));var _0x4d1a=function(_0x50d16f,_0x236757){_0x50d16f=_0x50d16f-0x0;var _0x479855=_0xd1a4[_0x50d16f];return _0x479855;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x4d1a('0x0'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x4d1a('0x1'));var BPromise=require(_0x4d1a('0x2'));var Mustache=require('mustache');var util=require(_0x4d1a('0x3'));var path=require(_0x4d1a('0x4'));var sox=require('sox');var csv=require(_0x4d1a('0x5'));var ejs=require(_0x4d1a('0x6'));var fs=require('fs');var fs_extra=require(_0x4d1a('0x7'));var _=require('lodash');var squel=require(_0x4d1a('0x8'));var crypto=require('crypto');var jsforce=require(_0x4d1a('0x9'));var deskjs=require('desk.js');var toCsv=require(_0x4d1a('0x5'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x4d1a('0xa'));var authService=require(_0x4d1a('0xb'));var qs=require(_0x4d1a('0xc'));var as=require(_0x4d1a('0xd'));var hardwareService=require(_0x4d1a('0xe'));var logger=require(_0x4d1a('0xf'))('api');var utils=require(_0x4d1a('0x10'));var config=require('../../config/environment');var licenseUtil=require(_0x4d1a('0x11'));var db=require(_0x4d1a('0x12'))['db'];function respondWithStatusCode(_0x3a37c3,_0x46c26a){_0x46c26a=_0x46c26a||0xcc;return function(_0x2a6beb){if(_0x2a6beb){return _0x3a37c3[_0x4d1a('0x13')](_0x46c26a);}return _0x3a37c3[_0x4d1a('0x14')](_0x46c26a)['end']();};}function respondWithResult(_0x1292b6,_0x36390b){_0x36390b=_0x36390b||0xc8;return function(_0x5f24b0){if(_0x5f24b0){return _0x1292b6['status'](_0x36390b)[_0x4d1a('0x15')](_0x5f24b0);}};}function respondWithFilteredResult(_0x237d87,_0x4c2726){return function(_0xddd5b1){if(_0xddd5b1){var _0x2be92e=typeof _0x4c2726[_0x4d1a('0x16')]==='undefined'&&typeof _0x4c2726[_0x4d1a('0x17')]==='undefined';var _0x2970c5=_0xddd5b1[_0x4d1a('0x18')];var _0x4c1ceb=_0x2be92e?0x0:_0x4c2726['offset'];var _0x5b32a3=_0x2be92e?_0xddd5b1[_0x4d1a('0x18')]:_0x4c2726[_0x4d1a('0x16')]+_0x4c2726[_0x4d1a('0x17')];var _0x278a95;if(_0x5b32a3>=_0x2970c5){_0x5b32a3=_0x2970c5;_0x278a95=0xc8;}else{_0x278a95=0xce;}_0x237d87[_0x4d1a('0x14')](_0x278a95);return _0x237d87[_0x4d1a('0x19')](_0x4d1a('0x1a'),_0x4c1ceb+'-'+_0x5b32a3+'/'+_0x2970c5)[_0x4d1a('0x15')](_0xddd5b1);}return null;};}function patchUpdates(_0x59375f){return function(_0x6d84b7){try{jsonpatch[_0x4d1a('0x1b')](_0x6d84b7,_0x59375f,!![]);}catch(_0x2f6158){return BPromise['reject'](_0x2f6158);}return _0x6d84b7[_0x4d1a('0x1c')]();};}function saveUpdates(_0x55f589,_0x1b7334){return function(_0x516e80){if(_0x516e80){return _0x516e80[_0x4d1a('0x1d')](_0x55f589)['then'](function(_0x53e68c){return _0x53e68c;});}return null;};}function removeEntity(_0x19c769,_0x4c8240){return function(_0xe1bd2b){if(_0xe1bd2b){return _0xe1bd2b['destroy']()['then'](function(){_0x19c769[_0x4d1a('0x14')](0xcc)[_0x4d1a('0x1e')]();});}};}function handleEntityNotFound(_0x5169dd,_0x4c1887){return function(_0x2ff62e){if(!_0x2ff62e){_0x5169dd[_0x4d1a('0x13')](0x194);}return _0x2ff62e;};}function handleError(_0x98c5f0,_0x30fbdb){_0x30fbdb=_0x30fbdb||0x1f4;return function(_0x2b63c1){logger[_0x4d1a('0x1f')](_0x2b63c1[_0x4d1a('0x20')]);if(_0x2b63c1[_0x4d1a('0x21')]){delete _0x2b63c1['name'];}_0x98c5f0[_0x4d1a('0x14')](_0x30fbdb)[_0x4d1a('0x22')](_0x2b63c1);};}exports['index']=function(_0x9e9c3a,_0x4c8172){var _0x2e310a={},_0x65e141={},_0xd7afe7={'count':0x0,'rows':[]};var _0x3856c2=_[_0x4d1a('0x23')](db['MailTransferReport']['rawAttributes'],function(_0x2a7ec2){return{'name':_0x2a7ec2[_0x4d1a('0x24')],'type':_0x2a7ec2[_0x4d1a('0x25')][_0x4d1a('0x26')]};});_0x65e141[_0x4d1a('0x27')]=_[_0x4d1a('0x23')](_0x3856c2,_0x4d1a('0x21'));_0x65e141['query']=_[_0x4d1a('0x28')](_0x9e9c3a[_0x4d1a('0x29')]);_0x65e141['filters']=_[_0x4d1a('0x2a')](_0x65e141[_0x4d1a('0x27')],_0x65e141[_0x4d1a('0x29')]);_0x2e310a['attributes']=_[_0x4d1a('0x2a')](_0x65e141[_0x4d1a('0x27')],qs[_0x4d1a('0x2b')](_0x9e9c3a[_0x4d1a('0x29')]['fields']));_0x2e310a[_0x4d1a('0x2c')]=_0x2e310a['attributes'][_0x4d1a('0x2d')]?_0x2e310a['attributes']:_0x65e141[_0x4d1a('0x27')];if(!_0x9e9c3a[_0x4d1a('0x29')][_0x4d1a('0x2e')](_0x4d1a('0x2f'))){_0x2e310a['limit']=qs[_0x4d1a('0x17')](_0x9e9c3a[_0x4d1a('0x29')][_0x4d1a('0x17')]);_0x2e310a[_0x4d1a('0x16')]=qs[_0x4d1a('0x16')](_0x9e9c3a['query'][_0x4d1a('0x16')]);}_0x2e310a[_0x4d1a('0x30')]=qs[_0x4d1a('0x31')](_0x9e9c3a[_0x4d1a('0x29')][_0x4d1a('0x31')]);_0x2e310a[_0x4d1a('0x32')]=qs[_0x4d1a('0x33')](_[_0x4d1a('0x34')](_0x9e9c3a['query'],_0x65e141[_0x4d1a('0x33')]),_0x3856c2);if(_0x9e9c3a[_0x4d1a('0x29')][_0x4d1a('0x35')]){_0x2e310a['where']=_[_0x4d1a('0x36')](_0x2e310a[_0x4d1a('0x32')],{'$or':_['map'](_0x3856c2,function(_0x2ea2c9){if(_0x2ea2c9['type']!==_0x4d1a('0x37')){var _0x252c51={};_0x252c51[_0x2ea2c9['name']]={'$like':'%'+_0x9e9c3a[_0x4d1a('0x29')][_0x4d1a('0x35')]+'%'};return _0x252c51;}})});}_0x2e310a=_[_0x4d1a('0x36')]({},_0x2e310a,_0x9e9c3a[_0x4d1a('0x38')]);var _0x1cdbb4={'where':_0x2e310a[_0x4d1a('0x32')]};return db[_0x4d1a('0x39')][_0x4d1a('0x18')](_0x1cdbb4)[_0x4d1a('0x3a')](function(_0x3a7ad3){_0xd7afe7['count']=_0x3a7ad3;if(_0x9e9c3a['query'][_0x4d1a('0x3b')]){_0x2e310a[_0x4d1a('0x3c')]=[{'all':!![]}];}return db[_0x4d1a('0x39')][_0x4d1a('0x3d')](_0x2e310a);})[_0x4d1a('0x3a')](function(_0x512009){_0xd7afe7[_0x4d1a('0x3e')]=_0x512009;return _0xd7afe7;})[_0x4d1a('0x3a')](respondWithFilteredResult(_0x4c8172,_0x2e310a))[_0x4d1a('0x3f')](handleError(_0x4c8172,null));};exports[_0x4d1a('0x40')]=function(_0x466695,_0xec8da1){var _0x5b8ec9={'raw':!![],'where':{'id':_0x466695[_0x4d1a('0x41')]['id']}},_0x22f2c5={};_0x22f2c5['model']=_['keys'](db[_0x4d1a('0x39')][_0x4d1a('0x42')]);_0x22f2c5[_0x4d1a('0x29')]=_['keys'](_0x466695[_0x4d1a('0x29')]);_0x22f2c5[_0x4d1a('0x33')]=_['intersection'](_0x22f2c5[_0x4d1a('0x27')],_0x22f2c5[_0x4d1a('0x29')]);_0x5b8ec9[_0x4d1a('0x2c')]=_[_0x4d1a('0x2a')](_0x22f2c5[_0x4d1a('0x27')],qs[_0x4d1a('0x2b')](_0x466695[_0x4d1a('0x29')][_0x4d1a('0x2b')]));_0x5b8ec9[_0x4d1a('0x2c')]=_0x5b8ec9[_0x4d1a('0x2c')][_0x4d1a('0x2d')]?_0x5b8ec9[_0x4d1a('0x2c')]:_0x22f2c5[_0x4d1a('0x27')];if(_0x466695[_0x4d1a('0x29')]['includeAll']){_0x5b8ec9[_0x4d1a('0x3c')]=[{'all':!![]}];}_0x5b8ec9=_['merge']({},_0x5b8ec9,_0x466695[_0x4d1a('0x38')]);return db[_0x4d1a('0x39')][_0x4d1a('0x43')](_0x5b8ec9)[_0x4d1a('0x3a')](handleEntityNotFound(_0xec8da1,null))[_0x4d1a('0x3a')](respondWithResult(_0xec8da1,null))[_0x4d1a('0x3f')](handleError(_0xec8da1,null));};exports[_0x4d1a('0x44')]=function(_0x375152,_0x5b2ea0){return db[_0x4d1a('0x39')][_0x4d1a('0x44')](_0x375152[_0x4d1a('0x45')],{})[_0x4d1a('0x3a')](respondWithResult(_0x5b2ea0,0xc9))[_0x4d1a('0x3f')](handleError(_0x5b2ea0,null));};exports[_0x4d1a('0x1d')]=function(_0x18b843,_0x44b241){if(_0x18b843[_0x4d1a('0x45')]['id']){delete _0x18b843[_0x4d1a('0x45')]['id'];}return db[_0x4d1a('0x39')][_0x4d1a('0x43')]({'where':{'id':_0x18b843[_0x4d1a('0x41')]['id']}})['then'](handleEntityNotFound(_0x44b241,null))[_0x4d1a('0x3a')](saveUpdates(_0x18b843[_0x4d1a('0x45')],null))[_0x4d1a('0x3a')](respondWithResult(_0x44b241,null))[_0x4d1a('0x3f')](handleError(_0x44b241,null));};exports['destroy']=function(_0x1591e8,_0x3691c4){return db[_0x4d1a('0x39')][_0x4d1a('0x43')]({'where':{'id':_0x1591e8[_0x4d1a('0x41')]['id']}})[_0x4d1a('0x3a')](handleEntityNotFound(_0x3691c4,null))['then'](removeEntity(_0x3691c4,null))[_0x4d1a('0x3f')](handleError(_0x3691c4,null));};exports[_0x4d1a('0x46')]=function(_0x4fa6fd,_0x588a11){return db[_0x4d1a('0x39')][_0x4d1a('0x46')]()[_0x4d1a('0x3a')](respondWithResult(_0x588a11,null))[_0x4d1a('0x3f')](handleError(_0x588a11,null));};