8fc4def282115961dd5d492d8524cdf871a2a3b3
[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 _0xcfaf=['request-promise','bluebird','mustache','util','path','sox','fs-extra','lodash','squel','jsforce','desk.js','to-csv','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','status','end','json','offset','undefined','limit','count','Content-Range','apply','save','update','destroy','then','sendStatus','error','stack','name','send','index','map','MailTransferReport','rawAttributes','fieldName','type','model','query','keys','filters','intersection','fields','length','hasOwnProperty','nolimit','order','where','pick','VIRTUAL','filter','merge','options','findAll','catch','show','params','attributes','includeAll','include','find','create','body','describe','rimraf','zip-dir','fast-json-patch'];(function(_0x1cd329,_0x22b232){var _0x921a9c=function(_0x501a32){while(--_0x501a32){_0x1cd329['push'](_0x1cd329['shift']());}};_0x921a9c(++_0x22b232);}(_0xcfaf,0x125));var _0xfcfa=function(_0x911604,_0x51fc61){_0x911604=_0x911604-0x0;var _0x1ed6a8=_0xcfaf[_0x911604];return _0x1ed6a8;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xfcfa('0x0'));var zipdir=require(_0xfcfa('0x1'));var jsonpatch=require(_0xfcfa('0x2'));var rp=require(_0xfcfa('0x3'));var moment=require('moment');var BPromise=require(_0xfcfa('0x4'));var Mustache=require(_0xfcfa('0x5'));var util=require(_0xfcfa('0x6'));var path=require(_0xfcfa('0x7'));var sox=require(_0xfcfa('0x8'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xfcfa('0x9'));var _=require(_0xfcfa('0xa'));var squel=require(_0xfcfa('0xb'));var crypto=require('crypto');var jsforce=require(_0xfcfa('0xc'));var deskjs=require(_0xfcfa('0xd'));var toCsv=require(_0xfcfa('0xe'));var querystring=require('querystring');var Papa=require(_0xfcfa('0xf'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xfcfa('0x10'));var as=require(_0xfcfa('0x11'));var hardwareService=require(_0xfcfa('0x12'));var logger=require(_0xfcfa('0x13'))('api');var utils=require(_0xfcfa('0x14'));var config=require(_0xfcfa('0x15'));var licenseUtil=require(_0xfcfa('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x5aaadd,_0x31ef86){_0x31ef86=_0x31ef86||0xcc;return function(_0xe52004){if(_0xe52004){return _0x5aaadd['sendStatus'](_0x31ef86);}return _0x5aaadd[_0xfcfa('0x17')](_0x31ef86)[_0xfcfa('0x18')]();};}function respondWithResult(_0x2ba7ba,_0x2965d8){_0x2965d8=_0x2965d8||0xc8;return function(_0x3e5dbb){if(_0x3e5dbb){return _0x2ba7ba[_0xfcfa('0x17')](_0x2965d8)[_0xfcfa('0x19')](_0x3e5dbb);}};}function respondWithFilteredResult(_0x97dc17,_0x4bbb01){return function(_0x194458){if(_0x194458){var _0x20972f=typeof _0x4bbb01[_0xfcfa('0x1a')]===_0xfcfa('0x1b')&&typeof _0x4bbb01[_0xfcfa('0x1c')]==='undefined';var _0x592b33=_0x194458[_0xfcfa('0x1d')];var _0x20cabf=_0x20972f?0x0:_0x4bbb01['offset'];var _0x528892=_0x20972f?_0x194458['count']:_0x4bbb01[_0xfcfa('0x1a')]+_0x4bbb01[_0xfcfa('0x1c')];var _0x5a9498;if(_0x528892>=_0x592b33){_0x528892=_0x592b33;_0x5a9498=0xc8;}else{_0x5a9498=0xce;}_0x97dc17[_0xfcfa('0x17')](_0x5a9498);return _0x97dc17['set'](_0xfcfa('0x1e'),_0x20cabf+'-'+_0x528892+'/'+_0x592b33)['json'](_0x194458);}return null;};}function patchUpdates(_0x55e8b8){return function(_0x575490){try{jsonpatch[_0xfcfa('0x1f')](_0x575490,_0x55e8b8,!![]);}catch(_0x227af3){return BPromise['reject'](_0x227af3);}return _0x575490[_0xfcfa('0x20')]();};}function saveUpdates(_0x599b3b,_0x1ad878){return function(_0x4b6a09){if(_0x4b6a09){return _0x4b6a09[_0xfcfa('0x21')](_0x599b3b)['then'](function(_0x206591){return _0x206591;});}return null;};}function removeEntity(_0x153c93,_0x2a26fc){return function(_0x449661){if(_0x449661){return _0x449661[_0xfcfa('0x22')]()[_0xfcfa('0x23')](function(){_0x153c93[_0xfcfa('0x17')](0xcc)[_0xfcfa('0x18')]();});}};}function handleEntityNotFound(_0xd981d2,_0x2b8346){return function(_0x3dc34e){if(!_0x3dc34e){_0xd981d2[_0xfcfa('0x24')](0x194);}return _0x3dc34e;};}function handleError(_0x1f185e,_0x25def2){_0x25def2=_0x25def2||0x1f4;return function(_0x1e49d3){logger[_0xfcfa('0x25')](_0x1e49d3[_0xfcfa('0x26')]);if(_0x1e49d3['name']){delete _0x1e49d3[_0xfcfa('0x27')];}_0x1f185e[_0xfcfa('0x17')](_0x25def2)[_0xfcfa('0x28')](_0x1e49d3);};}exports[_0xfcfa('0x29')]=function(_0x4a4532,_0x27ab76){var _0x19ebfc={},_0x3713fa={},_0x3f08b5={'count':0x0,'rows':[]};var _0x912433=_[_0xfcfa('0x2a')](db[_0xfcfa('0x2b')][_0xfcfa('0x2c')],function(_0x1b4e81){return{'name':_0x1b4e81[_0xfcfa('0x2d')],'type':_0x1b4e81[_0xfcfa('0x2e')]['key']};});_0x3713fa[_0xfcfa('0x2f')]=_[_0xfcfa('0x2a')](_0x912433,_0xfcfa('0x27'));_0x3713fa[_0xfcfa('0x30')]=_[_0xfcfa('0x31')](_0x4a4532[_0xfcfa('0x30')]);_0x3713fa[_0xfcfa('0x32')]=_['intersection'](_0x3713fa[_0xfcfa('0x2f')],_0x3713fa[_0xfcfa('0x30')]);_0x19ebfc['attributes']=_[_0xfcfa('0x33')](_0x3713fa['model'],qs[_0xfcfa('0x34')](_0x4a4532[_0xfcfa('0x30')][_0xfcfa('0x34')]));_0x19ebfc['attributes']=_0x19ebfc['attributes'][_0xfcfa('0x35')]?_0x19ebfc['attributes']:_0x3713fa[_0xfcfa('0x2f')];if(!_0x4a4532[_0xfcfa('0x30')][_0xfcfa('0x36')](_0xfcfa('0x37'))){_0x19ebfc[_0xfcfa('0x1c')]=qs[_0xfcfa('0x1c')](_0x4a4532[_0xfcfa('0x30')][_0xfcfa('0x1c')]);_0x19ebfc[_0xfcfa('0x1a')]=qs[_0xfcfa('0x1a')](_0x4a4532['query']['offset']);}_0x19ebfc[_0xfcfa('0x38')]=qs['sort'](_0x4a4532['query']['sort']);_0x19ebfc[_0xfcfa('0x39')]=qs[_0xfcfa('0x32')](_[_0xfcfa('0x3a')](_0x4a4532[_0xfcfa('0x30')],_0x3713fa[_0xfcfa('0x32')]),_0x912433);if(_0x4a4532[_0xfcfa('0x30')]['filter']){_0x19ebfc[_0xfcfa('0x39')]=_['merge'](_0x19ebfc[_0xfcfa('0x39')],{'$or':_[_0xfcfa('0x2a')](_0x912433,function(_0x3a6fd2){if(_0x3a6fd2[_0xfcfa('0x2e')]!==_0xfcfa('0x3b')){var _0x27a0e3={};_0x27a0e3[_0x3a6fd2[_0xfcfa('0x27')]]={'$like':'%'+_0x4a4532['query'][_0xfcfa('0x3c')]+'%'};return _0x27a0e3;}})});}_0x19ebfc=_[_0xfcfa('0x3d')]({},_0x19ebfc,_0x4a4532[_0xfcfa('0x3e')]);var _0xa0bb28={'where':_0x19ebfc[_0xfcfa('0x39')]};return db['MailTransferReport']['count'](_0xa0bb28)['then'](function(_0x2ee4dd){_0x3f08b5[_0xfcfa('0x1d')]=_0x2ee4dd;if(_0x4a4532['query']['includeAll']){_0x19ebfc['include']=[{'all':!![]}];}return db['MailTransferReport'][_0xfcfa('0x3f')](_0x19ebfc);})['then'](function(_0x144c4e){_0x3f08b5['rows']=_0x144c4e;return _0x3f08b5;})[_0xfcfa('0x23')](respondWithFilteredResult(_0x27ab76,_0x19ebfc))[_0xfcfa('0x40')](handleError(_0x27ab76,null));};exports[_0xfcfa('0x41')]=function(_0x1cc78a,_0x22fa48){var _0x117679={'raw':!![],'where':{'id':_0x1cc78a[_0xfcfa('0x42')]['id']}},_0x466c18={};_0x466c18[_0xfcfa('0x2f')]=_[_0xfcfa('0x31')](db[_0xfcfa('0x2b')][_0xfcfa('0x2c')]);_0x466c18[_0xfcfa('0x30')]=_['keys'](_0x1cc78a[_0xfcfa('0x30')]);_0x466c18['filters']=_[_0xfcfa('0x33')](_0x466c18[_0xfcfa('0x2f')],_0x466c18['query']);_0x117679[_0xfcfa('0x43')]=_[_0xfcfa('0x33')](_0x466c18['model'],qs[_0xfcfa('0x34')](_0x1cc78a[_0xfcfa('0x30')][_0xfcfa('0x34')]));_0x117679[_0xfcfa('0x43')]=_0x117679[_0xfcfa('0x43')]['length']?_0x117679[_0xfcfa('0x43')]:_0x466c18[_0xfcfa('0x2f')];if(_0x1cc78a['query'][_0xfcfa('0x44')]){_0x117679[_0xfcfa('0x45')]=[{'all':!![]}];}_0x117679=_[_0xfcfa('0x3d')]({},_0x117679,_0x1cc78a[_0xfcfa('0x3e')]);return db['MailTransferReport'][_0xfcfa('0x46')](_0x117679)[_0xfcfa('0x23')](handleEntityNotFound(_0x22fa48,null))[_0xfcfa('0x23')](respondWithResult(_0x22fa48,null))[_0xfcfa('0x40')](handleError(_0x22fa48,null));};exports[_0xfcfa('0x47')]=function(_0x29c11d,_0x5edd8b){return db[_0xfcfa('0x2b')][_0xfcfa('0x47')](_0x29c11d['body'],{})[_0xfcfa('0x23')](respondWithResult(_0x5edd8b,0xc9))[_0xfcfa('0x40')](handleError(_0x5edd8b,null));};exports[_0xfcfa('0x21')]=function(_0x107943,_0x398154){if(_0x107943[_0xfcfa('0x48')]['id']){delete _0x107943[_0xfcfa('0x48')]['id'];}return db[_0xfcfa('0x2b')][_0xfcfa('0x46')]({'where':{'id':_0x107943[_0xfcfa('0x42')]['id']}})[_0xfcfa('0x23')](handleEntityNotFound(_0x398154,null))['then'](saveUpdates(_0x107943['body'],null))[_0xfcfa('0x23')](respondWithResult(_0x398154,null))[_0xfcfa('0x40')](handleError(_0x398154,null));};exports[_0xfcfa('0x22')]=function(_0x321104,_0x2cfdbe){return db['MailTransferReport'][_0xfcfa('0x46')]({'where':{'id':_0x321104['params']['id']}})[_0xfcfa('0x23')](handleEntityNotFound(_0x2cfdbe,null))[_0xfcfa('0x23')](removeEntity(_0x2cfdbe,null))[_0xfcfa('0x40')](handleError(_0x2cfdbe,null));};exports['describe']=function(_0x1b0294,_0x25c4fc){return db['MailTransferReport'][_0xfcfa('0x49')]()[_0xfcfa('0x23')](respondWithResult(_0x25c4fc,null))[_0xfcfa('0x40')](handleError(_0x25c4fc,null));};