Built motion from commit 1ea47bf4.|2.6.34
[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 _0xdf6d=['request-promise','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','squel','crypto','desk.js','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/license/util','sendStatus','end','status','json','limit','undefined','count','offset','set','Content-Range','reject','save','update','destroy','then','error','name','send','map','MailServerOut','rawAttributes','key','model','query','filters','intersection','fields','attributes','length','hasOwnProperty','order','sort','where','pick','merge','type','VIRTUAL','options','includeAll','include','findAll','rows','catch','params','keys','find','create','body','eml-format','rimraf','zip-dir','fast-json-patch'];(function(_0x371b11,_0x16bd7a){var _0x4a5e14=function(_0x58fe57){while(--_0x58fe57){_0x371b11['push'](_0x371b11['shift']());}};_0x4a5e14(++_0x16bd7a);}(_0xdf6d,0x1a0));var _0xddf6=function(_0x45ace2,_0x328295){_0x45ace2=_0x45ace2-0x0;var _0x1af566=_0xdf6d[_0x45ace2];return _0x1af566;};'use strict';var emlformat=require(_0xddf6('0x0'));var rimraf=require(_0xddf6('0x1'));var zipdir=require(_0xddf6('0x2'));var jsonpatch=require(_0xddf6('0x3'));var rp=require(_0xddf6('0x4'));var moment=require(_0xddf6('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xddf6('0x6'));var util=require(_0xddf6('0x7'));var path=require(_0xddf6('0x8'));var sox=require(_0xddf6('0x9'));var csv=require(_0xddf6('0xa'));var ejs=require(_0xddf6('0xb'));var fs=require('fs');var fs_extra=require(_0xddf6('0xc'));var _=require('lodash');var squel=require(_0xddf6('0xd'));var crypto=require(_0xddf6('0xe'));var jsforce=require('jsforce');var deskjs=require(_0xddf6('0xf'));var toCsv=require(_0xddf6('0xa'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xddf6('0x10'));var qs=require(_0xddf6('0x11'));var as=require(_0xddf6('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xddf6('0x13'))(_0xddf6('0x14'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0xddf6('0x15'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0xc6ca2d,_0x543871){_0x543871=_0x543871||0xcc;return function(_0x1e5e24){if(_0x1e5e24){return _0xc6ca2d[_0xddf6('0x16')](_0x543871);}return _0xc6ca2d['status'](_0x543871)[_0xddf6('0x17')]();};}function respondWithResult(_0x2149f9,_0x3939ba){_0x3939ba=_0x3939ba||0xc8;return function(_0x1cd186){if(_0x1cd186){return _0x2149f9[_0xddf6('0x18')](_0x3939ba)[_0xddf6('0x19')](_0x1cd186);}};}function respondWithFilteredResult(_0x3f1502,_0xf4e0a5){return function(_0x91fed3){if(_0x91fed3){var _0x2da0a1=typeof _0xf4e0a5['offset']==='undefined'&&typeof _0xf4e0a5[_0xddf6('0x1a')]===_0xddf6('0x1b');var _0x30ecf7=_0x91fed3[_0xddf6('0x1c')];var _0x3e7097=_0x2da0a1?0x0:_0xf4e0a5['offset'];var _0x118cf2=_0x2da0a1?_0x91fed3[_0xddf6('0x1c')]:_0xf4e0a5[_0xddf6('0x1d')]+_0xf4e0a5[_0xddf6('0x1a')];var _0x4bf5c8;if(_0x118cf2>=_0x30ecf7){_0x118cf2=_0x30ecf7;_0x4bf5c8=0xc8;}else{_0x4bf5c8=0xce;}_0x3f1502[_0xddf6('0x18')](_0x4bf5c8);return _0x3f1502[_0xddf6('0x1e')](_0xddf6('0x1f'),_0x3e7097+'-'+_0x118cf2+'/'+_0x30ecf7)[_0xddf6('0x19')](_0x91fed3);}return null;};}function patchUpdates(_0x3950fb){return function(_0x5d2d4d){try{jsonpatch['apply'](_0x5d2d4d,_0x3950fb,!![]);}catch(_0x3a3f81){return BPromise[_0xddf6('0x20')](_0x3a3f81);}return _0x5d2d4d[_0xddf6('0x21')]();};}function saveUpdates(_0x4637f1,_0x419194){return function(_0x5781c1){if(_0x5781c1){return _0x5781c1[_0xddf6('0x22')](_0x4637f1)['then'](function(_0x52f24c){return _0x52f24c;});}return null;};}function removeEntity(_0x10f745,_0x1dba2e){return function(_0x7832d3){if(_0x7832d3){return _0x7832d3[_0xddf6('0x23')]()[_0xddf6('0x24')](function(){_0x10f745['status'](0xcc)[_0xddf6('0x17')]();});}};}function handleEntityNotFound(_0x18c74a,_0x487c27){return function(_0x214573){if(!_0x214573){_0x18c74a[_0xddf6('0x16')](0x194);}return _0x214573;};}function handleError(_0x226408,_0x36709a){_0x36709a=_0x36709a||0x1f4;return function(_0x24a6f9){logger[_0xddf6('0x25')](_0x24a6f9['stack']);if(_0x24a6f9[_0xddf6('0x26')]){delete _0x24a6f9[_0xddf6('0x26')];}_0x226408[_0xddf6('0x18')](_0x36709a)[_0xddf6('0x27')](_0x24a6f9);};}exports['index']=function(_0x4f3d87,_0x40f3d7){var _0xd7734c={},_0x1eb08b={},_0x8ab7a6={'count':0x0,'rows':[]};var _0x373fdb=_[_0xddf6('0x28')](db[_0xddf6('0x29')][_0xddf6('0x2a')],function(_0x2a4594){return{'name':_0x2a4594['fieldName'],'type':_0x2a4594['type'][_0xddf6('0x2b')]};});_0x1eb08b[_0xddf6('0x2c')]=_['map'](_0x373fdb,'name');_0x1eb08b['query']=_['keys'](_0x4f3d87[_0xddf6('0x2d')]);_0x1eb08b[_0xddf6('0x2e')]=_[_0xddf6('0x2f')](_0x1eb08b[_0xddf6('0x2c')],_0x1eb08b[_0xddf6('0x2d')]);_0xd7734c['attributes']=_[_0xddf6('0x2f')](_0x1eb08b[_0xddf6('0x2c')],qs[_0xddf6('0x30')](_0x4f3d87['query']['fields']));_0xd7734c['attributes']=_0xd7734c[_0xddf6('0x31')][_0xddf6('0x32')]?_0xd7734c[_0xddf6('0x31')]:_0x1eb08b[_0xddf6('0x2c')];if(!_0x4f3d87['query'][_0xddf6('0x33')]('nolimit')){_0xd7734c['limit']=qs['limit'](_0x4f3d87['query'][_0xddf6('0x1a')]);_0xd7734c[_0xddf6('0x1d')]=qs['offset'](_0x4f3d87['query'][_0xddf6('0x1d')]);}_0xd7734c[_0xddf6('0x34')]=qs[_0xddf6('0x35')](_0x4f3d87[_0xddf6('0x2d')][_0xddf6('0x35')]);_0xd7734c[_0xddf6('0x36')]=qs[_0xddf6('0x2e')](_[_0xddf6('0x37')](_0x4f3d87['query'],_0x1eb08b[_0xddf6('0x2e')]),_0x373fdb);if(_0x4f3d87['query']['filter']){_0xd7734c[_0xddf6('0x36')]=_[_0xddf6('0x38')](_0xd7734c[_0xddf6('0x36')],{'$or':_[_0xddf6('0x28')](_0x373fdb,function(_0x2b080b){if(_0x2b080b[_0xddf6('0x39')]!==_0xddf6('0x3a')){var _0x1d2c48={};_0x1d2c48[_0x2b080b[_0xddf6('0x26')]]={'$like':'%'+_0x4f3d87['query']['filter']+'%'};return _0x1d2c48;}})});}_0xd7734c=_['merge']({},_0xd7734c,_0x4f3d87[_0xddf6('0x3b')]);var _0xd886e={'where':_0xd7734c[_0xddf6('0x36')]};return db[_0xddf6('0x29')][_0xddf6('0x1c')](_0xd886e)[_0xddf6('0x24')](function(_0x5bfd7b){_0x8ab7a6[_0xddf6('0x1c')]=_0x5bfd7b;if(_0x4f3d87[_0xddf6('0x2d')][_0xddf6('0x3c')]){_0xd7734c[_0xddf6('0x3d')]=[{'all':!![]}];}return db[_0xddf6('0x29')][_0xddf6('0x3e')](_0xd7734c);})['then'](function(_0x205259){_0x8ab7a6[_0xddf6('0x3f')]=_0x205259;return _0x8ab7a6;})[_0xddf6('0x24')](respondWithFilteredResult(_0x40f3d7,_0xd7734c))[_0xddf6('0x40')](handleError(_0x40f3d7,null));};exports['show']=function(_0xf27b50,_0x40f681){var _0x3207c6={'raw':!![],'where':{'id':_0xf27b50[_0xddf6('0x41')]['id']}},_0x2f5536={};_0x2f5536['model']=_[_0xddf6('0x42')](db[_0xddf6('0x29')]['rawAttributes']);_0x2f5536['query']=_[_0xddf6('0x42')](_0xf27b50[_0xddf6('0x2d')]);_0x2f5536[_0xddf6('0x2e')]=_[_0xddf6('0x2f')](_0x2f5536['model'],_0x2f5536[_0xddf6('0x2d')]);_0x3207c6['attributes']=_[_0xddf6('0x2f')](_0x2f5536[_0xddf6('0x2c')],qs[_0xddf6('0x30')](_0xf27b50[_0xddf6('0x2d')][_0xddf6('0x30')]));_0x3207c6['attributes']=_0x3207c6[_0xddf6('0x31')]['length']?_0x3207c6[_0xddf6('0x31')]:_0x2f5536['model'];if(_0xf27b50[_0xddf6('0x2d')][_0xddf6('0x3c')]){_0x3207c6[_0xddf6('0x3d')]=[{'all':!![]}];}_0x3207c6=_['merge']({},_0x3207c6,_0xf27b50[_0xddf6('0x3b')]);return db[_0xddf6('0x29')][_0xddf6('0x43')](_0x3207c6)[_0xddf6('0x24')](handleEntityNotFound(_0x40f681,null))['then'](respondWithResult(_0x40f681,null))[_0xddf6('0x40')](handleError(_0x40f681,null));};exports[_0xddf6('0x44')]=function(_0x2d6245,_0x4c60ab){return db['MailServerOut']['create'](_0x2d6245[_0xddf6('0x45')],{})[_0xddf6('0x24')](respondWithResult(_0x4c60ab,0xc9))[_0xddf6('0x40')](handleError(_0x4c60ab,null));};exports[_0xddf6('0x22')]=function(_0x20fab1,_0x3714bb){if(_0x20fab1[_0xddf6('0x45')]['id']){delete _0x20fab1[_0xddf6('0x45')]['id'];}return db['MailServerOut'][_0xddf6('0x43')]({'where':{'id':_0x20fab1[_0xddf6('0x41')]['id']}})[_0xddf6('0x24')](handleEntityNotFound(_0x3714bb,null))['then'](saveUpdates(_0x20fab1[_0xddf6('0x45')],null))[_0xddf6('0x24')](respondWithResult(_0x3714bb,null))[_0xddf6('0x40')](handleError(_0x3714bb,null));};exports[_0xddf6('0x23')]=function(_0x17efd6,_0x32a75e){return db[_0xddf6('0x29')]['find']({'where':{'id':_0x17efd6[_0xddf6('0x41')]['id']}})[_0xddf6('0x24')](handleEntityNotFound(_0x32a75e,null))[_0xddf6('0x24')](removeEntity(_0x32a75e,null))[_0xddf6('0x40')](handleError(_0x32a75e,null));};