Built motion from commit 980b26c3.|2.6.29
[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 _0xe2e3=['apply','reject','save','then','destroy','error','stack','name','send','index','MailServerOut','rawAttributes','fieldName','type','model','map','query','keys','filters','intersection','attributes','fields','nolimit','order','sort','where','pick','merge','VIRTUAL','includeAll','findAll','rows','show','params','options','find','catch','body','update','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','ejs','fs-extra','lodash','squel','jsforce','desk.js','querystring','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','limit','undefined','count','set','Content-Range'];(function(_0x464210,_0x55b40d){var _0x454b24=function(_0x6d60cc){while(--_0x6d60cc){_0x464210['push'](_0x464210['shift']());}};_0x454b24(++_0x55b40d);}(_0xe2e3,0xb5));var _0x3e2e=function(_0x2763f2,_0x416af8){_0x2763f2=_0x2763f2-0x0;var _0x3ef471=_0xe2e3[_0x2763f2];return _0x3ef471;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x3e2e('0x0'));var jsonpatch=require(_0x3e2e('0x1'));var rp=require(_0x3e2e('0x2'));var moment=require(_0x3e2e('0x3'));var BPromise=require(_0x3e2e('0x4'));var Mustache=require(_0x3e2e('0x5'));var util=require(_0x3e2e('0x6'));var path=require('path');var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x3e2e('0x7'));var fs=require('fs');var fs_extra=require(_0x3e2e('0x8'));var _=require(_0x3e2e('0x9'));var squel=require(_0x3e2e('0xa'));var crypto=require('crypto');var jsforce=require(_0x3e2e('0xb'));var deskjs=require(_0x3e2e('0xc'));var toCsv=require('to-csv');var querystring=require(_0x3e2e('0xd'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x3e2e('0xe'));var as=require(_0x3e2e('0xf'));var hardwareService=require(_0x3e2e('0x10'));var logger=require('../../config/logger')(_0x3e2e('0x11'));var utils=require(_0x3e2e('0x12'));var config=require(_0x3e2e('0x13'));var licenseUtil=require(_0x3e2e('0x14'));var db=require(_0x3e2e('0x15'))['db'];function respondWithStatusCode(_0x3ef7a6,_0x2d1bfa){_0x2d1bfa=_0x2d1bfa||0xcc;return function(_0x2d1d60){if(_0x2d1d60){return _0x3ef7a6[_0x3e2e('0x16')](_0x2d1bfa);}return _0x3ef7a6[_0x3e2e('0x17')](_0x2d1bfa)[_0x3e2e('0x18')]();};}function respondWithResult(_0x34d700,_0x900c51){_0x900c51=_0x900c51||0xc8;return function(_0x426f5f){if(_0x426f5f){return _0x34d700[_0x3e2e('0x17')](_0x900c51)[_0x3e2e('0x19')](_0x426f5f);}};}function respondWithFilteredResult(_0x12125f,_0x384085){return function(_0x423221){if(_0x423221){var _0x5c6930=typeof _0x384085[_0x3e2e('0x1a')]==='undefined'&&typeof _0x384085[_0x3e2e('0x1b')]===_0x3e2e('0x1c');var _0xcf30ba=_0x423221['count'];var _0x1792d1=_0x5c6930?0x0:_0x384085[_0x3e2e('0x1a')];var _0x405945=_0x5c6930?_0x423221[_0x3e2e('0x1d')]:_0x384085['offset']+_0x384085[_0x3e2e('0x1b')];var _0x3351c0;if(_0x405945>=_0xcf30ba){_0x405945=_0xcf30ba;_0x3351c0=0xc8;}else{_0x3351c0=0xce;}_0x12125f[_0x3e2e('0x17')](_0x3351c0);return _0x12125f[_0x3e2e('0x1e')](_0x3e2e('0x1f'),_0x1792d1+'-'+_0x405945+'/'+_0xcf30ba)[_0x3e2e('0x19')](_0x423221);}return null;};}function patchUpdates(_0x18efdf){return function(_0x5e5b95){try{jsonpatch[_0x3e2e('0x20')](_0x5e5b95,_0x18efdf,!![]);}catch(_0x126db){return BPromise[_0x3e2e('0x21')](_0x126db);}return _0x5e5b95[_0x3e2e('0x22')]();};}function saveUpdates(_0x5c4fd3,_0x3fe47e){return function(_0x17913c){if(_0x17913c){return _0x17913c['update'](_0x5c4fd3)[_0x3e2e('0x23')](function(_0x106043){return _0x106043;});}return null;};}function removeEntity(_0x4bb8b4,_0x493ef4){return function(_0x45f2fc){if(_0x45f2fc){return _0x45f2fc[_0x3e2e('0x24')]()[_0x3e2e('0x23')](function(){_0x4bb8b4[_0x3e2e('0x17')](0xcc)[_0x3e2e('0x18')]();});}};}function handleEntityNotFound(_0x2e9845,_0x43831c){return function(_0x13ea60){if(!_0x13ea60){_0x2e9845[_0x3e2e('0x16')](0x194);}return _0x13ea60;};}function handleError(_0x108894,_0x1dac5a){_0x1dac5a=_0x1dac5a||0x1f4;return function(_0x376654){logger[_0x3e2e('0x25')](_0x376654[_0x3e2e('0x26')]);if(_0x376654['name']){delete _0x376654[_0x3e2e('0x27')];}_0x108894[_0x3e2e('0x17')](_0x1dac5a)[_0x3e2e('0x28')](_0x376654);};}exports[_0x3e2e('0x29')]=function(_0x132883,_0x14037f){var _0x395d28={},_0x34ac9c={},_0x22e45a={'count':0x0,'rows':[]};var _0x5b5728=_['map'](db[_0x3e2e('0x2a')][_0x3e2e('0x2b')],function(_0x2f6f41){return{'name':_0x2f6f41[_0x3e2e('0x2c')],'type':_0x2f6f41[_0x3e2e('0x2d')]['key']};});_0x34ac9c[_0x3e2e('0x2e')]=_[_0x3e2e('0x2f')](_0x5b5728,_0x3e2e('0x27'));_0x34ac9c[_0x3e2e('0x30')]=_[_0x3e2e('0x31')](_0x132883['query']);_0x34ac9c[_0x3e2e('0x32')]=_[_0x3e2e('0x33')](_0x34ac9c['model'],_0x34ac9c[_0x3e2e('0x30')]);_0x395d28[_0x3e2e('0x34')]=_[_0x3e2e('0x33')](_0x34ac9c[_0x3e2e('0x2e')],qs['fields'](_0x132883[_0x3e2e('0x30')][_0x3e2e('0x35')]));_0x395d28[_0x3e2e('0x34')]=_0x395d28[_0x3e2e('0x34')]['length']?_0x395d28[_0x3e2e('0x34')]:_0x34ac9c['model'];if(!_0x132883['query']['hasOwnProperty'](_0x3e2e('0x36'))){_0x395d28[_0x3e2e('0x1b')]=qs[_0x3e2e('0x1b')](_0x132883[_0x3e2e('0x30')][_0x3e2e('0x1b')]);_0x395d28[_0x3e2e('0x1a')]=qs[_0x3e2e('0x1a')](_0x132883[_0x3e2e('0x30')][_0x3e2e('0x1a')]);}_0x395d28[_0x3e2e('0x37')]=qs[_0x3e2e('0x38')](_0x132883[_0x3e2e('0x30')][_0x3e2e('0x38')]);_0x395d28[_0x3e2e('0x39')]=qs[_0x3e2e('0x32')](_[_0x3e2e('0x3a')](_0x132883[_0x3e2e('0x30')],_0x34ac9c[_0x3e2e('0x32')]),_0x5b5728);if(_0x132883[_0x3e2e('0x30')]['filter']){_0x395d28['where']=_[_0x3e2e('0x3b')](_0x395d28[_0x3e2e('0x39')],{'$or':_[_0x3e2e('0x2f')](_0x5b5728,function(_0x2bca48){if(_0x2bca48[_0x3e2e('0x2d')]!==_0x3e2e('0x3c')){var _0x317080={};_0x317080[_0x2bca48[_0x3e2e('0x27')]]={'$like':'%'+_0x132883['query']['filter']+'%'};return _0x317080;}})});}_0x395d28=_[_0x3e2e('0x3b')]({},_0x395d28,_0x132883['options']);var _0x211043={'where':_0x395d28[_0x3e2e('0x39')]};return db[_0x3e2e('0x2a')][_0x3e2e('0x1d')](_0x211043)['then'](function(_0x34af93){_0x22e45a[_0x3e2e('0x1d')]=_0x34af93;if(_0x132883[_0x3e2e('0x30')][_0x3e2e('0x3d')]){_0x395d28['include']=[{'all':!![]}];}return db[_0x3e2e('0x2a')][_0x3e2e('0x3e')](_0x395d28);})[_0x3e2e('0x23')](function(_0x40395e){_0x22e45a[_0x3e2e('0x3f')]=_0x40395e;return _0x22e45a;})[_0x3e2e('0x23')](respondWithFilteredResult(_0x14037f,_0x395d28))['catch'](handleError(_0x14037f,null));};exports[_0x3e2e('0x40')]=function(_0x17f01f,_0x2775b6){var _0x495d3f={'raw':!![],'where':{'id':_0x17f01f[_0x3e2e('0x41')]['id']}},_0x44f063={};_0x44f063[_0x3e2e('0x2e')]=_[_0x3e2e('0x31')](db['MailServerOut'][_0x3e2e('0x2b')]);_0x44f063['query']=_[_0x3e2e('0x31')](_0x17f01f[_0x3e2e('0x30')]);_0x44f063[_0x3e2e('0x32')]=_[_0x3e2e('0x33')](_0x44f063[_0x3e2e('0x2e')],_0x44f063['query']);_0x495d3f['attributes']=_[_0x3e2e('0x33')](_0x44f063[_0x3e2e('0x2e')],qs[_0x3e2e('0x35')](_0x17f01f[_0x3e2e('0x30')][_0x3e2e('0x35')]));_0x495d3f[_0x3e2e('0x34')]=_0x495d3f[_0x3e2e('0x34')]['length']?_0x495d3f[_0x3e2e('0x34')]:_0x44f063[_0x3e2e('0x2e')];if(_0x17f01f[_0x3e2e('0x30')]['includeAll']){_0x495d3f['include']=[{'all':!![]}];}_0x495d3f=_[_0x3e2e('0x3b')]({},_0x495d3f,_0x17f01f[_0x3e2e('0x42')]);return db[_0x3e2e('0x2a')][_0x3e2e('0x43')](_0x495d3f)[_0x3e2e('0x23')](handleEntityNotFound(_0x2775b6,null))[_0x3e2e('0x23')](respondWithResult(_0x2775b6,null))[_0x3e2e('0x44')](handleError(_0x2775b6,null));};exports['create']=function(_0x16db69,_0x2d1d23){return db['MailServerOut']['create'](_0x16db69[_0x3e2e('0x45')],{})['then'](respondWithResult(_0x2d1d23,0xc9))[_0x3e2e('0x44')](handleError(_0x2d1d23,null));};exports[_0x3e2e('0x46')]=function(_0xf3dcc5,_0x2ed0e3){if(_0xf3dcc5[_0x3e2e('0x45')]['id']){delete _0xf3dcc5['body']['id'];}return db[_0x3e2e('0x2a')]['find']({'where':{'id':_0xf3dcc5[_0x3e2e('0x41')]['id']}})['then'](handleEntityNotFound(_0x2ed0e3,null))['then'](saveUpdates(_0xf3dcc5[_0x3e2e('0x45')],null))['then'](respondWithResult(_0x2ed0e3,null))['catch'](handleError(_0x2ed0e3,null));};exports[_0x3e2e('0x24')]=function(_0x56984f,_0x10c72d){return db[_0x3e2e('0x2a')][_0x3e2e('0x43')]({'where':{'id':_0x56984f[_0x3e2e('0x41')]['id']}})[_0x3e2e('0x23')](handleEntityNotFound(_0x10c72d,null))[_0x3e2e('0x23')](removeEntity(_0x10c72d,null))[_0x3e2e('0x44')](handleError(_0x10c72d,null));};