Built motion from commit 85328c08.|2.5.50
[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 _0xcddf=['map','MailTransferReport','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','VIRTUAL','name','filter','merge','options','include','rows','catch','show','params','includeAll','create','body','update','find','destroy','describe','eml-format','fast-json-patch','bluebird','mustache','util','path','to-csv','fs-extra','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','then','error','stack'];(function(_0x51e8fd,_0x150aec){var _0x9f9a07=function(_0x1022f1){while(--_0x1022f1){_0x51e8fd['push'](_0x51e8fd['shift']());}};_0x9f9a07(++_0x150aec);}(_0xcddf,0x6f));var _0xfcdd=function(_0x23d3b0,_0x47b591){_0x23d3b0=_0x23d3b0-0x0;var _0x3c3d98=_0xcddf[_0x23d3b0];return _0x3c3d98;};'use strict';var emlformat=require(_0xfcdd('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xfcdd('0x1'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xfcdd('0x2'));var Mustache=require(_0xfcdd('0x3'));var util=require(_0xfcdd('0x4'));var path=require(_0xfcdd('0x5'));var sox=require('sox');var csv=require(_0xfcdd('0x6'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xfcdd('0x7'));var _=require(_0xfcdd('0x8'));var squel=require(_0xfcdd('0x9'));var crypto=require('crypto');var jsforce=require(_0xfcdd('0xa'));var deskjs=require(_0xfcdd('0xb'));var toCsv=require(_0xfcdd('0x6'));var querystring=require(_0xfcdd('0xc'));var Papa=require(_0xfcdd('0xd'));var Redis=require(_0xfcdd('0xe'));var authService=require('../../components/auth/service');var qs=require(_0xfcdd('0xf'));var as=require(_0xfcdd('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xfcdd('0x11'))('api');var utils=require(_0xfcdd('0x12'));var config=require(_0xfcdd('0x13'));var licenseUtil=require(_0xfcdd('0x14'));var db=require(_0xfcdd('0x15'))['db'];function respondWithStatusCode(_0x687a2d,_0x2b57fa){_0x2b57fa=_0x2b57fa||0xcc;return function(_0x1e58d3){if(_0x1e58d3){return _0x687a2d[_0xfcdd('0x16')](_0x2b57fa);}return _0x687a2d['status'](_0x2b57fa)[_0xfcdd('0x17')]();};}function respondWithResult(_0x5dac9b,_0x1debd6){_0x1debd6=_0x1debd6||0xc8;return function(_0x4e0b1d){if(_0x4e0b1d){return _0x5dac9b[_0xfcdd('0x18')](_0x1debd6)[_0xfcdd('0x19')](_0x4e0b1d);}};}function respondWithFilteredResult(_0x56c30d,_0x5365c7){return function(_0x3fe241){if(_0x3fe241){var _0x44624d=typeof _0x5365c7[_0xfcdd('0x1a')]===_0xfcdd('0x1b')&&typeof _0x5365c7[_0xfcdd('0x1c')]===_0xfcdd('0x1b');var _0xd3c98c=_0x3fe241[_0xfcdd('0x1d')];var _0x29455e=_0x44624d?0x0:_0x5365c7[_0xfcdd('0x1a')];var _0x44e390=_0x44624d?_0x3fe241[_0xfcdd('0x1d')]:_0x5365c7[_0xfcdd('0x1a')]+_0x5365c7[_0xfcdd('0x1c')];var _0x4cbdf7;if(_0x44e390>=_0xd3c98c){_0x44e390=_0xd3c98c;_0x4cbdf7=0xc8;}else{_0x4cbdf7=0xce;}_0x56c30d[_0xfcdd('0x18')](_0x4cbdf7);return _0x56c30d[_0xfcdd('0x1e')](_0xfcdd('0x1f'),_0x29455e+'-'+_0x44e390+'/'+_0xd3c98c)[_0xfcdd('0x19')](_0x3fe241);}return null;};}function patchUpdates(_0xa5c107){return function(_0x178bee){try{jsonpatch[_0xfcdd('0x20')](_0x178bee,_0xa5c107,!![]);}catch(_0x3e92e4){return BPromise[_0xfcdd('0x21')](_0x3e92e4);}return _0x178bee['save']();};}function saveUpdates(_0xb73884,_0x29de36){return function(_0x572110){if(_0x572110){return _0x572110['update'](_0xb73884)[_0xfcdd('0x22')](function(_0x15a83c){return _0x15a83c;});}return null;};}function removeEntity(_0xc40d1,_0x3ae5d6){return function(_0x428e2c){if(_0x428e2c){return _0x428e2c['destroy']()[_0xfcdd('0x22')](function(){_0xc40d1['status'](0xcc)[_0xfcdd('0x17')]();});}};}function handleEntityNotFound(_0x4d3d53,_0x45caab){return function(_0x304a06){if(!_0x304a06){_0x4d3d53[_0xfcdd('0x16')](0x194);}return _0x304a06;};}function handleError(_0x1b66c2,_0x525ac9){_0x525ac9=_0x525ac9||0x1f4;return function(_0x5bf54){logger[_0xfcdd('0x23')](_0x5bf54[_0xfcdd('0x24')]);if(_0x5bf54['name']){delete _0x5bf54['name'];}_0x1b66c2['status'](_0x525ac9)['send'](_0x5bf54);};}exports['index']=function(_0x4d58a5,_0x1307d2){var _0x301c14={},_0x22ecda={},_0x3224d1={'count':0x0,'rows':[]};var _0x3f8419=_[_0xfcdd('0x25')](db[_0xfcdd('0x26')][_0xfcdd('0x27')],function(_0x2bd5b2){return{'name':_0x2bd5b2[_0xfcdd('0x28')],'type':_0x2bd5b2[_0xfcdd('0x29')][_0xfcdd('0x2a')]};});_0x22ecda[_0xfcdd('0x2b')]=_['map'](_0x3f8419,'name');_0x22ecda[_0xfcdd('0x2c')]=_[_0xfcdd('0x2d')](_0x4d58a5[_0xfcdd('0x2c')]);_0x22ecda[_0xfcdd('0x2e')]=_[_0xfcdd('0x2f')](_0x22ecda[_0xfcdd('0x2b')],_0x22ecda[_0xfcdd('0x2c')]);_0x301c14[_0xfcdd('0x30')]=_['intersection'](_0x22ecda[_0xfcdd('0x2b')],qs[_0xfcdd('0x31')](_0x4d58a5[_0xfcdd('0x2c')]['fields']));_0x301c14[_0xfcdd('0x30')]=_0x301c14['attributes'][_0xfcdd('0x32')]?_0x301c14[_0xfcdd('0x30')]:_0x22ecda[_0xfcdd('0x2b')];if(!_0x4d58a5[_0xfcdd('0x2c')][_0xfcdd('0x33')](_0xfcdd('0x34'))){_0x301c14['limit']=qs[_0xfcdd('0x1c')](_0x4d58a5[_0xfcdd('0x2c')]['limit']);_0x301c14[_0xfcdd('0x1a')]=qs[_0xfcdd('0x1a')](_0x4d58a5[_0xfcdd('0x2c')][_0xfcdd('0x1a')]);}_0x301c14[_0xfcdd('0x35')]=qs[_0xfcdd('0x36')](_0x4d58a5['query'][_0xfcdd('0x36')]);_0x301c14[_0xfcdd('0x37')]=qs[_0xfcdd('0x2e')](_[_0xfcdd('0x38')](_0x4d58a5['query'],_0x22ecda[_0xfcdd('0x2e')]),_0x3f8419);if(_0x4d58a5[_0xfcdd('0x2c')]['filter']){_0x301c14[_0xfcdd('0x37')]=_['merge'](_0x301c14[_0xfcdd('0x37')],{'$or':_[_0xfcdd('0x25')](_0x3f8419,function(_0x2017b3){if(_0x2017b3['type']!==_0xfcdd('0x39')){var _0xa82cce={};_0xa82cce[_0x2017b3[_0xfcdd('0x3a')]]={'$like':'%'+_0x4d58a5['query'][_0xfcdd('0x3b')]+'%'};return _0xa82cce;}})});}_0x301c14=_[_0xfcdd('0x3c')]({},_0x301c14,_0x4d58a5[_0xfcdd('0x3d')]);var _0x1d8d3a={'where':_0x301c14[_0xfcdd('0x37')]};return db[_0xfcdd('0x26')]['count'](_0x1d8d3a)[_0xfcdd('0x22')](function(_0x4717b0){_0x3224d1[_0xfcdd('0x1d')]=_0x4717b0;if(_0x4d58a5[_0xfcdd('0x2c')]['includeAll']){_0x301c14[_0xfcdd('0x3e')]=[{'all':!![]}];}return db[_0xfcdd('0x26')]['findAll'](_0x301c14);})[_0xfcdd('0x22')](function(_0x1ec968){_0x3224d1[_0xfcdd('0x3f')]=_0x1ec968;return _0x3224d1;})['then'](respondWithFilteredResult(_0x1307d2,_0x301c14))[_0xfcdd('0x40')](handleError(_0x1307d2,null));};exports[_0xfcdd('0x41')]=function(_0x4d61e7,_0x520611){var _0x5e3713={'raw':!![],'where':{'id':_0x4d61e7[_0xfcdd('0x42')]['id']}},_0x44045d={};_0x44045d[_0xfcdd('0x2b')]=_[_0xfcdd('0x2d')](db[_0xfcdd('0x26')][_0xfcdd('0x27')]);_0x44045d[_0xfcdd('0x2c')]=_['keys'](_0x4d61e7['query']);_0x44045d[_0xfcdd('0x2e')]=_[_0xfcdd('0x2f')](_0x44045d[_0xfcdd('0x2b')],_0x44045d['query']);_0x5e3713['attributes']=_[_0xfcdd('0x2f')](_0x44045d['model'],qs['fields'](_0x4d61e7['query'][_0xfcdd('0x31')]));_0x5e3713[_0xfcdd('0x30')]=_0x5e3713['attributes'][_0xfcdd('0x32')]?_0x5e3713[_0xfcdd('0x30')]:_0x44045d[_0xfcdd('0x2b')];if(_0x4d61e7[_0xfcdd('0x2c')][_0xfcdd('0x43')]){_0x5e3713[_0xfcdd('0x3e')]=[{'all':!![]}];}_0x5e3713=_['merge']({},_0x5e3713,_0x4d61e7['options']);return db['MailTransferReport']['find'](_0x5e3713)[_0xfcdd('0x22')](handleEntityNotFound(_0x520611,null))['then'](respondWithResult(_0x520611,null))[_0xfcdd('0x40')](handleError(_0x520611,null));};exports[_0xfcdd('0x44')]=function(_0x11d824,_0x5c1ae2){return db[_0xfcdd('0x26')]['create'](_0x11d824[_0xfcdd('0x45')],{})[_0xfcdd('0x22')](respondWithResult(_0x5c1ae2,0xc9))[_0xfcdd('0x40')](handleError(_0x5c1ae2,null));};exports[_0xfcdd('0x46')]=function(_0x2849fe,_0x2da5e8){if(_0x2849fe[_0xfcdd('0x45')]['id']){delete _0x2849fe[_0xfcdd('0x45')]['id'];}return db[_0xfcdd('0x26')][_0xfcdd('0x47')]({'where':{'id':_0x2849fe['params']['id']}})['then'](handleEntityNotFound(_0x2da5e8,null))['then'](saveUpdates(_0x2849fe[_0xfcdd('0x45')],null))[_0xfcdd('0x22')](respondWithResult(_0x2da5e8,null))[_0xfcdd('0x40')](handleError(_0x2da5e8,null));};exports[_0xfcdd('0x48')]=function(_0x1aea48,_0x22faa9){return db[_0xfcdd('0x26')][_0xfcdd('0x47')]({'where':{'id':_0x1aea48[_0xfcdd('0x42')]['id']}})[_0xfcdd('0x22')](handleEntityNotFound(_0x22faa9,null))[_0xfcdd('0x22')](removeEntity(_0x22faa9,null))[_0xfcdd('0x40')](handleError(_0x22faa9,null));};exports[_0xfcdd('0x49')]=function(_0x14cab1,_0x5bc87c){return db[_0xfcdd('0x26')][_0xfcdd('0x49')]()[_0xfcdd('0x22')](respondWithResult(_0x5bc87c,null))[_0xfcdd('0x40')](handleError(_0x5bc87c,null));};