Built motion from commit da617fac.|2.6.6
[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 _0x72b7=['options','includeAll','include','findAll','rows','catch','show','params','intersection','fields','create','body','find','destroy','eml-format','zip-dir','fast-json-patch','request-promise','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','sendStatus','status','end','offset','undefined','limit','count','set','Content-Range','json','save','update','then','error','stack','name','send','map','MailServerOut','rawAttributes','fieldName','key','model','query','keys','filters','attributes','length','hasOwnProperty','nolimit','order','sort','pick','filter','where','merge','type'];(function(_0x2aa840,_0x1deab0){var _0x19a98b=function(_0x8576f2){while(--_0x8576f2){_0x2aa840['push'](_0x2aa840['shift']());}};_0x19a98b(++_0x1deab0);}(_0x72b7,0xa6));var _0x772b=function(_0x432682,_0x253044){_0x432682=_0x432682-0x0;var _0x463d05=_0x72b7[_0x432682];return _0x463d05;};'use strict';var emlformat=require(_0x772b('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x772b('0x1'));var jsonpatch=require(_0x772b('0x2'));var rp=require(_0x772b('0x3'));var moment=require('moment');var BPromise=require(_0x772b('0x4'));var Mustache=require(_0x772b('0x5'));var util=require('util');var path=require(_0x772b('0x6'));var sox=require(_0x772b('0x7'));var csv=require(_0x772b('0x8'));var ejs=require(_0x772b('0x9'));var fs=require('fs');var fs_extra=require(_0x772b('0xa'));var _=require(_0x772b('0xb'));var squel=require('squel');var crypto=require(_0x772b('0xc'));var jsforce=require(_0x772b('0xd'));var deskjs=require(_0x772b('0xe'));var toCsv=require(_0x772b('0x8'));var querystring=require(_0x772b('0xf'));var Papa=require('papaparse');var Redis=require(_0x772b('0x10'));var authService=require(_0x772b('0x11'));var qs=require(_0x772b('0x12'));var as=require(_0x772b('0x13'));var hardwareService=require(_0x772b('0x14'));var logger=require(_0x772b('0x15'))(_0x772b('0x16'));var utils=require('../../config/utils');var config=require(_0x772b('0x17'));var licenseUtil=require(_0x772b('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0xdb1698,_0x4d3488){_0x4d3488=_0x4d3488||0xcc;return function(_0x58bf60){if(_0x58bf60){return _0xdb1698[_0x772b('0x19')](_0x4d3488);}return _0xdb1698[_0x772b('0x1a')](_0x4d3488)[_0x772b('0x1b')]();};}function respondWithResult(_0x3266c6,_0x218461){_0x218461=_0x218461||0xc8;return function(_0x784ff2){if(_0x784ff2){return _0x3266c6[_0x772b('0x1a')](_0x218461)['json'](_0x784ff2);}};}function respondWithFilteredResult(_0x17325d,_0x42175d){return function(_0x5130a7){if(_0x5130a7){var _0x2db261=typeof _0x42175d[_0x772b('0x1c')]===_0x772b('0x1d')&&typeof _0x42175d[_0x772b('0x1e')]===_0x772b('0x1d');var _0x4057ed=_0x5130a7['count'];var _0x125ea5=_0x2db261?0x0:_0x42175d[_0x772b('0x1c')];var _0x89901b=_0x2db261?_0x5130a7[_0x772b('0x1f')]:_0x42175d[_0x772b('0x1c')]+_0x42175d[_0x772b('0x1e')];var _0x2db5d6;if(_0x89901b>=_0x4057ed){_0x89901b=_0x4057ed;_0x2db5d6=0xc8;}else{_0x2db5d6=0xce;}_0x17325d[_0x772b('0x1a')](_0x2db5d6);return _0x17325d[_0x772b('0x20')](_0x772b('0x21'),_0x125ea5+'-'+_0x89901b+'/'+_0x4057ed)[_0x772b('0x22')](_0x5130a7);}return null;};}function patchUpdates(_0x2bd719){return function(_0x44a0d5){try{jsonpatch['apply'](_0x44a0d5,_0x2bd719,!![]);}catch(_0x22f55d){return BPromise['reject'](_0x22f55d);}return _0x44a0d5[_0x772b('0x23')]();};}function saveUpdates(_0x13e572,_0xfe235c){return function(_0xfd8e5f){if(_0xfd8e5f){return _0xfd8e5f[_0x772b('0x24')](_0x13e572)['then'](function(_0x3e99bf){return _0x3e99bf;});}return null;};}function removeEntity(_0x2ab4c0,_0x12cc07){return function(_0x563ff5){if(_0x563ff5){return _0x563ff5['destroy']()[_0x772b('0x25')](function(){_0x2ab4c0[_0x772b('0x1a')](0xcc)[_0x772b('0x1b')]();});}};}function handleEntityNotFound(_0x5c6762,_0x59bffe){return function(_0xf18429){if(!_0xf18429){_0x5c6762[_0x772b('0x19')](0x194);}return _0xf18429;};}function handleError(_0x34f9ba,_0x3df2a9){_0x3df2a9=_0x3df2a9||0x1f4;return function(_0x27a054){logger[_0x772b('0x26')](_0x27a054[_0x772b('0x27')]);if(_0x27a054[_0x772b('0x28')]){delete _0x27a054[_0x772b('0x28')];}_0x34f9ba['status'](_0x3df2a9)[_0x772b('0x29')](_0x27a054);};}exports['index']=function(_0x323ab5,_0x11e736){var _0x2cc355={},_0x1f45f6={},_0x4d6b32={'count':0x0,'rows':[]};var _0x14ad8c=_[_0x772b('0x2a')](db[_0x772b('0x2b')][_0x772b('0x2c')],function(_0x3ad5c2){return{'name':_0x3ad5c2[_0x772b('0x2d')],'type':_0x3ad5c2['type'][_0x772b('0x2e')]};});_0x1f45f6[_0x772b('0x2f')]=_[_0x772b('0x2a')](_0x14ad8c,_0x772b('0x28'));_0x1f45f6[_0x772b('0x30')]=_[_0x772b('0x31')](_0x323ab5[_0x772b('0x30')]);_0x1f45f6[_0x772b('0x32')]=_['intersection'](_0x1f45f6['model'],_0x1f45f6[_0x772b('0x30')]);_0x2cc355['attributes']=_['intersection'](_0x1f45f6[_0x772b('0x2f')],qs['fields'](_0x323ab5[_0x772b('0x30')]['fields']));_0x2cc355[_0x772b('0x33')]=_0x2cc355[_0x772b('0x33')][_0x772b('0x34')]?_0x2cc355[_0x772b('0x33')]:_0x1f45f6[_0x772b('0x2f')];if(!_0x323ab5[_0x772b('0x30')][_0x772b('0x35')](_0x772b('0x36'))){_0x2cc355[_0x772b('0x1e')]=qs[_0x772b('0x1e')](_0x323ab5[_0x772b('0x30')][_0x772b('0x1e')]);_0x2cc355[_0x772b('0x1c')]=qs[_0x772b('0x1c')](_0x323ab5['query']['offset']);}_0x2cc355[_0x772b('0x37')]=qs[_0x772b('0x38')](_0x323ab5[_0x772b('0x30')][_0x772b('0x38')]);_0x2cc355['where']=qs[_0x772b('0x32')](_[_0x772b('0x39')](_0x323ab5[_0x772b('0x30')],_0x1f45f6[_0x772b('0x32')]),_0x14ad8c);if(_0x323ab5[_0x772b('0x30')][_0x772b('0x3a')]){_0x2cc355[_0x772b('0x3b')]=_[_0x772b('0x3c')](_0x2cc355[_0x772b('0x3b')],{'$or':_['map'](_0x14ad8c,function(_0x54e733){if(_0x54e733[_0x772b('0x3d')]!=='VIRTUAL'){var _0x229a77={};_0x229a77[_0x54e733['name']]={'$like':'%'+_0x323ab5[_0x772b('0x30')][_0x772b('0x3a')]+'%'};return _0x229a77;}})});}_0x2cc355=_['merge']({},_0x2cc355,_0x323ab5[_0x772b('0x3e')]);var _0x467e78={'where':_0x2cc355[_0x772b('0x3b')]};return db[_0x772b('0x2b')][_0x772b('0x1f')](_0x467e78)[_0x772b('0x25')](function(_0xabcf9c){_0x4d6b32[_0x772b('0x1f')]=_0xabcf9c;if(_0x323ab5[_0x772b('0x30')][_0x772b('0x3f')]){_0x2cc355[_0x772b('0x40')]=[{'all':!![]}];}return db['MailServerOut'][_0x772b('0x41')](_0x2cc355);})[_0x772b('0x25')](function(_0x4bdfae){_0x4d6b32[_0x772b('0x42')]=_0x4bdfae;return _0x4d6b32;})['then'](respondWithFilteredResult(_0x11e736,_0x2cc355))[_0x772b('0x43')](handleError(_0x11e736,null));};exports[_0x772b('0x44')]=function(_0x492f6d,_0x1be109){var _0x12d29b={'raw':!![],'where':{'id':_0x492f6d[_0x772b('0x45')]['id']}},_0x286b70={};_0x286b70['model']=_[_0x772b('0x31')](db['MailServerOut']['rawAttributes']);_0x286b70[_0x772b('0x30')]=_[_0x772b('0x31')](_0x492f6d[_0x772b('0x30')]);_0x286b70[_0x772b('0x32')]=_[_0x772b('0x46')](_0x286b70[_0x772b('0x2f')],_0x286b70[_0x772b('0x30')]);_0x12d29b[_0x772b('0x33')]=_[_0x772b('0x46')](_0x286b70[_0x772b('0x2f')],qs[_0x772b('0x47')](_0x492f6d['query'][_0x772b('0x47')]));_0x12d29b[_0x772b('0x33')]=_0x12d29b[_0x772b('0x33')]['length']?_0x12d29b[_0x772b('0x33')]:_0x286b70[_0x772b('0x2f')];if(_0x492f6d['query']['includeAll']){_0x12d29b[_0x772b('0x40')]=[{'all':!![]}];}_0x12d29b=_[_0x772b('0x3c')]({},_0x12d29b,_0x492f6d[_0x772b('0x3e')]);return db[_0x772b('0x2b')]['find'](_0x12d29b)[_0x772b('0x25')](handleEntityNotFound(_0x1be109,null))['then'](respondWithResult(_0x1be109,null))[_0x772b('0x43')](handleError(_0x1be109,null));};exports['create']=function(_0x34e22e,_0x5afbc0){return db[_0x772b('0x2b')][_0x772b('0x48')](_0x34e22e['body'],{})[_0x772b('0x25')](respondWithResult(_0x5afbc0,0xc9))[_0x772b('0x43')](handleError(_0x5afbc0,null));};exports[_0x772b('0x24')]=function(_0x522f46,_0x383062){if(_0x522f46[_0x772b('0x49')]['id']){delete _0x522f46[_0x772b('0x49')]['id'];}return db[_0x772b('0x2b')][_0x772b('0x4a')]({'where':{'id':_0x522f46[_0x772b('0x45')]['id']}})['then'](handleEntityNotFound(_0x383062,null))['then'](saveUpdates(_0x522f46[_0x772b('0x49')],null))[_0x772b('0x25')](respondWithResult(_0x383062,null))['catch'](handleError(_0x383062,null));};exports[_0x772b('0x4b')]=function(_0x316692,_0x1a2ff4){return db[_0x772b('0x2b')]['find']({'where':{'id':_0x316692[_0x772b('0x45')]['id']}})['then'](handleEntityNotFound(_0x1a2ff4,null))[_0x772b('0x25')](removeEntity(_0x1a2ff4,null))[_0x772b('0x43')](handleError(_0x1a2ff4,null));};