cda6bd41d73497da21f3302e4954e27972b6b6b0
[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 _0xd253=['jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','count','offset','json','apply','then','destroy','error','stack','name','send','index','map','rawAttributes','fieldName','type','model','query','keys','filters','intersection','fields','attributes','nolimit','limit','order','sort','where','pick','filter','merge','VIRTUAL','MailServerOut','include','findAll','rows','show','params','length','includeAll','options','catch','create','body','update','find','html-pdf','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','squel','crypto'];(function(_0x4ae6ef,_0xc2af80){var _0x3cbb4e=function(_0x569ad5){while(--_0x569ad5){_0x4ae6ef['push'](_0x4ae6ef['shift']());}};_0x3cbb4e(++_0xc2af80);}(_0xd253,0x1b3));var _0x3d25=function(_0x411add,_0x1aed38){_0x411add=_0x411add-0x0;var _0x238242=_0xd253[_0x411add];return _0x238242;};'use strict';var pdf=require(_0x3d25('0x0'));var emlformat=require(_0x3d25('0x1'));var rimraf=require(_0x3d25('0x2'));var zipdir=require(_0x3d25('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0x3d25('0x4'));var moment=require(_0x3d25('0x5'));var BPromise=require(_0x3d25('0x6'));var Mustache=require(_0x3d25('0x7'));var util=require(_0x3d25('0x8'));var path=require(_0x3d25('0x9'));var sox=require(_0x3d25('0xa'));var csv=require(_0x3d25('0xb'));var ejs=require(_0x3d25('0xc'));var fs=require('fs');var _=require('lodash');var squel=require(_0x3d25('0xd'));var crypto=require(_0x3d25('0xe'));var jsforce=require(_0x3d25('0xf'));var deskjs=require(_0x3d25('0x10'));var toCsv=require(_0x3d25('0xb'));var querystring=require(_0x3d25('0x11'));var Papa=require(_0x3d25('0x12'));var Redis=require(_0x3d25('0x13'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x3d25('0x14'));var hardwareService=require(_0x3d25('0x15'));var logger=require(_0x3d25('0x16'))('api');var utils=require(_0x3d25('0x17'));var config=require(_0x3d25('0x18'));var licenseUtil=require(_0x3d25('0x19'));var db=require(_0x3d25('0x1a'))['db'];function respondWithStatusCode(_0x19ff71,_0x440c21){_0x440c21=_0x440c21||0xcc;return function(_0x4e4e48){if(_0x4e4e48){return _0x19ff71[_0x3d25('0x1b')](_0x440c21);}return _0x19ff71[_0x3d25('0x1c')](_0x440c21)[_0x3d25('0x1d')]();};}function respondWithResult(_0x49b6e9,_0xa004a3){_0xa004a3=_0xa004a3||0xc8;return function(_0x4418f2){if(_0x4418f2){return _0x49b6e9['status'](_0xa004a3)['json'](_0x4418f2);}};}function respondWithFilteredResult(_0xd4d2e6,_0x20b9a4){return function(_0x100009){if(_0x100009){var _0x13ddc7=_0x100009[_0x3d25('0x1e')],_0x339b03=_0x20b9a4[_0x3d25('0x1f')],_0x4346b5=_0x20b9a4[_0x3d25('0x1f')]+_0x20b9a4['limit'],_0x54ebd3;if(_0x4346b5>=_0x13ddc7){_0x4346b5=_0x13ddc7;_0x54ebd3=0xc8;}else{_0x54ebd3=0xce;}_0xd4d2e6[_0x3d25('0x1c')](_0x54ebd3);return _0xd4d2e6['set']('Content-Range',_0x339b03+'-'+_0x4346b5+'/'+_0x13ddc7)[_0x3d25('0x20')](_0x100009);}return null;};}function patchUpdates(_0x256bdd){return function(_0x2ebcc7){try{jsonpatch[_0x3d25('0x21')](_0x2ebcc7,_0x256bdd,!![]);}catch(_0x39a8a6){return BPromise['reject'](_0x39a8a6);}return _0x2ebcc7['save']();};}function saveUpdates(_0x528ac2,_0x4b4bb3){return function(_0x52fe66){if(_0x52fe66){return _0x52fe66['update'](_0x528ac2)[_0x3d25('0x22')](function(_0x5caca5){return _0x5caca5;});}return null;};}function removeEntity(_0x41e4d5,_0x122252){return function(_0x1dd4fe){if(_0x1dd4fe){return _0x1dd4fe[_0x3d25('0x23')]()[_0x3d25('0x22')](function(){_0x41e4d5[_0x3d25('0x1c')](0xcc)[_0x3d25('0x1d')]();});}};}function handleEntityNotFound(_0xe7da04,_0x15f3bf){return function(_0x167a85){if(!_0x167a85){_0xe7da04['sendStatus'](0x194);}return _0x167a85;};}function handleError(_0x587ea1,_0x50cb81){_0x50cb81=_0x50cb81||0x1f4;return function(_0x1cdfb3){logger[_0x3d25('0x24')](_0x1cdfb3[_0x3d25('0x25')]);if(_0x1cdfb3[_0x3d25('0x26')]){delete _0x1cdfb3['name'];}_0x587ea1[_0x3d25('0x1c')](_0x50cb81)[_0x3d25('0x27')](_0x1cdfb3);};}exports[_0x3d25('0x28')]=function(_0x3da809,_0x35f96e){var _0x46430e={},_0x28d71b={},_0x5dfa34={'count':0x0,'rows':[]};var _0x55b444=_[_0x3d25('0x29')](db['MailServerOut'][_0x3d25('0x2a')],function(_0x233f0a){return{'name':_0x233f0a[_0x3d25('0x2b')],'type':_0x233f0a[_0x3d25('0x2c')]['key']};});_0x28d71b[_0x3d25('0x2d')]=_['map'](_0x55b444,_0x3d25('0x26'));_0x28d71b[_0x3d25('0x2e')]=_[_0x3d25('0x2f')](_0x3da809[_0x3d25('0x2e')]);_0x28d71b[_0x3d25('0x30')]=_[_0x3d25('0x31')](_0x28d71b[_0x3d25('0x2d')],_0x28d71b[_0x3d25('0x2e')]);_0x46430e['attributes']=_[_0x3d25('0x31')](_0x28d71b[_0x3d25('0x2d')],qs[_0x3d25('0x32')](_0x3da809[_0x3d25('0x2e')][_0x3d25('0x32')]));_0x46430e[_0x3d25('0x33')]=_0x46430e[_0x3d25('0x33')]['length']?_0x46430e[_0x3d25('0x33')]:_0x28d71b[_0x3d25('0x2d')];if(!_0x3da809['query']['hasOwnProperty'](_0x3d25('0x34'))){_0x46430e['limit']=qs[_0x3d25('0x35')](_0x3da809[_0x3d25('0x2e')][_0x3d25('0x35')]);_0x46430e[_0x3d25('0x1f')]=qs[_0x3d25('0x1f')](_0x3da809['query'][_0x3d25('0x1f')]);}_0x46430e[_0x3d25('0x36')]=qs[_0x3d25('0x37')](_0x3da809['query'][_0x3d25('0x37')]);_0x46430e[_0x3d25('0x38')]=qs['filters'](_[_0x3d25('0x39')](_0x3da809[_0x3d25('0x2e')],_0x28d71b[_0x3d25('0x30')]),_0x55b444);if(_0x3da809['query'][_0x3d25('0x3a')]){_0x46430e['where']=_[_0x3d25('0x3b')](_0x46430e[_0x3d25('0x38')],{'$or':_[_0x3d25('0x29')](_0x55b444,function(_0x30f1bc){if(_0x30f1bc['type']!==_0x3d25('0x3c')){var _0x994000={};_0x994000[_0x30f1bc[_0x3d25('0x26')]]={'$like':'%'+_0x3da809[_0x3d25('0x2e')][_0x3d25('0x3a')]+'%'};return _0x994000;}})});}_0x46430e=_['merge']({},_0x46430e,_0x3da809['options']);var _0x56fd47={'where':_0x46430e[_0x3d25('0x38')]};return db[_0x3d25('0x3d')]['count'](_0x56fd47)[_0x3d25('0x22')](function(_0x135d38){_0x5dfa34[_0x3d25('0x1e')]=_0x135d38;if(_0x3da809[_0x3d25('0x2e')]['includeAll']){_0x46430e[_0x3d25('0x3e')]=[{'all':!![]}];}return db[_0x3d25('0x3d')][_0x3d25('0x3f')](_0x46430e);})[_0x3d25('0x22')](function(_0x1696be){_0x5dfa34[_0x3d25('0x40')]=_0x1696be;return _0x5dfa34;})[_0x3d25('0x22')](respondWithFilteredResult(_0x35f96e,_0x46430e))['catch'](handleError(_0x35f96e,null));};exports[_0x3d25('0x41')]=function(_0x1666cf,_0x110359){var _0x38729d={'raw':!![],'where':{'id':_0x1666cf[_0x3d25('0x42')]['id']}},_0x373969={};_0x373969['model']=_[_0x3d25('0x2f')](db[_0x3d25('0x3d')][_0x3d25('0x2a')]);_0x373969[_0x3d25('0x2e')]=_['keys'](_0x1666cf[_0x3d25('0x2e')]);_0x373969[_0x3d25('0x30')]=_['intersection'](_0x373969[_0x3d25('0x2d')],_0x373969[_0x3d25('0x2e')]);_0x38729d[_0x3d25('0x33')]=_[_0x3d25('0x31')](_0x373969[_0x3d25('0x2d')],qs['fields'](_0x1666cf[_0x3d25('0x2e')]['fields']));_0x38729d['attributes']=_0x38729d[_0x3d25('0x33')][_0x3d25('0x43')]?_0x38729d['attributes']:_0x373969[_0x3d25('0x2d')];if(_0x1666cf[_0x3d25('0x2e')][_0x3d25('0x44')]){_0x38729d[_0x3d25('0x3e')]=[{'all':!![]}];}_0x38729d=_[_0x3d25('0x3b')]({},_0x38729d,_0x1666cf[_0x3d25('0x45')]);return db[_0x3d25('0x3d')]['find'](_0x38729d)[_0x3d25('0x22')](handleEntityNotFound(_0x110359,null))[_0x3d25('0x22')](respondWithResult(_0x110359,null))[_0x3d25('0x46')](handleError(_0x110359,null));};exports[_0x3d25('0x47')]=function(_0x2cc861,_0x1edf2a){return db[_0x3d25('0x3d')][_0x3d25('0x47')](_0x2cc861[_0x3d25('0x48')],{})[_0x3d25('0x22')](respondWithResult(_0x1edf2a,0xc9))[_0x3d25('0x46')](handleError(_0x1edf2a,null));};exports[_0x3d25('0x49')]=function(_0x263733,_0x2f7b07){if(_0x263733[_0x3d25('0x48')]['id']){delete _0x263733[_0x3d25('0x48')]['id'];}return db[_0x3d25('0x3d')][_0x3d25('0x4a')]({'where':{'id':_0x263733['params']['id']}})['then'](handleEntityNotFound(_0x2f7b07,null))[_0x3d25('0x22')](saveUpdates(_0x263733['body'],null))[_0x3d25('0x22')](respondWithResult(_0x2f7b07,null))['catch'](handleError(_0x2f7b07,null));};exports[_0x3d25('0x23')]=function(_0xb13809,_0x1bbb42){return db[_0x3d25('0x3d')][_0x3d25('0x4a')]({'where':{'id':_0xb13809['params']['id']}})[_0x3d25('0x22')](handleEntityNotFound(_0x1bbb42,null))[_0x3d25('0x22')](removeEntity(_0x1bbb42,null))[_0x3d25('0x46')](handleError(_0x1bbb42,null));};