9ccf3414cd0ae77bba633bfa01b261d1a415482c
[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 _0xf87d=['rows','catch','show','find','create','body','params','html-pdf','eml-format','fast-json-patch','moment','util','path','sox','to-csv','ejs','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','sendStatus','end','status','json','count','offset','limit','set','reject','update','then','destroy','error','name','send','map','MailServerOut','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','VIRTUAL','options','includeAll','include'];(function(_0x50fc55,_0x18fac2){var _0xd95ce7=function(_0x27d730){while(--_0x27d730){_0x50fc55['push'](_0x50fc55['shift']());}};_0xd95ce7(++_0x18fac2);}(_0xf87d,0x8f));var _0xdf87=function(_0x2e9232,_0x51fcca){_0x2e9232=_0x2e9232-0x0;var _0x331172=_0xf87d[_0x2e9232];return _0x331172;};'use strict';var pdf=require(_0xdf87('0x0'));var emlformat=require(_0xdf87('0x1'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xdf87('0x2'));var rp=require('request-promise');var moment=require(_0xdf87('0x3'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xdf87('0x4'));var path=require(_0xdf87('0x5'));var sox=require(_0xdf87('0x6'));var csv=require(_0xdf87('0x7'));var ejs=require(_0xdf87('0x8'));var fs=require('fs');var _=require('lodash');var squel=require(_0xdf87('0x9'));var crypto=require(_0xdf87('0xa'));var jsforce=require(_0xdf87('0xb'));var deskjs=require(_0xdf87('0xc'));var toCsv=require(_0xdf87('0x7'));var querystring=require(_0xdf87('0xd'));var Papa=require('papaparse');var Redis=require(_0xdf87('0xe'));var authService=require(_0xdf87('0xf'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xdf87('0x10'));var logger=require(_0xdf87('0x11'))(_0xdf87('0x12'));var utils=require(_0xdf87('0x13'));var config=require(_0xdf87('0x14'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x3dcb15,_0x295a60){_0x295a60=_0x295a60||0xcc;return function(_0x2eb7bb){if(_0x2eb7bb){return _0x3dcb15[_0xdf87('0x15')](_0x295a60);}return _0x3dcb15['status'](_0x295a60)[_0xdf87('0x16')]();};}function respondWithResult(_0x277a62,_0x2e5bba){_0x2e5bba=_0x2e5bba||0xc8;return function(_0x2a89a7){if(_0x2a89a7){return _0x277a62[_0xdf87('0x17')](_0x2e5bba)[_0xdf87('0x18')](_0x2a89a7);}};}function respondWithFilteredResult(_0x737b32,_0x1a449e){return function(_0x339393){if(_0x339393){var _0xfcb484=_0x339393[_0xdf87('0x19')],_0x466acf=_0x1a449e[_0xdf87('0x1a')],_0x318301=_0x1a449e[_0xdf87('0x1a')]+_0x1a449e[_0xdf87('0x1b')],_0xfc3674;if(_0x318301>=_0xfcb484){_0x318301=_0xfcb484;_0xfc3674=0xc8;}else{_0xfc3674=0xce;}_0x737b32['status'](_0xfc3674);return _0x737b32[_0xdf87('0x1c')]('Content-Range',_0x466acf+'-'+_0x318301+'/'+_0xfcb484)[_0xdf87('0x18')](_0x339393);}return null;};}function patchUpdates(_0x96bdbc){return function(_0xb26b75){try{jsonpatch['apply'](_0xb26b75,_0x96bdbc,!![]);}catch(_0x5133ff){return BPromise[_0xdf87('0x1d')](_0x5133ff);}return _0xb26b75['save']();};}function saveUpdates(_0x4e9cfc,_0x416d2b){return function(_0x36bc36){if(_0x36bc36){return _0x36bc36[_0xdf87('0x1e')](_0x4e9cfc)[_0xdf87('0x1f')](function(_0x5befc6){return _0x5befc6;});}return null;};}function removeEntity(_0x3a7461,_0x596fd1){return function(_0x6f737b){if(_0x6f737b){return _0x6f737b[_0xdf87('0x20')]()[_0xdf87('0x1f')](function(){_0x3a7461[_0xdf87('0x17')](0xcc)['end']();});}};}function handleEntityNotFound(_0x1d5921,_0x1368de){return function(_0x4ba7b1){if(!_0x4ba7b1){_0x1d5921['sendStatus'](0x194);}return _0x4ba7b1;};}function handleError(_0x5a2e53,_0x2e4007){_0x2e4007=_0x2e4007||0x1f4;return function(_0x3857c7){logger[_0xdf87('0x21')](_0x3857c7['stack']);if(_0x3857c7[_0xdf87('0x22')]){delete _0x3857c7['name'];}_0x5a2e53['status'](_0x2e4007)[_0xdf87('0x23')](_0x3857c7);};}exports['index']=function(_0x48faa7,_0x3fb1e3){var _0x34e9cd={},_0x5be81e={},_0x598263={'count':0x0,'rows':[]};var _0x3b615b=_[_0xdf87('0x24')](db[_0xdf87('0x25')][_0xdf87('0x26')],function(_0x233482){return{'name':_0x233482[_0xdf87('0x27')],'type':_0x233482[_0xdf87('0x28')][_0xdf87('0x29')]};});_0x5be81e[_0xdf87('0x2a')]=_['map'](_0x3b615b,_0xdf87('0x22'));_0x5be81e[_0xdf87('0x2b')]=_[_0xdf87('0x2c')](_0x48faa7[_0xdf87('0x2b')]);_0x5be81e[_0xdf87('0x2d')]=_[_0xdf87('0x2e')](_0x5be81e[_0xdf87('0x2a')],_0x5be81e['query']);_0x34e9cd[_0xdf87('0x2f')]=_['intersection'](_0x5be81e[_0xdf87('0x2a')],qs['fields'](_0x48faa7[_0xdf87('0x2b')][_0xdf87('0x30')]));_0x34e9cd[_0xdf87('0x2f')]=_0x34e9cd[_0xdf87('0x2f')][_0xdf87('0x31')]?_0x34e9cd[_0xdf87('0x2f')]:_0x5be81e['model'];if(!_0x48faa7[_0xdf87('0x2b')][_0xdf87('0x32')](_0xdf87('0x33'))){_0x34e9cd[_0xdf87('0x1b')]=qs[_0xdf87('0x1b')](_0x48faa7[_0xdf87('0x2b')][_0xdf87('0x1b')]);_0x34e9cd[_0xdf87('0x1a')]=qs[_0xdf87('0x1a')](_0x48faa7[_0xdf87('0x2b')][_0xdf87('0x1a')]);}_0x34e9cd[_0xdf87('0x34')]=qs[_0xdf87('0x35')](_0x48faa7[_0xdf87('0x2b')]['sort']);_0x34e9cd[_0xdf87('0x36')]=qs[_0xdf87('0x2d')](_[_0xdf87('0x37')](_0x48faa7[_0xdf87('0x2b')],_0x5be81e[_0xdf87('0x2d')]),_0x3b615b);if(_0x48faa7[_0xdf87('0x2b')]['filter']){_0x34e9cd[_0xdf87('0x36')]=_[_0xdf87('0x38')](_0x34e9cd[_0xdf87('0x36')],{'$or':_[_0xdf87('0x24')](_0x3b615b,function(_0x46f2ca){if(_0x46f2ca['type']!==_0xdf87('0x39')){var _0x3a5e90={};_0x3a5e90[_0x46f2ca[_0xdf87('0x22')]]={'$like':'%'+_0x48faa7[_0xdf87('0x2b')]['filter']+'%'};return _0x3a5e90;}})});}_0x34e9cd=_['merge']({},_0x34e9cd,_0x48faa7[_0xdf87('0x3a')]);var _0x5d03e6={'where':_0x34e9cd[_0xdf87('0x36')]};return db['MailServerOut'][_0xdf87('0x19')](_0x5d03e6)[_0xdf87('0x1f')](function(_0x2db717){_0x598263[_0xdf87('0x19')]=_0x2db717;if(_0x48faa7['query'][_0xdf87('0x3b')]){_0x34e9cd[_0xdf87('0x3c')]=[{'all':!![]}];}return db[_0xdf87('0x25')]['findAll'](_0x34e9cd);})[_0xdf87('0x1f')](function(_0x366cec){_0x598263[_0xdf87('0x3d')]=_0x366cec;return _0x598263;})[_0xdf87('0x1f')](respondWithFilteredResult(_0x3fb1e3,_0x34e9cd))[_0xdf87('0x3e')](handleError(_0x3fb1e3,null));};exports[_0xdf87('0x3f')]=function(_0x56df32,_0x579c14){var _0xe684da={'raw':!![],'where':{'id':_0x56df32['params']['id']}},_0x107ef4={};_0x107ef4[_0xdf87('0x2a')]=_[_0xdf87('0x2c')](db['MailServerOut'][_0xdf87('0x26')]);_0x107ef4[_0xdf87('0x2b')]=_[_0xdf87('0x2c')](_0x56df32[_0xdf87('0x2b')]);_0x107ef4[_0xdf87('0x2d')]=_['intersection'](_0x107ef4['model'],_0x107ef4[_0xdf87('0x2b')]);_0xe684da[_0xdf87('0x2f')]=_['intersection'](_0x107ef4[_0xdf87('0x2a')],qs[_0xdf87('0x30')](_0x56df32[_0xdf87('0x2b')][_0xdf87('0x30')]));_0xe684da[_0xdf87('0x2f')]=_0xe684da['attributes']['length']?_0xe684da[_0xdf87('0x2f')]:_0x107ef4[_0xdf87('0x2a')];if(_0x56df32[_0xdf87('0x2b')]['includeAll']){_0xe684da[_0xdf87('0x3c')]=[{'all':!![]}];}_0xe684da=_['merge']({},_0xe684da,_0x56df32[_0xdf87('0x3a')]);return db[_0xdf87('0x25')][_0xdf87('0x40')](_0xe684da)[_0xdf87('0x1f')](handleEntityNotFound(_0x579c14,null))[_0xdf87('0x1f')](respondWithResult(_0x579c14,null))['catch'](handleError(_0x579c14,null));};exports[_0xdf87('0x41')]=function(_0x1ad7ed,_0x380e3e){return db['MailServerOut']['create'](_0x1ad7ed[_0xdf87('0x42')],{})[_0xdf87('0x1f')](respondWithResult(_0x380e3e,0xc9))[_0xdf87('0x3e')](handleError(_0x380e3e,null));};exports[_0xdf87('0x1e')]=function(_0xfbf3a9,_0x3eca6c){if(_0xfbf3a9['body']['id']){delete _0xfbf3a9[_0xdf87('0x42')]['id'];}return db[_0xdf87('0x25')][_0xdf87('0x40')]({'where':{'id':_0xfbf3a9[_0xdf87('0x43')]['id']}})[_0xdf87('0x1f')](handleEntityNotFound(_0x3eca6c,null))[_0xdf87('0x1f')](saveUpdates(_0xfbf3a9[_0xdf87('0x42')],null))['then'](respondWithResult(_0x3eca6c,null))[_0xdf87('0x3e')](handleError(_0x3eca6c,null));};exports['destroy']=function(_0x2ea24a,_0x5bee90){return db[_0xdf87('0x25')][_0xdf87('0x40')]({'where':{'id':_0x2ea24a['params']['id']}})[_0xdf87('0x1f')](handleEntityNotFound(_0x5bee90,null))[_0xdf87('0x1f')](removeEntity(_0x5bee90,null))[_0xdf87('0x3e')](handleError(_0x5bee90,null));};