Built motion from commit d5e4af8c.|2.6.23
[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 _0x6896=['show','params','keys','rawAttributes','intersection','create','body','find','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','sendStatus','status','end','json','undefined','limit','count','offset','set','Content-Range','apply','reject','update','then','destroy','stack','name','send','index','map','MailServerOut','fieldName','query','filters','attributes','model','fields','length','nolimit','sort','pick','filter','where','merge','options','includeAll','include','findAll','catch'];(function(_0x3adb8e,_0x247ca2){var _0x3eacdb=function(_0x127ddf){while(--_0x127ddf){_0x3adb8e['push'](_0x3adb8e['shift']());}};_0x3eacdb(++_0x247ca2);}(_0x6896,0x12c));var _0x6689=function(_0x397e5f,_0x454c8f){_0x397e5f=_0x397e5f-0x0;var _0x5302b8=_0x6896[_0x397e5f];return _0x5302b8;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x6689('0x0'));var zipdir=require(_0x6689('0x1'));var jsonpatch=require(_0x6689('0x2'));var rp=require(_0x6689('0x3'));var moment=require(_0x6689('0x4'));var BPromise=require(_0x6689('0x5'));var Mustache=require(_0x6689('0x6'));var util=require(_0x6689('0x7'));var path=require(_0x6689('0x8'));var sox=require('sox');var csv=require(_0x6689('0x9'));var ejs=require(_0x6689('0xa'));var fs=require('fs');var fs_extra=require(_0x6689('0xb'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x6689('0xc'));var jsforce=require(_0x6689('0xd'));var deskjs=require(_0x6689('0xe'));var toCsv=require('to-csv');var querystring=require(_0x6689('0xf'));var Papa=require(_0x6689('0x10'));var Redis=require(_0x6689('0x11'));var authService=require(_0x6689('0x12'));var qs=require(_0x6689('0x13'));var as=require(_0x6689('0x14'));var hardwareService=require(_0x6689('0x15'));var logger=require(_0x6689('0x16'))(_0x6689('0x17'));var utils=require(_0x6689('0x18'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x6689('0x19'))['db'];function respondWithStatusCode(_0x578ce5,_0x191ca2){_0x191ca2=_0x191ca2||0xcc;return function(_0x1ac983){if(_0x1ac983){return _0x578ce5[_0x6689('0x1a')](_0x191ca2);}return _0x578ce5[_0x6689('0x1b')](_0x191ca2)[_0x6689('0x1c')]();};}function respondWithResult(_0x591978,_0x3c6ef5){_0x3c6ef5=_0x3c6ef5||0xc8;return function(_0x5464cf){if(_0x5464cf){return _0x591978[_0x6689('0x1b')](_0x3c6ef5)[_0x6689('0x1d')](_0x5464cf);}};}function respondWithFilteredResult(_0x5f2202,_0x5e2772){return function(_0x1e49ee){if(_0x1e49ee){var _0x360fcd=typeof _0x5e2772['offset']===_0x6689('0x1e')&&typeof _0x5e2772[_0x6689('0x1f')]===_0x6689('0x1e');var _0x21c4f6=_0x1e49ee[_0x6689('0x20')];var _0x3975c8=_0x360fcd?0x0:_0x5e2772[_0x6689('0x21')];var _0x325e61=_0x360fcd?_0x1e49ee[_0x6689('0x20')]:_0x5e2772[_0x6689('0x21')]+_0x5e2772[_0x6689('0x1f')];var _0x3d0b0c;if(_0x325e61>=_0x21c4f6){_0x325e61=_0x21c4f6;_0x3d0b0c=0xc8;}else{_0x3d0b0c=0xce;}_0x5f2202[_0x6689('0x1b')](_0x3d0b0c);return _0x5f2202[_0x6689('0x22')](_0x6689('0x23'),_0x3975c8+'-'+_0x325e61+'/'+_0x21c4f6)['json'](_0x1e49ee);}return null;};}function patchUpdates(_0x42fc18){return function(_0x4e0e94){try{jsonpatch[_0x6689('0x24')](_0x4e0e94,_0x42fc18,!![]);}catch(_0x13781f){return BPromise[_0x6689('0x25')](_0x13781f);}return _0x4e0e94['save']();};}function saveUpdates(_0x5cfcf2,_0x15c49a){return function(_0x388d31){if(_0x388d31){return _0x388d31[_0x6689('0x26')](_0x5cfcf2)[_0x6689('0x27')](function(_0x4896fd){return _0x4896fd;});}return null;};}function removeEntity(_0x531d2b,_0x468937){return function(_0x392fc2){if(_0x392fc2){return _0x392fc2[_0x6689('0x28')]()[_0x6689('0x27')](function(){_0x531d2b[_0x6689('0x1b')](0xcc)[_0x6689('0x1c')]();});}};}function handleEntityNotFound(_0x95eb4,_0x311b0e){return function(_0x114045){if(!_0x114045){_0x95eb4[_0x6689('0x1a')](0x194);}return _0x114045;};}function handleError(_0x128ec2,_0xb4edbf){_0xb4edbf=_0xb4edbf||0x1f4;return function(_0xaffca1){logger['error'](_0xaffca1[_0x6689('0x29')]);if(_0xaffca1[_0x6689('0x2a')]){delete _0xaffca1[_0x6689('0x2a')];}_0x128ec2[_0x6689('0x1b')](_0xb4edbf)[_0x6689('0x2b')](_0xaffca1);};}exports[_0x6689('0x2c')]=function(_0x2b929d,_0x477c6e){var _0xe10149={},_0x48533c={},_0x2e65b5={'count':0x0,'rows':[]};var _0x1d53aa=_[_0x6689('0x2d')](db[_0x6689('0x2e')]['rawAttributes'],function(_0x165670){return{'name':_0x165670[_0x6689('0x2f')],'type':_0x165670['type']['key']};});_0x48533c['model']=_[_0x6689('0x2d')](_0x1d53aa,'name');_0x48533c[_0x6689('0x30')]=_['keys'](_0x2b929d[_0x6689('0x30')]);_0x48533c[_0x6689('0x31')]=_['intersection'](_0x48533c['model'],_0x48533c[_0x6689('0x30')]);_0xe10149[_0x6689('0x32')]=_['intersection'](_0x48533c[_0x6689('0x33')],qs[_0x6689('0x34')](_0x2b929d[_0x6689('0x30')][_0x6689('0x34')]));_0xe10149[_0x6689('0x32')]=_0xe10149['attributes'][_0x6689('0x35')]?_0xe10149['attributes']:_0x48533c[_0x6689('0x33')];if(!_0x2b929d['query']['hasOwnProperty'](_0x6689('0x36'))){_0xe10149[_0x6689('0x1f')]=qs['limit'](_0x2b929d[_0x6689('0x30')][_0x6689('0x1f')]);_0xe10149[_0x6689('0x21')]=qs[_0x6689('0x21')](_0x2b929d[_0x6689('0x30')][_0x6689('0x21')]);}_0xe10149['order']=qs[_0x6689('0x37')](_0x2b929d[_0x6689('0x30')][_0x6689('0x37')]);_0xe10149['where']=qs['filters'](_[_0x6689('0x38')](_0x2b929d[_0x6689('0x30')],_0x48533c[_0x6689('0x31')]),_0x1d53aa);if(_0x2b929d[_0x6689('0x30')][_0x6689('0x39')]){_0xe10149[_0x6689('0x3a')]=_[_0x6689('0x3b')](_0xe10149[_0x6689('0x3a')],{'$or':_['map'](_0x1d53aa,function(_0x1600b6){if(_0x1600b6['type']!=='VIRTUAL'){var _0x5b4d4d={};_0x5b4d4d[_0x1600b6['name']]={'$like':'%'+_0x2b929d[_0x6689('0x30')][_0x6689('0x39')]+'%'};return _0x5b4d4d;}})});}_0xe10149=_[_0x6689('0x3b')]({},_0xe10149,_0x2b929d[_0x6689('0x3c')]);var _0x385293={'where':_0xe10149[_0x6689('0x3a')]};return db[_0x6689('0x2e')][_0x6689('0x20')](_0x385293)[_0x6689('0x27')](function(_0x221b02){_0x2e65b5[_0x6689('0x20')]=_0x221b02;if(_0x2b929d[_0x6689('0x30')][_0x6689('0x3d')]){_0xe10149[_0x6689('0x3e')]=[{'all':!![]}];}return db['MailServerOut'][_0x6689('0x3f')](_0xe10149);})['then'](function(_0x42d7de){_0x2e65b5['rows']=_0x42d7de;return _0x2e65b5;})[_0x6689('0x27')](respondWithFilteredResult(_0x477c6e,_0xe10149))[_0x6689('0x40')](handleError(_0x477c6e,null));};exports[_0x6689('0x41')]=function(_0x3b4cf1,_0x4787e3){var _0x5347bc={'raw':!![],'where':{'id':_0x3b4cf1[_0x6689('0x42')]['id']}},_0x515fd9={};_0x515fd9[_0x6689('0x33')]=_[_0x6689('0x43')](db[_0x6689('0x2e')][_0x6689('0x44')]);_0x515fd9[_0x6689('0x30')]=_[_0x6689('0x43')](_0x3b4cf1[_0x6689('0x30')]);_0x515fd9[_0x6689('0x31')]=_[_0x6689('0x45')](_0x515fd9[_0x6689('0x33')],_0x515fd9[_0x6689('0x30')]);_0x5347bc[_0x6689('0x32')]=_[_0x6689('0x45')](_0x515fd9[_0x6689('0x33')],qs['fields'](_0x3b4cf1[_0x6689('0x30')][_0x6689('0x34')]));_0x5347bc[_0x6689('0x32')]=_0x5347bc[_0x6689('0x32')][_0x6689('0x35')]?_0x5347bc[_0x6689('0x32')]:_0x515fd9[_0x6689('0x33')];if(_0x3b4cf1['query']['includeAll']){_0x5347bc[_0x6689('0x3e')]=[{'all':!![]}];}_0x5347bc=_[_0x6689('0x3b')]({},_0x5347bc,_0x3b4cf1['options']);return db[_0x6689('0x2e')]['find'](_0x5347bc)[_0x6689('0x27')](handleEntityNotFound(_0x4787e3,null))[_0x6689('0x27')](respondWithResult(_0x4787e3,null))['catch'](handleError(_0x4787e3,null));};exports[_0x6689('0x46')]=function(_0x593def,_0x5407cc){return db[_0x6689('0x2e')]['create'](_0x593def[_0x6689('0x47')],{})[_0x6689('0x27')](respondWithResult(_0x5407cc,0xc9))[_0x6689('0x40')](handleError(_0x5407cc,null));};exports[_0x6689('0x26')]=function(_0x298a04,_0x16c29c){if(_0x298a04[_0x6689('0x47')]['id']){delete _0x298a04[_0x6689('0x47')]['id'];}return db[_0x6689('0x2e')][_0x6689('0x48')]({'where':{'id':_0x298a04[_0x6689('0x42')]['id']}})['then'](handleEntityNotFound(_0x16c29c,null))[_0x6689('0x27')](saveUpdates(_0x298a04[_0x6689('0x47')],null))[_0x6689('0x27')](respondWithResult(_0x16c29c,null))[_0x6689('0x40')](handleError(_0x16c29c,null));};exports[_0x6689('0x28')]=function(_0x5f4d00,_0x5e3455){return db[_0x6689('0x2e')]['find']({'where':{'id':_0x5f4d00[_0x6689('0x42')]['id']}})[_0x6689('0x27')](handleEntityNotFound(_0x5e3455,null))[_0x6689('0x27')](removeEntity(_0x5e3455,null))[_0x6689('0x40')](handleError(_0x5e3455,null));};