ec8c7e7ab9175b8c5edbcc73347de945563bf86c
[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 _0x0c98=['../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','limit','reject','update','then','destroy','error','name','send','index','map','MailServerOut','rawAttributes','fieldName','type','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','order','filter','merge','where','VIRTUAL','count','include','findAll','rows','catch','show','params','keys','options','create','body','find','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse'];(function(_0x1506a7,_0x32adb8){var _0x57b7d9=function(_0x234897){while(--_0x234897){_0x1506a7['push'](_0x1506a7['shift']());}};_0x57b7d9(++_0x32adb8);}(_0x0c98,0x19d));var _0x80c9=function(_0x54ddc7,_0x37a057){_0x54ddc7=_0x54ddc7-0x0;var _0x267638=_0x0c98[_0x54ddc7];return _0x267638;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x80c9('0x0'));var rimraf=require(_0x80c9('0x1'));var zipdir=require(_0x80c9('0x2'));var jsonpatch=require(_0x80c9('0x3'));var rp=require(_0x80c9('0x4'));var moment=require(_0x80c9('0x5'));var BPromise=require(_0x80c9('0x6'));var Mustache=require('mustache');var util=require(_0x80c9('0x7'));var path=require(_0x80c9('0x8'));var sox=require(_0x80c9('0x9'));var csv=require(_0x80c9('0xa'));var ejs=require(_0x80c9('0xb'));var fs=require('fs');var _=require(_0x80c9('0xc'));var squel=require(_0x80c9('0xd'));var crypto=require(_0x80c9('0xe'));var jsforce=require(_0x80c9('0xf'));var deskjs=require(_0x80c9('0x10'));var toCsv=require(_0x80c9('0xa'));var querystring=require(_0x80c9('0x11'));var Papa=require(_0x80c9('0x12'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x80c9('0x13'));var as=require(_0x80c9('0x14'));var hardwareService=require(_0x80c9('0x15'));var logger=require(_0x80c9('0x16'))(_0x80c9('0x17'));var utils=require(_0x80c9('0x18'));var config=require(_0x80c9('0x19'));var licenseUtil=require(_0x80c9('0x1a'));var db=require(_0x80c9('0x1b'))['db'];function respondWithStatusCode(_0x521b05,_0x318d04){_0x318d04=_0x318d04||0xcc;return function(_0x517527){if(_0x517527){return _0x521b05[_0x80c9('0x1c')](_0x318d04);}return _0x521b05[_0x80c9('0x1d')](_0x318d04)[_0x80c9('0x1e')]();};}function respondWithResult(_0x46da06,_0x613eed){_0x613eed=_0x613eed||0xc8;return function(_0x33905a){if(_0x33905a){return _0x46da06[_0x80c9('0x1d')](_0x613eed)[_0x80c9('0x1f')](_0x33905a);}};}function respondWithFilteredResult(_0x346ffd,_0xa1598d){return function(_0x16b77a){if(_0x16b77a){var _0x1abe56=_0x16b77a['count'],_0x3aacf0=_0xa1598d[_0x80c9('0x20')],_0x3441a1=_0xa1598d['offset']+_0xa1598d[_0x80c9('0x21')],_0x206c2f;if(_0x3441a1>=_0x1abe56){_0x3441a1=_0x1abe56;_0x206c2f=0xc8;}else{_0x206c2f=0xce;}_0x346ffd[_0x80c9('0x1d')](_0x206c2f);return _0x346ffd['set']('Content-Range',_0x3aacf0+'-'+_0x3441a1+'/'+_0x1abe56)[_0x80c9('0x1f')](_0x16b77a);}return null;};}function patchUpdates(_0x4a3f20){return function(_0x1e174b){try{jsonpatch['apply'](_0x1e174b,_0x4a3f20,!![]);}catch(_0x552733){return BPromise[_0x80c9('0x22')](_0x552733);}return _0x1e174b['save']();};}function saveUpdates(_0x403de7,_0x427080){return function(_0x415c4e){if(_0x415c4e){return _0x415c4e[_0x80c9('0x23')](_0x403de7)[_0x80c9('0x24')](function(_0x261207){return _0x261207;});}return null;};}function removeEntity(_0x4ed14f,_0x45704f){return function(_0x163f0c){if(_0x163f0c){return _0x163f0c[_0x80c9('0x25')]()[_0x80c9('0x24')](function(){_0x4ed14f[_0x80c9('0x1d')](0xcc)[_0x80c9('0x1e')]();});}};}function handleEntityNotFound(_0x5501dc,_0x3f3ee2){return function(_0xa7b724){if(!_0xa7b724){_0x5501dc['sendStatus'](0x194);}return _0xa7b724;};}function handleError(_0x1b556d,_0x442391){_0x442391=_0x442391||0x1f4;return function(_0x16fa66){logger[_0x80c9('0x26')](_0x16fa66['stack']);if(_0x16fa66['name']){delete _0x16fa66[_0x80c9('0x27')];}_0x1b556d[_0x80c9('0x1d')](_0x442391)[_0x80c9('0x28')](_0x16fa66);};}exports[_0x80c9('0x29')]=function(_0x433885,_0x512109){var _0x4116c8={},_0x21c57e={},_0x3bdb4c={'count':0x0,'rows':[]};var _0x48006e=_[_0x80c9('0x2a')](db[_0x80c9('0x2b')][_0x80c9('0x2c')],function(_0x337a7a){return{'name':_0x337a7a[_0x80c9('0x2d')],'type':_0x337a7a[_0x80c9('0x2e')]['key']};});_0x21c57e[_0x80c9('0x2f')]=_[_0x80c9('0x2a')](_0x48006e,'name');_0x21c57e[_0x80c9('0x30')]=_['keys'](_0x433885['query']);_0x21c57e[_0x80c9('0x31')]=_[_0x80c9('0x32')](_0x21c57e[_0x80c9('0x2f')],_0x21c57e['query']);_0x4116c8[_0x80c9('0x33')]=_[_0x80c9('0x32')](_0x21c57e[_0x80c9('0x2f')],qs[_0x80c9('0x34')](_0x433885[_0x80c9('0x30')][_0x80c9('0x34')]));_0x4116c8[_0x80c9('0x33')]=_0x4116c8[_0x80c9('0x33')][_0x80c9('0x35')]?_0x4116c8[_0x80c9('0x33')]:_0x21c57e[_0x80c9('0x2f')];if(!_0x433885['query'][_0x80c9('0x36')]('nolimit')){_0x4116c8[_0x80c9('0x21')]=qs[_0x80c9('0x21')](_0x433885[_0x80c9('0x30')][_0x80c9('0x21')]);_0x4116c8[_0x80c9('0x20')]=qs[_0x80c9('0x20')](_0x433885[_0x80c9('0x30')][_0x80c9('0x20')]);}_0x4116c8[_0x80c9('0x37')]=qs['sort'](_0x433885[_0x80c9('0x30')]['sort']);_0x4116c8['where']=qs['filters'](_['pick'](_0x433885['query'],_0x21c57e[_0x80c9('0x31')]),_0x48006e);if(_0x433885[_0x80c9('0x30')][_0x80c9('0x38')]){_0x4116c8['where']=_[_0x80c9('0x39')](_0x4116c8[_0x80c9('0x3a')],{'$or':_[_0x80c9('0x2a')](_0x48006e,function(_0x1ffdb6){if(_0x1ffdb6[_0x80c9('0x2e')]!==_0x80c9('0x3b')){var _0x27423a={};_0x27423a[_0x1ffdb6[_0x80c9('0x27')]]={'$like':'%'+_0x433885[_0x80c9('0x30')][_0x80c9('0x38')]+'%'};return _0x27423a;}})});}_0x4116c8=_[_0x80c9('0x39')]({},_0x4116c8,_0x433885['options']);var _0x1fbb2e={'where':_0x4116c8[_0x80c9('0x3a')]};return db[_0x80c9('0x2b')]['count'](_0x1fbb2e)[_0x80c9('0x24')](function(_0x46d288){_0x3bdb4c[_0x80c9('0x3c')]=_0x46d288;if(_0x433885['query']['includeAll']){_0x4116c8[_0x80c9('0x3d')]=[{'all':!![]}];}return db[_0x80c9('0x2b')][_0x80c9('0x3e')](_0x4116c8);})[_0x80c9('0x24')](function(_0x57fd26){_0x3bdb4c[_0x80c9('0x3f')]=_0x57fd26;return _0x3bdb4c;})['then'](respondWithFilteredResult(_0x512109,_0x4116c8))[_0x80c9('0x40')](handleError(_0x512109,null));};exports[_0x80c9('0x41')]=function(_0x166689,_0x43c54d){var _0x3a56af={'raw':!![],'where':{'id':_0x166689[_0x80c9('0x42')]['id']}},_0x2c2e11={};_0x2c2e11[_0x80c9('0x2f')]=_[_0x80c9('0x43')](db[_0x80c9('0x2b')][_0x80c9('0x2c')]);_0x2c2e11[_0x80c9('0x30')]=_['keys'](_0x166689[_0x80c9('0x30')]);_0x2c2e11[_0x80c9('0x31')]=_['intersection'](_0x2c2e11['model'],_0x2c2e11[_0x80c9('0x30')]);_0x3a56af[_0x80c9('0x33')]=_[_0x80c9('0x32')](_0x2c2e11['model'],qs[_0x80c9('0x34')](_0x166689[_0x80c9('0x30')][_0x80c9('0x34')]));_0x3a56af[_0x80c9('0x33')]=_0x3a56af[_0x80c9('0x33')][_0x80c9('0x35')]?_0x3a56af[_0x80c9('0x33')]:_0x2c2e11['model'];if(_0x166689[_0x80c9('0x30')]['includeAll']){_0x3a56af[_0x80c9('0x3d')]=[{'all':!![]}];}_0x3a56af=_[_0x80c9('0x39')]({},_0x3a56af,_0x166689[_0x80c9('0x44')]);return db[_0x80c9('0x2b')]['find'](_0x3a56af)['then'](handleEntityNotFound(_0x43c54d,null))[_0x80c9('0x24')](respondWithResult(_0x43c54d,null))['catch'](handleError(_0x43c54d,null));};exports[_0x80c9('0x45')]=function(_0x13a5b1,_0x53d6a4){return db[_0x80c9('0x2b')][_0x80c9('0x45')](_0x13a5b1[_0x80c9('0x46')],{})[_0x80c9('0x24')](respondWithResult(_0x53d6a4,0xc9))[_0x80c9('0x40')](handleError(_0x53d6a4,null));};exports[_0x80c9('0x23')]=function(_0x113096,_0x5da6d3){if(_0x113096['body']['id']){delete _0x113096[_0x80c9('0x46')]['id'];}return db[_0x80c9('0x2b')][_0x80c9('0x47')]({'where':{'id':_0x113096[_0x80c9('0x42')]['id']}})[_0x80c9('0x24')](handleEntityNotFound(_0x5da6d3,null))['then'](saveUpdates(_0x113096[_0x80c9('0x46')],null))[_0x80c9('0x24')](respondWithResult(_0x5da6d3,null))['catch'](handleError(_0x5da6d3,null));};exports[_0x80c9('0x25')]=function(_0x546daa,_0x19cae8){return db[_0x80c9('0x2b')][_0x80c9('0x47')]({'where':{'id':_0x546daa[_0x80c9('0x42')]['id']}})[_0x80c9('0x24')](handleEntityNotFound(_0x19cae8,null))['then'](removeEntity(_0x19cae8,null))['catch'](handleError(_0x19cae8,null));};