Built motion from commit 092f8824.|2.5.49
[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 _0xdf67=['limit','count','Content-Range','apply','reject','save','update','then','destroy','error','stack','name','send','map','MailServerOut','rawAttributes','fieldName','type','key','model','query','keys','intersection','attributes','fields','length','nolimit','order','sort','where','filters','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','find','create','body','eml-format','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','to-csv','fs-extra','lodash','jsforce','desk.js','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/environment','../../config/license/util','sendStatus','end','status','json','offset','undefined'];(function(_0x28d775,_0x3ac562){var _0x1477e0=function(_0x5c28ed){while(--_0x5c28ed){_0x28d775['push'](_0x28d775['shift']());}};_0x1477e0(++_0x3ac562);}(_0xdf67,0x103));var _0x7df6=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0xdf67[_0x3dd15e];return _0x231fd0;};'use strict';var emlformat=require(_0x7df6('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x7df6('0x1'));var jsonpatch=require(_0x7df6('0x2'));var rp=require(_0x7df6('0x3'));var moment=require('moment');var BPromise=require(_0x7df6('0x4'));var Mustache=require(_0x7df6('0x5'));var util=require(_0x7df6('0x6'));var path=require('path');var sox=require('sox');var csv=require(_0x7df6('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x7df6('0x8'));var _=require(_0x7df6('0x9'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x7df6('0xa'));var deskjs=require(_0x7df6('0xb'));var toCsv=require(_0x7df6('0x7'));var querystring=require(_0x7df6('0xc'));var Papa=require(_0x7df6('0xd'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x7df6('0xe'));var as=require(_0x7df6('0xf'));var hardwareService=require(_0x7df6('0x10'));var logger=require('../../config/logger')('api');var utils=require('../../config/utils');var config=require(_0x7df6('0x11'));var licenseUtil=require(_0x7df6('0x12'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x495102,_0x1f1cce){_0x1f1cce=_0x1f1cce||0xcc;return function(_0x457bf4){if(_0x457bf4){return _0x495102[_0x7df6('0x13')](_0x1f1cce);}return _0x495102['status'](_0x1f1cce)[_0x7df6('0x14')]();};}function respondWithResult(_0x1d0323,_0xa45423){_0xa45423=_0xa45423||0xc8;return function(_0x27493d){if(_0x27493d){return _0x1d0323[_0x7df6('0x15')](_0xa45423)[_0x7df6('0x16')](_0x27493d);}};}function respondWithFilteredResult(_0x4ef80d,_0x8f63d1){return function(_0x207074){if(_0x207074){var _0x554909=typeof _0x8f63d1[_0x7df6('0x17')]===_0x7df6('0x18')&&typeof _0x8f63d1[_0x7df6('0x19')]==='undefined';var _0x59e8e0=_0x207074[_0x7df6('0x1a')];var _0xbd3792=_0x554909?0x0:_0x8f63d1[_0x7df6('0x17')];var _0x2741b1=_0x554909?_0x207074[_0x7df6('0x1a')]:_0x8f63d1[_0x7df6('0x17')]+_0x8f63d1[_0x7df6('0x19')];var _0x252e72;if(_0x2741b1>=_0x59e8e0){_0x2741b1=_0x59e8e0;_0x252e72=0xc8;}else{_0x252e72=0xce;}_0x4ef80d[_0x7df6('0x15')](_0x252e72);return _0x4ef80d['set'](_0x7df6('0x1b'),_0xbd3792+'-'+_0x2741b1+'/'+_0x59e8e0)['json'](_0x207074);}return null;};}function patchUpdates(_0x271719){return function(_0x33fcd1){try{jsonpatch[_0x7df6('0x1c')](_0x33fcd1,_0x271719,!![]);}catch(_0x4137ff){return BPromise[_0x7df6('0x1d')](_0x4137ff);}return _0x33fcd1[_0x7df6('0x1e')]();};}function saveUpdates(_0x4cef16,_0x248054){return function(_0x1ac6d7){if(_0x1ac6d7){return _0x1ac6d7[_0x7df6('0x1f')](_0x4cef16)[_0x7df6('0x20')](function(_0x209c28){return _0x209c28;});}return null;};}function removeEntity(_0x5af8f5,_0x1021a4){return function(_0x12edb2){if(_0x12edb2){return _0x12edb2[_0x7df6('0x21')]()[_0x7df6('0x20')](function(){_0x5af8f5[_0x7df6('0x15')](0xcc)['end']();});}};}function handleEntityNotFound(_0x4df057,_0x1ca7f7){return function(_0x122b5e){if(!_0x122b5e){_0x4df057[_0x7df6('0x13')](0x194);}return _0x122b5e;};}function handleError(_0x4db5f7,_0x12f005){_0x12f005=_0x12f005||0x1f4;return function(_0x1007b9){logger[_0x7df6('0x22')](_0x1007b9[_0x7df6('0x23')]);if(_0x1007b9[_0x7df6('0x24')]){delete _0x1007b9[_0x7df6('0x24')];}_0x4db5f7['status'](_0x12f005)[_0x7df6('0x25')](_0x1007b9);};}exports['index']=function(_0x6de9bb,_0x2b625d){var _0x3f5e61={},_0xb6f1d6={},_0x15713e={'count':0x0,'rows':[]};var _0x220e68=_[_0x7df6('0x26')](db[_0x7df6('0x27')][_0x7df6('0x28')],function(_0x7d3265){return{'name':_0x7d3265[_0x7df6('0x29')],'type':_0x7d3265[_0x7df6('0x2a')][_0x7df6('0x2b')]};});_0xb6f1d6[_0x7df6('0x2c')]=_[_0x7df6('0x26')](_0x220e68,_0x7df6('0x24'));_0xb6f1d6[_0x7df6('0x2d')]=_[_0x7df6('0x2e')](_0x6de9bb['query']);_0xb6f1d6['filters']=_[_0x7df6('0x2f')](_0xb6f1d6['model'],_0xb6f1d6[_0x7df6('0x2d')]);_0x3f5e61[_0x7df6('0x30')]=_[_0x7df6('0x2f')](_0xb6f1d6[_0x7df6('0x2c')],qs[_0x7df6('0x31')](_0x6de9bb[_0x7df6('0x2d')][_0x7df6('0x31')]));_0x3f5e61[_0x7df6('0x30')]=_0x3f5e61[_0x7df6('0x30')][_0x7df6('0x32')]?_0x3f5e61[_0x7df6('0x30')]:_0xb6f1d6[_0x7df6('0x2c')];if(!_0x6de9bb[_0x7df6('0x2d')]['hasOwnProperty'](_0x7df6('0x33'))){_0x3f5e61[_0x7df6('0x19')]=qs[_0x7df6('0x19')](_0x6de9bb[_0x7df6('0x2d')][_0x7df6('0x19')]);_0x3f5e61['offset']=qs[_0x7df6('0x17')](_0x6de9bb[_0x7df6('0x2d')][_0x7df6('0x17')]);}_0x3f5e61[_0x7df6('0x34')]=qs['sort'](_0x6de9bb[_0x7df6('0x2d')][_0x7df6('0x35')]);_0x3f5e61[_0x7df6('0x36')]=qs[_0x7df6('0x37')](_[_0x7df6('0x38')](_0x6de9bb[_0x7df6('0x2d')],_0xb6f1d6[_0x7df6('0x37')]),_0x220e68);if(_0x6de9bb[_0x7df6('0x2d')][_0x7df6('0x39')]){_0x3f5e61[_0x7df6('0x36')]=_[_0x7df6('0x3a')](_0x3f5e61[_0x7df6('0x36')],{'$or':_[_0x7df6('0x26')](_0x220e68,function(_0x111685){if(_0x111685['type']!==_0x7df6('0x3b')){var _0x1da75e={};_0x1da75e[_0x111685[_0x7df6('0x24')]]={'$like':'%'+_0x6de9bb[_0x7df6('0x2d')][_0x7df6('0x39')]+'%'};return _0x1da75e;}})});}_0x3f5e61=_[_0x7df6('0x3a')]({},_0x3f5e61,_0x6de9bb[_0x7df6('0x3c')]);var _0x580e7a={'where':_0x3f5e61[_0x7df6('0x36')]};return db[_0x7df6('0x27')][_0x7df6('0x1a')](_0x580e7a)[_0x7df6('0x20')](function(_0x25a440){_0x15713e['count']=_0x25a440;if(_0x6de9bb[_0x7df6('0x2d')][_0x7df6('0x3d')]){_0x3f5e61[_0x7df6('0x3e')]=[{'all':!![]}];}return db[_0x7df6('0x27')][_0x7df6('0x3f')](_0x3f5e61);})[_0x7df6('0x20')](function(_0x209d78){_0x15713e[_0x7df6('0x40')]=_0x209d78;return _0x15713e;})[_0x7df6('0x20')](respondWithFilteredResult(_0x2b625d,_0x3f5e61))[_0x7df6('0x41')](handleError(_0x2b625d,null));};exports[_0x7df6('0x42')]=function(_0x32a3d7,_0x2e9305){var _0x10dd15={'raw':!![],'where':{'id':_0x32a3d7[_0x7df6('0x43')]['id']}},_0x22a19f={};_0x22a19f[_0x7df6('0x2c')]=_[_0x7df6('0x2e')](db[_0x7df6('0x27')][_0x7df6('0x28')]);_0x22a19f[_0x7df6('0x2d')]=_[_0x7df6('0x2e')](_0x32a3d7[_0x7df6('0x2d')]);_0x22a19f['filters']=_['intersection'](_0x22a19f[_0x7df6('0x2c')],_0x22a19f[_0x7df6('0x2d')]);_0x10dd15[_0x7df6('0x30')]=_[_0x7df6('0x2f')](_0x22a19f[_0x7df6('0x2c')],qs[_0x7df6('0x31')](_0x32a3d7['query'][_0x7df6('0x31')]));_0x10dd15['attributes']=_0x10dd15['attributes'][_0x7df6('0x32')]?_0x10dd15[_0x7df6('0x30')]:_0x22a19f[_0x7df6('0x2c')];if(_0x32a3d7['query']['includeAll']){_0x10dd15[_0x7df6('0x3e')]=[{'all':!![]}];}_0x10dd15=_['merge']({},_0x10dd15,_0x32a3d7[_0x7df6('0x3c')]);return db['MailServerOut'][_0x7df6('0x44')](_0x10dd15)['then'](handleEntityNotFound(_0x2e9305,null))[_0x7df6('0x20')](respondWithResult(_0x2e9305,null))[_0x7df6('0x41')](handleError(_0x2e9305,null));};exports[_0x7df6('0x45')]=function(_0x1bec6f,_0x1516d3){return db[_0x7df6('0x27')][_0x7df6('0x45')](_0x1bec6f[_0x7df6('0x46')],{})[_0x7df6('0x20')](respondWithResult(_0x1516d3,0xc9))[_0x7df6('0x41')](handleError(_0x1516d3,null));};exports[_0x7df6('0x1f')]=function(_0x230eac,_0xbbc171){if(_0x230eac[_0x7df6('0x46')]['id']){delete _0x230eac[_0x7df6('0x46')]['id'];}return db[_0x7df6('0x27')][_0x7df6('0x44')]({'where':{'id':_0x230eac[_0x7df6('0x43')]['id']}})['then'](handleEntityNotFound(_0xbbc171,null))[_0x7df6('0x20')](saveUpdates(_0x230eac[_0x7df6('0x46')],null))['then'](respondWithResult(_0xbbc171,null))[_0x7df6('0x41')](handleError(_0xbbc171,null));};exports[_0x7df6('0x21')]=function(_0x467236,_0xbe1378){return db[_0x7df6('0x27')][_0x7df6('0x44')]({'where':{'id':_0x467236[_0x7df6('0x43')]['id']}})['then'](handleEntityNotFound(_0xbe1378,null))[_0x7df6('0x20')](removeEntity(_0xbe1378,null))[_0x7df6('0x41')](handleError(_0xbe1378,null));};