aee80f8499d1dcd8b390f29cf0a4ad033bae0e9a
[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 _0xd4c5=['Content-Range','apply','reject','save','update','then','destroy','stack','name','send','index','map','MailServerOut','type','key','model','query','filters','intersection','attributes','fields','length','sort','pick','filter','where','merge','VIRTUAL','options','count','includeAll','include','findAll','show','params','keys','catch','create','body','find','eml-format','zip-dir','request-promise','util','path','sox','ejs','fs-extra','lodash','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','undefined','limit','offset','set'];(function(_0x2e9c3a,_0x42a377){var _0x3e9182=function(_0xd9230d){while(--_0xd9230d){_0x2e9c3a['push'](_0x2e9c3a['shift']());}};_0x3e9182(++_0x42a377);}(_0xd4c5,0x148));var _0x5d4c=function(_0x5bf123,_0x5b49eb){_0x5bf123=_0x5bf123-0x0;var _0x3051de=_0xd4c5[_0x5bf123];return _0x3051de;};'use strict';var emlformat=require(_0x5d4c('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x5d4c('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x5d4c('0x2'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x5d4c('0x3'));var path=require(_0x5d4c('0x4'));var sox=require(_0x5d4c('0x5'));var csv=require('to-csv');var ejs=require(_0x5d4c('0x6'));var fs=require('fs');var fs_extra=require(_0x5d4c('0x7'));var _=require(_0x5d4c('0x8'));var squel=require('squel');var crypto=require(_0x5d4c('0x9'));var jsforce=require(_0x5d4c('0xa'));var deskjs=require(_0x5d4c('0xb'));var toCsv=require(_0x5d4c('0xc'));var querystring=require(_0x5d4c('0xd'));var Papa=require(_0x5d4c('0xe'));var Redis=require(_0x5d4c('0xf'));var authService=require('../../components/auth/service');var qs=require(_0x5d4c('0x10'));var as=require(_0x5d4c('0x11'));var hardwareService=require(_0x5d4c('0x12'));var logger=require('../../config/logger')(_0x5d4c('0x13'));var utils=require(_0x5d4c('0x14'));var config=require(_0x5d4c('0x15'));var licenseUtil=require(_0x5d4c('0x16'));var db=require(_0x5d4c('0x17'))['db'];function respondWithStatusCode(_0x1e6330,_0xc7284e){_0xc7284e=_0xc7284e||0xcc;return function(_0x31b9f5){if(_0x31b9f5){return _0x1e6330[_0x5d4c('0x18')](_0xc7284e);}return _0x1e6330[_0x5d4c('0x19')](_0xc7284e)[_0x5d4c('0x1a')]();};}function respondWithResult(_0x2e7761,_0x3239bf){_0x3239bf=_0x3239bf||0xc8;return function(_0x2cb0e7){if(_0x2cb0e7){return _0x2e7761[_0x5d4c('0x19')](_0x3239bf)[_0x5d4c('0x1b')](_0x2cb0e7);}};}function respondWithFilteredResult(_0x4c71de,_0x10d720){return function(_0x3b95ce){if(_0x3b95ce){var _0x506f07=typeof _0x10d720['offset']===_0x5d4c('0x1c')&&typeof _0x10d720[_0x5d4c('0x1d')]==='undefined';var _0x2688bf=_0x3b95ce['count'];var _0x1e3230=_0x506f07?0x0:_0x10d720[_0x5d4c('0x1e')];var _0x122e86=_0x506f07?_0x3b95ce['count']:_0x10d720[_0x5d4c('0x1e')]+_0x10d720[_0x5d4c('0x1d')];var _0x1893a3;if(_0x122e86>=_0x2688bf){_0x122e86=_0x2688bf;_0x1893a3=0xc8;}else{_0x1893a3=0xce;}_0x4c71de[_0x5d4c('0x19')](_0x1893a3);return _0x4c71de[_0x5d4c('0x1f')](_0x5d4c('0x20'),_0x1e3230+'-'+_0x122e86+'/'+_0x2688bf)[_0x5d4c('0x1b')](_0x3b95ce);}return null;};}function patchUpdates(_0x2775f7){return function(_0x45ae24){try{jsonpatch[_0x5d4c('0x21')](_0x45ae24,_0x2775f7,!![]);}catch(_0x3f0d07){return BPromise[_0x5d4c('0x22')](_0x3f0d07);}return _0x45ae24[_0x5d4c('0x23')]();};}function saveUpdates(_0x4f871f,_0x3acfeb){return function(_0x503252){if(_0x503252){return _0x503252[_0x5d4c('0x24')](_0x4f871f)[_0x5d4c('0x25')](function(_0x3c4ced){return _0x3c4ced;});}return null;};}function removeEntity(_0xe194d,_0x5744bb){return function(_0x91e429){if(_0x91e429){return _0x91e429[_0x5d4c('0x26')]()[_0x5d4c('0x25')](function(){_0xe194d[_0x5d4c('0x19')](0xcc)[_0x5d4c('0x1a')]();});}};}function handleEntityNotFound(_0x7e54e2,_0x24f38a){return function(_0x6bc778){if(!_0x6bc778){_0x7e54e2['sendStatus'](0x194);}return _0x6bc778;};}function handleError(_0x403eed,_0x241034){_0x241034=_0x241034||0x1f4;return function(_0x2ef2fa){logger['error'](_0x2ef2fa[_0x5d4c('0x27')]);if(_0x2ef2fa[_0x5d4c('0x28')]){delete _0x2ef2fa[_0x5d4c('0x28')];}_0x403eed['status'](_0x241034)[_0x5d4c('0x29')](_0x2ef2fa);};}exports[_0x5d4c('0x2a')]=function(_0x42a391,_0x47b140){var _0x1bd993={},_0x5b89b0={},_0x1bae5c={'count':0x0,'rows':[]};var _0x5d2d39=_[_0x5d4c('0x2b')](db[_0x5d4c('0x2c')]['rawAttributes'],function(_0x530c3f){return{'name':_0x530c3f['fieldName'],'type':_0x530c3f[_0x5d4c('0x2d')][_0x5d4c('0x2e')]};});_0x5b89b0[_0x5d4c('0x2f')]=_[_0x5d4c('0x2b')](_0x5d2d39,_0x5d4c('0x28'));_0x5b89b0[_0x5d4c('0x30')]=_['keys'](_0x42a391[_0x5d4c('0x30')]);_0x5b89b0[_0x5d4c('0x31')]=_[_0x5d4c('0x32')](_0x5b89b0[_0x5d4c('0x2f')],_0x5b89b0[_0x5d4c('0x30')]);_0x1bd993[_0x5d4c('0x33')]=_[_0x5d4c('0x32')](_0x5b89b0[_0x5d4c('0x2f')],qs[_0x5d4c('0x34')](_0x42a391[_0x5d4c('0x30')][_0x5d4c('0x34')]));_0x1bd993[_0x5d4c('0x33')]=_0x1bd993[_0x5d4c('0x33')][_0x5d4c('0x35')]?_0x1bd993[_0x5d4c('0x33')]:_0x5b89b0[_0x5d4c('0x2f')];if(!_0x42a391[_0x5d4c('0x30')]['hasOwnProperty']('nolimit')){_0x1bd993[_0x5d4c('0x1d')]=qs[_0x5d4c('0x1d')](_0x42a391[_0x5d4c('0x30')][_0x5d4c('0x1d')]);_0x1bd993[_0x5d4c('0x1e')]=qs[_0x5d4c('0x1e')](_0x42a391[_0x5d4c('0x30')][_0x5d4c('0x1e')]);}_0x1bd993['order']=qs['sort'](_0x42a391[_0x5d4c('0x30')][_0x5d4c('0x36')]);_0x1bd993['where']=qs[_0x5d4c('0x31')](_[_0x5d4c('0x37')](_0x42a391[_0x5d4c('0x30')],_0x5b89b0['filters']),_0x5d2d39);if(_0x42a391[_0x5d4c('0x30')][_0x5d4c('0x38')]){_0x1bd993[_0x5d4c('0x39')]=_[_0x5d4c('0x3a')](_0x1bd993['where'],{'$or':_[_0x5d4c('0x2b')](_0x5d2d39,function(_0x425bb2){if(_0x425bb2[_0x5d4c('0x2d')]!==_0x5d4c('0x3b')){var _0x853f4f={};_0x853f4f[_0x425bb2[_0x5d4c('0x28')]]={'$like':'%'+_0x42a391[_0x5d4c('0x30')][_0x5d4c('0x38')]+'%'};return _0x853f4f;}})});}_0x1bd993=_['merge']({},_0x1bd993,_0x42a391[_0x5d4c('0x3c')]);var _0xb0a374={'where':_0x1bd993['where']};return db[_0x5d4c('0x2c')]['count'](_0xb0a374)[_0x5d4c('0x25')](function(_0x5891f9){_0x1bae5c[_0x5d4c('0x3d')]=_0x5891f9;if(_0x42a391[_0x5d4c('0x30')][_0x5d4c('0x3e')]){_0x1bd993[_0x5d4c('0x3f')]=[{'all':!![]}];}return db['MailServerOut'][_0x5d4c('0x40')](_0x1bd993);})[_0x5d4c('0x25')](function(_0x37fa86){_0x1bae5c['rows']=_0x37fa86;return _0x1bae5c;})[_0x5d4c('0x25')](respondWithFilteredResult(_0x47b140,_0x1bd993))['catch'](handleError(_0x47b140,null));};exports[_0x5d4c('0x41')]=function(_0x7ea2a6,_0x46e071){var _0x5e962f={'raw':!![],'where':{'id':_0x7ea2a6[_0x5d4c('0x42')]['id']}},_0x79e78d={};_0x79e78d['model']=_[_0x5d4c('0x43')](db['MailServerOut']['rawAttributes']);_0x79e78d['query']=_[_0x5d4c('0x43')](_0x7ea2a6[_0x5d4c('0x30')]);_0x79e78d[_0x5d4c('0x31')]=_[_0x5d4c('0x32')](_0x79e78d['model'],_0x79e78d['query']);_0x5e962f[_0x5d4c('0x33')]=_[_0x5d4c('0x32')](_0x79e78d[_0x5d4c('0x2f')],qs[_0x5d4c('0x34')](_0x7ea2a6[_0x5d4c('0x30')][_0x5d4c('0x34')]));_0x5e962f[_0x5d4c('0x33')]=_0x5e962f[_0x5d4c('0x33')][_0x5d4c('0x35')]?_0x5e962f[_0x5d4c('0x33')]:_0x79e78d['model'];if(_0x7ea2a6['query'][_0x5d4c('0x3e')]){_0x5e962f[_0x5d4c('0x3f')]=[{'all':!![]}];}_0x5e962f=_['merge']({},_0x5e962f,_0x7ea2a6[_0x5d4c('0x3c')]);return db[_0x5d4c('0x2c')]['find'](_0x5e962f)[_0x5d4c('0x25')](handleEntityNotFound(_0x46e071,null))[_0x5d4c('0x25')](respondWithResult(_0x46e071,null))[_0x5d4c('0x44')](handleError(_0x46e071,null));};exports[_0x5d4c('0x45')]=function(_0x9f838,_0x1faf76){return db[_0x5d4c('0x2c')]['create'](_0x9f838[_0x5d4c('0x46')],{})[_0x5d4c('0x25')](respondWithResult(_0x1faf76,0xc9))['catch'](handleError(_0x1faf76,null));};exports['update']=function(_0x4a032a,_0x4807ce){if(_0x4a032a[_0x5d4c('0x46')]['id']){delete _0x4a032a[_0x5d4c('0x46')]['id'];}return db[_0x5d4c('0x2c')]['find']({'where':{'id':_0x4a032a['params']['id']}})[_0x5d4c('0x25')](handleEntityNotFound(_0x4807ce,null))[_0x5d4c('0x25')](saveUpdates(_0x4a032a[_0x5d4c('0x46')],null))[_0x5d4c('0x25')](respondWithResult(_0x4807ce,null))['catch'](handleError(_0x4807ce,null));};exports[_0x5d4c('0x26')]=function(_0xd1de4,_0x2236e9){return db[_0x5d4c('0x2c')][_0x5d4c('0x47')]({'where':{'id':_0xd1de4[_0x5d4c('0x42')]['id']}})[_0x5d4c('0x25')](handleEntityNotFound(_0x2236e9,null))[_0x5d4c('0x25')](removeEntity(_0x2236e9,null))[_0x5d4c('0x44')](handleError(_0x2236e9,null));};