b8e56168cb824326199cd97f97c52b2761a05659
[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 _0xb011=['show','includeAll','find','create','body','params','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','mustache','util','path','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','limit','undefined','count','set','Content-Range','json','reject','save','then','destroy','stack','name','send','index','map','rawAttributes','fieldName','type','key','model','keys','intersection','query','fields','attributes','length','hasOwnProperty','nolimit','sort','where','filters','pick','VIRTUAL','filter','merge','options','include','MailServerOut','catch'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0xb011,0x9a));var _0x1b01=function(_0x2f1ef6,_0x343c1f){_0x2f1ef6=_0x2f1ef6-0x0;var _0x4ab777=_0xb011[_0x2f1ef6];return _0x4ab777;};'use strict';var emlformat=require(_0x1b01('0x0'));var rimraf=require(_0x1b01('0x1'));var zipdir=require(_0x1b01('0x2'));var jsonpatch=require(_0x1b01('0x3'));var rp=require(_0x1b01('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x1b01('0x5'));var util=require(_0x1b01('0x6'));var path=require(_0x1b01('0x7'));var sox=require('sox');var csv=require(_0x1b01('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x1b01('0x9'));var _=require(_0x1b01('0xa'));var squel=require(_0x1b01('0xb'));var crypto=require(_0x1b01('0xc'));var jsforce=require(_0x1b01('0xd'));var deskjs=require(_0x1b01('0xe'));var toCsv=require('to-csv');var querystring=require(_0x1b01('0xf'));var Papa=require(_0x1b01('0x10'));var Redis=require(_0x1b01('0x11'));var authService=require(_0x1b01('0x12'));var qs=require(_0x1b01('0x13'));var as=require(_0x1b01('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')('api');var utils=require(_0x1b01('0x15'));var config=require(_0x1b01('0x16'));var licenseUtil=require(_0x1b01('0x17'));var db=require(_0x1b01('0x18'))['db'];function respondWithStatusCode(_0x45c375,_0x568d9b){_0x568d9b=_0x568d9b||0xcc;return function(_0x25cd34){if(_0x25cd34){return _0x45c375[_0x1b01('0x19')](_0x568d9b);}return _0x45c375[_0x1b01('0x1a')](_0x568d9b)[_0x1b01('0x1b')]();};}function respondWithResult(_0xbcf5b1,_0x1dfef7){_0x1dfef7=_0x1dfef7||0xc8;return function(_0x122f10){if(_0x122f10){return _0xbcf5b1[_0x1b01('0x1a')](_0x1dfef7)['json'](_0x122f10);}};}function respondWithFilteredResult(_0x46c9cd,_0x3d56db){return function(_0xe74e98){if(_0xe74e98){var _0xccd7fa=typeof _0x3d56db[_0x1b01('0x1c')]==='undefined'&&typeof _0x3d56db[_0x1b01('0x1d')]===_0x1b01('0x1e');var _0x3a31b0=_0xe74e98[_0x1b01('0x1f')];var _0xf6eb9c=_0xccd7fa?0x0:_0x3d56db['offset'];var _0x3409ae=_0xccd7fa?_0xe74e98[_0x1b01('0x1f')]:_0x3d56db[_0x1b01('0x1c')]+_0x3d56db[_0x1b01('0x1d')];var _0x495623;if(_0x3409ae>=_0x3a31b0){_0x3409ae=_0x3a31b0;_0x495623=0xc8;}else{_0x495623=0xce;}_0x46c9cd['status'](_0x495623);return _0x46c9cd[_0x1b01('0x20')](_0x1b01('0x21'),_0xf6eb9c+'-'+_0x3409ae+'/'+_0x3a31b0)[_0x1b01('0x22')](_0xe74e98);}return null;};}function patchUpdates(_0x2495d6){return function(_0x446b32){try{jsonpatch['apply'](_0x446b32,_0x2495d6,!![]);}catch(_0x4a6cbe){return BPromise[_0x1b01('0x23')](_0x4a6cbe);}return _0x446b32[_0x1b01('0x24')]();};}function saveUpdates(_0x350ddb,_0x5866bf){return function(_0x3974da){if(_0x3974da){return _0x3974da['update'](_0x350ddb)[_0x1b01('0x25')](function(_0x182b7f){return _0x182b7f;});}return null;};}function removeEntity(_0x49632b,_0x48e3a1){return function(_0x58586b){if(_0x58586b){return _0x58586b[_0x1b01('0x26')]()[_0x1b01('0x25')](function(){_0x49632b['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x23ed69,_0x3a7f84){return function(_0x529b63){if(!_0x529b63){_0x23ed69[_0x1b01('0x19')](0x194);}return _0x529b63;};}function handleError(_0x310b38,_0x2aa3ed){_0x2aa3ed=_0x2aa3ed||0x1f4;return function(_0x37cb0e){logger['error'](_0x37cb0e[_0x1b01('0x27')]);if(_0x37cb0e[_0x1b01('0x28')]){delete _0x37cb0e['name'];}_0x310b38['status'](_0x2aa3ed)[_0x1b01('0x29')](_0x37cb0e);};}exports[_0x1b01('0x2a')]=function(_0x4cc2bc,_0x49ad84){var _0x23aa18={},_0x1517ad={},_0xf527e8={'count':0x0,'rows':[]};var _0x7f249=_[_0x1b01('0x2b')](db['MailServerOut'][_0x1b01('0x2c')],function(_0x2d91fd){return{'name':_0x2d91fd[_0x1b01('0x2d')],'type':_0x2d91fd[_0x1b01('0x2e')][_0x1b01('0x2f')]};});_0x1517ad[_0x1b01('0x30')]=_[_0x1b01('0x2b')](_0x7f249,_0x1b01('0x28'));_0x1517ad['query']=_[_0x1b01('0x31')](_0x4cc2bc['query']);_0x1517ad['filters']=_[_0x1b01('0x32')](_0x1517ad[_0x1b01('0x30')],_0x1517ad[_0x1b01('0x33')]);_0x23aa18['attributes']=_[_0x1b01('0x32')](_0x1517ad[_0x1b01('0x30')],qs[_0x1b01('0x34')](_0x4cc2bc[_0x1b01('0x33')][_0x1b01('0x34')]));_0x23aa18[_0x1b01('0x35')]=_0x23aa18[_0x1b01('0x35')][_0x1b01('0x36')]?_0x23aa18[_0x1b01('0x35')]:_0x1517ad['model'];if(!_0x4cc2bc[_0x1b01('0x33')][_0x1b01('0x37')](_0x1b01('0x38'))){_0x23aa18[_0x1b01('0x1d')]=qs[_0x1b01('0x1d')](_0x4cc2bc[_0x1b01('0x33')][_0x1b01('0x1d')]);_0x23aa18[_0x1b01('0x1c')]=qs['offset'](_0x4cc2bc['query'][_0x1b01('0x1c')]);}_0x23aa18['order']=qs[_0x1b01('0x39')](_0x4cc2bc[_0x1b01('0x33')]['sort']);_0x23aa18[_0x1b01('0x3a')]=qs[_0x1b01('0x3b')](_[_0x1b01('0x3c')](_0x4cc2bc['query'],_0x1517ad[_0x1b01('0x3b')]),_0x7f249);if(_0x4cc2bc[_0x1b01('0x33')]['filter']){_0x23aa18[_0x1b01('0x3a')]=_['merge'](_0x23aa18['where'],{'$or':_[_0x1b01('0x2b')](_0x7f249,function(_0x38ab8e){if(_0x38ab8e[_0x1b01('0x2e')]!==_0x1b01('0x3d')){var _0x26f19a={};_0x26f19a[_0x38ab8e[_0x1b01('0x28')]]={'$like':'%'+_0x4cc2bc[_0x1b01('0x33')][_0x1b01('0x3e')]+'%'};return _0x26f19a;}})});}_0x23aa18=_[_0x1b01('0x3f')]({},_0x23aa18,_0x4cc2bc[_0x1b01('0x40')]);var _0x23315b={'where':_0x23aa18[_0x1b01('0x3a')]};return db['MailServerOut'][_0x1b01('0x1f')](_0x23315b)[_0x1b01('0x25')](function(_0x129a16){_0xf527e8[_0x1b01('0x1f')]=_0x129a16;if(_0x4cc2bc['query']['includeAll']){_0x23aa18[_0x1b01('0x41')]=[{'all':!![]}];}return db[_0x1b01('0x42')]['findAll'](_0x23aa18);})[_0x1b01('0x25')](function(_0x43d877){_0xf527e8['rows']=_0x43d877;return _0xf527e8;})[_0x1b01('0x25')](respondWithFilteredResult(_0x49ad84,_0x23aa18))[_0x1b01('0x43')](handleError(_0x49ad84,null));};exports[_0x1b01('0x44')]=function(_0x3b4ee5,_0x38996b){var _0x34063f={'raw':!![],'where':{'id':_0x3b4ee5['params']['id']}},_0x5952b3={};_0x5952b3[_0x1b01('0x30')]=_[_0x1b01('0x31')](db['MailServerOut'][_0x1b01('0x2c')]);_0x5952b3['query']=_[_0x1b01('0x31')](_0x3b4ee5[_0x1b01('0x33')]);_0x5952b3[_0x1b01('0x3b')]=_['intersection'](_0x5952b3[_0x1b01('0x30')],_0x5952b3[_0x1b01('0x33')]);_0x34063f[_0x1b01('0x35')]=_[_0x1b01('0x32')](_0x5952b3[_0x1b01('0x30')],qs['fields'](_0x3b4ee5[_0x1b01('0x33')][_0x1b01('0x34')]));_0x34063f[_0x1b01('0x35')]=_0x34063f['attributes']['length']?_0x34063f[_0x1b01('0x35')]:_0x5952b3['model'];if(_0x3b4ee5[_0x1b01('0x33')][_0x1b01('0x45')]){_0x34063f[_0x1b01('0x41')]=[{'all':!![]}];}_0x34063f=_[_0x1b01('0x3f')]({},_0x34063f,_0x3b4ee5['options']);return db[_0x1b01('0x42')][_0x1b01('0x46')](_0x34063f)[_0x1b01('0x25')](handleEntityNotFound(_0x38996b,null))[_0x1b01('0x25')](respondWithResult(_0x38996b,null))['catch'](handleError(_0x38996b,null));};exports[_0x1b01('0x47')]=function(_0x101ca8,_0x33c9cd){return db[_0x1b01('0x42')][_0x1b01('0x47')](_0x101ca8[_0x1b01('0x48')],{})[_0x1b01('0x25')](respondWithResult(_0x33c9cd,0xc9))[_0x1b01('0x43')](handleError(_0x33c9cd,null));};exports['update']=function(_0x4d59d5,_0x22c77c){if(_0x4d59d5[_0x1b01('0x48')]['id']){delete _0x4d59d5[_0x1b01('0x48')]['id'];}return db[_0x1b01('0x42')][_0x1b01('0x46')]({'where':{'id':_0x4d59d5[_0x1b01('0x49')]['id']}})[_0x1b01('0x25')](handleEntityNotFound(_0x22c77c,null))[_0x1b01('0x25')](saveUpdates(_0x4d59d5[_0x1b01('0x48')],null))[_0x1b01('0x25')](respondWithResult(_0x22c77c,null))[_0x1b01('0x43')](handleError(_0x22c77c,null));};exports['destroy']=function(_0x215544,_0x2ef649){return db[_0x1b01('0x42')][_0x1b01('0x46')]({'where':{'id':_0x215544['params']['id']}})[_0x1b01('0x25')](handleEntityNotFound(_0x2ef649,null))[_0x1b01('0x25')](removeEntity(_0x2ef649,null))['catch'](handleError(_0x2ef649,null));};