6c15691a1902bb510f6b583e3648d84fe21ac073
[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 _0xff3b=['crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','json','offset','undefined','limit','count','Content-Range','apply','reject','save','update','then','destroy','end','sendStatus','stack','name','send','index','MailServerOut','fieldName','type','map','keys','query','filters','intersection','model','attributes','fields','length','nolimit','sort','pick','merge','where','VIRTUAL','filter','options','includeAll','include','findAll','rows','catch','show','params','create','body','find','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','sox','to-csv','ejs','fs-extra','lodash','squel'];(function(_0x1d24eb,_0x12295b){var _0x1dc576=function(_0x4d5770){while(--_0x4d5770){_0x1d24eb['push'](_0x1d24eb['shift']());}};_0x1dc576(++_0x12295b);}(_0xff3b,0x8b));var _0xbff3=function(_0x445e10,_0x3e881c){_0x445e10=_0x445e10-0x0;var _0x5075ce=_0xff3b[_0x445e10];return _0x5075ce;};'use strict';var emlformat=require(_0xbff3('0x0'));var rimraf=require(_0xbff3('0x1'));var zipdir=require(_0xbff3('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xbff3('0x3'));var moment=require(_0xbff3('0x4'));var BPromise=require(_0xbff3('0x5'));var Mustache=require(_0xbff3('0x6'));var util=require('util');var path=require('path');var sox=require(_0xbff3('0x7'));var csv=require(_0xbff3('0x8'));var ejs=require(_0xbff3('0x9'));var fs=require('fs');var fs_extra=require(_0xbff3('0xa'));var _=require(_0xbff3('0xb'));var squel=require(_0xbff3('0xc'));var crypto=require(_0xbff3('0xd'));var jsforce=require(_0xbff3('0xe'));var deskjs=require(_0xbff3('0xf'));var toCsv=require(_0xbff3('0x8'));var querystring=require(_0xbff3('0x10'));var Papa=require(_0xbff3('0x11'));var Redis=require(_0xbff3('0x12'));var authService=require(_0xbff3('0x13'));var qs=require('../../components/parsers/qs');var as=require(_0xbff3('0x14'));var hardwareService=require(_0xbff3('0x15'));var logger=require('../../config/logger')(_0xbff3('0x16'));var utils=require(_0xbff3('0x17'));var config=require(_0xbff3('0x18'));var licenseUtil=require(_0xbff3('0x19'));var db=require(_0xbff3('0x1a'))['db'];function respondWithStatusCode(_0x4da539,_0x5cf859){_0x5cf859=_0x5cf859||0xcc;return function(_0x4e4a1d){if(_0x4e4a1d){return _0x4da539['sendStatus'](_0x5cf859);}return _0x4da539['status'](_0x5cf859)['end']();};}function respondWithResult(_0x2a0e4a,_0x284368){_0x284368=_0x284368||0xc8;return function(_0x21188d){if(_0x21188d){return _0x2a0e4a[_0xbff3('0x1b')](_0x284368)[_0xbff3('0x1c')](_0x21188d);}};}function respondWithFilteredResult(_0xb5ae84,_0x2e9798){return function(_0x579724){if(_0x579724){var _0x7220a8=typeof _0x2e9798[_0xbff3('0x1d')]===_0xbff3('0x1e')&&typeof _0x2e9798[_0xbff3('0x1f')]===_0xbff3('0x1e');var _0x43b027=_0x579724[_0xbff3('0x20')];var _0x29664b=_0x7220a8?0x0:_0x2e9798[_0xbff3('0x1d')];var _0x7a6875=_0x7220a8?_0x579724[_0xbff3('0x20')]:_0x2e9798[_0xbff3('0x1d')]+_0x2e9798[_0xbff3('0x1f')];var _0x3a8cad;if(_0x7a6875>=_0x43b027){_0x7a6875=_0x43b027;_0x3a8cad=0xc8;}else{_0x3a8cad=0xce;}_0xb5ae84[_0xbff3('0x1b')](_0x3a8cad);return _0xb5ae84['set'](_0xbff3('0x21'),_0x29664b+'-'+_0x7a6875+'/'+_0x43b027)[_0xbff3('0x1c')](_0x579724);}return null;};}function patchUpdates(_0x229b64){return function(_0x5da584){try{jsonpatch[_0xbff3('0x22')](_0x5da584,_0x229b64,!![]);}catch(_0x1b8647){return BPromise[_0xbff3('0x23')](_0x1b8647);}return _0x5da584[_0xbff3('0x24')]();};}function saveUpdates(_0x299283,_0x5f1834){return function(_0x2aae37){if(_0x2aae37){return _0x2aae37[_0xbff3('0x25')](_0x299283)[_0xbff3('0x26')](function(_0x788c1a){return _0x788c1a;});}return null;};}function removeEntity(_0x3dc458,_0x439968){return function(_0x588f52){if(_0x588f52){return _0x588f52[_0xbff3('0x27')]()['then'](function(){_0x3dc458['status'](0xcc)[_0xbff3('0x28')]();});}};}function handleEntityNotFound(_0xb5fc6f,_0x1e6f14){return function(_0x598d98){if(!_0x598d98){_0xb5fc6f[_0xbff3('0x29')](0x194);}return _0x598d98;};}function handleError(_0x110b64,_0x31ab05){_0x31ab05=_0x31ab05||0x1f4;return function(_0x2b497a){logger['error'](_0x2b497a[_0xbff3('0x2a')]);if(_0x2b497a[_0xbff3('0x2b')]){delete _0x2b497a[_0xbff3('0x2b')];}_0x110b64[_0xbff3('0x1b')](_0x31ab05)[_0xbff3('0x2c')](_0x2b497a);};}exports[_0xbff3('0x2d')]=function(_0x19c821,_0x30ff81){var _0x51337c={},_0xd98427={},_0x8a34a1={'count':0x0,'rows':[]};var _0x1e179e=_['map'](db[_0xbff3('0x2e')]['rawAttributes'],function(_0x1e8c50){return{'name':_0x1e8c50[_0xbff3('0x2f')],'type':_0x1e8c50[_0xbff3('0x30')]['key']};});_0xd98427['model']=_[_0xbff3('0x31')](_0x1e179e,_0xbff3('0x2b'));_0xd98427['query']=_[_0xbff3('0x32')](_0x19c821[_0xbff3('0x33')]);_0xd98427[_0xbff3('0x34')]=_[_0xbff3('0x35')](_0xd98427[_0xbff3('0x36')],_0xd98427[_0xbff3('0x33')]);_0x51337c[_0xbff3('0x37')]=_[_0xbff3('0x35')](_0xd98427[_0xbff3('0x36')],qs[_0xbff3('0x38')](_0x19c821['query'][_0xbff3('0x38')]));_0x51337c[_0xbff3('0x37')]=_0x51337c[_0xbff3('0x37')][_0xbff3('0x39')]?_0x51337c[_0xbff3('0x37')]:_0xd98427[_0xbff3('0x36')];if(!_0x19c821[_0xbff3('0x33')]['hasOwnProperty'](_0xbff3('0x3a'))){_0x51337c[_0xbff3('0x1f')]=qs[_0xbff3('0x1f')](_0x19c821[_0xbff3('0x33')]['limit']);_0x51337c['offset']=qs[_0xbff3('0x1d')](_0x19c821[_0xbff3('0x33')][_0xbff3('0x1d')]);}_0x51337c['order']=qs[_0xbff3('0x3b')](_0x19c821[_0xbff3('0x33')][_0xbff3('0x3b')]);_0x51337c['where']=qs[_0xbff3('0x34')](_[_0xbff3('0x3c')](_0x19c821[_0xbff3('0x33')],_0xd98427['filters']),_0x1e179e);if(_0x19c821[_0xbff3('0x33')]['filter']){_0x51337c['where']=_[_0xbff3('0x3d')](_0x51337c[_0xbff3('0x3e')],{'$or':_[_0xbff3('0x31')](_0x1e179e,function(_0x516f33){if(_0x516f33['type']!==_0xbff3('0x3f')){var _0x4ee2ab={};_0x4ee2ab[_0x516f33[_0xbff3('0x2b')]]={'$like':'%'+_0x19c821[_0xbff3('0x33')][_0xbff3('0x40')]+'%'};return _0x4ee2ab;}})});}_0x51337c=_[_0xbff3('0x3d')]({},_0x51337c,_0x19c821[_0xbff3('0x41')]);var _0x536dbd={'where':_0x51337c[_0xbff3('0x3e')]};return db['MailServerOut']['count'](_0x536dbd)['then'](function(_0x16590d){_0x8a34a1['count']=_0x16590d;if(_0x19c821[_0xbff3('0x33')][_0xbff3('0x42')]){_0x51337c[_0xbff3('0x43')]=[{'all':!![]}];}return db[_0xbff3('0x2e')][_0xbff3('0x44')](_0x51337c);})[_0xbff3('0x26')](function(_0x44091e){_0x8a34a1[_0xbff3('0x45')]=_0x44091e;return _0x8a34a1;})['then'](respondWithFilteredResult(_0x30ff81,_0x51337c))[_0xbff3('0x46')](handleError(_0x30ff81,null));};exports[_0xbff3('0x47')]=function(_0x49700f,_0x1bcc10){var _0x1d102f={'raw':!![],'where':{'id':_0x49700f[_0xbff3('0x48')]['id']}},_0x50d649={};_0x50d649[_0xbff3('0x36')]=_[_0xbff3('0x32')](db[_0xbff3('0x2e')]['rawAttributes']);_0x50d649[_0xbff3('0x33')]=_[_0xbff3('0x32')](_0x49700f[_0xbff3('0x33')]);_0x50d649[_0xbff3('0x34')]=_[_0xbff3('0x35')](_0x50d649[_0xbff3('0x36')],_0x50d649[_0xbff3('0x33')]);_0x1d102f[_0xbff3('0x37')]=_[_0xbff3('0x35')](_0x50d649[_0xbff3('0x36')],qs['fields'](_0x49700f['query'][_0xbff3('0x38')]));_0x1d102f[_0xbff3('0x37')]=_0x1d102f['attributes']['length']?_0x1d102f[_0xbff3('0x37')]:_0x50d649[_0xbff3('0x36')];if(_0x49700f['query']['includeAll']){_0x1d102f[_0xbff3('0x43')]=[{'all':!![]}];}_0x1d102f=_['merge']({},_0x1d102f,_0x49700f[_0xbff3('0x41')]);return db[_0xbff3('0x2e')]['find'](_0x1d102f)[_0xbff3('0x26')](handleEntityNotFound(_0x1bcc10,null))[_0xbff3('0x26')](respondWithResult(_0x1bcc10,null))[_0xbff3('0x46')](handleError(_0x1bcc10,null));};exports[_0xbff3('0x49')]=function(_0x14442b,_0x13365e){return db[_0xbff3('0x2e')][_0xbff3('0x49')](_0x14442b[_0xbff3('0x4a')],{})['then'](respondWithResult(_0x13365e,0xc9))[_0xbff3('0x46')](handleError(_0x13365e,null));};exports[_0xbff3('0x25')]=function(_0x134810,_0x13ad8b){if(_0x134810['body']['id']){delete _0x134810[_0xbff3('0x4a')]['id'];}return db['MailServerOut']['find']({'where':{'id':_0x134810['params']['id']}})[_0xbff3('0x26')](handleEntityNotFound(_0x13ad8b,null))[_0xbff3('0x26')](saveUpdates(_0x134810[_0xbff3('0x4a')],null))[_0xbff3('0x26')](respondWithResult(_0x13ad8b,null))[_0xbff3('0x46')](handleError(_0x13ad8b,null));};exports['destroy']=function(_0x2b4045,_0x14db2e){return db[_0xbff3('0x2e')][_0xbff3('0x4b')]({'where':{'id':_0x2b4045[_0xbff3('0x48')]['id']}})[_0xbff3('0x26')](handleEntityNotFound(_0x14db2e,null))['then'](removeEntity(_0x14db2e,null))['catch'](handleError(_0x14db2e,null));};