a9d91b6b95c2eeece548bf577d361ec4b644238a
[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 _0xdafb=['sendStatus','status','end','count','offset','limit','set','Content-Range','json','apply','reject','save','update','then','destroy','error','stack','name','MailServerOut','rawAttributes','fieldName','type','map','query','keys','filters','model','fields','attributes','length','hasOwnProperty','nolimit','order','sort','pick','filter','where','VIRTUAL','merge','options','include','rows','catch','show','intersection','includeAll','find','create','body','params','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../mysqldb'];(function(_0x25b24a,_0x1c0163){var _0x224e68=function(_0x1fc9d2){while(--_0x1fc9d2){_0x25b24a['push'](_0x25b24a['shift']());}};_0x224e68(++_0x1c0163);}(_0xdafb,0x1a9));var _0xbdaf=function(_0x104c05,_0x438ca2){_0x104c05=_0x104c05-0x0;var _0x364fb5=_0xdafb[_0x104c05];return _0x364fb5;};'use strict';var pdf=require(_0xbdaf('0x0'));var emlformat=require(_0xbdaf('0x1'));var rimraf=require(_0xbdaf('0x2'));var zipdir=require(_0xbdaf('0x3'));var jsonpatch=require(_0xbdaf('0x4'));var rp=require(_0xbdaf('0x5'));var moment=require(_0xbdaf('0x6'));var BPromise=require(_0xbdaf('0x7'));var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require(_0xbdaf('0x8'));var csv=require(_0xbdaf('0x9'));var ejs=require(_0xbdaf('0xa'));var fs=require('fs');var _=require(_0xbdaf('0xb'));var squel=require(_0xbdaf('0xc'));var crypto=require(_0xbdaf('0xd'));var jsforce=require(_0xbdaf('0xe'));var deskjs=require(_0xbdaf('0xf'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0xbdaf('0x10'));var Redis=require(_0xbdaf('0x11'));var authService=require(_0xbdaf('0x12'));var qs=require(_0xbdaf('0x13'));var as=require(_0xbdaf('0x14'));var hardwareService=require(_0xbdaf('0x15'));var logger=require(_0xbdaf('0x16'))('api');var utils=require(_0xbdaf('0x17'));var config=require('../../config/environment');var db=require(_0xbdaf('0x18'))['db'];function respondWithStatusCode(_0x1aca26,_0x4206c9){_0x4206c9=_0x4206c9||0xcc;return function(_0x2e5c81){if(_0x2e5c81){return _0x1aca26[_0xbdaf('0x19')](_0x4206c9);}return _0x1aca26[_0xbdaf('0x1a')](_0x4206c9)[_0xbdaf('0x1b')]();};}function respondWithResult(_0x43e80a,_0x47de5c){_0x47de5c=_0x47de5c||0xc8;return function(_0x202320){if(_0x202320){return _0x43e80a['status'](_0x47de5c)['json'](_0x202320);}};}function respondWithFilteredResult(_0x5ada05,_0x3b9bce){return function(_0x22eaab){if(_0x22eaab){var _0x459558=_0x22eaab[_0xbdaf('0x1c')],_0x558785=_0x3b9bce[_0xbdaf('0x1d')],_0x11fb90=_0x3b9bce[_0xbdaf('0x1d')]+_0x3b9bce[_0xbdaf('0x1e')],_0x543e8b;if(_0x11fb90>=_0x459558){_0x11fb90=_0x459558;_0x543e8b=0xc8;}else{_0x543e8b=0xce;}_0x5ada05[_0xbdaf('0x1a')](_0x543e8b);return _0x5ada05[_0xbdaf('0x1f')](_0xbdaf('0x20'),_0x558785+'-'+_0x11fb90+'/'+_0x459558)[_0xbdaf('0x21')](_0x22eaab);}return null;};}function patchUpdates(_0x26d97e){return function(_0x30efa6){try{jsonpatch[_0xbdaf('0x22')](_0x30efa6,_0x26d97e,!![]);}catch(_0x458533){return BPromise[_0xbdaf('0x23')](_0x458533);}return _0x30efa6[_0xbdaf('0x24')]();};}function saveUpdates(_0x6f849e,_0x2b4e37){return function(_0x5dc382){if(_0x5dc382){return _0x5dc382[_0xbdaf('0x25')](_0x6f849e)[_0xbdaf('0x26')](function(_0x30a69b){return _0x30a69b;});}return null;};}function removeEntity(_0x38f735,_0x16b15c){return function(_0x260689){if(_0x260689){return _0x260689[_0xbdaf('0x27')]()['then'](function(){_0x38f735[_0xbdaf('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x3a3ce8,_0x52089c){return function(_0x1c0fbc){if(!_0x1c0fbc){_0x3a3ce8['sendStatus'](0x194);}return _0x1c0fbc;};}function handleError(_0x3020a4,_0x44d991){_0x44d991=_0x44d991||0x1f4;return function(_0x5d0631){logger[_0xbdaf('0x28')](_0x5d0631[_0xbdaf('0x29')]);if(_0x5d0631[_0xbdaf('0x2a')]){delete _0x5d0631[_0xbdaf('0x2a')];}_0x3020a4[_0xbdaf('0x1a')](_0x44d991)['send'](_0x5d0631);};}exports['index']=function(_0x768651,_0x5b4449){var _0x5ad8a6={},_0x802578={},_0x225162={'count':0x0,'rows':[]};var _0x1cefc2=_['map'](db[_0xbdaf('0x2b')][_0xbdaf('0x2c')],function(_0x56c850){return{'name':_0x56c850[_0xbdaf('0x2d')],'type':_0x56c850[_0xbdaf('0x2e')]['key']};});_0x802578['model']=_[_0xbdaf('0x2f')](_0x1cefc2,_0xbdaf('0x2a'));_0x802578[_0xbdaf('0x30')]=_[_0xbdaf('0x31')](_0x768651[_0xbdaf('0x30')]);_0x802578[_0xbdaf('0x32')]=_['intersection'](_0x802578[_0xbdaf('0x33')],_0x802578[_0xbdaf('0x30')]);_0x5ad8a6['attributes']=_['intersection'](_0x802578[_0xbdaf('0x33')],qs[_0xbdaf('0x34')](_0x768651[_0xbdaf('0x30')][_0xbdaf('0x34')]));_0x5ad8a6[_0xbdaf('0x35')]=_0x5ad8a6['attributes'][_0xbdaf('0x36')]?_0x5ad8a6[_0xbdaf('0x35')]:_0x802578['model'];if(!_0x768651['query'][_0xbdaf('0x37')](_0xbdaf('0x38'))){_0x5ad8a6['limit']=qs['limit'](_0x768651['query'][_0xbdaf('0x1e')]);_0x5ad8a6[_0xbdaf('0x1d')]=qs[_0xbdaf('0x1d')](_0x768651[_0xbdaf('0x30')][_0xbdaf('0x1d')]);}_0x5ad8a6[_0xbdaf('0x39')]=qs['sort'](_0x768651[_0xbdaf('0x30')][_0xbdaf('0x3a')]);_0x5ad8a6['where']=qs[_0xbdaf('0x32')](_[_0xbdaf('0x3b')](_0x768651[_0xbdaf('0x30')],_0x802578[_0xbdaf('0x32')]),_0x1cefc2);if(_0x768651[_0xbdaf('0x30')][_0xbdaf('0x3c')]){_0x5ad8a6[_0xbdaf('0x3d')]=_['merge'](_0x5ad8a6[_0xbdaf('0x3d')],{'$or':_[_0xbdaf('0x2f')](_0x1cefc2,function(_0x35cc59){if(_0x35cc59[_0xbdaf('0x2e')]!==_0xbdaf('0x3e')){var _0x316089={};_0x316089[_0x35cc59['name']]={'$like':'%'+_0x768651[_0xbdaf('0x30')][_0xbdaf('0x3c')]+'%'};return _0x316089;}})});}_0x5ad8a6=_[_0xbdaf('0x3f')]({},_0x5ad8a6,_0x768651[_0xbdaf('0x40')]);var _0x4494fe={'where':_0x5ad8a6[_0xbdaf('0x3d')]};return db[_0xbdaf('0x2b')][_0xbdaf('0x1c')](_0x4494fe)[_0xbdaf('0x26')](function(_0x20a8e8){_0x225162[_0xbdaf('0x1c')]=_0x20a8e8;if(_0x768651[_0xbdaf('0x30')]['includeAll']){_0x5ad8a6[_0xbdaf('0x41')]=[{'all':!![]}];}return db[_0xbdaf('0x2b')]['findAll'](_0x5ad8a6);})[_0xbdaf('0x26')](function(_0x1b4985){_0x225162[_0xbdaf('0x42')]=_0x1b4985;return _0x225162;})['then'](respondWithFilteredResult(_0x5b4449,_0x5ad8a6))[_0xbdaf('0x43')](handleError(_0x5b4449,null));};exports[_0xbdaf('0x44')]=function(_0x361d8f,_0x449782){var _0x17125f={'raw':!![],'where':{'id':_0x361d8f['params']['id']}},_0x5efa0a={};_0x5efa0a[_0xbdaf('0x33')]=_[_0xbdaf('0x31')](db[_0xbdaf('0x2b')][_0xbdaf('0x2c')]);_0x5efa0a[_0xbdaf('0x30')]=_['keys'](_0x361d8f[_0xbdaf('0x30')]);_0x5efa0a[_0xbdaf('0x32')]=_[_0xbdaf('0x45')](_0x5efa0a['model'],_0x5efa0a[_0xbdaf('0x30')]);_0x17125f[_0xbdaf('0x35')]=_[_0xbdaf('0x45')](_0x5efa0a[_0xbdaf('0x33')],qs[_0xbdaf('0x34')](_0x361d8f[_0xbdaf('0x30')][_0xbdaf('0x34')]));_0x17125f[_0xbdaf('0x35')]=_0x17125f['attributes'][_0xbdaf('0x36')]?_0x17125f[_0xbdaf('0x35')]:_0x5efa0a[_0xbdaf('0x33')];if(_0x361d8f[_0xbdaf('0x30')][_0xbdaf('0x46')]){_0x17125f['include']=[{'all':!![]}];}_0x17125f=_[_0xbdaf('0x3f')]({},_0x17125f,_0x361d8f['options']);return db[_0xbdaf('0x2b')][_0xbdaf('0x47')](_0x17125f)['then'](handleEntityNotFound(_0x449782,null))[_0xbdaf('0x26')](respondWithResult(_0x449782,null))[_0xbdaf('0x43')](handleError(_0x449782,null));};exports[_0xbdaf('0x48')]=function(_0x3bfdfa,_0x28f73c){return db[_0xbdaf('0x2b')][_0xbdaf('0x48')](_0x3bfdfa[_0xbdaf('0x49')],{})[_0xbdaf('0x26')](respondWithResult(_0x28f73c,0xc9))[_0xbdaf('0x43')](handleError(_0x28f73c,null));};exports[_0xbdaf('0x25')]=function(_0xfb87f8,_0x30aeec){if(_0xfb87f8[_0xbdaf('0x49')]['id']){delete _0xfb87f8[_0xbdaf('0x49')]['id'];}return db['MailServerOut'][_0xbdaf('0x47')]({'where':{'id':_0xfb87f8['params']['id']}})[_0xbdaf('0x26')](handleEntityNotFound(_0x30aeec,null))[_0xbdaf('0x26')](saveUpdates(_0xfb87f8[_0xbdaf('0x49')],null))[_0xbdaf('0x26')](respondWithResult(_0x30aeec,null))[_0xbdaf('0x43')](handleError(_0x30aeec,null));};exports[_0xbdaf('0x27')]=function(_0x4ff243,_0x53a572){return db['MailServerOut'][_0xbdaf('0x47')]({'where':{'id':_0x4ff243[_0xbdaf('0x4a')]['id']}})['then'](handleEntityNotFound(_0x53a572,null))[_0xbdaf('0x26')](removeEntity(_0x53a572,null))[_0xbdaf('0x43')](handleError(_0x53a572,null));};