b305463c1e8130b589b99d273b4f8c030062ee99
[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 _0x5884=['findAll','catch','params','find','create','body','eml-format','rimraf','zip-dir','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','status','end','json','offset','undefined','limit','count','set','update','then','sendStatus','error','stack','name','send','map','MailServerOut','rawAttributes','fieldName','type','key','query','keys','filters','intersection','model','attributes','fields','hasOwnProperty','sort','where','pick','filter','merge','options','includeAll','include'];(function(_0xb1086c,_0x1777c1){var _0x115c56=function(_0x49b3f7){while(--_0x49b3f7){_0xb1086c['push'](_0xb1086c['shift']());}};_0x115c56(++_0x1777c1);}(_0x5884,0x15a));var _0x4588=function(_0x33fed4,_0x3d66b5){_0x33fed4=_0x33fed4-0x0;var _0x249158=_0x5884[_0x33fed4];return _0x249158;};'use strict';var emlformat=require(_0x4588('0x0'));var rimraf=require(_0x4588('0x1'));var zipdir=require(_0x4588('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x4588('0x3'));var moment=require('moment');var BPromise=require(_0x4588('0x4'));var Mustache=require(_0x4588('0x5'));var util=require(_0x4588('0x6'));var path=require(_0x4588('0x7'));var sox=require(_0x4588('0x8'));var csv=require(_0x4588('0x9'));var ejs=require(_0x4588('0xa'));var fs=require('fs');var fs_extra=require(_0x4588('0xb'));var _=require(_0x4588('0xc'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x4588('0xd'));var deskjs=require(_0x4588('0xe'));var toCsv=require(_0x4588('0x9'));var querystring=require(_0x4588('0xf'));var Papa=require('papaparse');var Redis=require(_0x4588('0x10'));var authService=require(_0x4588('0x11'));var qs=require(_0x4588('0x12'));var as=require(_0x4588('0x13'));var hardwareService=require(_0x4588('0x14'));var logger=require('../../config/logger')(_0x4588('0x15'));var utils=require(_0x4588('0x16'));var config=require(_0x4588('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0x4588('0x18'))['db'];function respondWithStatusCode(_0x367b35,_0x486961){_0x486961=_0x486961||0xcc;return function(_0x2bebaa){if(_0x2bebaa){return _0x367b35['sendStatus'](_0x486961);}return _0x367b35[_0x4588('0x19')](_0x486961)[_0x4588('0x1a')]();};}function respondWithResult(_0x1d2ec8,_0x291cf4){_0x291cf4=_0x291cf4||0xc8;return function(_0x435a17){if(_0x435a17){return _0x1d2ec8[_0x4588('0x19')](_0x291cf4)[_0x4588('0x1b')](_0x435a17);}};}function respondWithFilteredResult(_0x3e46,_0x2eebd3){return function(_0x29a0c1){if(_0x29a0c1){var _0x367a92=typeof _0x2eebd3[_0x4588('0x1c')]===_0x4588('0x1d')&&typeof _0x2eebd3[_0x4588('0x1e')]===_0x4588('0x1d');var _0xaf40c9=_0x29a0c1[_0x4588('0x1f')];var _0xca472d=_0x367a92?0x0:_0x2eebd3[_0x4588('0x1c')];var _0x2ddc6d=_0x367a92?_0x29a0c1['count']:_0x2eebd3['offset']+_0x2eebd3['limit'];var _0x5182f1;if(_0x2ddc6d>=_0xaf40c9){_0x2ddc6d=_0xaf40c9;_0x5182f1=0xc8;}else{_0x5182f1=0xce;}_0x3e46[_0x4588('0x19')](_0x5182f1);return _0x3e46[_0x4588('0x20')]('Content-Range',_0xca472d+'-'+_0x2ddc6d+'/'+_0xaf40c9)[_0x4588('0x1b')](_0x29a0c1);}return null;};}function patchUpdates(_0x1dcf21){return function(_0x986b80){try{jsonpatch['apply'](_0x986b80,_0x1dcf21,!![]);}catch(_0x3d0037){return BPromise['reject'](_0x3d0037);}return _0x986b80['save']();};}function saveUpdates(_0x221d3d,_0x5dbadf){return function(_0x39d658){if(_0x39d658){return _0x39d658[_0x4588('0x21')](_0x221d3d)[_0x4588('0x22')](function(_0x1f7927){return _0x1f7927;});}return null;};}function removeEntity(_0x425724,_0xa57fb2){return function(_0x33d545){if(_0x33d545){return _0x33d545['destroy']()[_0x4588('0x22')](function(){_0x425724['status'](0xcc)[_0x4588('0x1a')]();});}};}function handleEntityNotFound(_0x4a92e7,_0x5e8554){return function(_0x180b61){if(!_0x180b61){_0x4a92e7[_0x4588('0x23')](0x194);}return _0x180b61;};}function handleError(_0x1a52a7,_0x385a41){_0x385a41=_0x385a41||0x1f4;return function(_0x3a61e7){logger[_0x4588('0x24')](_0x3a61e7[_0x4588('0x25')]);if(_0x3a61e7[_0x4588('0x26')]){delete _0x3a61e7[_0x4588('0x26')];}_0x1a52a7[_0x4588('0x19')](_0x385a41)[_0x4588('0x27')](_0x3a61e7);};}exports['index']=function(_0x1f310e,_0x3ec1ce){var _0x6a47d0={},_0x614635={},_0x26144={'count':0x0,'rows':[]};var _0x48c2d2=_[_0x4588('0x28')](db[_0x4588('0x29')][_0x4588('0x2a')],function(_0x439ac4){return{'name':_0x439ac4[_0x4588('0x2b')],'type':_0x439ac4[_0x4588('0x2c')][_0x4588('0x2d')]};});_0x614635['model']=_[_0x4588('0x28')](_0x48c2d2,_0x4588('0x26'));_0x614635[_0x4588('0x2e')]=_[_0x4588('0x2f')](_0x1f310e[_0x4588('0x2e')]);_0x614635[_0x4588('0x30')]=_[_0x4588('0x31')](_0x614635[_0x4588('0x32')],_0x614635[_0x4588('0x2e')]);_0x6a47d0[_0x4588('0x33')]=_[_0x4588('0x31')](_0x614635['model'],qs[_0x4588('0x34')](_0x1f310e[_0x4588('0x2e')][_0x4588('0x34')]));_0x6a47d0[_0x4588('0x33')]=_0x6a47d0['attributes']['length']?_0x6a47d0['attributes']:_0x614635[_0x4588('0x32')];if(!_0x1f310e[_0x4588('0x2e')][_0x4588('0x35')]('nolimit')){_0x6a47d0[_0x4588('0x1e')]=qs[_0x4588('0x1e')](_0x1f310e[_0x4588('0x2e')][_0x4588('0x1e')]);_0x6a47d0[_0x4588('0x1c')]=qs[_0x4588('0x1c')](_0x1f310e[_0x4588('0x2e')][_0x4588('0x1c')]);}_0x6a47d0['order']=qs['sort'](_0x1f310e[_0x4588('0x2e')][_0x4588('0x36')]);_0x6a47d0[_0x4588('0x37')]=qs[_0x4588('0x30')](_[_0x4588('0x38')](_0x1f310e[_0x4588('0x2e')],_0x614635[_0x4588('0x30')]),_0x48c2d2);if(_0x1f310e[_0x4588('0x2e')][_0x4588('0x39')]){_0x6a47d0['where']=_[_0x4588('0x3a')](_0x6a47d0[_0x4588('0x37')],{'$or':_[_0x4588('0x28')](_0x48c2d2,function(_0xa73225){if(_0xa73225[_0x4588('0x2c')]!=='VIRTUAL'){var _0x3f7c28={};_0x3f7c28[_0xa73225[_0x4588('0x26')]]={'$like':'%'+_0x1f310e[_0x4588('0x2e')][_0x4588('0x39')]+'%'};return _0x3f7c28;}})});}_0x6a47d0=_[_0x4588('0x3a')]({},_0x6a47d0,_0x1f310e[_0x4588('0x3b')]);var _0x11e348={'where':_0x6a47d0[_0x4588('0x37')]};return db[_0x4588('0x29')][_0x4588('0x1f')](_0x11e348)[_0x4588('0x22')](function(_0x3a461e){_0x26144[_0x4588('0x1f')]=_0x3a461e;if(_0x1f310e['query'][_0x4588('0x3c')]){_0x6a47d0[_0x4588('0x3d')]=[{'all':!![]}];}return db[_0x4588('0x29')][_0x4588('0x3e')](_0x6a47d0);})[_0x4588('0x22')](function(_0x18db89){_0x26144['rows']=_0x18db89;return _0x26144;})[_0x4588('0x22')](respondWithFilteredResult(_0x3ec1ce,_0x6a47d0))[_0x4588('0x3f')](handleError(_0x3ec1ce,null));};exports['show']=function(_0x115f52,_0x505f1e){var _0xcb4d50={'raw':!![],'where':{'id':_0x115f52[_0x4588('0x40')]['id']}},_0x2ed94d={};_0x2ed94d['model']=_['keys'](db['MailServerOut']['rawAttributes']);_0x2ed94d[_0x4588('0x2e')]=_['keys'](_0x115f52[_0x4588('0x2e')]);_0x2ed94d['filters']=_['intersection'](_0x2ed94d[_0x4588('0x32')],_0x2ed94d[_0x4588('0x2e')]);_0xcb4d50[_0x4588('0x33')]=_[_0x4588('0x31')](_0x2ed94d[_0x4588('0x32')],qs['fields'](_0x115f52[_0x4588('0x2e')][_0x4588('0x34')]));_0xcb4d50[_0x4588('0x33')]=_0xcb4d50[_0x4588('0x33')]['length']?_0xcb4d50['attributes']:_0x2ed94d[_0x4588('0x32')];if(_0x115f52[_0x4588('0x2e')][_0x4588('0x3c')]){_0xcb4d50[_0x4588('0x3d')]=[{'all':!![]}];}_0xcb4d50=_['merge']({},_0xcb4d50,_0x115f52[_0x4588('0x3b')]);return db[_0x4588('0x29')][_0x4588('0x41')](_0xcb4d50)[_0x4588('0x22')](handleEntityNotFound(_0x505f1e,null))[_0x4588('0x22')](respondWithResult(_0x505f1e,null))['catch'](handleError(_0x505f1e,null));};exports[_0x4588('0x42')]=function(_0x55fd32,_0x5f3932){return db['MailServerOut']['create'](_0x55fd32['body'],{})[_0x4588('0x22')](respondWithResult(_0x5f3932,0xc9))[_0x4588('0x3f')](handleError(_0x5f3932,null));};exports[_0x4588('0x21')]=function(_0x4ba981,_0x5a4bc6){if(_0x4ba981[_0x4588('0x43')]['id']){delete _0x4ba981[_0x4588('0x43')]['id'];}return db[_0x4588('0x29')][_0x4588('0x41')]({'where':{'id':_0x4ba981[_0x4588('0x40')]['id']}})['then'](handleEntityNotFound(_0x5a4bc6,null))[_0x4588('0x22')](saveUpdates(_0x4ba981[_0x4588('0x43')],null))[_0x4588('0x22')](respondWithResult(_0x5a4bc6,null))[_0x4588('0x3f')](handleError(_0x5a4bc6,null));};exports['destroy']=function(_0x577324,_0x1a84b9){return db[_0x4588('0x29')]['find']({'where':{'id':_0x577324[_0x4588('0x40')]['id']}})['then'](handleEntityNotFound(_0x1a84b9,null))[_0x4588('0x22')](removeEntity(_0x1a84b9,null))[_0x4588('0x3f')](handleError(_0x1a84b9,null));};