7451168398c8ecc15bcf81f27fa8396e29c6e00c
[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 _0x36ee=['count','offset','limit','set','Content-Range','apply','reject','save','update','then','destroy','error','stack','name','send','index','rawAttributes','fieldName','type','key','model','map','query','filters','intersection','attributes','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','MailServerOut','includeAll','include','findAll','rows','catch','show','params','keys','fields','options','find','create','body','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','mustache','util','sox','to-csv','ejs','squel','crypto','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json'];(function(_0x468e05,_0xeb660b){var _0x27c90c=function(_0x709c6b){while(--_0x709c6b){_0x468e05['push'](_0x468e05['shift']());}};_0x27c90c(++_0xeb660b);}(_0x36ee,0x11e));var _0xe36e=function(_0x3bf83f,_0x181cac){_0x3bf83f=_0x3bf83f-0x0;var _0x22c4a9=_0x36ee[_0x3bf83f];return _0x22c4a9;};'use strict';var pdf=require(_0xe36e('0x0'));var emlformat=require(_0xe36e('0x1'));var rimraf=require(_0xe36e('0x2'));var zipdir=require(_0xe36e('0x3'));var jsonpatch=require(_0xe36e('0x4'));var rp=require(_0xe36e('0x5'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xe36e('0x6'));var util=require(_0xe36e('0x7'));var path=require('path');var sox=require(_0xe36e('0x8'));var csv=require(_0xe36e('0x9'));var ejs=require(_0xe36e('0xa'));var fs=require('fs');var _=require('lodash');var squel=require(_0xe36e('0xb'));var crypto=require(_0xe36e('0xc'));var jsforce=require('jsforce');var deskjs=require(_0xe36e('0xd'));var toCsv=require(_0xe36e('0x9'));var querystring=require(_0xe36e('0xe'));var Papa=require(_0xe36e('0xf'));var Redis=require('ioredis');var authService=require(_0xe36e('0x10'));var qs=require(_0xe36e('0x11'));var as=require(_0xe36e('0x12'));var hardwareService=require(_0xe36e('0x13'));var logger=require(_0xe36e('0x14'))(_0xe36e('0x15'));var utils=require(_0xe36e('0x16'));var config=require(_0xe36e('0x17'));var licenseUtil=require(_0xe36e('0x18'));var db=require(_0xe36e('0x19'))['db'];function respondWithStatusCode(_0x3ab2d7,_0x208a17){_0x208a17=_0x208a17||0xcc;return function(_0xda86f){if(_0xda86f){return _0x3ab2d7[_0xe36e('0x1a')](_0x208a17);}return _0x3ab2d7[_0xe36e('0x1b')](_0x208a17)[_0xe36e('0x1c')]();};}function respondWithResult(_0x3f4380,_0x21a182){_0x21a182=_0x21a182||0xc8;return function(_0x57e8e2){if(_0x57e8e2){return _0x3f4380['status'](_0x21a182)[_0xe36e('0x1d')](_0x57e8e2);}};}function respondWithFilteredResult(_0x2f2aa1,_0x46e199){return function(_0x2c90f0){if(_0x2c90f0){var _0x4548d2=_0x2c90f0[_0xe36e('0x1e')],_0xb6485c=_0x46e199[_0xe36e('0x1f')],_0x29beff=_0x46e199[_0xe36e('0x1f')]+_0x46e199[_0xe36e('0x20')],_0x20639f;if(_0x29beff>=_0x4548d2){_0x29beff=_0x4548d2;_0x20639f=0xc8;}else{_0x20639f=0xce;}_0x2f2aa1[_0xe36e('0x1b')](_0x20639f);return _0x2f2aa1[_0xe36e('0x21')](_0xe36e('0x22'),_0xb6485c+'-'+_0x29beff+'/'+_0x4548d2)[_0xe36e('0x1d')](_0x2c90f0);}return null;};}function patchUpdates(_0x1a6997){return function(_0x3bf7e9){try{jsonpatch[_0xe36e('0x23')](_0x3bf7e9,_0x1a6997,!![]);}catch(_0x37a75a){return BPromise[_0xe36e('0x24')](_0x37a75a);}return _0x3bf7e9[_0xe36e('0x25')]();};}function saveUpdates(_0x1de14d,_0x218b8c){return function(_0x29fca0){if(_0x29fca0){return _0x29fca0[_0xe36e('0x26')](_0x1de14d)[_0xe36e('0x27')](function(_0x1d786a){return _0x1d786a;});}return null;};}function removeEntity(_0x45e3d3,_0x46a3f9){return function(_0x2ea7a9){if(_0x2ea7a9){return _0x2ea7a9[_0xe36e('0x28')]()[_0xe36e('0x27')](function(){_0x45e3d3[_0xe36e('0x1b')](0xcc)[_0xe36e('0x1c')]();});}};}function handleEntityNotFound(_0x481488,_0x3710ab){return function(_0x29c3c0){if(!_0x29c3c0){_0x481488[_0xe36e('0x1a')](0x194);}return _0x29c3c0;};}function handleError(_0x43896d,_0x413d47){_0x413d47=_0x413d47||0x1f4;return function(_0x4912ee){logger[_0xe36e('0x29')](_0x4912ee[_0xe36e('0x2a')]);if(_0x4912ee['name']){delete _0x4912ee[_0xe36e('0x2b')];}_0x43896d[_0xe36e('0x1b')](_0x413d47)[_0xe36e('0x2c')](_0x4912ee);};}exports[_0xe36e('0x2d')]=function(_0x36c852,_0xff20bc){var _0xa5c6fa={},_0x27daa4={},_0x381169={'count':0x0,'rows':[]};var _0x19eba1=_['map'](db['MailServerOut'][_0xe36e('0x2e')],function(_0x26d1c3){return{'name':_0x26d1c3[_0xe36e('0x2f')],'type':_0x26d1c3[_0xe36e('0x30')][_0xe36e('0x31')]};});_0x27daa4[_0xe36e('0x32')]=_[_0xe36e('0x33')](_0x19eba1,_0xe36e('0x2b'));_0x27daa4[_0xe36e('0x34')]=_['keys'](_0x36c852[_0xe36e('0x34')]);_0x27daa4[_0xe36e('0x35')]=_[_0xe36e('0x36')](_0x27daa4['model'],_0x27daa4[_0xe36e('0x34')]);_0xa5c6fa['attributes']=_[_0xe36e('0x36')](_0x27daa4[_0xe36e('0x32')],qs['fields'](_0x36c852[_0xe36e('0x34')]['fields']));_0xa5c6fa[_0xe36e('0x37')]=_0xa5c6fa[_0xe36e('0x37')]['length']?_0xa5c6fa[_0xe36e('0x37')]:_0x27daa4['model'];if(!_0x36c852[_0xe36e('0x34')][_0xe36e('0x38')](_0xe36e('0x39'))){_0xa5c6fa[_0xe36e('0x20')]=qs[_0xe36e('0x20')](_0x36c852[_0xe36e('0x34')][_0xe36e('0x20')]);_0xa5c6fa['offset']=qs[_0xe36e('0x1f')](_0x36c852[_0xe36e('0x34')][_0xe36e('0x1f')]);}_0xa5c6fa[_0xe36e('0x3a')]=qs['sort'](_0x36c852['query'][_0xe36e('0x3b')]);_0xa5c6fa[_0xe36e('0x3c')]=qs['filters'](_[_0xe36e('0x3d')](_0x36c852[_0xe36e('0x34')],_0x27daa4[_0xe36e('0x35')]),_0x19eba1);if(_0x36c852['query'][_0xe36e('0x3e')]){_0xa5c6fa[_0xe36e('0x3c')]=_[_0xe36e('0x3f')](_0xa5c6fa[_0xe36e('0x3c')],{'$or':_['map'](_0x19eba1,function(_0xa7731d){if(_0xa7731d['type']!==_0xe36e('0x40')){var _0x1dc633={};_0x1dc633[_0xa7731d[_0xe36e('0x2b')]]={'$like':'%'+_0x36c852['query']['filter']+'%'};return _0x1dc633;}})});}_0xa5c6fa=_[_0xe36e('0x3f')]({},_0xa5c6fa,_0x36c852['options']);var _0x219082={'where':_0xa5c6fa[_0xe36e('0x3c')]};return db[_0xe36e('0x41')][_0xe36e('0x1e')](_0x219082)['then'](function(_0x118d04){_0x381169['count']=_0x118d04;if(_0x36c852['query'][_0xe36e('0x42')]){_0xa5c6fa[_0xe36e('0x43')]=[{'all':!![]}];}return db[_0xe36e('0x41')][_0xe36e('0x44')](_0xa5c6fa);})['then'](function(_0xb01f0f){_0x381169[_0xe36e('0x45')]=_0xb01f0f;return _0x381169;})[_0xe36e('0x27')](respondWithFilteredResult(_0xff20bc,_0xa5c6fa))[_0xe36e('0x46')](handleError(_0xff20bc,null));};exports[_0xe36e('0x47')]=function(_0x1eb17e,_0x169635){var _0x2fee7a={'raw':!![],'where':{'id':_0x1eb17e[_0xe36e('0x48')]['id']}},_0x2cc150={};_0x2cc150['model']=_[_0xe36e('0x49')](db[_0xe36e('0x41')][_0xe36e('0x2e')]);_0x2cc150[_0xe36e('0x34')]=_['keys'](_0x1eb17e['query']);_0x2cc150['filters']=_[_0xe36e('0x36')](_0x2cc150['model'],_0x2cc150[_0xe36e('0x34')]);_0x2fee7a[_0xe36e('0x37')]=_['intersection'](_0x2cc150[_0xe36e('0x32')],qs[_0xe36e('0x4a')](_0x1eb17e[_0xe36e('0x34')][_0xe36e('0x4a')]));_0x2fee7a[_0xe36e('0x37')]=_0x2fee7a[_0xe36e('0x37')]['length']?_0x2fee7a[_0xe36e('0x37')]:_0x2cc150[_0xe36e('0x32')];if(_0x1eb17e['query'][_0xe36e('0x42')]){_0x2fee7a[_0xe36e('0x43')]=[{'all':!![]}];}_0x2fee7a=_['merge']({},_0x2fee7a,_0x1eb17e[_0xe36e('0x4b')]);return db[_0xe36e('0x41')][_0xe36e('0x4c')](_0x2fee7a)[_0xe36e('0x27')](handleEntityNotFound(_0x169635,null))[_0xe36e('0x27')](respondWithResult(_0x169635,null))['catch'](handleError(_0x169635,null));};exports[_0xe36e('0x4d')]=function(_0x7de536,_0x536331){return db[_0xe36e('0x41')][_0xe36e('0x4d')](_0x7de536['body'],{})[_0xe36e('0x27')](respondWithResult(_0x536331,0xc9))[_0xe36e('0x46')](handleError(_0x536331,null));};exports[_0xe36e('0x26')]=function(_0x49709d,_0x367143){if(_0x49709d[_0xe36e('0x4e')]['id']){delete _0x49709d['body']['id'];}return db[_0xe36e('0x41')]['find']({'where':{'id':_0x49709d[_0xe36e('0x48')]['id']}})[_0xe36e('0x27')](handleEntityNotFound(_0x367143,null))[_0xe36e('0x27')](saveUpdates(_0x49709d['body'],null))[_0xe36e('0x27')](respondWithResult(_0x367143,null))[_0xe36e('0x46')](handleError(_0x367143,null));};exports[_0xe36e('0x28')]=function(_0x1ba0f9,_0x2fc726){return db[_0xe36e('0x41')][_0xe36e('0x4c')]({'where':{'id':_0x1ba0f9['params']['id']}})[_0xe36e('0x27')](handleEntityNotFound(_0x2fc726,null))[_0xe36e('0x27')](removeEntity(_0x2fc726,null))[_0xe36e('0x46')](handleError(_0x2fc726,null));};