Built motion from commit ddca4d0d.|2.5.47
[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 _0xa545=['fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','status','json','offset','undefined','limit','count','set','reject','save','update','destroy','end','sendStatus','error','stack','name','send','map','rawAttributes','fieldName','key','model','query','keys','intersection','fields','attributes','length','nolimit','order','sort','pick','filters','filter','where','merge','type','VIRTUAL','MailServerOut','then','includeAll','include','findAll','show','params','options','find','catch','create','body','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs'];(function(_0x5259b0,_0x4460cb){var _0x9c1601=function(_0x5db128){while(--_0x5db128){_0x5259b0['push'](_0x5259b0['shift']());}};_0x9c1601(++_0x4460cb);}(_0xa545,0x1bd));var _0x5a54=function(_0x53f384,_0x21bc47){_0x53f384=_0x53f384-0x0;var _0x4ef7bc=_0xa545[_0x53f384];return _0x4ef7bc;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x5a54('0x0'));var zipdir=require(_0x5a54('0x1'));var jsonpatch=require(_0x5a54('0x2'));var rp=require('request-promise');var moment=require(_0x5a54('0x3'));var BPromise=require(_0x5a54('0x4'));var Mustache=require(_0x5a54('0x5'));var util=require(_0x5a54('0x6'));var path=require(_0x5a54('0x7'));var sox=require(_0x5a54('0x8'));var csv=require(_0x5a54('0x9'));var ejs=require(_0x5a54('0xa'));var fs=require('fs');var fs_extra=require(_0x5a54('0xb'));var _=require(_0x5a54('0xc'));var squel=require(_0x5a54('0xd'));var crypto=require(_0x5a54('0xe'));var jsforce=require(_0x5a54('0xf'));var deskjs=require(_0x5a54('0x10'));var toCsv=require(_0x5a54('0x9'));var querystring=require(_0x5a54('0x11'));var Papa=require('papaparse');var Redis=require(_0x5a54('0x12'));var authService=require('../../components/auth/service');var qs=require(_0x5a54('0x13'));var as=require(_0x5a54('0x14'));var hardwareService=require(_0x5a54('0x15'));var logger=require('../../config/logger')(_0x5a54('0x16'));var utils=require(_0x5a54('0x17'));var config=require(_0x5a54('0x18'));var licenseUtil=require('../../config/license/util');var db=require(_0x5a54('0x19'))['db'];function respondWithStatusCode(_0x3093bf,_0x2b92c7){_0x2b92c7=_0x2b92c7||0xcc;return function(_0x1ab1c9){if(_0x1ab1c9){return _0x3093bf['sendStatus'](_0x2b92c7);}return _0x3093bf[_0x5a54('0x1a')](_0x2b92c7)['end']();};}function respondWithResult(_0x166f68,_0x574ac9){_0x574ac9=_0x574ac9||0xc8;return function(_0x5a4c18){if(_0x5a4c18){return _0x166f68[_0x5a54('0x1a')](_0x574ac9)[_0x5a54('0x1b')](_0x5a4c18);}};}function respondWithFilteredResult(_0x370cef,_0x510359){return function(_0x195eb6){if(_0x195eb6){var _0x1a1572=typeof _0x510359[_0x5a54('0x1c')]===_0x5a54('0x1d')&&typeof _0x510359[_0x5a54('0x1e')]===_0x5a54('0x1d');var _0x8a57d6=_0x195eb6['count'];var _0x52e226=_0x1a1572?0x0:_0x510359[_0x5a54('0x1c')];var _0x2db850=_0x1a1572?_0x195eb6[_0x5a54('0x1f')]:_0x510359[_0x5a54('0x1c')]+_0x510359['limit'];var _0x3fe2aa;if(_0x2db850>=_0x8a57d6){_0x2db850=_0x8a57d6;_0x3fe2aa=0xc8;}else{_0x3fe2aa=0xce;}_0x370cef[_0x5a54('0x1a')](_0x3fe2aa);return _0x370cef[_0x5a54('0x20')]('Content-Range',_0x52e226+'-'+_0x2db850+'/'+_0x8a57d6)[_0x5a54('0x1b')](_0x195eb6);}return null;};}function patchUpdates(_0x4db313){return function(_0x45781f){try{jsonpatch['apply'](_0x45781f,_0x4db313,!![]);}catch(_0x2ca81b){return BPromise[_0x5a54('0x21')](_0x2ca81b);}return _0x45781f[_0x5a54('0x22')]();};}function saveUpdates(_0x4dd5bd,_0x3ec97c){return function(_0x10d816){if(_0x10d816){return _0x10d816[_0x5a54('0x23')](_0x4dd5bd)['then'](function(_0x3c291e){return _0x3c291e;});}return null;};}function removeEntity(_0x119bb0,_0x574410){return function(_0x1f112e){if(_0x1f112e){return _0x1f112e[_0x5a54('0x24')]()['then'](function(){_0x119bb0[_0x5a54('0x1a')](0xcc)[_0x5a54('0x25')]();});}};}function handleEntityNotFound(_0x4ca3a8,_0x1ca2fe){return function(_0x4a132f){if(!_0x4a132f){_0x4ca3a8[_0x5a54('0x26')](0x194);}return _0x4a132f;};}function handleError(_0x53908d,_0x4b6319){_0x4b6319=_0x4b6319||0x1f4;return function(_0x4ad1be){logger[_0x5a54('0x27')](_0x4ad1be[_0x5a54('0x28')]);if(_0x4ad1be[_0x5a54('0x29')]){delete _0x4ad1be[_0x5a54('0x29')];}_0x53908d[_0x5a54('0x1a')](_0x4b6319)[_0x5a54('0x2a')](_0x4ad1be);};}exports['index']=function(_0x10a3fb,_0x43ce3d){var _0x1e093f={},_0x2d5993={},_0x5aa076={'count':0x0,'rows':[]};var _0x1bb0b3=_[_0x5a54('0x2b')](db['MailServerOut'][_0x5a54('0x2c')],function(_0x466f15){return{'name':_0x466f15[_0x5a54('0x2d')],'type':_0x466f15['type'][_0x5a54('0x2e')]};});_0x2d5993[_0x5a54('0x2f')]=_[_0x5a54('0x2b')](_0x1bb0b3,'name');_0x2d5993[_0x5a54('0x30')]=_[_0x5a54('0x31')](_0x10a3fb[_0x5a54('0x30')]);_0x2d5993['filters']=_[_0x5a54('0x32')](_0x2d5993[_0x5a54('0x2f')],_0x2d5993[_0x5a54('0x30')]);_0x1e093f['attributes']=_[_0x5a54('0x32')](_0x2d5993[_0x5a54('0x2f')],qs[_0x5a54('0x33')](_0x10a3fb[_0x5a54('0x30')][_0x5a54('0x33')]));_0x1e093f[_0x5a54('0x34')]=_0x1e093f[_0x5a54('0x34')][_0x5a54('0x35')]?_0x1e093f[_0x5a54('0x34')]:_0x2d5993[_0x5a54('0x2f')];if(!_0x10a3fb[_0x5a54('0x30')]['hasOwnProperty'](_0x5a54('0x36'))){_0x1e093f['limit']=qs[_0x5a54('0x1e')](_0x10a3fb['query'][_0x5a54('0x1e')]);_0x1e093f[_0x5a54('0x1c')]=qs['offset'](_0x10a3fb[_0x5a54('0x30')][_0x5a54('0x1c')]);}_0x1e093f[_0x5a54('0x37')]=qs[_0x5a54('0x38')](_0x10a3fb['query'][_0x5a54('0x38')]);_0x1e093f['where']=qs['filters'](_[_0x5a54('0x39')](_0x10a3fb[_0x5a54('0x30')],_0x2d5993[_0x5a54('0x3a')]),_0x1bb0b3);if(_0x10a3fb[_0x5a54('0x30')][_0x5a54('0x3b')]){_0x1e093f[_0x5a54('0x3c')]=_[_0x5a54('0x3d')](_0x1e093f[_0x5a54('0x3c')],{'$or':_[_0x5a54('0x2b')](_0x1bb0b3,function(_0x48bcb0){if(_0x48bcb0[_0x5a54('0x3e')]!==_0x5a54('0x3f')){var _0x2dbe23={};_0x2dbe23[_0x48bcb0[_0x5a54('0x29')]]={'$like':'%'+_0x10a3fb[_0x5a54('0x30')][_0x5a54('0x3b')]+'%'};return _0x2dbe23;}})});}_0x1e093f=_[_0x5a54('0x3d')]({},_0x1e093f,_0x10a3fb['options']);var _0x3de2f3={'where':_0x1e093f[_0x5a54('0x3c')]};return db[_0x5a54('0x40')][_0x5a54('0x1f')](_0x3de2f3)[_0x5a54('0x41')](function(_0x2f4203){_0x5aa076[_0x5a54('0x1f')]=_0x2f4203;if(_0x10a3fb[_0x5a54('0x30')][_0x5a54('0x42')]){_0x1e093f[_0x5a54('0x43')]=[{'all':!![]}];}return db[_0x5a54('0x40')][_0x5a54('0x44')](_0x1e093f);})[_0x5a54('0x41')](function(_0x4b45aa){_0x5aa076['rows']=_0x4b45aa;return _0x5aa076;})['then'](respondWithFilteredResult(_0x43ce3d,_0x1e093f))['catch'](handleError(_0x43ce3d,null));};exports[_0x5a54('0x45')]=function(_0x153cfb,_0x5a0457){var _0x4e820f={'raw':!![],'where':{'id':_0x153cfb[_0x5a54('0x46')]['id']}},_0xe955bb={};_0xe955bb[_0x5a54('0x2f')]=_[_0x5a54('0x31')](db[_0x5a54('0x40')][_0x5a54('0x2c')]);_0xe955bb['query']=_[_0x5a54('0x31')](_0x153cfb[_0x5a54('0x30')]);_0xe955bb[_0x5a54('0x3a')]=_['intersection'](_0xe955bb[_0x5a54('0x2f')],_0xe955bb[_0x5a54('0x30')]);_0x4e820f[_0x5a54('0x34')]=_[_0x5a54('0x32')](_0xe955bb[_0x5a54('0x2f')],qs['fields'](_0x153cfb[_0x5a54('0x30')][_0x5a54('0x33')]));_0x4e820f['attributes']=_0x4e820f[_0x5a54('0x34')][_0x5a54('0x35')]?_0x4e820f[_0x5a54('0x34')]:_0xe955bb[_0x5a54('0x2f')];if(_0x153cfb[_0x5a54('0x30')][_0x5a54('0x42')]){_0x4e820f[_0x5a54('0x43')]=[{'all':!![]}];}_0x4e820f=_['merge']({},_0x4e820f,_0x153cfb[_0x5a54('0x47')]);return db[_0x5a54('0x40')][_0x5a54('0x48')](_0x4e820f)['then'](handleEntityNotFound(_0x5a0457,null))['then'](respondWithResult(_0x5a0457,null))[_0x5a54('0x49')](handleError(_0x5a0457,null));};exports[_0x5a54('0x4a')]=function(_0x4d3ffb,_0x4afcda){return db['MailServerOut']['create'](_0x4d3ffb['body'],{})[_0x5a54('0x41')](respondWithResult(_0x4afcda,0xc9))[_0x5a54('0x49')](handleError(_0x4afcda,null));};exports[_0x5a54('0x23')]=function(_0x76241b,_0x1ad552){if(_0x76241b['body']['id']){delete _0x76241b[_0x5a54('0x4b')]['id'];}return db[_0x5a54('0x40')]['find']({'where':{'id':_0x76241b[_0x5a54('0x46')]['id']}})[_0x5a54('0x41')](handleEntityNotFound(_0x1ad552,null))[_0x5a54('0x41')](saveUpdates(_0x76241b[_0x5a54('0x4b')],null))[_0x5a54('0x41')](respondWithResult(_0x1ad552,null))[_0x5a54('0x49')](handleError(_0x1ad552,null));};exports['destroy']=function(_0x5ecef3,_0x3e4ec3){return db[_0x5a54('0x40')][_0x5a54('0x48')]({'where':{'id':_0x5ecef3['params']['id']}})[_0x5a54('0x41')](handleEntityNotFound(_0x3e4ec3,null))['then'](removeEntity(_0x3e4ec3,null))['catch'](handleError(_0x3e4ec3,null));};