44d15db2c7c4773494586df426b2253852d5759f
[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 _0xa9db=['count','status','set','apply','reject','save','update','then','destroy','error','name','index','map','MailServerOut','rawAttributes','type','key','query','keys','filters','intersection','model','fields','attributes','length','hasOwnProperty','nolimit','sort','where','pick','filter','merge','include','rows','catch','params','includeAll','options','create','body','find','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','lodash','squel','crypto','jsforce','desk.js','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','end','json','offset','undefined','limit'];(function(_0x337779,_0xfd5e16){var _0x2a4ee2=function(_0x2282b3){while(--_0x2282b3){_0x337779['push'](_0x337779['shift']());}};_0x2a4ee2(++_0xfd5e16);}(_0xa9db,0x187));var _0xba9d=function(_0x34c5c0,_0x38a8cd){_0x34c5c0=_0x34c5c0-0x0;var _0xf98fb1=_0xa9db[_0x34c5c0];return _0xf98fb1;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xba9d('0x0'));var jsonpatch=require(_0xba9d('0x1'));var rp=require(_0xba9d('0x2'));var moment=require(_0xba9d('0x3'));var BPromise=require(_0xba9d('0x4'));var Mustache=require(_0xba9d('0x5'));var util=require(_0xba9d('0x6'));var path=require('path');var sox=require(_0xba9d('0x7'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xba9d('0x8'));var squel=require(_0xba9d('0x9'));var crypto=require(_0xba9d('0xa'));var jsforce=require(_0xba9d('0xb'));var deskjs=require(_0xba9d('0xc'));var toCsv=require('to-csv');var querystring=require(_0xba9d('0xd'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xba9d('0xe'));var qs=require(_0xba9d('0xf'));var as=require(_0xba9d('0x10'));var hardwareService=require(_0xba9d('0x11'));var logger=require(_0xba9d('0x12'))(_0xba9d('0x13'));var utils=require(_0xba9d('0x14'));var config=require(_0xba9d('0x15'));var licenseUtil=require(_0xba9d('0x16'));var db=require(_0xba9d('0x17'))['db'];function respondWithStatusCode(_0x52dadf,_0x2f7712){_0x2f7712=_0x2f7712||0xcc;return function(_0x131063){if(_0x131063){return _0x52dadf['sendStatus'](_0x2f7712);}return _0x52dadf['status'](_0x2f7712)[_0xba9d('0x18')]();};}function respondWithResult(_0x1c0965,_0x402353){_0x402353=_0x402353||0xc8;return function(_0xf2461d){if(_0xf2461d){return _0x1c0965['status'](_0x402353)[_0xba9d('0x19')](_0xf2461d);}};}function respondWithFilteredResult(_0x1f6a44,_0x1a3cfd){return function(_0x2b87a0){if(_0x2b87a0){var _0x166c28=typeof _0x1a3cfd[_0xba9d('0x1a')]===_0xba9d('0x1b')&&typeof _0x1a3cfd[_0xba9d('0x1c')]===_0xba9d('0x1b');var _0x2665f8=_0x2b87a0['count'];var _0x1452b6=_0x166c28?0x0:_0x1a3cfd[_0xba9d('0x1a')];var _0x5bd55e=_0x166c28?_0x2b87a0[_0xba9d('0x1d')]:_0x1a3cfd[_0xba9d('0x1a')]+_0x1a3cfd[_0xba9d('0x1c')];var _0x35203b;if(_0x5bd55e>=_0x2665f8){_0x5bd55e=_0x2665f8;_0x35203b=0xc8;}else{_0x35203b=0xce;}_0x1f6a44[_0xba9d('0x1e')](_0x35203b);return _0x1f6a44[_0xba9d('0x1f')]('Content-Range',_0x1452b6+'-'+_0x5bd55e+'/'+_0x2665f8)[_0xba9d('0x19')](_0x2b87a0);}return null;};}function patchUpdates(_0x2fa3ba){return function(_0x569757){try{jsonpatch[_0xba9d('0x20')](_0x569757,_0x2fa3ba,!![]);}catch(_0x4302e4){return BPromise[_0xba9d('0x21')](_0x4302e4);}return _0x569757[_0xba9d('0x22')]();};}function saveUpdates(_0x5d6d13,_0x2f4d5f){return function(_0xbf722){if(_0xbf722){return _0xbf722[_0xba9d('0x23')](_0x5d6d13)[_0xba9d('0x24')](function(_0x48e582){return _0x48e582;});}return null;};}function removeEntity(_0x19793e,_0x22bbb8){return function(_0xfd6dfb){if(_0xfd6dfb){return _0xfd6dfb[_0xba9d('0x25')]()['then'](function(){_0x19793e[_0xba9d('0x1e')](0xcc)[_0xba9d('0x18')]();});}};}function handleEntityNotFound(_0x206649,_0x4d6707){return function(_0x29a669){if(!_0x29a669){_0x206649['sendStatus'](0x194);}return _0x29a669;};}function handleError(_0x1bca34,_0x24911a){_0x24911a=_0x24911a||0x1f4;return function(_0x1e26a2){logger[_0xba9d('0x26')](_0x1e26a2['stack']);if(_0x1e26a2[_0xba9d('0x27')]){delete _0x1e26a2[_0xba9d('0x27')];}_0x1bca34['status'](_0x24911a)['send'](_0x1e26a2);};}exports[_0xba9d('0x28')]=function(_0x38f75d,_0x2e6da7){var _0x7dcd92={},_0x2078e6={},_0x35a6cc={'count':0x0,'rows':[]};var _0x49f4fa=_[_0xba9d('0x29')](db[_0xba9d('0x2a')][_0xba9d('0x2b')],function(_0x1c9950){return{'name':_0x1c9950['fieldName'],'type':_0x1c9950[_0xba9d('0x2c')][_0xba9d('0x2d')]};});_0x2078e6['model']=_[_0xba9d('0x29')](_0x49f4fa,_0xba9d('0x27'));_0x2078e6[_0xba9d('0x2e')]=_[_0xba9d('0x2f')](_0x38f75d[_0xba9d('0x2e')]);_0x2078e6[_0xba9d('0x30')]=_[_0xba9d('0x31')](_0x2078e6[_0xba9d('0x32')],_0x2078e6[_0xba9d('0x2e')]);_0x7dcd92['attributes']=_[_0xba9d('0x31')](_0x2078e6[_0xba9d('0x32')],qs[_0xba9d('0x33')](_0x38f75d[_0xba9d('0x2e')]['fields']));_0x7dcd92[_0xba9d('0x34')]=_0x7dcd92[_0xba9d('0x34')][_0xba9d('0x35')]?_0x7dcd92[_0xba9d('0x34')]:_0x2078e6[_0xba9d('0x32')];if(!_0x38f75d[_0xba9d('0x2e')][_0xba9d('0x36')](_0xba9d('0x37'))){_0x7dcd92[_0xba9d('0x1c')]=qs[_0xba9d('0x1c')](_0x38f75d[_0xba9d('0x2e')]['limit']);_0x7dcd92['offset']=qs[_0xba9d('0x1a')](_0x38f75d['query']['offset']);}_0x7dcd92['order']=qs[_0xba9d('0x38')](_0x38f75d['query'][_0xba9d('0x38')]);_0x7dcd92[_0xba9d('0x39')]=qs[_0xba9d('0x30')](_[_0xba9d('0x3a')](_0x38f75d[_0xba9d('0x2e')],_0x2078e6[_0xba9d('0x30')]),_0x49f4fa);if(_0x38f75d[_0xba9d('0x2e')][_0xba9d('0x3b')]){_0x7dcd92[_0xba9d('0x39')]=_[_0xba9d('0x3c')](_0x7dcd92[_0xba9d('0x39')],{'$or':_[_0xba9d('0x29')](_0x49f4fa,function(_0x4faa6c){if(_0x4faa6c[_0xba9d('0x2c')]!=='VIRTUAL'){var _0x107d62={};_0x107d62[_0x4faa6c[_0xba9d('0x27')]]={'$like':'%'+_0x38f75d[_0xba9d('0x2e')]['filter']+'%'};return _0x107d62;}})});}_0x7dcd92=_['merge']({},_0x7dcd92,_0x38f75d['options']);var _0x346591={'where':_0x7dcd92[_0xba9d('0x39')]};return db[_0xba9d('0x2a')]['count'](_0x346591)[_0xba9d('0x24')](function(_0x9df2fe){_0x35a6cc['count']=_0x9df2fe;if(_0x38f75d[_0xba9d('0x2e')]['includeAll']){_0x7dcd92[_0xba9d('0x3d')]=[{'all':!![]}];}return db['MailServerOut']['findAll'](_0x7dcd92);})[_0xba9d('0x24')](function(_0x5601a8){_0x35a6cc[_0xba9d('0x3e')]=_0x5601a8;return _0x35a6cc;})[_0xba9d('0x24')](respondWithFilteredResult(_0x2e6da7,_0x7dcd92))[_0xba9d('0x3f')](handleError(_0x2e6da7,null));};exports['show']=function(_0xada75c,_0x12cd2d){var _0x56de3e={'raw':!![],'where':{'id':_0xada75c[_0xba9d('0x40')]['id']}},_0x127560={};_0x127560['model']=_[_0xba9d('0x2f')](db[_0xba9d('0x2a')][_0xba9d('0x2b')]);_0x127560[_0xba9d('0x2e')]=_[_0xba9d('0x2f')](_0xada75c['query']);_0x127560[_0xba9d('0x30')]=_[_0xba9d('0x31')](_0x127560[_0xba9d('0x32')],_0x127560[_0xba9d('0x2e')]);_0x56de3e[_0xba9d('0x34')]=_[_0xba9d('0x31')](_0x127560[_0xba9d('0x32')],qs[_0xba9d('0x33')](_0xada75c[_0xba9d('0x2e')][_0xba9d('0x33')]));_0x56de3e['attributes']=_0x56de3e[_0xba9d('0x34')]['length']?_0x56de3e[_0xba9d('0x34')]:_0x127560[_0xba9d('0x32')];if(_0xada75c['query'][_0xba9d('0x41')]){_0x56de3e[_0xba9d('0x3d')]=[{'all':!![]}];}_0x56de3e=_[_0xba9d('0x3c')]({},_0x56de3e,_0xada75c[_0xba9d('0x42')]);return db[_0xba9d('0x2a')]['find'](_0x56de3e)[_0xba9d('0x24')](handleEntityNotFound(_0x12cd2d,null))['then'](respondWithResult(_0x12cd2d,null))[_0xba9d('0x3f')](handleError(_0x12cd2d,null));};exports[_0xba9d('0x43')]=function(_0x1dc099,_0x1806c1){return db[_0xba9d('0x2a')][_0xba9d('0x43')](_0x1dc099[_0xba9d('0x44')],{})[_0xba9d('0x24')](respondWithResult(_0x1806c1,0xc9))[_0xba9d('0x3f')](handleError(_0x1806c1,null));};exports[_0xba9d('0x23')]=function(_0x20c557,_0x27087f){if(_0x20c557[_0xba9d('0x44')]['id']){delete _0x20c557[_0xba9d('0x44')]['id'];}return db[_0xba9d('0x2a')]['find']({'where':{'id':_0x20c557[_0xba9d('0x40')]['id']}})['then'](handleEntityNotFound(_0x27087f,null))[_0xba9d('0x24')](saveUpdates(_0x20c557[_0xba9d('0x44')],null))[_0xba9d('0x24')](respondWithResult(_0x27087f,null))['catch'](handleError(_0x27087f,null));};exports[_0xba9d('0x25')]=function(_0x1038ef,_0x3f9601){return db[_0xba9d('0x2a')][_0xba9d('0x45')]({'where':{'id':_0x1038ef[_0xba9d('0x40')]['id']}})[_0xba9d('0x24')](handleEntityNotFound(_0x3f9601,null))[_0xba9d('0x24')](removeEntity(_0x3f9601,null))[_0xba9d('0x3f')](handleError(_0x3f9601,null));};