bacf94dbf1474ff114990f294234e2e8caf772e3
[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 _0x096a=['lodash','squel','crypto','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','limit','set','Content-Range','apply','reject','save','update','then','stack','name','index','map','MailServerOut','rawAttributes','fieldName','type','key','query','intersection','model','attributes','fields','length','hasOwnProperty','order','sort','where','filters','pick','filter','VIRTUAL','merge','options','include','findAll','rows','catch','show','find','create','body','destroy','params','eml-format','rimraf','fast-json-patch','bluebird','mustache','util','path','to-csv','ejs'];(function(_0x416590,_0x3546fd){var _0x531efd=function(_0x5e9eb0){while(--_0x5e9eb0){_0x416590['push'](_0x416590['shift']());}};_0x531efd(++_0x3546fd);}(_0x096a,0x1e8));var _0xa096=function(_0x2c2358,_0x9b0f52){_0x2c2358=_0x2c2358-0x0;var _0x5b98b2=_0x096a[_0x2c2358];return _0x5b98b2;};'use strict';var emlformat=require(_0xa096('0x0'));var rimraf=require(_0xa096('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xa096('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xa096('0x3'));var Mustache=require(_0xa096('0x4'));var util=require(_0xa096('0x5'));var path=require(_0xa096('0x6'));var sox=require('sox');var csv=require(_0xa096('0x7'));var ejs=require(_0xa096('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xa096('0x9'));var squel=require(_0xa096('0xa'));var crypto=require(_0xa096('0xb'));var jsforce=require('jsforce');var deskjs=require(_0xa096('0xc'));var toCsv=require('to-csv');var querystring=require(_0xa096('0xd'));var Papa=require('papaparse');var Redis=require(_0xa096('0xe'));var authService=require(_0xa096('0xf'));var qs=require(_0xa096('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0xa096('0x11'))(_0xa096('0x12'));var utils=require('../../config/utils');var config=require(_0xa096('0x13'));var licenseUtil=require('../../config/license/util');var db=require(_0xa096('0x14'))['db'];function respondWithStatusCode(_0x32c8c1,_0x32c675){_0x32c675=_0x32c675||0xcc;return function(_0x175b45){if(_0x175b45){return _0x32c8c1[_0xa096('0x15')](_0x32c675);}return _0x32c8c1[_0xa096('0x16')](_0x32c675)[_0xa096('0x17')]();};}function respondWithResult(_0x5c8c1f,_0x21f4c3){_0x21f4c3=_0x21f4c3||0xc8;return function(_0x5ddabc){if(_0x5ddabc){return _0x5c8c1f[_0xa096('0x16')](_0x21f4c3)[_0xa096('0x18')](_0x5ddabc);}};}function respondWithFilteredResult(_0x43e12f,_0x3143b7){return function(_0x3b10c7){if(_0x3b10c7){var _0x519b87=typeof _0x3143b7[_0xa096('0x19')]===_0xa096('0x1a')&&typeof _0x3143b7['limit']==='undefined';var _0xe6f64b=_0x3b10c7['count'];var _0x37f3aa=_0x519b87?0x0:_0x3143b7['offset'];var _0x19c827=_0x519b87?_0x3b10c7[_0xa096('0x1b')]:_0x3143b7[_0xa096('0x19')]+_0x3143b7[_0xa096('0x1c')];var _0x299f33;if(_0x19c827>=_0xe6f64b){_0x19c827=_0xe6f64b;_0x299f33=0xc8;}else{_0x299f33=0xce;}_0x43e12f[_0xa096('0x16')](_0x299f33);return _0x43e12f[_0xa096('0x1d')](_0xa096('0x1e'),_0x37f3aa+'-'+_0x19c827+'/'+_0xe6f64b)[_0xa096('0x18')](_0x3b10c7);}return null;};}function patchUpdates(_0x44eea1){return function(_0x11ef2c){try{jsonpatch[_0xa096('0x1f')](_0x11ef2c,_0x44eea1,!![]);}catch(_0xceee12){return BPromise[_0xa096('0x20')](_0xceee12);}return _0x11ef2c[_0xa096('0x21')]();};}function saveUpdates(_0xfbfffe,_0x7ea2fb){return function(_0x3a50dd){if(_0x3a50dd){return _0x3a50dd[_0xa096('0x22')](_0xfbfffe)['then'](function(_0x3e9b17){return _0x3e9b17;});}return null;};}function removeEntity(_0x1231bf,_0x125f74){return function(_0x5dbffc){if(_0x5dbffc){return _0x5dbffc['destroy']()[_0xa096('0x23')](function(){_0x1231bf[_0xa096('0x16')](0xcc)[_0xa096('0x17')]();});}};}function handleEntityNotFound(_0x11eda0,_0x402e70){return function(_0x45aeac){if(!_0x45aeac){_0x11eda0[_0xa096('0x15')](0x194);}return _0x45aeac;};}function handleError(_0x1b155b,_0x1473fb){_0x1473fb=_0x1473fb||0x1f4;return function(_0x3fef4d){logger['error'](_0x3fef4d[_0xa096('0x24')]);if(_0x3fef4d[_0xa096('0x25')]){delete _0x3fef4d[_0xa096('0x25')];}_0x1b155b[_0xa096('0x16')](_0x1473fb)['send'](_0x3fef4d);};}exports[_0xa096('0x26')]=function(_0x110312,_0x202233){var _0x4ced4d={},_0x41402d={},_0x2553dc={'count':0x0,'rows':[]};var _0x1ff3f5=_[_0xa096('0x27')](db[_0xa096('0x28')][_0xa096('0x29')],function(_0xb61ad3){return{'name':_0xb61ad3[_0xa096('0x2a')],'type':_0xb61ad3[_0xa096('0x2b')][_0xa096('0x2c')]};});_0x41402d['model']=_[_0xa096('0x27')](_0x1ff3f5,_0xa096('0x25'));_0x41402d[_0xa096('0x2d')]=_['keys'](_0x110312[_0xa096('0x2d')]);_0x41402d['filters']=_[_0xa096('0x2e')](_0x41402d[_0xa096('0x2f')],_0x41402d[_0xa096('0x2d')]);_0x4ced4d[_0xa096('0x30')]=_[_0xa096('0x2e')](_0x41402d['model'],qs[_0xa096('0x31')](_0x110312['query']['fields']));_0x4ced4d[_0xa096('0x30')]=_0x4ced4d[_0xa096('0x30')][_0xa096('0x32')]?_0x4ced4d[_0xa096('0x30')]:_0x41402d['model'];if(!_0x110312[_0xa096('0x2d')][_0xa096('0x33')]('nolimit')){_0x4ced4d[_0xa096('0x1c')]=qs[_0xa096('0x1c')](_0x110312[_0xa096('0x2d')][_0xa096('0x1c')]);_0x4ced4d[_0xa096('0x19')]=qs[_0xa096('0x19')](_0x110312[_0xa096('0x2d')]['offset']);}_0x4ced4d[_0xa096('0x34')]=qs[_0xa096('0x35')](_0x110312[_0xa096('0x2d')][_0xa096('0x35')]);_0x4ced4d[_0xa096('0x36')]=qs[_0xa096('0x37')](_[_0xa096('0x38')](_0x110312['query'],_0x41402d[_0xa096('0x37')]),_0x1ff3f5);if(_0x110312[_0xa096('0x2d')][_0xa096('0x39')]){_0x4ced4d[_0xa096('0x36')]=_['merge'](_0x4ced4d[_0xa096('0x36')],{'$or':_[_0xa096('0x27')](_0x1ff3f5,function(_0x2ccf33){if(_0x2ccf33[_0xa096('0x2b')]!==_0xa096('0x3a')){var _0xfb05ac={};_0xfb05ac[_0x2ccf33[_0xa096('0x25')]]={'$like':'%'+_0x110312[_0xa096('0x2d')][_0xa096('0x39')]+'%'};return _0xfb05ac;}})});}_0x4ced4d=_[_0xa096('0x3b')]({},_0x4ced4d,_0x110312[_0xa096('0x3c')]);var _0x2ca7e5={'where':_0x4ced4d[_0xa096('0x36')]};return db['MailServerOut']['count'](_0x2ca7e5)[_0xa096('0x23')](function(_0x3c83c1){_0x2553dc['count']=_0x3c83c1;if(_0x110312[_0xa096('0x2d')]['includeAll']){_0x4ced4d[_0xa096('0x3d')]=[{'all':!![]}];}return db[_0xa096('0x28')][_0xa096('0x3e')](_0x4ced4d);})['then'](function(_0x51345c){_0x2553dc[_0xa096('0x3f')]=_0x51345c;return _0x2553dc;})[_0xa096('0x23')](respondWithFilteredResult(_0x202233,_0x4ced4d))[_0xa096('0x40')](handleError(_0x202233,null));};exports[_0xa096('0x41')]=function(_0x34118b,_0x47a481){var _0x3802f3={'raw':!![],'where':{'id':_0x34118b['params']['id']}},_0x142a55={};_0x142a55[_0xa096('0x2f')]=_['keys'](db['MailServerOut'][_0xa096('0x29')]);_0x142a55[_0xa096('0x2d')]=_['keys'](_0x34118b[_0xa096('0x2d')]);_0x142a55[_0xa096('0x37')]=_[_0xa096('0x2e')](_0x142a55[_0xa096('0x2f')],_0x142a55[_0xa096('0x2d')]);_0x3802f3[_0xa096('0x30')]=_[_0xa096('0x2e')](_0x142a55[_0xa096('0x2f')],qs[_0xa096('0x31')](_0x34118b[_0xa096('0x2d')][_0xa096('0x31')]));_0x3802f3[_0xa096('0x30')]=_0x3802f3[_0xa096('0x30')][_0xa096('0x32')]?_0x3802f3[_0xa096('0x30')]:_0x142a55[_0xa096('0x2f')];if(_0x34118b[_0xa096('0x2d')]['includeAll']){_0x3802f3[_0xa096('0x3d')]=[{'all':!![]}];}_0x3802f3=_['merge']({},_0x3802f3,_0x34118b[_0xa096('0x3c')]);return db[_0xa096('0x28')][_0xa096('0x42')](_0x3802f3)[_0xa096('0x23')](handleEntityNotFound(_0x47a481,null))['then'](respondWithResult(_0x47a481,null))['catch'](handleError(_0x47a481,null));};exports[_0xa096('0x43')]=function(_0x485e02,_0x591f20){return db[_0xa096('0x28')][_0xa096('0x43')](_0x485e02['body'],{})[_0xa096('0x23')](respondWithResult(_0x591f20,0xc9))[_0xa096('0x40')](handleError(_0x591f20,null));};exports['update']=function(_0x441ef6,_0x489109){if(_0x441ef6['body']['id']){delete _0x441ef6['body']['id'];}return db[_0xa096('0x28')]['find']({'where':{'id':_0x441ef6['params']['id']}})[_0xa096('0x23')](handleEntityNotFound(_0x489109,null))['then'](saveUpdates(_0x441ef6[_0xa096('0x44')],null))['then'](respondWithResult(_0x489109,null))[_0xa096('0x40')](handleError(_0x489109,null));};exports[_0xa096('0x45')]=function(_0x337944,_0x30b2f1){return db[_0xa096('0x28')][_0xa096('0x42')]({'where':{'id':_0x337944[_0xa096('0x46')]['id']}})[_0xa096('0x23')](handleEntityNotFound(_0x30b2f1,null))[_0xa096('0x23')](removeEntity(_0x30b2f1,null))[_0xa096('0x40')](handleError(_0x30b2f1,null));};