6236513b510f85f20f8f47a70e2fe0b7a16ef497
[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 _0x7275=['status','end','offset','limit','Content-Range','json','apply','save','update','then','destroy','stack','name','send','rawAttributes','fieldName','type','model','keys','filters','intersection','query','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','MailServerOut','count','includeAll','findAll','rows','catch','show','params','filtears','include','options','create','body','find','html-pdf','eml-format','rimraf','fast-json-patch','moment','bluebird','util','path','lodash','crypto','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus'];(function(_0x2236dc,_0x43c7f9){var _0x20583f=function(_0x293e36){while(--_0x293e36){_0x2236dc['push'](_0x2236dc['shift']());}};_0x20583f(++_0x43c7f9);}(_0x7275,0x143));var _0x5727=function(_0x42f5d5,_0x5b70b9){_0x42f5d5=_0x42f5d5-0x0;var _0x5e9214=_0x7275[_0x42f5d5];return _0x5e9214;};'use strict';var pdf=require(_0x5727('0x0'));var emlformat=require(_0x5727('0x1'));var rimraf=require(_0x5727('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0x5727('0x3'));var rp=require('request-promise');var moment=require(_0x5727('0x4'));var BPromise=require(_0x5727('0x5'));var Mustache=require('mustache');var util=require(_0x5727('0x6'));var path=require(_0x5727('0x7'));var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0x5727('0x8'));var squel=require('squel');var crypto=require(_0x5727('0x9'));var jsforce=require('jsforce');var deskjs=require(_0x5727('0xa'));var toCsv=require('to-csv');var querystring=require(_0x5727('0xb'));var Papa=require(_0x5727('0xc'));var Redis=require('ioredis');var authService=require(_0x5727('0xd'));var qs=require(_0x5727('0xe'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x5727('0xf'));var logger=require(_0x5727('0x10'))('api');var utils=require(_0x5727('0x11'));var config=require(_0x5727('0x12'));var licenseUtil=require(_0x5727('0x13'));var db=require(_0x5727('0x14'))['db'];function respondWithStatusCode(_0x362b0e,_0x45ec3c){_0x45ec3c=_0x45ec3c||0xcc;return function(_0x48c6f4){if(_0x48c6f4){return _0x362b0e[_0x5727('0x15')](_0x45ec3c);}return _0x362b0e[_0x5727('0x16')](_0x45ec3c)[_0x5727('0x17')]();};}function respondWithResult(_0x242b6a,_0x2a01df){_0x2a01df=_0x2a01df||0xc8;return function(_0x463721){if(_0x463721){return _0x242b6a[_0x5727('0x16')](_0x2a01df)['json'](_0x463721);}};}function respondWithFilteredResult(_0x24e514,_0x284633){return function(_0x1dcefc){if(_0x1dcefc){var _0x12b045=_0x1dcefc['count'],_0xbc76a4=_0x284633[_0x5727('0x18')],_0x31b6c0=_0x284633['offset']+_0x284633[_0x5727('0x19')],_0x273dc9;if(_0x31b6c0>=_0x12b045){_0x31b6c0=_0x12b045;_0x273dc9=0xc8;}else{_0x273dc9=0xce;}_0x24e514[_0x5727('0x16')](_0x273dc9);return _0x24e514['set'](_0x5727('0x1a'),_0xbc76a4+'-'+_0x31b6c0+'/'+_0x12b045)[_0x5727('0x1b')](_0x1dcefc);}return null;};}function patchUpdates(_0x15f25b){return function(_0x35e30f){try{jsonpatch[_0x5727('0x1c')](_0x35e30f,_0x15f25b,!![]);}catch(_0x497f94){return BPromise['reject'](_0x497f94);}return _0x35e30f[_0x5727('0x1d')]();};}function saveUpdates(_0xb99c6e,_0x84c9e2){return function(_0x18f638){if(_0x18f638){return _0x18f638[_0x5727('0x1e')](_0xb99c6e)[_0x5727('0x1f')](function(_0x3159e8){return _0x3159e8;});}return null;};}function removeEntity(_0x5c63ef,_0x4aa3af){return function(_0x476a47){if(_0x476a47){return _0x476a47[_0x5727('0x20')]()['then'](function(){_0x5c63ef[_0x5727('0x16')](0xcc)[_0x5727('0x17')]();});}};}function handleEntityNotFound(_0x3775b5,_0x4a3e6b){return function(_0x56d44b){if(!_0x56d44b){_0x3775b5[_0x5727('0x15')](0x194);}return _0x56d44b;};}function handleError(_0x179e74,_0x5d33bb){_0x5d33bb=_0x5d33bb||0x1f4;return function(_0x41cd74){logger['error'](_0x41cd74[_0x5727('0x21')]);if(_0x41cd74[_0x5727('0x22')]){delete _0x41cd74['name'];}_0x179e74['status'](_0x5d33bb)[_0x5727('0x23')](_0x41cd74);};}exports['index']=function(_0x4c5305,_0x3dd7d2){var _0x161f5={},_0x28888d={},_0xf82573={'count':0x0,'rows':[]};var _0x3afd59=_['map'](db['MailServerOut'][_0x5727('0x24')],function(_0x1d58ea){return{'name':_0x1d58ea[_0x5727('0x25')],'type':_0x1d58ea[_0x5727('0x26')]['key']};});_0x28888d[_0x5727('0x27')]=_['map'](_0x3afd59,_0x5727('0x22'));_0x28888d['query']=_[_0x5727('0x28')](_0x4c5305['query']);_0x28888d[_0x5727('0x29')]=_[_0x5727('0x2a')](_0x28888d[_0x5727('0x27')],_0x28888d[_0x5727('0x2b')]);_0x161f5['attributes']=_[_0x5727('0x2a')](_0x28888d[_0x5727('0x27')],qs['fields'](_0x4c5305['query'][_0x5727('0x2c')]));_0x161f5[_0x5727('0x2d')]=_0x161f5[_0x5727('0x2d')][_0x5727('0x2e')]?_0x161f5[_0x5727('0x2d')]:_0x28888d['model'];if(!_0x4c5305[_0x5727('0x2b')][_0x5727('0x2f')](_0x5727('0x30'))){_0x161f5[_0x5727('0x19')]=qs[_0x5727('0x19')](_0x4c5305[_0x5727('0x2b')][_0x5727('0x19')]);_0x161f5[_0x5727('0x18')]=qs[_0x5727('0x18')](_0x4c5305[_0x5727('0x2b')][_0x5727('0x18')]);}_0x161f5[_0x5727('0x31')]=qs[_0x5727('0x32')](_0x4c5305[_0x5727('0x2b')]['sort']);_0x161f5[_0x5727('0x33')]=qs[_0x5727('0x29')](_[_0x5727('0x34')](_0x4c5305[_0x5727('0x2b')],_0x28888d[_0x5727('0x29')]),_0x3afd59);if(_0x4c5305['query'][_0x5727('0x35')]){_0x161f5[_0x5727('0x33')]=_[_0x5727('0x36')](_0x161f5['where'],{'$or':_['map'](_0x3afd59,function(_0x34a78a){if(_0x34a78a['type']!=='VIRTUAL'){var _0x4a7d4e={};_0x4a7d4e[_0x34a78a['name']]={'$like':'%'+_0x4c5305[_0x5727('0x2b')][_0x5727('0x35')]+'%'};return _0x4a7d4e;}})});}_0x161f5=_[_0x5727('0x36')]({},_0x161f5,_0x4c5305['options']);var _0x1f4022={'where':_0x161f5[_0x5727('0x33')]};return db[_0x5727('0x37')]['count'](_0x1f4022)[_0x5727('0x1f')](function(_0x1eeac5){_0xf82573[_0x5727('0x38')]=_0x1eeac5;if(_0x4c5305['query'][_0x5727('0x39')]){_0x161f5['include']=[{'all':!![]}];}return db[_0x5727('0x37')][_0x5727('0x3a')](_0x161f5);})['then'](function(_0x25d6b2){_0xf82573[_0x5727('0x3b')]=_0x25d6b2;return _0xf82573;})[_0x5727('0x1f')](respondWithFilteredResult(_0x3dd7d2,_0x161f5))[_0x5727('0x3c')](handleError(_0x3dd7d2,null));};exports[_0x5727('0x3d')]=function(_0x2dfaab,_0x1e580f){var _0x5a88c1={'raw':!![],'where':{'id':_0x2dfaab[_0x5727('0x3e')]['id']}},_0xcb90a0={};_0xcb90a0[_0x5727('0x27')]=_['keys'](db[_0x5727('0x37')][_0x5727('0x24')]);_0xcb90a0[_0x5727('0x2b')]=_[_0x5727('0x28')](_0x2dfaab[_0x5727('0x2b')]);_0xcb90a0[_0x5727('0x3f')]=_[_0x5727('0x2a')](_0xcb90a0['model'],_0xcb90a0[_0x5727('0x2b')]);_0x5a88c1[_0x5727('0x2d')]=_[_0x5727('0x2a')](_0xcb90a0[_0x5727('0x27')],qs[_0x5727('0x2c')](_0x2dfaab[_0x5727('0x2b')][_0x5727('0x2c')]));_0x5a88c1[_0x5727('0x2d')]=_0x5a88c1[_0x5727('0x2d')][_0x5727('0x2e')]?_0x5a88c1[_0x5727('0x2d')]:_0xcb90a0[_0x5727('0x27')];if(_0x2dfaab[_0x5727('0x2b')][_0x5727('0x39')]){_0x5a88c1[_0x5727('0x40')]=[{'all':!![]}];}_0x5a88c1=_[_0x5727('0x36')]({},_0x5a88c1,_0x2dfaab[_0x5727('0x41')]);return db[_0x5727('0x37')]['find'](_0x5a88c1)['then'](handleEntityNotFound(_0x1e580f,null))[_0x5727('0x1f')](respondWithResult(_0x1e580f,null))[_0x5727('0x3c')](handleError(_0x1e580f,null));};exports['create']=function(_0x1e25f1,_0x5ca576){return db[_0x5727('0x37')][_0x5727('0x42')](_0x1e25f1[_0x5727('0x43')],{})[_0x5727('0x1f')](respondWithResult(_0x5ca576,0xc9))['catch'](handleError(_0x5ca576,null));};exports['update']=function(_0x2404e8,_0x423037){if(_0x2404e8[_0x5727('0x43')]['id']){delete _0x2404e8[_0x5727('0x43')]['id'];}return db[_0x5727('0x37')]['find']({'where':{'id':_0x2404e8[_0x5727('0x3e')]['id']}})[_0x5727('0x1f')](handleEntityNotFound(_0x423037,null))[_0x5727('0x1f')](saveUpdates(_0x2404e8['body'],null))[_0x5727('0x1f')](respondWithResult(_0x423037,null))[_0x5727('0x3c')](handleError(_0x423037,null));};exports[_0x5727('0x20')]=function(_0x43cb66,_0x3ff5c7){return db[_0x5727('0x37')][_0x5727('0x44')]({'where':{'id':_0x43cb66[_0x5727('0x3e')]['id']}})['then'](handleEntityNotFound(_0x3ff5c7,null))[_0x5727('0x1f')](removeEntity(_0x3ff5c7,null))[_0x5727('0x3c')](handleError(_0x3ff5c7,null));};