6dde2f862f9d7538c6e23c57806ecf3f902c4275
[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 _0xb53b=['status','json','count','limit','set','Content-Range','apply','reject','save','error','stack','name','index','type','model','map','query','filters','intersection','attributes','fields','length','nolimit','offset','order','sort','where','pick','filter','merge','options','MailServerOut','then','includeAll','include','findAll','rows','catch','show','keys','create','body','find','params','destroy','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','mustache','util','path','sox','to-csv','lodash','squel','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus'];(function(_0x497360,_0x1ac522){var _0x270968=function(_0x27ae62){while(--_0x27ae62){_0x497360['push'](_0x497360['shift']());}};_0x270968(++_0x1ac522);}(_0xb53b,0xb7));var _0xbb53=function(_0x432682,_0x253044){_0x432682=_0x432682-0x0;var _0x463d05=_0xb53b[_0x432682];return _0x463d05;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xbb53('0x0'));var rimraf=require(_0xbb53('0x1'));var zipdir=require(_0xbb53('0x2'));var jsonpatch=require(_0xbb53('0x3'));var rp=require(_0xbb53('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xbb53('0x5'));var util=require(_0xbb53('0x6'));var path=require(_0xbb53('0x7'));var sox=require(_0xbb53('0x8'));var csv=require(_0xbb53('0x9'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xbb53('0xa'));var squel=require(_0xbb53('0xb'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0xbb53('0xc'));var toCsv=require(_0xbb53('0x9'));var querystring=require(_0xbb53('0xd'));var Papa=require('papaparse');var Redis=require(_0xbb53('0xe'));var authService=require(_0xbb53('0xf'));var qs=require(_0xbb53('0x10'));var as=require(_0xbb53('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0xbb53('0x12'));var utils=require(_0xbb53('0x13'));var config=require(_0xbb53('0x14'));var licenseUtil=require(_0xbb53('0x15'));var db=require(_0xbb53('0x16'))['db'];function respondWithStatusCode(_0x570466,_0x405714){_0x405714=_0x405714||0xcc;return function(_0x48a184){if(_0x48a184){return _0x570466[_0xbb53('0x17')](_0x405714);}return _0x570466[_0xbb53('0x18')](_0x405714)['end']();};}function respondWithResult(_0x44a0d2,_0x6f5f87){_0x6f5f87=_0x6f5f87||0xc8;return function(_0x50061a){if(_0x50061a){return _0x44a0d2[_0xbb53('0x18')](_0x6f5f87)[_0xbb53('0x19')](_0x50061a);}};}function respondWithFilteredResult(_0x3fabba,_0xf35ed7){return function(_0x49dcf2){if(_0x49dcf2){var _0x342224=_0x49dcf2[_0xbb53('0x1a')],_0x6673a0=_0xf35ed7['offset'],_0x146cf7=_0xf35ed7['offset']+_0xf35ed7[_0xbb53('0x1b')],_0x545b96;if(_0x146cf7>=_0x342224){_0x146cf7=_0x342224;_0x545b96=0xc8;}else{_0x545b96=0xce;}_0x3fabba[_0xbb53('0x18')](_0x545b96);return _0x3fabba[_0xbb53('0x1c')](_0xbb53('0x1d'),_0x6673a0+'-'+_0x146cf7+'/'+_0x342224)[_0xbb53('0x19')](_0x49dcf2);}return null;};}function patchUpdates(_0x26f6a1){return function(_0x41aee6){try{jsonpatch[_0xbb53('0x1e')](_0x41aee6,_0x26f6a1,!![]);}catch(_0x2f8588){return BPromise[_0xbb53('0x1f')](_0x2f8588);}return _0x41aee6[_0xbb53('0x20')]();};}function saveUpdates(_0x11948c,_0x4fc651){return function(_0x4a3278){if(_0x4a3278){return _0x4a3278['update'](_0x11948c)['then'](function(_0x71631f){return _0x71631f;});}return null;};}function removeEntity(_0x43c306,_0x33523b){return function(_0x4379d2){if(_0x4379d2){return _0x4379d2['destroy']()['then'](function(){_0x43c306[_0xbb53('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x27cff5,_0x4f9545){return function(_0x2e96af){if(!_0x2e96af){_0x27cff5[_0xbb53('0x17')](0x194);}return _0x2e96af;};}function handleError(_0x25e355,_0x557810){_0x557810=_0x557810||0x1f4;return function(_0x2a5adf){logger[_0xbb53('0x21')](_0x2a5adf[_0xbb53('0x22')]);if(_0x2a5adf['name']){delete _0x2a5adf[_0xbb53('0x23')];}_0x25e355[_0xbb53('0x18')](_0x557810)['send'](_0x2a5adf);};}exports[_0xbb53('0x24')]=function(_0x56c82e,_0x523099){var _0x41ed64={},_0x3a9da6={},_0x1db0b2={'count':0x0,'rows':[]};var _0xc62ede=_['map'](db['MailServerOut']['rawAttributes'],function(_0x44d7c2){return{'name':_0x44d7c2['fieldName'],'type':_0x44d7c2[_0xbb53('0x25')]['key']};});_0x3a9da6[_0xbb53('0x26')]=_[_0xbb53('0x27')](_0xc62ede,'name');_0x3a9da6[_0xbb53('0x28')]=_['keys'](_0x56c82e[_0xbb53('0x28')]);_0x3a9da6[_0xbb53('0x29')]=_[_0xbb53('0x2a')](_0x3a9da6['model'],_0x3a9da6['query']);_0x41ed64[_0xbb53('0x2b')]=_[_0xbb53('0x2a')](_0x3a9da6['model'],qs[_0xbb53('0x2c')](_0x56c82e[_0xbb53('0x28')][_0xbb53('0x2c')]));_0x41ed64[_0xbb53('0x2b')]=_0x41ed64['attributes'][_0xbb53('0x2d')]?_0x41ed64[_0xbb53('0x2b')]:_0x3a9da6[_0xbb53('0x26')];if(!_0x56c82e[_0xbb53('0x28')]['hasOwnProperty'](_0xbb53('0x2e'))){_0x41ed64[_0xbb53('0x1b')]=qs[_0xbb53('0x1b')](_0x56c82e[_0xbb53('0x28')][_0xbb53('0x1b')]);_0x41ed64[_0xbb53('0x2f')]=qs[_0xbb53('0x2f')](_0x56c82e[_0xbb53('0x28')][_0xbb53('0x2f')]);}_0x41ed64[_0xbb53('0x30')]=qs[_0xbb53('0x31')](_0x56c82e[_0xbb53('0x28')][_0xbb53('0x31')]);_0x41ed64[_0xbb53('0x32')]=qs[_0xbb53('0x29')](_[_0xbb53('0x33')](_0x56c82e[_0xbb53('0x28')],_0x3a9da6['filters']),_0xc62ede);if(_0x56c82e[_0xbb53('0x28')][_0xbb53('0x34')]){_0x41ed64['where']=_[_0xbb53('0x35')](_0x41ed64['where'],{'$or':_[_0xbb53('0x27')](_0xc62ede,function(_0x35b067){if(_0x35b067[_0xbb53('0x25')]!=='VIRTUAL'){var _0x2b3026={};_0x2b3026[_0x35b067[_0xbb53('0x23')]]={'$like':'%'+_0x56c82e[_0xbb53('0x28')]['filter']+'%'};return _0x2b3026;}})});}_0x41ed64=_[_0xbb53('0x35')]({},_0x41ed64,_0x56c82e[_0xbb53('0x36')]);var _0x2b8c46={'where':_0x41ed64[_0xbb53('0x32')]};return db[_0xbb53('0x37')]['count'](_0x2b8c46)[_0xbb53('0x38')](function(_0x32a744){_0x1db0b2[_0xbb53('0x1a')]=_0x32a744;if(_0x56c82e[_0xbb53('0x28')][_0xbb53('0x39')]){_0x41ed64[_0xbb53('0x3a')]=[{'all':!![]}];}return db[_0xbb53('0x37')][_0xbb53('0x3b')](_0x41ed64);})[_0xbb53('0x38')](function(_0x51b653){_0x1db0b2[_0xbb53('0x3c')]=_0x51b653;return _0x1db0b2;})['then'](respondWithFilteredResult(_0x523099,_0x41ed64))[_0xbb53('0x3d')](handleError(_0x523099,null));};exports[_0xbb53('0x3e')]=function(_0x2cb3db,_0x7ac868){var _0x12b1df={'raw':!![],'where':{'id':_0x2cb3db['params']['id']}},_0x2280ec={};_0x2280ec['model']=_[_0xbb53('0x3f')](db[_0xbb53('0x37')]['rawAttributes']);_0x2280ec[_0xbb53('0x28')]=_[_0xbb53('0x3f')](_0x2cb3db[_0xbb53('0x28')]);_0x2280ec['filters']=_[_0xbb53('0x2a')](_0x2280ec[_0xbb53('0x26')],_0x2280ec[_0xbb53('0x28')]);_0x12b1df[_0xbb53('0x2b')]=_[_0xbb53('0x2a')](_0x2280ec[_0xbb53('0x26')],qs[_0xbb53('0x2c')](_0x2cb3db[_0xbb53('0x28')]['fields']));_0x12b1df[_0xbb53('0x2b')]=_0x12b1df[_0xbb53('0x2b')][_0xbb53('0x2d')]?_0x12b1df['attributes']:_0x2280ec[_0xbb53('0x26')];if(_0x2cb3db[_0xbb53('0x28')]['includeAll']){_0x12b1df[_0xbb53('0x3a')]=[{'all':!![]}];}_0x12b1df=_[_0xbb53('0x35')]({},_0x12b1df,_0x2cb3db[_0xbb53('0x36')]);return db[_0xbb53('0x37')]['find'](_0x12b1df)['then'](handleEntityNotFound(_0x7ac868,null))[_0xbb53('0x38')](respondWithResult(_0x7ac868,null))[_0xbb53('0x3d')](handleError(_0x7ac868,null));};exports[_0xbb53('0x40')]=function(_0x61f48,_0x32451e){return db[_0xbb53('0x37')][_0xbb53('0x40')](_0x61f48['body'],{})[_0xbb53('0x38')](respondWithResult(_0x32451e,0xc9))['catch'](handleError(_0x32451e,null));};exports['update']=function(_0x4af41e,_0xed8f03){if(_0x4af41e['body']['id']){delete _0x4af41e[_0xbb53('0x41')]['id'];}return db['MailServerOut'][_0xbb53('0x42')]({'where':{'id':_0x4af41e[_0xbb53('0x43')]['id']}})[_0xbb53('0x38')](handleEntityNotFound(_0xed8f03,null))['then'](saveUpdates(_0x4af41e[_0xbb53('0x41')],null))[_0xbb53('0x38')](respondWithResult(_0xed8f03,null))[_0xbb53('0x3d')](handleError(_0xed8f03,null));};exports[_0xbb53('0x44')]=function(_0x3642db,_0x52a5ca){return db['MailServerOut']['find']({'where':{'id':_0x3642db[_0xbb53('0x43')]['id']}})[_0xbb53('0x38')](handleEntityNotFound(_0x52a5ca,null))[_0xbb53('0x38')](removeEntity(_0x52a5ca,null))[_0xbb53('0x3d')](handleError(_0x52a5ca,null));};