Built motion from commit 9d7072cc.|2.5.39
[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 _0x2ab3=['bluebird','mustache','sox','to-csv','lodash','squel','crypto','jsforce','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','limit','undefined','count','set','Content-Range','apply','reject','save','update','then','destroy','end','error','stack','index','MailServerOut','rawAttributes','fieldName','type','map','query','model','fields','attributes','length','hasOwnProperty','nolimit','order','sort','filters','pick','where','merge','VIRTUAL','name','options','includeAll','include','findAll','catch','show','params','keys','intersection','find','create','body','eml-format','rimraf','fast-json-patch','request-promise','moment'];(function(_0x420958,_0x2b6cf9){var _0x303053=function(_0xe29d86){while(--_0xe29d86){_0x420958['push'](_0x420958['shift']());}};_0x303053(++_0x2b6cf9);}(_0x2ab3,0x11f));var _0x32ab=function(_0xe1a3a5,_0xd3e341){_0xe1a3a5=_0xe1a3a5-0x0;var _0x362646=_0x2ab3[_0xe1a3a5];return _0x362646;};'use strict';var emlformat=require(_0x32ab('0x0'));var rimraf=require(_0x32ab('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x32ab('0x2'));var rp=require(_0x32ab('0x3'));var moment=require(_0x32ab('0x4'));var BPromise=require(_0x32ab('0x5'));var Mustache=require(_0x32ab('0x6'));var util=require('util');var path=require('path');var sox=require(_0x32ab('0x7'));var csv=require(_0x32ab('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x32ab('0x9'));var squel=require(_0x32ab('0xa'));var crypto=require(_0x32ab('0xb'));var jsforce=require(_0x32ab('0xc'));var deskjs=require('desk.js');var toCsv=require(_0x32ab('0x8'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x32ab('0xd'));var authService=require(_0x32ab('0xe'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x32ab('0xf'));var logger=require(_0x32ab('0x10'))(_0x32ab('0x11'));var utils=require(_0x32ab('0x12'));var config=require(_0x32ab('0x13'));var licenseUtil=require(_0x32ab('0x14'));var db=require(_0x32ab('0x15'))['db'];function respondWithStatusCode(_0x31947c,_0x3d5a1a){_0x3d5a1a=_0x3d5a1a||0xcc;return function(_0x4c377f){if(_0x4c377f){return _0x31947c[_0x32ab('0x16')](_0x3d5a1a);}return _0x31947c['status'](_0x3d5a1a)['end']();};}function respondWithResult(_0x520576,_0x397bf1){_0x397bf1=_0x397bf1||0xc8;return function(_0x19d770){if(_0x19d770){return _0x520576[_0x32ab('0x17')](_0x397bf1)[_0x32ab('0x18')](_0x19d770);}};}function respondWithFilteredResult(_0x5f0c82,_0x50d66d){return function(_0xcd65ff){if(_0xcd65ff){var _0x504296=typeof _0x50d66d[_0x32ab('0x19')]==='undefined'&&typeof _0x50d66d[_0x32ab('0x1a')]===_0x32ab('0x1b');var _0x4a0efa=_0xcd65ff[_0x32ab('0x1c')];var _0x33a6c5=_0x504296?0x0:_0x50d66d[_0x32ab('0x19')];var _0x4668c4=_0x504296?_0xcd65ff[_0x32ab('0x1c')]:_0x50d66d[_0x32ab('0x19')]+_0x50d66d['limit'];var _0x5d04fd;if(_0x4668c4>=_0x4a0efa){_0x4668c4=_0x4a0efa;_0x5d04fd=0xc8;}else{_0x5d04fd=0xce;}_0x5f0c82[_0x32ab('0x17')](_0x5d04fd);return _0x5f0c82[_0x32ab('0x1d')](_0x32ab('0x1e'),_0x33a6c5+'-'+_0x4668c4+'/'+_0x4a0efa)[_0x32ab('0x18')](_0xcd65ff);}return null;};}function patchUpdates(_0x345db4){return function(_0x4a90d1){try{jsonpatch[_0x32ab('0x1f')](_0x4a90d1,_0x345db4,!![]);}catch(_0x4269b6){return BPromise[_0x32ab('0x20')](_0x4269b6);}return _0x4a90d1[_0x32ab('0x21')]();};}function saveUpdates(_0x579e84,_0x44d9cc){return function(_0x58c8dd){if(_0x58c8dd){return _0x58c8dd[_0x32ab('0x22')](_0x579e84)[_0x32ab('0x23')](function(_0x297a43){return _0x297a43;});}return null;};}function removeEntity(_0x45bea4,_0x59ff7d){return function(_0x4062c5){if(_0x4062c5){return _0x4062c5[_0x32ab('0x24')]()[_0x32ab('0x23')](function(){_0x45bea4['status'](0xcc)[_0x32ab('0x25')]();});}};}function handleEntityNotFound(_0x23fcd0,_0x1e732c){return function(_0x54fd36){if(!_0x54fd36){_0x23fcd0[_0x32ab('0x16')](0x194);}return _0x54fd36;};}function handleError(_0x97afdb,_0xf3ca05){_0xf3ca05=_0xf3ca05||0x1f4;return function(_0x28b94f){logger[_0x32ab('0x26')](_0x28b94f[_0x32ab('0x27')]);if(_0x28b94f['name']){delete _0x28b94f['name'];}_0x97afdb['status'](_0xf3ca05)['send'](_0x28b94f);};}exports[_0x32ab('0x28')]=function(_0x13f0cd,_0x3d1288){var _0x119258={},_0x232813={},_0x11ec77={'count':0x0,'rows':[]};var _0x1795b3=_['map'](db[_0x32ab('0x29')][_0x32ab('0x2a')],function(_0x540e1c){return{'name':_0x540e1c[_0x32ab('0x2b')],'type':_0x540e1c[_0x32ab('0x2c')]['key']};});_0x232813['model']=_[_0x32ab('0x2d')](_0x1795b3,'name');_0x232813[_0x32ab('0x2e')]=_['keys'](_0x13f0cd[_0x32ab('0x2e')]);_0x232813['filters']=_['intersection'](_0x232813[_0x32ab('0x2f')],_0x232813[_0x32ab('0x2e')]);_0x119258['attributes']=_['intersection'](_0x232813[_0x32ab('0x2f')],qs[_0x32ab('0x30')](_0x13f0cd[_0x32ab('0x2e')][_0x32ab('0x30')]));_0x119258['attributes']=_0x119258[_0x32ab('0x31')][_0x32ab('0x32')]?_0x119258[_0x32ab('0x31')]:_0x232813[_0x32ab('0x2f')];if(!_0x13f0cd[_0x32ab('0x2e')][_0x32ab('0x33')](_0x32ab('0x34'))){_0x119258[_0x32ab('0x1a')]=qs['limit'](_0x13f0cd['query'][_0x32ab('0x1a')]);_0x119258[_0x32ab('0x19')]=qs['offset'](_0x13f0cd[_0x32ab('0x2e')][_0x32ab('0x19')]);}_0x119258[_0x32ab('0x35')]=qs['sort'](_0x13f0cd[_0x32ab('0x2e')][_0x32ab('0x36')]);_0x119258['where']=qs[_0x32ab('0x37')](_[_0x32ab('0x38')](_0x13f0cd[_0x32ab('0x2e')],_0x232813[_0x32ab('0x37')]),_0x1795b3);if(_0x13f0cd[_0x32ab('0x2e')]['filter']){_0x119258[_0x32ab('0x39')]=_[_0x32ab('0x3a')](_0x119258[_0x32ab('0x39')],{'$or':_['map'](_0x1795b3,function(_0x1e7ba1){if(_0x1e7ba1['type']!==_0x32ab('0x3b')){var _0x49e2db={};_0x49e2db[_0x1e7ba1[_0x32ab('0x3c')]]={'$like':'%'+_0x13f0cd['query']['filter']+'%'};return _0x49e2db;}})});}_0x119258=_[_0x32ab('0x3a')]({},_0x119258,_0x13f0cd[_0x32ab('0x3d')]);var _0x7b2172={'where':_0x119258[_0x32ab('0x39')]};return db[_0x32ab('0x29')][_0x32ab('0x1c')](_0x7b2172)[_0x32ab('0x23')](function(_0x19cbf4){_0x11ec77[_0x32ab('0x1c')]=_0x19cbf4;if(_0x13f0cd[_0x32ab('0x2e')][_0x32ab('0x3e')]){_0x119258[_0x32ab('0x3f')]=[{'all':!![]}];}return db[_0x32ab('0x29')][_0x32ab('0x40')](_0x119258);})[_0x32ab('0x23')](function(_0x452cf5){_0x11ec77['rows']=_0x452cf5;return _0x11ec77;})[_0x32ab('0x23')](respondWithFilteredResult(_0x3d1288,_0x119258))[_0x32ab('0x41')](handleError(_0x3d1288,null));};exports[_0x32ab('0x42')]=function(_0x539b23,_0x2de6d9){var _0x3b0248={'raw':!![],'where':{'id':_0x539b23[_0x32ab('0x43')]['id']}},_0x229b36={};_0x229b36[_0x32ab('0x2f')]=_['keys'](db[_0x32ab('0x29')][_0x32ab('0x2a')]);_0x229b36[_0x32ab('0x2e')]=_[_0x32ab('0x44')](_0x539b23['query']);_0x229b36[_0x32ab('0x37')]=_[_0x32ab('0x45')](_0x229b36[_0x32ab('0x2f')],_0x229b36[_0x32ab('0x2e')]);_0x3b0248[_0x32ab('0x31')]=_[_0x32ab('0x45')](_0x229b36[_0x32ab('0x2f')],qs[_0x32ab('0x30')](_0x539b23[_0x32ab('0x2e')][_0x32ab('0x30')]));_0x3b0248[_0x32ab('0x31')]=_0x3b0248[_0x32ab('0x31')][_0x32ab('0x32')]?_0x3b0248[_0x32ab('0x31')]:_0x229b36[_0x32ab('0x2f')];if(_0x539b23[_0x32ab('0x2e')][_0x32ab('0x3e')]){_0x3b0248['include']=[{'all':!![]}];}_0x3b0248=_['merge']({},_0x3b0248,_0x539b23[_0x32ab('0x3d')]);return db[_0x32ab('0x29')][_0x32ab('0x46')](_0x3b0248)['then'](handleEntityNotFound(_0x2de6d9,null))[_0x32ab('0x23')](respondWithResult(_0x2de6d9,null))[_0x32ab('0x41')](handleError(_0x2de6d9,null));};exports[_0x32ab('0x47')]=function(_0x6d42d5,_0x238d22){return db[_0x32ab('0x29')][_0x32ab('0x47')](_0x6d42d5['body'],{})[_0x32ab('0x23')](respondWithResult(_0x238d22,0xc9))[_0x32ab('0x41')](handleError(_0x238d22,null));};exports[_0x32ab('0x22')]=function(_0x3acbe2,_0x6ef520){if(_0x3acbe2[_0x32ab('0x48')]['id']){delete _0x3acbe2[_0x32ab('0x48')]['id'];}return db[_0x32ab('0x29')][_0x32ab('0x46')]({'where':{'id':_0x3acbe2[_0x32ab('0x43')]['id']}})[_0x32ab('0x23')](handleEntityNotFound(_0x6ef520,null))[_0x32ab('0x23')](saveUpdates(_0x3acbe2[_0x32ab('0x48')],null))['then'](respondWithResult(_0x6ef520,null))[_0x32ab('0x41')](handleError(_0x6ef520,null));};exports[_0x32ab('0x24')]=function(_0x28dd97,_0x16abc4){return db[_0x32ab('0x29')][_0x32ab('0x46')]({'where':{'id':_0x28dd97[_0x32ab('0x43')]['id']}})[_0x32ab('0x23')](handleEntityNotFound(_0x16abc4,null))[_0x32ab('0x23')](removeEntity(_0x16abc4,null))[_0x32ab('0x41')](handleError(_0x16abc4,null));};