Built motion from commit bab6f49e.|2.6.17
[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 _0x6686=['rows','catch','show','find','create','body','params','destroy','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','squel','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','json','offset','undefined','limit','count','status','Content-Range','apply','save','update','then','name','send','index','map','MailServerOut','fieldName','type','key','query','keys','filters','model','attributes','intersection','fields','length','hasOwnProperty','sort','pick','filter','where','merge','options','includeAll','include'];(function(_0x15ab3b,_0x218fb5){var _0x5da8d0=function(_0x2796d0){while(--_0x2796d0){_0x15ab3b['push'](_0x15ab3b['shift']());}};_0x5da8d0(++_0x218fb5);}(_0x6686,0x166));var _0x6668=function(_0x54f339,_0x2fab8f){_0x54f339=_0x54f339-0x0;var _0x20984f=_0x6686[_0x54f339];return _0x20984f;};'use strict';var emlformat=require(_0x6668('0x0'));var rimraf=require(_0x6668('0x1'));var zipdir=require(_0x6668('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x6668('0x3'));var moment=require(_0x6668('0x4'));var BPromise=require(_0x6668('0x5'));var Mustache=require(_0x6668('0x6'));var util=require(_0x6668('0x7'));var path=require(_0x6668('0x8'));var sox=require('sox');var csv=require(_0x6668('0x9'));var ejs=require(_0x6668('0xa'));var fs=require('fs');var fs_extra=require(_0x6668('0xb'));var _=require('lodash');var squel=require(_0x6668('0xc'));var crypto=require('crypto');var jsforce=require(_0x6668('0xd'));var deskjs=require(_0x6668('0xe'));var toCsv=require(_0x6668('0x9'));var querystring=require('querystring');var Papa=require(_0x6668('0xf'));var Redis=require(_0x6668('0x10'));var authService=require(_0x6668('0x11'));var qs=require(_0x6668('0x12'));var as=require(_0x6668('0x13'));var hardwareService=require(_0x6668('0x14'));var logger=require('../../config/logger')(_0x6668('0x15'));var utils=require(_0x6668('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0x6668('0x17'));var db=require(_0x6668('0x18'))['db'];function respondWithStatusCode(_0x4e7296,_0x26752f){_0x26752f=_0x26752f||0xcc;return function(_0x10ccea){if(_0x10ccea){return _0x4e7296[_0x6668('0x19')](_0x26752f);}return _0x4e7296['status'](_0x26752f)['end']();};}function respondWithResult(_0x5ef114,_0x46e203){_0x46e203=_0x46e203||0xc8;return function(_0x27853c){if(_0x27853c){return _0x5ef114['status'](_0x46e203)[_0x6668('0x1a')](_0x27853c);}};}function respondWithFilteredResult(_0x366ee8,_0x3e43dc){return function(_0x1b589c){if(_0x1b589c){var _0x3383ce=typeof _0x3e43dc[_0x6668('0x1b')]===_0x6668('0x1c')&&typeof _0x3e43dc[_0x6668('0x1d')]===_0x6668('0x1c');var _0x1b5aef=_0x1b589c[_0x6668('0x1e')];var _0x165c78=_0x3383ce?0x0:_0x3e43dc[_0x6668('0x1b')];var _0x118fc8=_0x3383ce?_0x1b589c[_0x6668('0x1e')]:_0x3e43dc[_0x6668('0x1b')]+_0x3e43dc[_0x6668('0x1d')];var _0x2cddb3;if(_0x118fc8>=_0x1b5aef){_0x118fc8=_0x1b5aef;_0x2cddb3=0xc8;}else{_0x2cddb3=0xce;}_0x366ee8[_0x6668('0x1f')](_0x2cddb3);return _0x366ee8['set'](_0x6668('0x20'),_0x165c78+'-'+_0x118fc8+'/'+_0x1b5aef)[_0x6668('0x1a')](_0x1b589c);}return null;};}function patchUpdates(_0x3dfb4f){return function(_0x2cef2a){try{jsonpatch[_0x6668('0x21')](_0x2cef2a,_0x3dfb4f,!![]);}catch(_0x413213){return BPromise['reject'](_0x413213);}return _0x2cef2a[_0x6668('0x22')]();};}function saveUpdates(_0x3d69a3,_0x2daa43){return function(_0x32cff4){if(_0x32cff4){return _0x32cff4[_0x6668('0x23')](_0x3d69a3)[_0x6668('0x24')](function(_0x31607b){return _0x31607b;});}return null;};}function removeEntity(_0x24da5b,_0x35c574){return function(_0x2cf40c){if(_0x2cf40c){return _0x2cf40c['destroy']()[_0x6668('0x24')](function(){_0x24da5b[_0x6668('0x1f')](0xcc)['end']();});}};}function handleEntityNotFound(_0x1b425a,_0x57a342){return function(_0x1583ef){if(!_0x1583ef){_0x1b425a[_0x6668('0x19')](0x194);}return _0x1583ef;};}function handleError(_0x14ed99,_0x54dc64){_0x54dc64=_0x54dc64||0x1f4;return function(_0x25520c){logger['error'](_0x25520c['stack']);if(_0x25520c[_0x6668('0x25')]){delete _0x25520c['name'];}_0x14ed99['status'](_0x54dc64)[_0x6668('0x26')](_0x25520c);};}exports[_0x6668('0x27')]=function(_0x135ac8,_0x49bb85){var _0x31b1c9={},_0xd29ad={},_0x4590c9={'count':0x0,'rows':[]};var _0x4aa4cd=_[_0x6668('0x28')](db[_0x6668('0x29')]['rawAttributes'],function(_0x280c3d){return{'name':_0x280c3d[_0x6668('0x2a')],'type':_0x280c3d[_0x6668('0x2b')][_0x6668('0x2c')]};});_0xd29ad['model']=_[_0x6668('0x28')](_0x4aa4cd,_0x6668('0x25'));_0xd29ad[_0x6668('0x2d')]=_[_0x6668('0x2e')](_0x135ac8[_0x6668('0x2d')]);_0xd29ad[_0x6668('0x2f')]=_['intersection'](_0xd29ad[_0x6668('0x30')],_0xd29ad[_0x6668('0x2d')]);_0x31b1c9[_0x6668('0x31')]=_[_0x6668('0x32')](_0xd29ad[_0x6668('0x30')],qs[_0x6668('0x33')](_0x135ac8[_0x6668('0x2d')][_0x6668('0x33')]));_0x31b1c9['attributes']=_0x31b1c9[_0x6668('0x31')][_0x6668('0x34')]?_0x31b1c9[_0x6668('0x31')]:_0xd29ad[_0x6668('0x30')];if(!_0x135ac8[_0x6668('0x2d')][_0x6668('0x35')]('nolimit')){_0x31b1c9[_0x6668('0x1d')]=qs[_0x6668('0x1d')](_0x135ac8['query'][_0x6668('0x1d')]);_0x31b1c9[_0x6668('0x1b')]=qs[_0x6668('0x1b')](_0x135ac8['query'][_0x6668('0x1b')]);}_0x31b1c9['order']=qs['sort'](_0x135ac8[_0x6668('0x2d')][_0x6668('0x36')]);_0x31b1c9['where']=qs[_0x6668('0x2f')](_[_0x6668('0x37')](_0x135ac8[_0x6668('0x2d')],_0xd29ad[_0x6668('0x2f')]),_0x4aa4cd);if(_0x135ac8[_0x6668('0x2d')][_0x6668('0x38')]){_0x31b1c9[_0x6668('0x39')]=_[_0x6668('0x3a')](_0x31b1c9['where'],{'$or':_[_0x6668('0x28')](_0x4aa4cd,function(_0x1ae81c){if(_0x1ae81c[_0x6668('0x2b')]!=='VIRTUAL'){var _0x26a49c={};_0x26a49c[_0x1ae81c[_0x6668('0x25')]]={'$like':'%'+_0x135ac8[_0x6668('0x2d')][_0x6668('0x38')]+'%'};return _0x26a49c;}})});}_0x31b1c9=_[_0x6668('0x3a')]({},_0x31b1c9,_0x135ac8[_0x6668('0x3b')]);var _0x35b5f5={'where':_0x31b1c9[_0x6668('0x39')]};return db[_0x6668('0x29')]['count'](_0x35b5f5)['then'](function(_0x351f51){_0x4590c9['count']=_0x351f51;if(_0x135ac8[_0x6668('0x2d')][_0x6668('0x3c')]){_0x31b1c9[_0x6668('0x3d')]=[{'all':!![]}];}return db[_0x6668('0x29')]['findAll'](_0x31b1c9);})[_0x6668('0x24')](function(_0x17b34d){_0x4590c9[_0x6668('0x3e')]=_0x17b34d;return _0x4590c9;})[_0x6668('0x24')](respondWithFilteredResult(_0x49bb85,_0x31b1c9))[_0x6668('0x3f')](handleError(_0x49bb85,null));};exports[_0x6668('0x40')]=function(_0x34225f,_0x41b788){var _0x4b0fc9={'raw':!![],'where':{'id':_0x34225f['params']['id']}},_0x379402={};_0x379402[_0x6668('0x30')]=_[_0x6668('0x2e')](db[_0x6668('0x29')]['rawAttributes']);_0x379402[_0x6668('0x2d')]=_['keys'](_0x34225f[_0x6668('0x2d')]);_0x379402['filters']=_['intersection'](_0x379402[_0x6668('0x30')],_0x379402[_0x6668('0x2d')]);_0x4b0fc9[_0x6668('0x31')]=_[_0x6668('0x32')](_0x379402[_0x6668('0x30')],qs[_0x6668('0x33')](_0x34225f[_0x6668('0x2d')][_0x6668('0x33')]));_0x4b0fc9[_0x6668('0x31')]=_0x4b0fc9[_0x6668('0x31')][_0x6668('0x34')]?_0x4b0fc9[_0x6668('0x31')]:_0x379402['model'];if(_0x34225f[_0x6668('0x2d')]['includeAll']){_0x4b0fc9['include']=[{'all':!![]}];}_0x4b0fc9=_[_0x6668('0x3a')]({},_0x4b0fc9,_0x34225f[_0x6668('0x3b')]);return db[_0x6668('0x29')][_0x6668('0x41')](_0x4b0fc9)[_0x6668('0x24')](handleEntityNotFound(_0x41b788,null))[_0x6668('0x24')](respondWithResult(_0x41b788,null))[_0x6668('0x3f')](handleError(_0x41b788,null));};exports[_0x6668('0x42')]=function(_0x56bf22,_0x1fd9ba){return db[_0x6668('0x29')][_0x6668('0x42')](_0x56bf22[_0x6668('0x43')],{})[_0x6668('0x24')](respondWithResult(_0x1fd9ba,0xc9))['catch'](handleError(_0x1fd9ba,null));};exports[_0x6668('0x23')]=function(_0x25a3db,_0x2c914f){if(_0x25a3db[_0x6668('0x43')]['id']){delete _0x25a3db[_0x6668('0x43')]['id'];}return db[_0x6668('0x29')][_0x6668('0x41')]({'where':{'id':_0x25a3db[_0x6668('0x44')]['id']}})[_0x6668('0x24')](handleEntityNotFound(_0x2c914f,null))[_0x6668('0x24')](saveUpdates(_0x25a3db[_0x6668('0x43')],null))[_0x6668('0x24')](respondWithResult(_0x2c914f,null))[_0x6668('0x3f')](handleError(_0x2c914f,null));};exports[_0x6668('0x45')]=function(_0x375c21,_0x22beef){return db['MailServerOut'][_0x6668('0x41')]({'where':{'id':_0x375c21[_0x6668('0x44')]['id']}})[_0x6668('0x24')](handleEntityNotFound(_0x22beef,null))[_0x6668('0x24')](removeEntity(_0x22beef,null))['catch'](handleError(_0x22beef,null));};