f5d04821a22aa110b76d89d5f28c7cb3379b89ef
[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 _0x5ea6=['keys','MailTransferReport','find','create','catch','update','body','destroy','describe','eml-format','fast-json-patch','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','sendStatus','status','end','json','offset','undefined','limit','count','reject','save','then','error','stack','name','send','index','map','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','VIRTUAL','merge','options','includeAll','include','findAll','rows','params'];(function(_0x3186ae,_0x4f6e25){var _0x5eedc1=function(_0x539238){while(--_0x539238){_0x3186ae['push'](_0x3186ae['shift']());}};_0x5eedc1(++_0x4f6e25);}(_0x5ea6,0xed));var _0x65ea=function(_0x24c086,_0x58503a){_0x24c086=_0x24c086-0x0;var _0x437816=_0x5ea6[_0x24c086];return _0x437816;};'use strict';var emlformat=require(_0x65ea('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x65ea('0x1'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x65ea('0x2'));var Mustache=require(_0x65ea('0x3'));var util=require(_0x65ea('0x4'));var path=require(_0x65ea('0x5'));var sox=require('sox');var csv=require(_0x65ea('0x6'));var ejs=require(_0x65ea('0x7'));var fs=require('fs');var fs_extra=require(_0x65ea('0x8'));var _=require(_0x65ea('0x9'));var squel=require(_0x65ea('0xa'));var crypto=require(_0x65ea('0xb'));var jsforce=require(_0x65ea('0xc'));var deskjs=require(_0x65ea('0xd'));var toCsv=require(_0x65ea('0x6'));var querystring=require(_0x65ea('0xe'));var Papa=require(_0x65ea('0xf'));var Redis=require(_0x65ea('0x10'));var authService=require('../../components/auth/service');var qs=require(_0x65ea('0x11'));var as=require(_0x65ea('0x12'));var hardwareService=require(_0x65ea('0x13'));var logger=require(_0x65ea('0x14'))(_0x65ea('0x15'));var utils=require(_0x65ea('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0x65ea('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x3d8b84,_0x3da057){_0x3da057=_0x3da057||0xcc;return function(_0x4e557e){if(_0x4e557e){return _0x3d8b84[_0x65ea('0x18')](_0x3da057);}return _0x3d8b84[_0x65ea('0x19')](_0x3da057)[_0x65ea('0x1a')]();};}function respondWithResult(_0x339517,_0x2c5fd5){_0x2c5fd5=_0x2c5fd5||0xc8;return function(_0x340742){if(_0x340742){return _0x339517[_0x65ea('0x19')](_0x2c5fd5)[_0x65ea('0x1b')](_0x340742);}};}function respondWithFilteredResult(_0x10af8c,_0x1aea2b){return function(_0x11dc96){if(_0x11dc96){var _0x27b7d4=typeof _0x1aea2b[_0x65ea('0x1c')]===_0x65ea('0x1d')&&typeof _0x1aea2b[_0x65ea('0x1e')]==='undefined';var _0x2fad9d=_0x11dc96['count'];var _0x48a4f8=_0x27b7d4?0x0:_0x1aea2b[_0x65ea('0x1c')];var _0x4ac100=_0x27b7d4?_0x11dc96[_0x65ea('0x1f')]:_0x1aea2b[_0x65ea('0x1c')]+_0x1aea2b[_0x65ea('0x1e')];var _0x437f94;if(_0x4ac100>=_0x2fad9d){_0x4ac100=_0x2fad9d;_0x437f94=0xc8;}else{_0x437f94=0xce;}_0x10af8c[_0x65ea('0x19')](_0x437f94);return _0x10af8c['set']('Content-Range',_0x48a4f8+'-'+_0x4ac100+'/'+_0x2fad9d)[_0x65ea('0x1b')](_0x11dc96);}return null;};}function patchUpdates(_0x46b4db){return function(_0x1f4bce){try{jsonpatch['apply'](_0x1f4bce,_0x46b4db,!![]);}catch(_0x1b789e){return BPromise[_0x65ea('0x20')](_0x1b789e);}return _0x1f4bce[_0x65ea('0x21')]();};}function saveUpdates(_0x4b8620,_0x1309ad){return function(_0x5105fd){if(_0x5105fd){return _0x5105fd['update'](_0x4b8620)[_0x65ea('0x22')](function(_0x3d5118){return _0x3d5118;});}return null;};}function removeEntity(_0x5bc57,_0x1a6350){return function(_0x3648bb){if(_0x3648bb){return _0x3648bb['destroy']()[_0x65ea('0x22')](function(){_0x5bc57[_0x65ea('0x19')](0xcc)[_0x65ea('0x1a')]();});}};}function handleEntityNotFound(_0x5547c2,_0x5f441f){return function(_0x373fa0){if(!_0x373fa0){_0x5547c2[_0x65ea('0x18')](0x194);}return _0x373fa0;};}function handleError(_0x1e01bd,_0x2c35b3){_0x2c35b3=_0x2c35b3||0x1f4;return function(_0x483dd6){logger[_0x65ea('0x23')](_0x483dd6[_0x65ea('0x24')]);if(_0x483dd6[_0x65ea('0x25')]){delete _0x483dd6[_0x65ea('0x25')];}_0x1e01bd[_0x65ea('0x19')](_0x2c35b3)[_0x65ea('0x26')](_0x483dd6);};}exports[_0x65ea('0x27')]=function(_0x1c89cb,_0x1556b9){var _0x5d7415={},_0xfe8d9e={},_0x23b8cc={'count':0x0,'rows':[]};var _0x3340b7=_[_0x65ea('0x28')](db['MailTransferReport'][_0x65ea('0x29')],function(_0x5ecca4){return{'name':_0x5ecca4[_0x65ea('0x2a')],'type':_0x5ecca4[_0x65ea('0x2b')][_0x65ea('0x2c')]};});_0xfe8d9e[_0x65ea('0x2d')]=_[_0x65ea('0x28')](_0x3340b7,_0x65ea('0x25'));_0xfe8d9e[_0x65ea('0x2e')]=_['keys'](_0x1c89cb[_0x65ea('0x2e')]);_0xfe8d9e[_0x65ea('0x2f')]=_[_0x65ea('0x30')](_0xfe8d9e[_0x65ea('0x2d')],_0xfe8d9e['query']);_0x5d7415[_0x65ea('0x31')]=_[_0x65ea('0x30')](_0xfe8d9e['model'],qs['fields'](_0x1c89cb[_0x65ea('0x2e')][_0x65ea('0x32')]));_0x5d7415[_0x65ea('0x31')]=_0x5d7415[_0x65ea('0x31')][_0x65ea('0x33')]?_0x5d7415[_0x65ea('0x31')]:_0xfe8d9e[_0x65ea('0x2d')];if(!_0x1c89cb[_0x65ea('0x2e')][_0x65ea('0x34')](_0x65ea('0x35'))){_0x5d7415[_0x65ea('0x1e')]=qs[_0x65ea('0x1e')](_0x1c89cb[_0x65ea('0x2e')][_0x65ea('0x1e')]);_0x5d7415[_0x65ea('0x1c')]=qs[_0x65ea('0x1c')](_0x1c89cb[_0x65ea('0x2e')][_0x65ea('0x1c')]);}_0x5d7415[_0x65ea('0x36')]=qs[_0x65ea('0x37')](_0x1c89cb[_0x65ea('0x2e')][_0x65ea('0x37')]);_0x5d7415[_0x65ea('0x38')]=qs[_0x65ea('0x2f')](_[_0x65ea('0x39')](_0x1c89cb[_0x65ea('0x2e')],_0xfe8d9e['filters']),_0x3340b7);if(_0x1c89cb['query'][_0x65ea('0x3a')]){_0x5d7415[_0x65ea('0x38')]=_['merge'](_0x5d7415[_0x65ea('0x38')],{'$or':_['map'](_0x3340b7,function(_0x8c050d){if(_0x8c050d[_0x65ea('0x2b')]!==_0x65ea('0x3b')){var _0x54fd52={};_0x54fd52[_0x8c050d['name']]={'$like':'%'+_0x1c89cb[_0x65ea('0x2e')][_0x65ea('0x3a')]+'%'};return _0x54fd52;}})});}_0x5d7415=_[_0x65ea('0x3c')]({},_0x5d7415,_0x1c89cb[_0x65ea('0x3d')]);var _0x21074b={'where':_0x5d7415[_0x65ea('0x38')]};return db['MailTransferReport'][_0x65ea('0x1f')](_0x21074b)[_0x65ea('0x22')](function(_0x5614dd){_0x23b8cc[_0x65ea('0x1f')]=_0x5614dd;if(_0x1c89cb[_0x65ea('0x2e')][_0x65ea('0x3e')]){_0x5d7415[_0x65ea('0x3f')]=[{'all':!![]}];}return db['MailTransferReport'][_0x65ea('0x40')](_0x5d7415);})[_0x65ea('0x22')](function(_0x5c5760){_0x23b8cc[_0x65ea('0x41')]=_0x5c5760;return _0x23b8cc;})[_0x65ea('0x22')](respondWithFilteredResult(_0x1556b9,_0x5d7415))['catch'](handleError(_0x1556b9,null));};exports['show']=function(_0x5e5f89,_0x4624d9){var _0x2b945a={'raw':!![],'where':{'id':_0x5e5f89[_0x65ea('0x42')]['id']}},_0x4fb5f1={};_0x4fb5f1[_0x65ea('0x2d')]=_[_0x65ea('0x43')](db[_0x65ea('0x44')][_0x65ea('0x29')]);_0x4fb5f1['query']=_[_0x65ea('0x43')](_0x5e5f89[_0x65ea('0x2e')]);_0x4fb5f1['filters']=_[_0x65ea('0x30')](_0x4fb5f1[_0x65ea('0x2d')],_0x4fb5f1['query']);_0x2b945a[_0x65ea('0x31')]=_[_0x65ea('0x30')](_0x4fb5f1[_0x65ea('0x2d')],qs[_0x65ea('0x32')](_0x5e5f89[_0x65ea('0x2e')][_0x65ea('0x32')]));_0x2b945a[_0x65ea('0x31')]=_0x2b945a['attributes']['length']?_0x2b945a[_0x65ea('0x31')]:_0x4fb5f1[_0x65ea('0x2d')];if(_0x5e5f89[_0x65ea('0x2e')][_0x65ea('0x3e')]){_0x2b945a[_0x65ea('0x3f')]=[{'all':!![]}];}_0x2b945a=_[_0x65ea('0x3c')]({},_0x2b945a,_0x5e5f89[_0x65ea('0x3d')]);return db[_0x65ea('0x44')][_0x65ea('0x45')](_0x2b945a)['then'](handleEntityNotFound(_0x4624d9,null))[_0x65ea('0x22')](respondWithResult(_0x4624d9,null))['catch'](handleError(_0x4624d9,null));};exports[_0x65ea('0x46')]=function(_0x2b19b8,_0x37be47){return db[_0x65ea('0x44')]['create'](_0x2b19b8['body'],{})[_0x65ea('0x22')](respondWithResult(_0x37be47,0xc9))[_0x65ea('0x47')](handleError(_0x37be47,null));};exports[_0x65ea('0x48')]=function(_0x3db513,_0x2ba618){if(_0x3db513['body']['id']){delete _0x3db513[_0x65ea('0x49')]['id'];}return db[_0x65ea('0x44')][_0x65ea('0x45')]({'where':{'id':_0x3db513['params']['id']}})['then'](handleEntityNotFound(_0x2ba618,null))[_0x65ea('0x22')](saveUpdates(_0x3db513[_0x65ea('0x49')],null))[_0x65ea('0x22')](respondWithResult(_0x2ba618,null))[_0x65ea('0x47')](handleError(_0x2ba618,null));};exports[_0x65ea('0x4a')]=function(_0x180a4f,_0xfe6ca8){return db[_0x65ea('0x44')][_0x65ea('0x45')]({'where':{'id':_0x180a4f[_0x65ea('0x42')]['id']}})[_0x65ea('0x22')](handleEntityNotFound(_0xfe6ca8,null))['then'](removeEntity(_0xfe6ca8,null))['catch'](handleError(_0xfe6ca8,null));};exports[_0x65ea('0x4b')]=function(_0x542a00,_0x5f03f2){return db[_0x65ea('0x44')][_0x65ea('0x4b')]()[_0x65ea('0x22')](respondWithResult(_0x5f03f2,null))[_0x65ea('0x47')](handleError(_0x5f03f2,null));};