16d56cc15317b2ff63b7df2fe23b0c1fad8e61dd
[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 _0x34eb=['options','count','includeAll','include','show','find','create','body','catch','update','params','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','limit','set','Content-Range','reject','save','then','destroy','end','stack','name','index','map','MailServerOut','rawAttributes','fieldName','type','key','query','keys','filters','model','attributes','intersection','fields','length','hasOwnProperty','nolimit','sort','where','filter','merge','VIRTUAL'];(function(_0x41cd62,_0x11c9cf){var _0x4ad203=function(_0x14ab0b){while(--_0x14ab0b){_0x41cd62['push'](_0x41cd62['shift']());}};_0x4ad203(++_0x11c9cf);}(_0x34eb,0x1bb));var _0xb34e=function(_0x1be245,_0x5ebb61){_0x1be245=_0x1be245-0x0;var _0x47e67d=_0x34eb[_0x1be245];return _0x47e67d;};'use strict';var emlformat=require(_0xb34e('0x0'));var rimraf=require(_0xb34e('0x1'));var zipdir=require(_0xb34e('0x2'));var jsonpatch=require(_0xb34e('0x3'));var rp=require(_0xb34e('0x4'));var moment=require(_0xb34e('0x5'));var BPromise=require(_0xb34e('0x6'));var Mustache=require(_0xb34e('0x7'));var util=require('util');var path=require(_0xb34e('0x8'));var sox=require(_0xb34e('0x9'));var csv=require(_0xb34e('0xa'));var ejs=require(_0xb34e('0xb'));var fs=require('fs');var fs_extra=require(_0xb34e('0xc'));var _=require(_0xb34e('0xd'));var squel=require(_0xb34e('0xe'));var crypto=require(_0xb34e('0xf'));var jsforce=require('jsforce');var deskjs=require(_0xb34e('0x10'));var toCsv=require('to-csv');var querystring=require(_0xb34e('0x11'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xb34e('0x12'));var hardwareService=require(_0xb34e('0x13'));var logger=require(_0xb34e('0x14'))('api');var utils=require(_0xb34e('0x15'));var config=require(_0xb34e('0x16'));var licenseUtil=require(_0xb34e('0x17'));var db=require(_0xb34e('0x18'))['db'];function respondWithStatusCode(_0x19da72,_0x2ca723){_0x2ca723=_0x2ca723||0xcc;return function(_0x404f3d){if(_0x404f3d){return _0x19da72[_0xb34e('0x19')](_0x2ca723);}return _0x19da72[_0xb34e('0x1a')](_0x2ca723)['end']();};}function respondWithResult(_0xa16639,_0x4fe226){_0x4fe226=_0x4fe226||0xc8;return function(_0x159c2e){if(_0x159c2e){return _0xa16639[_0xb34e('0x1a')](_0x4fe226)[_0xb34e('0x1b')](_0x159c2e);}};}function respondWithFilteredResult(_0x166ba3,_0x43c02e){return function(_0xb4a9a5){if(_0xb4a9a5){var _0x1cfa76=_0xb4a9a5['count'],_0x2e7512=_0x43c02e[_0xb34e('0x1c')],_0x43e11c=_0x43c02e[_0xb34e('0x1c')]+_0x43c02e[_0xb34e('0x1d')],_0x2d0d72;if(_0x43e11c>=_0x1cfa76){_0x43e11c=_0x1cfa76;_0x2d0d72=0xc8;}else{_0x2d0d72=0xce;}_0x166ba3[_0xb34e('0x1a')](_0x2d0d72);return _0x166ba3[_0xb34e('0x1e')](_0xb34e('0x1f'),_0x2e7512+'-'+_0x43e11c+'/'+_0x1cfa76)['json'](_0xb4a9a5);}return null;};}function patchUpdates(_0x2aee6f){return function(_0x3187e1){try{jsonpatch['apply'](_0x3187e1,_0x2aee6f,!![]);}catch(_0xdcec9){return BPromise[_0xb34e('0x20')](_0xdcec9);}return _0x3187e1[_0xb34e('0x21')]();};}function saveUpdates(_0x39ad24,_0xa72eb9){return function(_0x72910e){if(_0x72910e){return _0x72910e['update'](_0x39ad24)[_0xb34e('0x22')](function(_0x5b403a){return _0x5b403a;});}return null;};}function removeEntity(_0x53e47b,_0x40a909){return function(_0x5e0431){if(_0x5e0431){return _0x5e0431[_0xb34e('0x23')]()['then'](function(){_0x53e47b[_0xb34e('0x1a')](0xcc)[_0xb34e('0x24')]();});}};}function handleEntityNotFound(_0x35c542,_0x143f20){return function(_0x2a6a91){if(!_0x2a6a91){_0x35c542[_0xb34e('0x19')](0x194);}return _0x2a6a91;};}function handleError(_0x10c9fc,_0x4a05b7){_0x4a05b7=_0x4a05b7||0x1f4;return function(_0x2d157b){logger['error'](_0x2d157b[_0xb34e('0x25')]);if(_0x2d157b['name']){delete _0x2d157b[_0xb34e('0x26')];}_0x10c9fc[_0xb34e('0x1a')](_0x4a05b7)['send'](_0x2d157b);};}exports[_0xb34e('0x27')]=function(_0x534e9f,_0x537831){var _0x3117f7={},_0x36d961={},_0x4ab6a1={'count':0x0,'rows':[]};var _0x4f551c=_[_0xb34e('0x28')](db[_0xb34e('0x29')][_0xb34e('0x2a')],function(_0x50e0f9){return{'name':_0x50e0f9[_0xb34e('0x2b')],'type':_0x50e0f9[_0xb34e('0x2c')][_0xb34e('0x2d')]};});_0x36d961['model']=_[_0xb34e('0x28')](_0x4f551c,_0xb34e('0x26'));_0x36d961[_0xb34e('0x2e')]=_[_0xb34e('0x2f')](_0x534e9f['query']);_0x36d961[_0xb34e('0x30')]=_['intersection'](_0x36d961[_0xb34e('0x31')],_0x36d961[_0xb34e('0x2e')]);_0x3117f7[_0xb34e('0x32')]=_[_0xb34e('0x33')](_0x36d961[_0xb34e('0x31')],qs['fields'](_0x534e9f[_0xb34e('0x2e')][_0xb34e('0x34')]));_0x3117f7[_0xb34e('0x32')]=_0x3117f7[_0xb34e('0x32')][_0xb34e('0x35')]?_0x3117f7[_0xb34e('0x32')]:_0x36d961[_0xb34e('0x31')];if(!_0x534e9f[_0xb34e('0x2e')][_0xb34e('0x36')](_0xb34e('0x37'))){_0x3117f7[_0xb34e('0x1d')]=qs[_0xb34e('0x1d')](_0x534e9f[_0xb34e('0x2e')][_0xb34e('0x1d')]);_0x3117f7[_0xb34e('0x1c')]=qs[_0xb34e('0x1c')](_0x534e9f[_0xb34e('0x2e')][_0xb34e('0x1c')]);}_0x3117f7['order']=qs[_0xb34e('0x38')](_0x534e9f['query']['sort']);_0x3117f7[_0xb34e('0x39')]=qs['filters'](_['pick'](_0x534e9f['query'],_0x36d961['filters']),_0x4f551c);if(_0x534e9f['query'][_0xb34e('0x3a')]){_0x3117f7[_0xb34e('0x39')]=_[_0xb34e('0x3b')](_0x3117f7[_0xb34e('0x39')],{'$or':_[_0xb34e('0x28')](_0x4f551c,function(_0x332450){if(_0x332450['type']!==_0xb34e('0x3c')){var _0x10248c={};_0x10248c[_0x332450[_0xb34e('0x26')]]={'$like':'%'+_0x534e9f[_0xb34e('0x2e')]['filter']+'%'};return _0x10248c;}})});}_0x3117f7=_[_0xb34e('0x3b')]({},_0x3117f7,_0x534e9f[_0xb34e('0x3d')]);var _0x4a332d={'where':_0x3117f7[_0xb34e('0x39')]};return db[_0xb34e('0x29')][_0xb34e('0x3e')](_0x4a332d)[_0xb34e('0x22')](function(_0x45c0f0){_0x4ab6a1[_0xb34e('0x3e')]=_0x45c0f0;if(_0x534e9f['query'][_0xb34e('0x3f')]){_0x3117f7[_0xb34e('0x40')]=[{'all':!![]}];}return db[_0xb34e('0x29')]['findAll'](_0x3117f7);})[_0xb34e('0x22')](function(_0x36f2cf){_0x4ab6a1['rows']=_0x36f2cf;return _0x4ab6a1;})[_0xb34e('0x22')](respondWithFilteredResult(_0x537831,_0x3117f7))['catch'](handleError(_0x537831,null));};exports[_0xb34e('0x41')]=function(_0x427145,_0x347403){var _0x30ce21={'raw':!![],'where':{'id':_0x427145['params']['id']}},_0x50887d={};_0x50887d[_0xb34e('0x31')]=_[_0xb34e('0x2f')](db[_0xb34e('0x29')][_0xb34e('0x2a')]);_0x50887d['query']=_['keys'](_0x427145['query']);_0x50887d[_0xb34e('0x30')]=_['intersection'](_0x50887d[_0xb34e('0x31')],_0x50887d[_0xb34e('0x2e')]);_0x30ce21[_0xb34e('0x32')]=_[_0xb34e('0x33')](_0x50887d[_0xb34e('0x31')],qs[_0xb34e('0x34')](_0x427145[_0xb34e('0x2e')][_0xb34e('0x34')]));_0x30ce21['attributes']=_0x30ce21[_0xb34e('0x32')][_0xb34e('0x35')]?_0x30ce21[_0xb34e('0x32')]:_0x50887d[_0xb34e('0x31')];if(_0x427145[_0xb34e('0x2e')][_0xb34e('0x3f')]){_0x30ce21[_0xb34e('0x40')]=[{'all':!![]}];}_0x30ce21=_[_0xb34e('0x3b')]({},_0x30ce21,_0x427145[_0xb34e('0x3d')]);return db[_0xb34e('0x29')][_0xb34e('0x42')](_0x30ce21)[_0xb34e('0x22')](handleEntityNotFound(_0x347403,null))[_0xb34e('0x22')](respondWithResult(_0x347403,null))['catch'](handleError(_0x347403,null));};exports['create']=function(_0x3450f3,_0x383a6a){return db[_0xb34e('0x29')][_0xb34e('0x43')](_0x3450f3[_0xb34e('0x44')],{})['then'](respondWithResult(_0x383a6a,0xc9))[_0xb34e('0x45')](handleError(_0x383a6a,null));};exports[_0xb34e('0x46')]=function(_0x5b872d,_0x4115f1){if(_0x5b872d[_0xb34e('0x44')]['id']){delete _0x5b872d[_0xb34e('0x44')]['id'];}return db['MailServerOut'][_0xb34e('0x42')]({'where':{'id':_0x5b872d[_0xb34e('0x47')]['id']}})['then'](handleEntityNotFound(_0x4115f1,null))[_0xb34e('0x22')](saveUpdates(_0x5b872d[_0xb34e('0x44')],null))[_0xb34e('0x22')](respondWithResult(_0x4115f1,null))[_0xb34e('0x45')](handleError(_0x4115f1,null));};exports[_0xb34e('0x23')]=function(_0x552ce9,_0x516f9b){return db['MailServerOut'][_0xb34e('0x42')]({'where':{'id':_0x552ce9['params']['id']}})[_0xb34e('0x22')](handleEntityNotFound(_0x516f9b,null))[_0xb34e('0x22')](removeEntity(_0x516f9b,null))[_0xb34e('0x45')](handleError(_0x516f9b,null));};