8b9c7417d517298d700f8a1576cb5f6a0992432e
[motion2.git] / server / api / mailServerOut / mailServerOut.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 _0xf7ca=['ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','reject','save','update','then','destroy','stack','name','send','map','MailServerOut','rawAttributes','fieldName','key','query','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','where','type','filter','options','includeAll','include','findAll','rows','catch','params','keys','merge','find','create','body','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','lodash','crypto','jsforce','desk.js','querystring'];(function(_0x24e23a,_0x5f18c8){var _0x167aef=function(_0x24fdf2){while(--_0x24fdf2){_0x24e23a['push'](_0x24e23a['shift']());}};_0x167aef(++_0x5f18c8);}(_0xf7ca,0x11d));var _0xaf7c=function(_0x2f042d,_0x28c532){_0x2f042d=_0x2f042d-0x0;var _0x2eae74=_0xf7ca[_0x2f042d];return _0x2eae74;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xaf7c('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0xaf7c('0x1'));var rp=require(_0xaf7c('0x2'));var moment=require(_0xaf7c('0x3'));var BPromise=require(_0xaf7c('0x4'));var Mustache=require(_0xaf7c('0x5'));var util=require(_0xaf7c('0x6'));var path=require(_0xaf7c('0x7'));var sox=require(_0xaf7c('0x8'));var csv=require(_0xaf7c('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xaf7c('0xa'));var squel=require('squel');var crypto=require(_0xaf7c('0xb'));var jsforce=require(_0xaf7c('0xc'));var deskjs=require(_0xaf7c('0xd'));var toCsv=require('to-csv');var querystring=require(_0xaf7c('0xe'));var Papa=require('papaparse');var Redis=require(_0xaf7c('0xf'));var authService=require(_0xaf7c('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0xaf7c('0x11'));var hardwareService=require(_0xaf7c('0x12'));var logger=require(_0xaf7c('0x13'))(_0xaf7c('0x14'));var utils=require(_0xaf7c('0x15'));var config=require(_0xaf7c('0x16'));var licenseUtil=require(_0xaf7c('0x17'));var db=require(_0xaf7c('0x18'))['db'];function respondWithStatusCode(_0x38bae2,_0x4aa4d3){_0x4aa4d3=_0x4aa4d3||0xcc;return function(_0x43808b){if(_0x43808b){return _0x38bae2[_0xaf7c('0x19')](_0x4aa4d3);}return _0x38bae2[_0xaf7c('0x1a')](_0x4aa4d3)[_0xaf7c('0x1b')]();};}function respondWithResult(_0x1bfc16,_0x3c63ff){_0x3c63ff=_0x3c63ff||0xc8;return function(_0x83da5e){if(_0x83da5e){return _0x1bfc16[_0xaf7c('0x1a')](_0x3c63ff)[_0xaf7c('0x1c')](_0x83da5e);}};}function respondWithFilteredResult(_0x4c020d,_0x1df385){return function(_0x21f97c){if(_0x21f97c){var _0x65d0ef=typeof _0x1df385[_0xaf7c('0x1d')]===_0xaf7c('0x1e')&&typeof _0x1df385[_0xaf7c('0x1f')]==='undefined';var _0x57c810=_0x21f97c[_0xaf7c('0x20')];var _0x4f2efa=_0x65d0ef?0x0:_0x1df385[_0xaf7c('0x1d')];var _0xf12409=_0x65d0ef?_0x21f97c[_0xaf7c('0x20')]:_0x1df385[_0xaf7c('0x1d')]+_0x1df385[_0xaf7c('0x1f')];var _0x5cb04c;if(_0xf12409>=_0x57c810){_0xf12409=_0x57c810;_0x5cb04c=0xc8;}else{_0x5cb04c=0xce;}_0x4c020d[_0xaf7c('0x1a')](_0x5cb04c);return _0x4c020d[_0xaf7c('0x21')](_0xaf7c('0x22'),_0x4f2efa+'-'+_0xf12409+'/'+_0x57c810)[_0xaf7c('0x1c')](_0x21f97c);}return null;};}function patchUpdates(_0x5ec758){return function(_0x210489){try{jsonpatch['apply'](_0x210489,_0x5ec758,!![]);}catch(_0x20b819){return BPromise[_0xaf7c('0x23')](_0x20b819);}return _0x210489[_0xaf7c('0x24')]();};}function saveUpdates(_0x406357,_0x23adf3){return function(_0x3cdca1){if(_0x3cdca1){return _0x3cdca1[_0xaf7c('0x25')](_0x406357)[_0xaf7c('0x26')](function(_0x1fe647){return _0x1fe647;});}return null;};}function removeEntity(_0x2b5740,_0x1cb30c){return function(_0x13988a){if(_0x13988a){return _0x13988a[_0xaf7c('0x27')]()['then'](function(){_0x2b5740[_0xaf7c('0x1a')](0xcc)[_0xaf7c('0x1b')]();});}};}function handleEntityNotFound(_0x5a1763,_0x5319ee){return function(_0x10c2e9){if(!_0x10c2e9){_0x5a1763[_0xaf7c('0x19')](0x194);}return _0x10c2e9;};}function handleError(_0x37ee51,_0x2a7048){_0x2a7048=_0x2a7048||0x1f4;return function(_0x526f78){logger['error'](_0x526f78[_0xaf7c('0x28')]);if(_0x526f78[_0xaf7c('0x29')]){delete _0x526f78[_0xaf7c('0x29')];}_0x37ee51['status'](_0x2a7048)[_0xaf7c('0x2a')](_0x526f78);};}exports['index']=function(_0xb825ac,_0x11d6f5){var _0x213641={},_0xcfb01b={},_0x1849ca={'count':0x0,'rows':[]};var _0x451d38=_[_0xaf7c('0x2b')](db[_0xaf7c('0x2c')][_0xaf7c('0x2d')],function(_0x2df817){return{'name':_0x2df817[_0xaf7c('0x2e')],'type':_0x2df817['type'][_0xaf7c('0x2f')]};});_0xcfb01b['model']=_[_0xaf7c('0x2b')](_0x451d38,'name');_0xcfb01b['query']=_['keys'](_0xb825ac[_0xaf7c('0x30')]);_0xcfb01b[_0xaf7c('0x31')]=_[_0xaf7c('0x32')](_0xcfb01b[_0xaf7c('0x33')],_0xcfb01b['query']);_0x213641[_0xaf7c('0x34')]=_[_0xaf7c('0x32')](_0xcfb01b[_0xaf7c('0x33')],qs[_0xaf7c('0x35')](_0xb825ac[_0xaf7c('0x30')]['fields']));_0x213641[_0xaf7c('0x34')]=_0x213641['attributes'][_0xaf7c('0x36')]?_0x213641['attributes']:_0xcfb01b['model'];if(!_0xb825ac['query'][_0xaf7c('0x37')](_0xaf7c('0x38'))){_0x213641['limit']=qs[_0xaf7c('0x1f')](_0xb825ac[_0xaf7c('0x30')][_0xaf7c('0x1f')]);_0x213641[_0xaf7c('0x1d')]=qs['offset'](_0xb825ac[_0xaf7c('0x30')][_0xaf7c('0x1d')]);}_0x213641[_0xaf7c('0x39')]=qs[_0xaf7c('0x3a')](_0xb825ac[_0xaf7c('0x30')][_0xaf7c('0x3a')]);_0x213641['where']=qs[_0xaf7c('0x31')](_[_0xaf7c('0x3b')](_0xb825ac[_0xaf7c('0x30')],_0xcfb01b['filters']),_0x451d38);if(_0xb825ac[_0xaf7c('0x30')]['filter']){_0x213641[_0xaf7c('0x3c')]=_['merge'](_0x213641[_0xaf7c('0x3c')],{'$or':_[_0xaf7c('0x2b')](_0x451d38,function(_0x590c1b){if(_0x590c1b[_0xaf7c('0x3d')]!=='VIRTUAL'){var _0x3e9943={};_0x3e9943[_0x590c1b['name']]={'$like':'%'+_0xb825ac[_0xaf7c('0x30')][_0xaf7c('0x3e')]+'%'};return _0x3e9943;}})});}_0x213641=_['merge']({},_0x213641,_0xb825ac[_0xaf7c('0x3f')]);var _0xd0e5f7={'where':_0x213641[_0xaf7c('0x3c')]};return db[_0xaf7c('0x2c')][_0xaf7c('0x20')](_0xd0e5f7)[_0xaf7c('0x26')](function(_0x5cf932){_0x1849ca[_0xaf7c('0x20')]=_0x5cf932;if(_0xb825ac[_0xaf7c('0x30')][_0xaf7c('0x40')]){_0x213641[_0xaf7c('0x41')]=[{'all':!![]}];}return db[_0xaf7c('0x2c')][_0xaf7c('0x42')](_0x213641);})[_0xaf7c('0x26')](function(_0x50e9bc){_0x1849ca[_0xaf7c('0x43')]=_0x50e9bc;return _0x1849ca;})[_0xaf7c('0x26')](respondWithFilteredResult(_0x11d6f5,_0x213641))[_0xaf7c('0x44')](handleError(_0x11d6f5,null));};exports['show']=function(_0x185c11,_0x116379){var _0x586635={'raw':!![],'where':{'id':_0x185c11[_0xaf7c('0x45')]['id']}},_0x36f97b={};_0x36f97b[_0xaf7c('0x33')]=_[_0xaf7c('0x46')](db[_0xaf7c('0x2c')][_0xaf7c('0x2d')]);_0x36f97b[_0xaf7c('0x30')]=_[_0xaf7c('0x46')](_0x185c11['query']);_0x36f97b[_0xaf7c('0x31')]=_[_0xaf7c('0x32')](_0x36f97b[_0xaf7c('0x33')],_0x36f97b[_0xaf7c('0x30')]);_0x586635['attributes']=_[_0xaf7c('0x32')](_0x36f97b['model'],qs[_0xaf7c('0x35')](_0x185c11['query'][_0xaf7c('0x35')]));_0x586635[_0xaf7c('0x34')]=_0x586635[_0xaf7c('0x34')][_0xaf7c('0x36')]?_0x586635[_0xaf7c('0x34')]:_0x36f97b[_0xaf7c('0x33')];if(_0x185c11[_0xaf7c('0x30')][_0xaf7c('0x40')]){_0x586635[_0xaf7c('0x41')]=[{'all':!![]}];}_0x586635=_[_0xaf7c('0x47')]({},_0x586635,_0x185c11[_0xaf7c('0x3f')]);return db[_0xaf7c('0x2c')][_0xaf7c('0x48')](_0x586635)[_0xaf7c('0x26')](handleEntityNotFound(_0x116379,null))[_0xaf7c('0x26')](respondWithResult(_0x116379,null))[_0xaf7c('0x44')](handleError(_0x116379,null));};exports[_0xaf7c('0x49')]=function(_0x1c87f4,_0x496424){return db[_0xaf7c('0x2c')][_0xaf7c('0x49')](_0x1c87f4['body'],{})[_0xaf7c('0x26')](respondWithResult(_0x496424,0xc9))[_0xaf7c('0x44')](handleError(_0x496424,null));};exports[_0xaf7c('0x25')]=function(_0x389886,_0x405d30){if(_0x389886['body']['id']){delete _0x389886[_0xaf7c('0x4a')]['id'];}return db[_0xaf7c('0x2c')][_0xaf7c('0x48')]({'where':{'id':_0x389886[_0xaf7c('0x45')]['id']}})[_0xaf7c('0x26')](handleEntityNotFound(_0x405d30,null))[_0xaf7c('0x26')](saveUpdates(_0x389886[_0xaf7c('0x4a')],null))[_0xaf7c('0x26')](respondWithResult(_0x405d30,null))[_0xaf7c('0x44')](handleError(_0x405d30,null));};exports['destroy']=function(_0x208c7d,_0x1197b5){return db['MailServerOut'][_0xaf7c('0x48')]({'where':{'id':_0x208c7d[_0xaf7c('0x45')]['id']}})[_0xaf7c('0x26')](handleEntityNotFound(_0x1197b5,null))[_0xaf7c('0x26')](removeEntity(_0x1197b5,null))[_0xaf7c('0x44')](handleError(_0x1197b5,null));};