2c5d9bfceb717df241f5dec3fc0a3c0747d389eb
[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 _0x6166=['index','map','MailServerOut','rawAttributes','fieldName','type','key','model','query','keys','filters','attributes','intersection','fields','hasOwnProperty','order','sort','where','filter','merge','options','findAll','rows','catch','show','params','includeAll','include','create','body','find','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/license/util','sendStatus','status','json','offset','undefined','limit','count','set','reject','then','destroy','end','name','send'];(function(_0x4080f2,_0x5048b3){var _0x34f4ce=function(_0x5e7259){while(--_0x5e7259){_0x4080f2['push'](_0x4080f2['shift']());}};_0x34f4ce(++_0x5048b3);}(_0x6166,0xa9));var _0x6616=function(_0x5cc8,_0x1faa02){_0x5cc8=_0x5cc8-0x0;var _0x450661=_0x6166[_0x5cc8];return _0x450661;};'use strict';var emlformat=require(_0x6616('0x0'));var rimraf=require(_0x6616('0x1'));var zipdir=require(_0x6616('0x2'));var jsonpatch=require(_0x6616('0x3'));var rp=require(_0x6616('0x4'));var moment=require(_0x6616('0x5'));var BPromise=require(_0x6616('0x6'));var Mustache=require('mustache');var util=require(_0x6616('0x7'));var path=require(_0x6616('0x8'));var sox=require(_0x6616('0x9'));var csv=require(_0x6616('0xa'));var ejs=require(_0x6616('0xb'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x6616('0xc'));var squel=require(_0x6616('0xd'));var crypto=require(_0x6616('0xe'));var jsforce=require(_0x6616('0xf'));var deskjs=require(_0x6616('0x10'));var toCsv=require(_0x6616('0xa'));var querystring=require('querystring');var Papa=require(_0x6616('0x11'));var Redis=require(_0x6616('0x12'));var authService=require('../../components/auth/service');var qs=require(_0x6616('0x13'));var as=require(_0x6616('0x14'));var hardwareService=require(_0x6616('0x15'));var logger=require(_0x6616('0x16'))('api');var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x6616('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x18248b,_0x27e342){_0x27e342=_0x27e342||0xcc;return function(_0x5091ad){if(_0x5091ad){return _0x18248b[_0x6616('0x18')](_0x27e342);}return _0x18248b[_0x6616('0x19')](_0x27e342)['end']();};}function respondWithResult(_0x36600b,_0x5879d4){_0x5879d4=_0x5879d4||0xc8;return function(_0x36bee1){if(_0x36bee1){return _0x36600b[_0x6616('0x19')](_0x5879d4)[_0x6616('0x1a')](_0x36bee1);}};}function respondWithFilteredResult(_0x479cfa,_0x4ed694){return function(_0x2111db){if(_0x2111db){var _0x36bcd1=typeof _0x4ed694[_0x6616('0x1b')]===_0x6616('0x1c')&&typeof _0x4ed694[_0x6616('0x1d')]==='undefined';var _0x55e464=_0x2111db[_0x6616('0x1e')];var _0x15a99d=_0x36bcd1?0x0:_0x4ed694['offset'];var _0x48bf54=_0x36bcd1?_0x2111db['count']:_0x4ed694[_0x6616('0x1b')]+_0x4ed694[_0x6616('0x1d')];var _0xaa09f1;if(_0x48bf54>=_0x55e464){_0x48bf54=_0x55e464;_0xaa09f1=0xc8;}else{_0xaa09f1=0xce;}_0x479cfa[_0x6616('0x19')](_0xaa09f1);return _0x479cfa[_0x6616('0x1f')]('Content-Range',_0x15a99d+'-'+_0x48bf54+'/'+_0x55e464)[_0x6616('0x1a')](_0x2111db);}return null;};}function patchUpdates(_0x1f5e9f){return function(_0x59b065){try{jsonpatch['apply'](_0x59b065,_0x1f5e9f,!![]);}catch(_0x54d1d4){return BPromise[_0x6616('0x20')](_0x54d1d4);}return _0x59b065['save']();};}function saveUpdates(_0x39384f,_0xbd3428){return function(_0x3a0c7d){if(_0x3a0c7d){return _0x3a0c7d['update'](_0x39384f)[_0x6616('0x21')](function(_0x2ebdda){return _0x2ebdda;});}return null;};}function removeEntity(_0x4663fe,_0x36c72b){return function(_0x5c9e6b){if(_0x5c9e6b){return _0x5c9e6b[_0x6616('0x22')]()[_0x6616('0x21')](function(){_0x4663fe[_0x6616('0x19')](0xcc)[_0x6616('0x23')]();});}};}function handleEntityNotFound(_0x249712,_0x3afa0c){return function(_0x831a06){if(!_0x831a06){_0x249712['sendStatus'](0x194);}return _0x831a06;};}function handleError(_0x26fa48,_0x1bef26){_0x1bef26=_0x1bef26||0x1f4;return function(_0x1b40aa){logger['error'](_0x1b40aa['stack']);if(_0x1b40aa[_0x6616('0x24')]){delete _0x1b40aa[_0x6616('0x24')];}_0x26fa48[_0x6616('0x19')](_0x1bef26)[_0x6616('0x25')](_0x1b40aa);};}exports[_0x6616('0x26')]=function(_0x274476,_0x56b79c){var _0x7fa0b8={},_0x3eef71={},_0x1d918e={'count':0x0,'rows':[]};var _0x563e18=_[_0x6616('0x27')](db[_0x6616('0x28')][_0x6616('0x29')],function(_0x1cb985){return{'name':_0x1cb985[_0x6616('0x2a')],'type':_0x1cb985[_0x6616('0x2b')][_0x6616('0x2c')]};});_0x3eef71[_0x6616('0x2d')]=_['map'](_0x563e18,_0x6616('0x24'));_0x3eef71[_0x6616('0x2e')]=_[_0x6616('0x2f')](_0x274476['query']);_0x3eef71[_0x6616('0x30')]=_['intersection'](_0x3eef71[_0x6616('0x2d')],_0x3eef71['query']);_0x7fa0b8[_0x6616('0x31')]=_[_0x6616('0x32')](_0x3eef71[_0x6616('0x2d')],qs[_0x6616('0x33')](_0x274476[_0x6616('0x2e')][_0x6616('0x33')]));_0x7fa0b8['attributes']=_0x7fa0b8[_0x6616('0x31')]['length']?_0x7fa0b8[_0x6616('0x31')]:_0x3eef71['model'];if(!_0x274476['query'][_0x6616('0x34')]('nolimit')){_0x7fa0b8['limit']=qs['limit'](_0x274476['query'][_0x6616('0x1d')]);_0x7fa0b8['offset']=qs[_0x6616('0x1b')](_0x274476[_0x6616('0x2e')][_0x6616('0x1b')]);}_0x7fa0b8[_0x6616('0x35')]=qs[_0x6616('0x36')](_0x274476['query'][_0x6616('0x36')]);_0x7fa0b8[_0x6616('0x37')]=qs[_0x6616('0x30')](_['pick'](_0x274476['query'],_0x3eef71[_0x6616('0x30')]),_0x563e18);if(_0x274476[_0x6616('0x2e')][_0x6616('0x38')]){_0x7fa0b8[_0x6616('0x37')]=_['merge'](_0x7fa0b8[_0x6616('0x37')],{'$or':_['map'](_0x563e18,function(_0x4fa770){if(_0x4fa770[_0x6616('0x2b')]!=='VIRTUAL'){var _0x2ef0fe={};_0x2ef0fe[_0x4fa770[_0x6616('0x24')]]={'$like':'%'+_0x274476['query']['filter']+'%'};return _0x2ef0fe;}})});}_0x7fa0b8=_[_0x6616('0x39')]({},_0x7fa0b8,_0x274476[_0x6616('0x3a')]);var _0x434c2d={'where':_0x7fa0b8['where']};return db[_0x6616('0x28')][_0x6616('0x1e')](_0x434c2d)[_0x6616('0x21')](function(_0x47a610){_0x1d918e[_0x6616('0x1e')]=_0x47a610;if(_0x274476[_0x6616('0x2e')]['includeAll']){_0x7fa0b8['include']=[{'all':!![]}];}return db[_0x6616('0x28')][_0x6616('0x3b')](_0x7fa0b8);})[_0x6616('0x21')](function(_0x119061){_0x1d918e[_0x6616('0x3c')]=_0x119061;return _0x1d918e;})[_0x6616('0x21')](respondWithFilteredResult(_0x56b79c,_0x7fa0b8))[_0x6616('0x3d')](handleError(_0x56b79c,null));};exports[_0x6616('0x3e')]=function(_0x43dd3a,_0x23cc57){var _0x42c05a={'raw':!![],'where':{'id':_0x43dd3a[_0x6616('0x3f')]['id']}},_0x252f63={};_0x252f63[_0x6616('0x2d')]=_[_0x6616('0x2f')](db[_0x6616('0x28')][_0x6616('0x29')]);_0x252f63[_0x6616('0x2e')]=_[_0x6616('0x2f')](_0x43dd3a[_0x6616('0x2e')]);_0x252f63[_0x6616('0x30')]=_[_0x6616('0x32')](_0x252f63[_0x6616('0x2d')],_0x252f63[_0x6616('0x2e')]);_0x42c05a[_0x6616('0x31')]=_[_0x6616('0x32')](_0x252f63[_0x6616('0x2d')],qs[_0x6616('0x33')](_0x43dd3a['query'][_0x6616('0x33')]));_0x42c05a[_0x6616('0x31')]=_0x42c05a[_0x6616('0x31')]['length']?_0x42c05a[_0x6616('0x31')]:_0x252f63[_0x6616('0x2d')];if(_0x43dd3a[_0x6616('0x2e')][_0x6616('0x40')]){_0x42c05a[_0x6616('0x41')]=[{'all':!![]}];}_0x42c05a=_[_0x6616('0x39')]({},_0x42c05a,_0x43dd3a[_0x6616('0x3a')]);return db[_0x6616('0x28')]['find'](_0x42c05a)[_0x6616('0x21')](handleEntityNotFound(_0x23cc57,null))[_0x6616('0x21')](respondWithResult(_0x23cc57,null))['catch'](handleError(_0x23cc57,null));};exports[_0x6616('0x42')]=function(_0x5bcbea,_0x1bb5e7){return db[_0x6616('0x28')][_0x6616('0x42')](_0x5bcbea['body'],{})[_0x6616('0x21')](respondWithResult(_0x1bb5e7,0xc9))[_0x6616('0x3d')](handleError(_0x1bb5e7,null));};exports['update']=function(_0x4f53d0,_0x78f3ef){if(_0x4f53d0[_0x6616('0x43')]['id']){delete _0x4f53d0[_0x6616('0x43')]['id'];}return db[_0x6616('0x28')][_0x6616('0x44')]({'where':{'id':_0x4f53d0[_0x6616('0x3f')]['id']}})['then'](handleEntityNotFound(_0x78f3ef,null))[_0x6616('0x21')](saveUpdates(_0x4f53d0[_0x6616('0x43')],null))['then'](respondWithResult(_0x78f3ef,null))[_0x6616('0x3d')](handleError(_0x78f3ef,null));};exports['destroy']=function(_0x5be908,_0x10d96c){return db[_0x6616('0x28')][_0x6616('0x44')]({'where':{'id':_0x5be908[_0x6616('0x3f')]['id']}})[_0x6616('0x21')](handleEntityNotFound(_0x10d96c,null))['then'](removeEntity(_0x10d96c,null))[_0x6616('0x3d')](handleError(_0x10d96c,null));};