5114fff0f4f5a451f7c83e2fa28fe0ab46c7419b
[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 _0x84b0=['json','offset','undefined','limit','count','set','Content-Range','reject','save','update','then','destroy','error','stack','name','send','map','MailServerOut','rawAttributes','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','filter','VIRTUAL','merge','options','includeAll','show','params','include','find','catch','create','body','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/environment','../../mysqldb','sendStatus','status','end'];(function(_0x4746b6,_0xc9638a){var _0x79ada9=function(_0x8ba8a6){while(--_0x8ba8a6){_0x4746b6['push'](_0x4746b6['shift']());}};_0x79ada9(++_0xc9638a);}(_0x84b0,0xfc));var _0x084b=function(_0x311c35,_0x534915){_0x311c35=_0x311c35-0x0;var _0x5cc50c=_0x84b0[_0x311c35];return _0x5cc50c;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x084b('0x0'));var jsonpatch=require(_0x084b('0x1'));var rp=require(_0x084b('0x2'));var moment=require('moment');var BPromise=require(_0x084b('0x3'));var Mustache=require(_0x084b('0x4'));var util=require(_0x084b('0x5'));var path=require(_0x084b('0x6'));var sox=require(_0x084b('0x7'));var csv=require(_0x084b('0x8'));var ejs=require(_0x084b('0x9'));var fs=require('fs');var fs_extra=require(_0x084b('0xa'));var _=require(_0x084b('0xb'));var squel=require('squel');var crypto=require(_0x084b('0xc'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x084b('0x8'));var querystring=require(_0x084b('0xd'));var Papa=require(_0x084b('0xe'));var Redis=require('ioredis');var authService=require(_0x084b('0xf'));var qs=require(_0x084b('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x084b('0x11'));var logger=require(_0x084b('0x12'))('api');var utils=require('../../config/utils');var config=require(_0x084b('0x13'));var licenseUtil=require('../../config/license/util');var db=require(_0x084b('0x14'))['db'];function respondWithStatusCode(_0x464a1b,_0xe3d868){_0xe3d868=_0xe3d868||0xcc;return function(_0xb22c9a){if(_0xb22c9a){return _0x464a1b[_0x084b('0x15')](_0xe3d868);}return _0x464a1b[_0x084b('0x16')](_0xe3d868)[_0x084b('0x17')]();};}function respondWithResult(_0xbb455b,_0x2da68a){_0x2da68a=_0x2da68a||0xc8;return function(_0x36261b){if(_0x36261b){return _0xbb455b[_0x084b('0x16')](_0x2da68a)[_0x084b('0x18')](_0x36261b);}};}function respondWithFilteredResult(_0x399737,_0x46ed12){return function(_0x285c5b){if(_0x285c5b){var _0x1f31c0=typeof _0x46ed12[_0x084b('0x19')]===_0x084b('0x1a')&&typeof _0x46ed12[_0x084b('0x1b')]===_0x084b('0x1a');var _0x7ee1d6=_0x285c5b[_0x084b('0x1c')];var _0x4ee16b=_0x1f31c0?0x0:_0x46ed12['offset'];var _0x1b1143=_0x1f31c0?_0x285c5b['count']:_0x46ed12[_0x084b('0x19')]+_0x46ed12[_0x084b('0x1b')];var _0x5bbf10;if(_0x1b1143>=_0x7ee1d6){_0x1b1143=_0x7ee1d6;_0x5bbf10=0xc8;}else{_0x5bbf10=0xce;}_0x399737[_0x084b('0x16')](_0x5bbf10);return _0x399737[_0x084b('0x1d')](_0x084b('0x1e'),_0x4ee16b+'-'+_0x1b1143+'/'+_0x7ee1d6)['json'](_0x285c5b);}return null;};}function patchUpdates(_0x7dd799){return function(_0x407bbb){try{jsonpatch['apply'](_0x407bbb,_0x7dd799,!![]);}catch(_0x12b422){return BPromise[_0x084b('0x1f')](_0x12b422);}return _0x407bbb[_0x084b('0x20')]();};}function saveUpdates(_0x57bcd1,_0x4e23d1){return function(_0xdd8ca6){if(_0xdd8ca6){return _0xdd8ca6[_0x084b('0x21')](_0x57bcd1)[_0x084b('0x22')](function(_0x1b73d0){return _0x1b73d0;});}return null;};}function removeEntity(_0x2fb707,_0x2c154e){return function(_0x4205e8){if(_0x4205e8){return _0x4205e8[_0x084b('0x23')]()[_0x084b('0x22')](function(){_0x2fb707[_0x084b('0x16')](0xcc)[_0x084b('0x17')]();});}};}function handleEntityNotFound(_0x435a30,_0x395a0e){return function(_0x2a4c75){if(!_0x2a4c75){_0x435a30[_0x084b('0x15')](0x194);}return _0x2a4c75;};}function handleError(_0x492650,_0x424012){_0x424012=_0x424012||0x1f4;return function(_0x160399){logger[_0x084b('0x24')](_0x160399[_0x084b('0x25')]);if(_0x160399[_0x084b('0x26')]){delete _0x160399[_0x084b('0x26')];}_0x492650[_0x084b('0x16')](_0x424012)[_0x084b('0x27')](_0x160399);};}exports['index']=function(_0x11ae81,_0x5f3182){var _0x3bc335={},_0x4af55c={},_0x1e9811={'count':0x0,'rows':[]};var _0x3020b5=_[_0x084b('0x28')](db[_0x084b('0x29')][_0x084b('0x2a')],function(_0x21b9a4){return{'name':_0x21b9a4['fieldName'],'type':_0x21b9a4[_0x084b('0x2b')][_0x084b('0x2c')]};});_0x4af55c[_0x084b('0x2d')]=_['map'](_0x3020b5,_0x084b('0x26'));_0x4af55c[_0x084b('0x2e')]=_[_0x084b('0x2f')](_0x11ae81['query']);_0x4af55c[_0x084b('0x30')]=_[_0x084b('0x31')](_0x4af55c['model'],_0x4af55c[_0x084b('0x2e')]);_0x3bc335[_0x084b('0x32')]=_[_0x084b('0x31')](_0x4af55c[_0x084b('0x2d')],qs[_0x084b('0x33')](_0x11ae81[_0x084b('0x2e')][_0x084b('0x33')]));_0x3bc335[_0x084b('0x32')]=_0x3bc335[_0x084b('0x32')][_0x084b('0x34')]?_0x3bc335['attributes']:_0x4af55c[_0x084b('0x2d')];if(!_0x11ae81[_0x084b('0x2e')][_0x084b('0x35')](_0x084b('0x36'))){_0x3bc335['limit']=qs['limit'](_0x11ae81[_0x084b('0x2e')]['limit']);_0x3bc335[_0x084b('0x19')]=qs['offset'](_0x11ae81[_0x084b('0x2e')]['offset']);}_0x3bc335['order']=qs[_0x084b('0x37')](_0x11ae81[_0x084b('0x2e')][_0x084b('0x37')]);_0x3bc335[_0x084b('0x38')]=qs[_0x084b('0x30')](_['pick'](_0x11ae81[_0x084b('0x2e')],_0x4af55c[_0x084b('0x30')]),_0x3020b5);if(_0x11ae81[_0x084b('0x2e')][_0x084b('0x39')]){_0x3bc335[_0x084b('0x38')]=_['merge'](_0x3bc335[_0x084b('0x38')],{'$or':_[_0x084b('0x28')](_0x3020b5,function(_0x4e13ff){if(_0x4e13ff[_0x084b('0x2b')]!==_0x084b('0x3a')){var _0x185de6={};_0x185de6[_0x4e13ff['name']]={'$like':'%'+_0x11ae81[_0x084b('0x2e')][_0x084b('0x39')]+'%'};return _0x185de6;}})});}_0x3bc335=_[_0x084b('0x3b')]({},_0x3bc335,_0x11ae81[_0x084b('0x3c')]);var _0x4f5a0c={'where':_0x3bc335[_0x084b('0x38')]};return db[_0x084b('0x29')][_0x084b('0x1c')](_0x4f5a0c)[_0x084b('0x22')](function(_0x199ef1){_0x1e9811[_0x084b('0x1c')]=_0x199ef1;if(_0x11ae81[_0x084b('0x2e')][_0x084b('0x3d')]){_0x3bc335['include']=[{'all':!![]}];}return db[_0x084b('0x29')]['findAll'](_0x3bc335);})[_0x084b('0x22')](function(_0x255904){_0x1e9811['rows']=_0x255904;return _0x1e9811;})['then'](respondWithFilteredResult(_0x5f3182,_0x3bc335))['catch'](handleError(_0x5f3182,null));};exports[_0x084b('0x3e')]=function(_0x2cadf8,_0x3409c9){var _0x43ae56={'raw':!![],'where':{'id':_0x2cadf8[_0x084b('0x3f')]['id']}},_0x4ae580={};_0x4ae580[_0x084b('0x2d')]=_['keys'](db['MailServerOut']['rawAttributes']);_0x4ae580['query']=_[_0x084b('0x2f')](_0x2cadf8['query']);_0x4ae580[_0x084b('0x30')]=_[_0x084b('0x31')](_0x4ae580[_0x084b('0x2d')],_0x4ae580[_0x084b('0x2e')]);_0x43ae56[_0x084b('0x32')]=_[_0x084b('0x31')](_0x4ae580[_0x084b('0x2d')],qs[_0x084b('0x33')](_0x2cadf8[_0x084b('0x2e')][_0x084b('0x33')]));_0x43ae56[_0x084b('0x32')]=_0x43ae56[_0x084b('0x32')]['length']?_0x43ae56[_0x084b('0x32')]:_0x4ae580['model'];if(_0x2cadf8[_0x084b('0x2e')][_0x084b('0x3d')]){_0x43ae56[_0x084b('0x40')]=[{'all':!![]}];}_0x43ae56=_[_0x084b('0x3b')]({},_0x43ae56,_0x2cadf8[_0x084b('0x3c')]);return db[_0x084b('0x29')][_0x084b('0x41')](_0x43ae56)[_0x084b('0x22')](handleEntityNotFound(_0x3409c9,null))[_0x084b('0x22')](respondWithResult(_0x3409c9,null))[_0x084b('0x42')](handleError(_0x3409c9,null));};exports[_0x084b('0x43')]=function(_0x596ecf,_0x499cc2){return db['MailServerOut'][_0x084b('0x43')](_0x596ecf['body'],{})[_0x084b('0x22')](respondWithResult(_0x499cc2,0xc9))[_0x084b('0x42')](handleError(_0x499cc2,null));};exports[_0x084b('0x21')]=function(_0x142d7f,_0x9447b8){if(_0x142d7f['body']['id']){delete _0x142d7f[_0x084b('0x44')]['id'];}return db['MailServerOut']['find']({'where':{'id':_0x142d7f[_0x084b('0x3f')]['id']}})[_0x084b('0x22')](handleEntityNotFound(_0x9447b8,null))[_0x084b('0x22')](saveUpdates(_0x142d7f[_0x084b('0x44')],null))[_0x084b('0x22')](respondWithResult(_0x9447b8,null))['catch'](handleError(_0x9447b8,null));};exports[_0x084b('0x23')]=function(_0x1ec7d9,_0xee897c){return db[_0x084b('0x29')]['find']({'where':{'id':_0x1ec7d9[_0x084b('0x3f')]['id']}})[_0x084b('0x22')](handleEntityNotFound(_0xee897c,null))['then'](removeEntity(_0xee897c,null))[_0x084b('0x42')](handleError(_0xee897c,null));};