Built motion from commit d1eab355.|2.6.28
[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 _0x20e7=['name','send','index','map','MailServerOut','rawAttributes','type','model','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','includeAll','include','findAll','rows','catch','show','params','options','find','create','body','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','sendStatus','status','end','json','offset','limit','undefined','count','Content-Range','apply','reject','save','update','then','destroy','error','stack'];(function(_0x236279,_0x4fdecf){var _0xd66741=function(_0x4a480b){while(--_0x4a480b){_0x236279['push'](_0x236279['shift']());}};_0xd66741(++_0x4fdecf);}(_0x20e7,0x107));var _0x720e=function(_0x3bdf40,_0x82c04b){_0x3bdf40=_0x3bdf40-0x0;var _0x27604e=_0x20e7[_0x3bdf40];return _0x27604e;};'use strict';var emlformat=require(_0x720e('0x0'));var rimraf=require(_0x720e('0x1'));var zipdir=require(_0x720e('0x2'));var jsonpatch=require(_0x720e('0x3'));var rp=require(_0x720e('0x4'));var moment=require(_0x720e('0x5'));var BPromise=require(_0x720e('0x6'));var Mustache=require(_0x720e('0x7'));var util=require(_0x720e('0x8'));var path=require(_0x720e('0x9'));var sox=require(_0x720e('0xa'));var csv=require(_0x720e('0xb'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x720e('0xc'));var crypto=require(_0x720e('0xd'));var jsforce=require(_0x720e('0xe'));var deskjs=require(_0x720e('0xf'));var toCsv=require('to-csv');var querystring=require(_0x720e('0x10'));var Papa=require('papaparse');var Redis=require(_0x720e('0x11'));var authService=require(_0x720e('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0x720e('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x720e('0x14'))(_0x720e('0x15'));var utils=require(_0x720e('0x16'));var config=require(_0x720e('0x17'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x3e6a5e,_0x52bd84){_0x52bd84=_0x52bd84||0xcc;return function(_0x7c366c){if(_0x7c366c){return _0x3e6a5e[_0x720e('0x18')](_0x52bd84);}return _0x3e6a5e[_0x720e('0x19')](_0x52bd84)[_0x720e('0x1a')]();};}function respondWithResult(_0x508224,_0x49e03e){_0x49e03e=_0x49e03e||0xc8;return function(_0x2d7bac){if(_0x2d7bac){return _0x508224[_0x720e('0x19')](_0x49e03e)[_0x720e('0x1b')](_0x2d7bac);}};}function respondWithFilteredResult(_0xc0243,_0x1e56bb){return function(_0x527a4f){if(_0x527a4f){var _0x5a11da=typeof _0x1e56bb[_0x720e('0x1c')]==='undefined'&&typeof _0x1e56bb[_0x720e('0x1d')]===_0x720e('0x1e');var _0x52ce29=_0x527a4f['count'];var _0x2d8fa3=_0x5a11da?0x0:_0x1e56bb[_0x720e('0x1c')];var _0x4c46de=_0x5a11da?_0x527a4f[_0x720e('0x1f')]:_0x1e56bb[_0x720e('0x1c')]+_0x1e56bb[_0x720e('0x1d')];var _0x71eff9;if(_0x4c46de>=_0x52ce29){_0x4c46de=_0x52ce29;_0x71eff9=0xc8;}else{_0x71eff9=0xce;}_0xc0243[_0x720e('0x19')](_0x71eff9);return _0xc0243['set'](_0x720e('0x20'),_0x2d8fa3+'-'+_0x4c46de+'/'+_0x52ce29)[_0x720e('0x1b')](_0x527a4f);}return null;};}function patchUpdates(_0x10ef47){return function(_0x3383fc){try{jsonpatch[_0x720e('0x21')](_0x3383fc,_0x10ef47,!![]);}catch(_0x2bd982){return BPromise[_0x720e('0x22')](_0x2bd982);}return _0x3383fc[_0x720e('0x23')]();};}function saveUpdates(_0x3b9cba,_0xcc4397){return function(_0x338078){if(_0x338078){return _0x338078[_0x720e('0x24')](_0x3b9cba)[_0x720e('0x25')](function(_0x5ebf6a){return _0x5ebf6a;});}return null;};}function removeEntity(_0x1dcc2d,_0x2ebc9c){return function(_0x29fc61){if(_0x29fc61){return _0x29fc61[_0x720e('0x26')]()['then'](function(){_0x1dcc2d['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x174542,_0x55a91a){return function(_0xff53da){if(!_0xff53da){_0x174542[_0x720e('0x18')](0x194);}return _0xff53da;};}function handleError(_0x34a73f,_0x565c6d){_0x565c6d=_0x565c6d||0x1f4;return function(_0x1a8098){logger[_0x720e('0x27')](_0x1a8098[_0x720e('0x28')]);if(_0x1a8098['name']){delete _0x1a8098[_0x720e('0x29')];}_0x34a73f[_0x720e('0x19')](_0x565c6d)[_0x720e('0x2a')](_0x1a8098);};}exports[_0x720e('0x2b')]=function(_0x30a877,_0x37451d){var _0x492342={},_0x428afd={},_0x240b4f={'count':0x0,'rows':[]};var _0x2f208c=_[_0x720e('0x2c')](db[_0x720e('0x2d')][_0x720e('0x2e')],function(_0x5d5e4f){return{'name':_0x5d5e4f['fieldName'],'type':_0x5d5e4f[_0x720e('0x2f')]['key']};});_0x428afd[_0x720e('0x30')]=_[_0x720e('0x2c')](_0x2f208c,_0x720e('0x29'));_0x428afd[_0x720e('0x31')]=_[_0x720e('0x32')](_0x30a877[_0x720e('0x31')]);_0x428afd[_0x720e('0x33')]=_['intersection'](_0x428afd['model'],_0x428afd[_0x720e('0x31')]);_0x492342[_0x720e('0x34')]=_[_0x720e('0x35')](_0x428afd[_0x720e('0x30')],qs[_0x720e('0x36')](_0x30a877[_0x720e('0x31')][_0x720e('0x36')]));_0x492342[_0x720e('0x34')]=_0x492342[_0x720e('0x34')][_0x720e('0x37')]?_0x492342[_0x720e('0x34')]:_0x428afd[_0x720e('0x30')];if(!_0x30a877[_0x720e('0x31')][_0x720e('0x38')](_0x720e('0x39'))){_0x492342[_0x720e('0x1d')]=qs['limit'](_0x30a877[_0x720e('0x31')]['limit']);_0x492342['offset']=qs[_0x720e('0x1c')](_0x30a877[_0x720e('0x31')][_0x720e('0x1c')]);}_0x492342[_0x720e('0x3a')]=qs[_0x720e('0x3b')](_0x30a877[_0x720e('0x31')]['sort']);_0x492342[_0x720e('0x3c')]=qs['filters'](_[_0x720e('0x3d')](_0x30a877[_0x720e('0x31')],_0x428afd[_0x720e('0x33')]),_0x2f208c);if(_0x30a877[_0x720e('0x31')][_0x720e('0x3e')]){_0x492342[_0x720e('0x3c')]=_[_0x720e('0x3f')](_0x492342[_0x720e('0x3c')],{'$or':_[_0x720e('0x2c')](_0x2f208c,function(_0x49a260){if(_0x49a260[_0x720e('0x2f')]!==_0x720e('0x40')){var _0xa1ce5a={};_0xa1ce5a[_0x49a260[_0x720e('0x29')]]={'$like':'%'+_0x30a877[_0x720e('0x31')][_0x720e('0x3e')]+'%'};return _0xa1ce5a;}})});}_0x492342=_[_0x720e('0x3f')]({},_0x492342,_0x30a877['options']);var _0x1f3793={'where':_0x492342[_0x720e('0x3c')]};return db[_0x720e('0x2d')][_0x720e('0x1f')](_0x1f3793)[_0x720e('0x25')](function(_0x2c558a){_0x240b4f[_0x720e('0x1f')]=_0x2c558a;if(_0x30a877['query'][_0x720e('0x41')]){_0x492342[_0x720e('0x42')]=[{'all':!![]}];}return db['MailServerOut'][_0x720e('0x43')](_0x492342);})[_0x720e('0x25')](function(_0xa00546){_0x240b4f[_0x720e('0x44')]=_0xa00546;return _0x240b4f;})['then'](respondWithFilteredResult(_0x37451d,_0x492342))[_0x720e('0x45')](handleError(_0x37451d,null));};exports[_0x720e('0x46')]=function(_0x22bc97,_0x4d6e21){var _0x1f8ebc={'raw':!![],'where':{'id':_0x22bc97[_0x720e('0x47')]['id']}},_0x377f30={};_0x377f30[_0x720e('0x30')]=_[_0x720e('0x32')](db[_0x720e('0x2d')][_0x720e('0x2e')]);_0x377f30[_0x720e('0x31')]=_[_0x720e('0x32')](_0x22bc97[_0x720e('0x31')]);_0x377f30[_0x720e('0x33')]=_[_0x720e('0x35')](_0x377f30[_0x720e('0x30')],_0x377f30[_0x720e('0x31')]);_0x1f8ebc[_0x720e('0x34')]=_[_0x720e('0x35')](_0x377f30[_0x720e('0x30')],qs['fields'](_0x22bc97[_0x720e('0x31')][_0x720e('0x36')]));_0x1f8ebc['attributes']=_0x1f8ebc[_0x720e('0x34')][_0x720e('0x37')]?_0x1f8ebc[_0x720e('0x34')]:_0x377f30[_0x720e('0x30')];if(_0x22bc97[_0x720e('0x31')]['includeAll']){_0x1f8ebc[_0x720e('0x42')]=[{'all':!![]}];}_0x1f8ebc=_[_0x720e('0x3f')]({},_0x1f8ebc,_0x22bc97[_0x720e('0x48')]);return db[_0x720e('0x2d')][_0x720e('0x49')](_0x1f8ebc)[_0x720e('0x25')](handleEntityNotFound(_0x4d6e21,null))['then'](respondWithResult(_0x4d6e21,null))['catch'](handleError(_0x4d6e21,null));};exports[_0x720e('0x4a')]=function(_0x10a184,_0x503078){return db[_0x720e('0x2d')]['create'](_0x10a184[_0x720e('0x4b')],{})[_0x720e('0x25')](respondWithResult(_0x503078,0xc9))[_0x720e('0x45')](handleError(_0x503078,null));};exports['update']=function(_0x4f87b4,_0x82cabf){if(_0x4f87b4['body']['id']){delete _0x4f87b4[_0x720e('0x4b')]['id'];}return db[_0x720e('0x2d')][_0x720e('0x49')]({'where':{'id':_0x4f87b4['params']['id']}})[_0x720e('0x25')](handleEntityNotFound(_0x82cabf,null))[_0x720e('0x25')](saveUpdates(_0x4f87b4[_0x720e('0x4b')],null))[_0x720e('0x25')](respondWithResult(_0x82cabf,null))[_0x720e('0x45')](handleError(_0x82cabf,null));};exports[_0x720e('0x26')]=function(_0x14cdcf,_0x4f2b61){return db['MailServerOut'][_0x720e('0x49')]({'where':{'id':_0x14cdcf[_0x720e('0x47')]['id']}})['then'](handleEntityNotFound(_0x4f2b61,null))[_0x720e('0x25')](removeEntity(_0x4f2b61,null))[_0x720e('0x45')](handleError(_0x4f2b61,null));};