70dfd3ea9b539cc5875e7dfd98912db28eae8d4a
[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 _0xcedd=['moment','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','lodash','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','name','send','index','map','rawAttributes','type','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','filters','pick','filter','where','merge','VIRTUAL','options','MailServerOut','includeAll','include','findAll','show','find','catch','body','params','destroy','rimraf','zip-dir','fast-json-patch','request-promise'];(function(_0x4cf98e,_0xba4b79){var _0x1623ac=function(_0x459bc0){while(--_0x459bc0){_0x4cf98e['push'](_0x4cf98e['shift']());}};_0x1623ac(++_0xba4b79);}(_0xcedd,0x1be));var _0xdced=function(_0x1034ee,_0x12998c){_0x1034ee=_0x1034ee-0x0;var _0x2922af=_0xcedd[_0x1034ee];return _0x2922af;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xdced('0x0'));var zipdir=require(_0xdced('0x1'));var jsonpatch=require(_0xdced('0x2'));var rp=require(_0xdced('0x3'));var moment=require(_0xdced('0x4'));var BPromise=require(_0xdced('0x5'));var Mustache=require(_0xdced('0x6'));var util=require('util');var path=require(_0xdced('0x7'));var sox=require(_0xdced('0x8'));var csv=require(_0xdced('0x9'));var ejs=require(_0xdced('0xa'));var fs=require('fs');var fs_extra=require(_0xdced('0xb'));var _=require(_0xdced('0xc'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0xdced('0xd'));var deskjs=require(_0xdced('0xe'));var toCsv=require(_0xdced('0x9'));var querystring=require(_0xdced('0xf'));var Papa=require(_0xdced('0x10'));var Redis=require(_0xdced('0x11'));var authService=require(_0xdced('0x12'));var qs=require(_0xdced('0x13'));var as=require(_0xdced('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xdced('0x15'))('api');var utils=require(_0xdced('0x16'));var config=require(_0xdced('0x17'));var licenseUtil=require(_0xdced('0x18'));var db=require(_0xdced('0x19'))['db'];function respondWithStatusCode(_0x2a6d89,_0x5dd82d){_0x5dd82d=_0x5dd82d||0xcc;return function(_0x4729f2){if(_0x4729f2){return _0x2a6d89[_0xdced('0x1a')](_0x5dd82d);}return _0x2a6d89[_0xdced('0x1b')](_0x5dd82d)[_0xdced('0x1c')]();};}function respondWithResult(_0x42f80a,_0x3e8a36){_0x3e8a36=_0x3e8a36||0xc8;return function(_0x272228){if(_0x272228){return _0x42f80a[_0xdced('0x1b')](_0x3e8a36)[_0xdced('0x1d')](_0x272228);}};}function respondWithFilteredResult(_0x41879d,_0x5196df){return function(_0x5b5f17){if(_0x5b5f17){var _0x4fb227=typeof _0x5196df[_0xdced('0x1e')]===_0xdced('0x1f')&&typeof _0x5196df[_0xdced('0x20')]==='undefined';var _0x5af208=_0x5b5f17[_0xdced('0x21')];var _0x3ba94d=_0x4fb227?0x0:_0x5196df[_0xdced('0x1e')];var _0x26505f=_0x4fb227?_0x5b5f17[_0xdced('0x21')]:_0x5196df[_0xdced('0x1e')]+_0x5196df['limit'];var _0x39b050;if(_0x26505f>=_0x5af208){_0x26505f=_0x5af208;_0x39b050=0xc8;}else{_0x39b050=0xce;}_0x41879d[_0xdced('0x1b')](_0x39b050);return _0x41879d[_0xdced('0x22')](_0xdced('0x23'),_0x3ba94d+'-'+_0x26505f+'/'+_0x5af208)[_0xdced('0x1d')](_0x5b5f17);}return null;};}function patchUpdates(_0x23a8d7){return function(_0x4ba2dd){try{jsonpatch[_0xdced('0x24')](_0x4ba2dd,_0x23a8d7,!![]);}catch(_0x18422d){return BPromise[_0xdced('0x25')](_0x18422d);}return _0x4ba2dd[_0xdced('0x26')]();};}function saveUpdates(_0x3eab57,_0x593c07){return function(_0x19e7c8){if(_0x19e7c8){return _0x19e7c8[_0xdced('0x27')](_0x3eab57)[_0xdced('0x28')](function(_0x15412c){return _0x15412c;});}return null;};}function removeEntity(_0x384ca0,_0x53d075){return function(_0x4ff5ba){if(_0x4ff5ba){return _0x4ff5ba['destroy']()[_0xdced('0x28')](function(){_0x384ca0[_0xdced('0x1b')](0xcc)[_0xdced('0x1c')]();});}};}function handleEntityNotFound(_0x1c8a7f,_0x42833f){return function(_0xe342b7){if(!_0xe342b7){_0x1c8a7f[_0xdced('0x1a')](0x194);}return _0xe342b7;};}function handleError(_0x52e1d5,_0x44d77c){_0x44d77c=_0x44d77c||0x1f4;return function(_0x2a7b7f){logger['error'](_0x2a7b7f['stack']);if(_0x2a7b7f[_0xdced('0x29')]){delete _0x2a7b7f[_0xdced('0x29')];}_0x52e1d5[_0xdced('0x1b')](_0x44d77c)[_0xdced('0x2a')](_0x2a7b7f);};}exports[_0xdced('0x2b')]=function(_0x42d9a9,_0xd5bcca){var _0x398c38={},_0x475b14={},_0x17cef2={'count':0x0,'rows':[]};var _0x5e5e97=_[_0xdced('0x2c')](db['MailServerOut'][_0xdced('0x2d')],function(_0x2fdb4a){return{'name':_0x2fdb4a['fieldName'],'type':_0x2fdb4a[_0xdced('0x2e')]['key']};});_0x475b14[_0xdced('0x2f')]=_['map'](_0x5e5e97,_0xdced('0x29'));_0x475b14[_0xdced('0x30')]=_[_0xdced('0x31')](_0x42d9a9[_0xdced('0x30')]);_0x475b14['filters']=_[_0xdced('0x32')](_0x475b14[_0xdced('0x2f')],_0x475b14[_0xdced('0x30')]);_0x398c38[_0xdced('0x33')]=_['intersection'](_0x475b14[_0xdced('0x2f')],qs[_0xdced('0x34')](_0x42d9a9['query'][_0xdced('0x34')]));_0x398c38[_0xdced('0x33')]=_0x398c38[_0xdced('0x33')][_0xdced('0x35')]?_0x398c38['attributes']:_0x475b14[_0xdced('0x2f')];if(!_0x42d9a9[_0xdced('0x30')][_0xdced('0x36')](_0xdced('0x37'))){_0x398c38[_0xdced('0x20')]=qs['limit'](_0x42d9a9[_0xdced('0x30')][_0xdced('0x20')]);_0x398c38[_0xdced('0x1e')]=qs[_0xdced('0x1e')](_0x42d9a9[_0xdced('0x30')][_0xdced('0x1e')]);}_0x398c38[_0xdced('0x38')]=qs[_0xdced('0x39')](_0x42d9a9[_0xdced('0x30')][_0xdced('0x39')]);_0x398c38['where']=qs[_0xdced('0x3a')](_[_0xdced('0x3b')](_0x42d9a9['query'],_0x475b14['filters']),_0x5e5e97);if(_0x42d9a9['query'][_0xdced('0x3c')]){_0x398c38[_0xdced('0x3d')]=_[_0xdced('0x3e')](_0x398c38[_0xdced('0x3d')],{'$or':_['map'](_0x5e5e97,function(_0x27670f){if(_0x27670f[_0xdced('0x2e')]!==_0xdced('0x3f')){var _0x147649={};_0x147649[_0x27670f[_0xdced('0x29')]]={'$like':'%'+_0x42d9a9[_0xdced('0x30')][_0xdced('0x3c')]+'%'};return _0x147649;}})});}_0x398c38=_['merge']({},_0x398c38,_0x42d9a9[_0xdced('0x40')]);var _0x4ce13f={'where':_0x398c38[_0xdced('0x3d')]};return db[_0xdced('0x41')][_0xdced('0x21')](_0x4ce13f)[_0xdced('0x28')](function(_0x4d425e){_0x17cef2[_0xdced('0x21')]=_0x4d425e;if(_0x42d9a9[_0xdced('0x30')][_0xdced('0x42')]){_0x398c38[_0xdced('0x43')]=[{'all':!![]}];}return db['MailServerOut'][_0xdced('0x44')](_0x398c38);})[_0xdced('0x28')](function(_0x3c351c){_0x17cef2['rows']=_0x3c351c;return _0x17cef2;})[_0xdced('0x28')](respondWithFilteredResult(_0xd5bcca,_0x398c38))['catch'](handleError(_0xd5bcca,null));};exports[_0xdced('0x45')]=function(_0x4dc762,_0x56d1fd){var _0x135bfe={'raw':!![],'where':{'id':_0x4dc762['params']['id']}},_0x24e647={};_0x24e647['model']=_[_0xdced('0x31')](db[_0xdced('0x41')][_0xdced('0x2d')]);_0x24e647[_0xdced('0x30')]=_[_0xdced('0x31')](_0x4dc762[_0xdced('0x30')]);_0x24e647[_0xdced('0x3a')]=_[_0xdced('0x32')](_0x24e647[_0xdced('0x2f')],_0x24e647[_0xdced('0x30')]);_0x135bfe['attributes']=_[_0xdced('0x32')](_0x24e647[_0xdced('0x2f')],qs[_0xdced('0x34')](_0x4dc762[_0xdced('0x30')][_0xdced('0x34')]));_0x135bfe[_0xdced('0x33')]=_0x135bfe[_0xdced('0x33')][_0xdced('0x35')]?_0x135bfe[_0xdced('0x33')]:_0x24e647['model'];if(_0x4dc762[_0xdced('0x30')]['includeAll']){_0x135bfe[_0xdced('0x43')]=[{'all':!![]}];}_0x135bfe=_[_0xdced('0x3e')]({},_0x135bfe,_0x4dc762[_0xdced('0x40')]);return db[_0xdced('0x41')][_0xdced('0x46')](_0x135bfe)['then'](handleEntityNotFound(_0x56d1fd,null))[_0xdced('0x28')](respondWithResult(_0x56d1fd,null))[_0xdced('0x47')](handleError(_0x56d1fd,null));};exports['create']=function(_0x2b5257,_0x1dc43f){return db[_0xdced('0x41')]['create'](_0x2b5257['body'],{})[_0xdced('0x28')](respondWithResult(_0x1dc43f,0xc9))[_0xdced('0x47')](handleError(_0x1dc43f,null));};exports[_0xdced('0x27')]=function(_0x1aa9ea,_0x3d4e2e){if(_0x1aa9ea['body']['id']){delete _0x1aa9ea[_0xdced('0x48')]['id'];}return db[_0xdced('0x41')]['find']({'where':{'id':_0x1aa9ea[_0xdced('0x49')]['id']}})[_0xdced('0x28')](handleEntityNotFound(_0x3d4e2e,null))['then'](saveUpdates(_0x1aa9ea[_0xdced('0x48')],null))[_0xdced('0x28')](respondWithResult(_0x3d4e2e,null))[_0xdced('0x47')](handleError(_0x3d4e2e,null));};exports[_0xdced('0x4a')]=function(_0xe45a46,_0x17acf9){return db['MailServerOut'][_0xdced('0x46')]({'where':{'id':_0xe45a46['params']['id']}})[_0xdced('0x28')](handleEntityNotFound(_0x17acf9,null))[_0xdced('0x28')](removeEntity(_0x17acf9,null))['catch'](handleError(_0x17acf9,null));};