2c59136e44f7b1d5358a8b3259903db15f13aa13
[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 _0x07fd=['count','Content-Range','apply','reject','save','update','destroy','then','error','name','send','index','map','MailServerOut','fieldName','type','key','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','options','includeAll','findAll','catch','params','rawAttributes','include','find','create','body','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit'];(function(_0x28c939,_0x110e29){var _0x527fe9=function(_0x1df2a6){while(--_0x1df2a6){_0x28c939['push'](_0x28c939['shift']());}};_0x527fe9(++_0x110e29);}(_0x07fd,0x105));var _0xd07f=function(_0x61e8d9,_0x54fd02){_0x61e8d9=_0x61e8d9-0x0;var _0x1f1438=_0x07fd[_0x61e8d9];return _0x1f1438;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xd07f('0x0'));var jsonpatch=require(_0xd07f('0x1'));var rp=require(_0xd07f('0x2'));var moment=require(_0xd07f('0x3'));var BPromise=require(_0xd07f('0x4'));var Mustache=require(_0xd07f('0x5'));var util=require('util');var path=require(_0xd07f('0x6'));var sox=require('sox');var csv=require(_0xd07f('0x7'));var ejs=require(_0xd07f('0x8'));var fs=require('fs');var fs_extra=require(_0xd07f('0x9'));var _=require(_0xd07f('0xa'));var squel=require(_0xd07f('0xb'));var crypto=require('crypto');var jsforce=require(_0xd07f('0xc'));var deskjs=require(_0xd07f('0xd'));var toCsv=require(_0xd07f('0x7'));var querystring=require(_0xd07f('0xe'));var Papa=require(_0xd07f('0xf'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xd07f('0x10'));var as=require(_0xd07f('0x11'));var hardwareService=require(_0xd07f('0x12'));var logger=require(_0xd07f('0x13'))(_0xd07f('0x14'));var utils=require(_0xd07f('0x15'));var config=require(_0xd07f('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0xd07f('0x17'))['db'];function respondWithStatusCode(_0x4bcb61,_0x3983e3){_0x3983e3=_0x3983e3||0xcc;return function(_0x55b81e){if(_0x55b81e){return _0x4bcb61[_0xd07f('0x18')](_0x3983e3);}return _0x4bcb61[_0xd07f('0x19')](_0x3983e3)[_0xd07f('0x1a')]();};}function respondWithResult(_0x368288,_0x47b3ec){_0x47b3ec=_0x47b3ec||0xc8;return function(_0x474caf){if(_0x474caf){return _0x368288[_0xd07f('0x19')](_0x47b3ec)[_0xd07f('0x1b')](_0x474caf);}};}function respondWithFilteredResult(_0x12abf2,_0x1cac6e){return function(_0x250777){if(_0x250777){var _0x5d91bb=typeof _0x1cac6e[_0xd07f('0x1c')]===_0xd07f('0x1d')&&typeof _0x1cac6e[_0xd07f('0x1e')]===_0xd07f('0x1d');var _0x241861=_0x250777[_0xd07f('0x1f')];var _0x4b7167=_0x5d91bb?0x0:_0x1cac6e[_0xd07f('0x1c')];var _0x3588dc=_0x5d91bb?_0x250777[_0xd07f('0x1f')]:_0x1cac6e[_0xd07f('0x1c')]+_0x1cac6e['limit'];var _0x468600;if(_0x3588dc>=_0x241861){_0x3588dc=_0x241861;_0x468600=0xc8;}else{_0x468600=0xce;}_0x12abf2[_0xd07f('0x19')](_0x468600);return _0x12abf2['set'](_0xd07f('0x20'),_0x4b7167+'-'+_0x3588dc+'/'+_0x241861)['json'](_0x250777);}return null;};}function patchUpdates(_0x359383){return function(_0x645fbe){try{jsonpatch[_0xd07f('0x21')](_0x645fbe,_0x359383,!![]);}catch(_0x51a9b4){return BPromise[_0xd07f('0x22')](_0x51a9b4);}return _0x645fbe[_0xd07f('0x23')]();};}function saveUpdates(_0x498502,_0x580c0d){return function(_0x3d56dd){if(_0x3d56dd){return _0x3d56dd[_0xd07f('0x24')](_0x498502)['then'](function(_0x102508){return _0x102508;});}return null;};}function removeEntity(_0x519a32,_0x2cd394){return function(_0x448e6d){if(_0x448e6d){return _0x448e6d[_0xd07f('0x25')]()[_0xd07f('0x26')](function(){_0x519a32['status'](0xcc)[_0xd07f('0x1a')]();});}};}function handleEntityNotFound(_0x21fe7a,_0x5ad723){return function(_0x2046f2){if(!_0x2046f2){_0x21fe7a[_0xd07f('0x18')](0x194);}return _0x2046f2;};}function handleError(_0x5d3917,_0x91ce84){_0x91ce84=_0x91ce84||0x1f4;return function(_0x4b5247){logger[_0xd07f('0x27')](_0x4b5247['stack']);if(_0x4b5247[_0xd07f('0x28')]){delete _0x4b5247[_0xd07f('0x28')];}_0x5d3917[_0xd07f('0x19')](_0x91ce84)[_0xd07f('0x29')](_0x4b5247);};}exports[_0xd07f('0x2a')]=function(_0x2759a5,_0x3c544f){var _0x334e8c={},_0x8259ca={},_0x1cd219={'count':0x0,'rows':[]};var _0x3b66a6=_[_0xd07f('0x2b')](db[_0xd07f('0x2c')]['rawAttributes'],function(_0x1b7c6b){return{'name':_0x1b7c6b[_0xd07f('0x2d')],'type':_0x1b7c6b[_0xd07f('0x2e')][_0xd07f('0x2f')]};});_0x8259ca['model']=_[_0xd07f('0x2b')](_0x3b66a6,_0xd07f('0x28'));_0x8259ca[_0xd07f('0x30')]=_[_0xd07f('0x31')](_0x2759a5['query']);_0x8259ca[_0xd07f('0x32')]=_[_0xd07f('0x33')](_0x8259ca[_0xd07f('0x34')],_0x8259ca[_0xd07f('0x30')]);_0x334e8c[_0xd07f('0x35')]=_[_0xd07f('0x33')](_0x8259ca[_0xd07f('0x34')],qs[_0xd07f('0x36')](_0x2759a5[_0xd07f('0x30')][_0xd07f('0x36')]));_0x334e8c[_0xd07f('0x35')]=_0x334e8c['attributes'][_0xd07f('0x37')]?_0x334e8c[_0xd07f('0x35')]:_0x8259ca['model'];if(!_0x2759a5[_0xd07f('0x30')][_0xd07f('0x38')](_0xd07f('0x39'))){_0x334e8c[_0xd07f('0x1e')]=qs['limit'](_0x2759a5[_0xd07f('0x30')][_0xd07f('0x1e')]);_0x334e8c[_0xd07f('0x1c')]=qs[_0xd07f('0x1c')](_0x2759a5[_0xd07f('0x30')]['offset']);}_0x334e8c[_0xd07f('0x3a')]=qs['sort'](_0x2759a5['query'][_0xd07f('0x3b')]);_0x334e8c[_0xd07f('0x3c')]=qs[_0xd07f('0x32')](_[_0xd07f('0x3d')](_0x2759a5[_0xd07f('0x30')],_0x8259ca[_0xd07f('0x32')]),_0x3b66a6);if(_0x2759a5[_0xd07f('0x30')]['filter']){_0x334e8c[_0xd07f('0x3c')]=_[_0xd07f('0x3e')](_0x334e8c[_0xd07f('0x3c')],{'$or':_[_0xd07f('0x2b')](_0x3b66a6,function(_0x52e302){if(_0x52e302[_0xd07f('0x2e')]!=='VIRTUAL'){var _0x1f311d={};_0x1f311d[_0x52e302[_0xd07f('0x28')]]={'$like':'%'+_0x2759a5[_0xd07f('0x30')]['filter']+'%'};return _0x1f311d;}})});}_0x334e8c=_[_0xd07f('0x3e')]({},_0x334e8c,_0x2759a5[_0xd07f('0x3f')]);var _0x25beb3={'where':_0x334e8c['where']};return db[_0xd07f('0x2c')][_0xd07f('0x1f')](_0x25beb3)[_0xd07f('0x26')](function(_0x3eb4a){_0x1cd219[_0xd07f('0x1f')]=_0x3eb4a;if(_0x2759a5['query'][_0xd07f('0x40')]){_0x334e8c['include']=[{'all':!![]}];}return db[_0xd07f('0x2c')][_0xd07f('0x41')](_0x334e8c);})[_0xd07f('0x26')](function(_0x4c0c2a){_0x1cd219['rows']=_0x4c0c2a;return _0x1cd219;})[_0xd07f('0x26')](respondWithFilteredResult(_0x3c544f,_0x334e8c))[_0xd07f('0x42')](handleError(_0x3c544f,null));};exports['show']=function(_0x1bffdc,_0x2c2f71){var _0x42d6f8={'raw':!![],'where':{'id':_0x1bffdc[_0xd07f('0x43')]['id']}},_0x4f498c={};_0x4f498c[_0xd07f('0x34')]=_[_0xd07f('0x31')](db['MailServerOut'][_0xd07f('0x44')]);_0x4f498c[_0xd07f('0x30')]=_['keys'](_0x1bffdc['query']);_0x4f498c[_0xd07f('0x32')]=_[_0xd07f('0x33')](_0x4f498c[_0xd07f('0x34')],_0x4f498c['query']);_0x42d6f8[_0xd07f('0x35')]=_[_0xd07f('0x33')](_0x4f498c[_0xd07f('0x34')],qs[_0xd07f('0x36')](_0x1bffdc['query'][_0xd07f('0x36')]));_0x42d6f8[_0xd07f('0x35')]=_0x42d6f8[_0xd07f('0x35')][_0xd07f('0x37')]?_0x42d6f8[_0xd07f('0x35')]:_0x4f498c['model'];if(_0x1bffdc[_0xd07f('0x30')][_0xd07f('0x40')]){_0x42d6f8[_0xd07f('0x45')]=[{'all':!![]}];}_0x42d6f8=_[_0xd07f('0x3e')]({},_0x42d6f8,_0x1bffdc['options']);return db[_0xd07f('0x2c')][_0xd07f('0x46')](_0x42d6f8)[_0xd07f('0x26')](handleEntityNotFound(_0x2c2f71,null))['then'](respondWithResult(_0x2c2f71,null))[_0xd07f('0x42')](handleError(_0x2c2f71,null));};exports[_0xd07f('0x47')]=function(_0xa5ff5b,_0x1ca93d){return db[_0xd07f('0x2c')][_0xd07f('0x47')](_0xa5ff5b[_0xd07f('0x48')],{})[_0xd07f('0x26')](respondWithResult(_0x1ca93d,0xc9))[_0xd07f('0x42')](handleError(_0x1ca93d,null));};exports[_0xd07f('0x24')]=function(_0x2f59f2,_0xa49172){if(_0x2f59f2[_0xd07f('0x48')]['id']){delete _0x2f59f2[_0xd07f('0x48')]['id'];}return db[_0xd07f('0x2c')][_0xd07f('0x46')]({'where':{'id':_0x2f59f2[_0xd07f('0x43')]['id']}})[_0xd07f('0x26')](handleEntityNotFound(_0xa49172,null))['then'](saveUpdates(_0x2f59f2[_0xd07f('0x48')],null))[_0xd07f('0x26')](respondWithResult(_0xa49172,null))[_0xd07f('0x42')](handleError(_0xa49172,null));};exports[_0xd07f('0x25')]=function(_0x576851,_0x12c619){return db[_0xd07f('0x2c')][_0xd07f('0x46')]({'where':{'id':_0x576851['params']['id']}})[_0xd07f('0x26')](handleEntityNotFound(_0x12c619,null))[_0xd07f('0x26')](removeEntity(_0x12c619,null))['catch'](handleError(_0x12c619,null));};