Built motion from commit 10af8726.|2.6.34
[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 _0x6fff=['fieldName','type','key','keys','query','filters','intersection','model','attributes','fields','length','nolimit','order','sort','where','pick','VIRTUAL','filter','merge','include','rows','catch','show','params','includeAll','options','find','create','body','eml-format','rimraf','fast-json-patch','request-promise','util','path','sox','ejs','fs-extra','lodash','squel','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','status','end','json','offset','limit','undefined','count','set','Content-Range','save','then','destroy','error','stack','name','map','MailServerOut'];(function(_0x528aaf,_0x354526){var _0x70853c=function(_0xc146d4){while(--_0xc146d4){_0x528aaf['push'](_0x528aaf['shift']());}};_0x70853c(++_0x354526);}(_0x6fff,0x180));var _0xf6ff=function(_0x1e2b31,_0xa30187){_0x1e2b31=_0x1e2b31-0x0;var _0x2b00fa=_0x6fff[_0x1e2b31];return _0x2b00fa;};'use strict';var emlformat=require(_0xf6ff('0x0'));var rimraf=require(_0xf6ff('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xf6ff('0x2'));var rp=require(_0xf6ff('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xf6ff('0x4'));var path=require(_0xf6ff('0x5'));var sox=require(_0xf6ff('0x6'));var csv=require('to-csv');var ejs=require(_0xf6ff('0x7'));var fs=require('fs');var fs_extra=require(_0xf6ff('0x8'));var _=require(_0xf6ff('0x9'));var squel=require(_0xf6ff('0xa'));var crypto=require('crypto');var jsforce=require(_0xf6ff('0xb'));var deskjs=require(_0xf6ff('0xc'));var toCsv=require(_0xf6ff('0xd'));var querystring=require(_0xf6ff('0xe'));var Papa=require(_0xf6ff('0xf'));var Redis=require(_0xf6ff('0x10'));var authService=require(_0xf6ff('0x11'));var qs=require(_0xf6ff('0x12'));var as=require(_0xf6ff('0x13'));var hardwareService=require(_0xf6ff('0x14'));var logger=require(_0xf6ff('0x15'))(_0xf6ff('0x16'));var utils=require('../../config/utils');var config=require(_0xf6ff('0x17'));var licenseUtil=require(_0xf6ff('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x5fc6a2,_0xbc3063){_0xbc3063=_0xbc3063||0xcc;return function(_0xfb735d){if(_0xfb735d){return _0x5fc6a2['sendStatus'](_0xbc3063);}return _0x5fc6a2[_0xf6ff('0x19')](_0xbc3063)[_0xf6ff('0x1a')]();};}function respondWithResult(_0x312f63,_0x570674){_0x570674=_0x570674||0xc8;return function(_0xb51557){if(_0xb51557){return _0x312f63['status'](_0x570674)[_0xf6ff('0x1b')](_0xb51557);}};}function respondWithFilteredResult(_0x160e91,_0x39db89){return function(_0x33377e){if(_0x33377e){var _0x3d032e=typeof _0x39db89[_0xf6ff('0x1c')]==='undefined'&&typeof _0x39db89[_0xf6ff('0x1d')]===_0xf6ff('0x1e');var _0x809351=_0x33377e[_0xf6ff('0x1f')];var _0x5f49ed=_0x3d032e?0x0:_0x39db89[_0xf6ff('0x1c')];var _0x1a350d=_0x3d032e?_0x33377e[_0xf6ff('0x1f')]:_0x39db89[_0xf6ff('0x1c')]+_0x39db89[_0xf6ff('0x1d')];var _0x3cacda;if(_0x1a350d>=_0x809351){_0x1a350d=_0x809351;_0x3cacda=0xc8;}else{_0x3cacda=0xce;}_0x160e91[_0xf6ff('0x19')](_0x3cacda);return _0x160e91[_0xf6ff('0x20')](_0xf6ff('0x21'),_0x5f49ed+'-'+_0x1a350d+'/'+_0x809351)[_0xf6ff('0x1b')](_0x33377e);}return null;};}function patchUpdates(_0x43ec56){return function(_0x389821){try{jsonpatch['apply'](_0x389821,_0x43ec56,!![]);}catch(_0x511c31){return BPromise['reject'](_0x511c31);}return _0x389821[_0xf6ff('0x22')]();};}function saveUpdates(_0x28fd34,_0x347972){return function(_0x495bc5){if(_0x495bc5){return _0x495bc5['update'](_0x28fd34)[_0xf6ff('0x23')](function(_0x5e247a){return _0x5e247a;});}return null;};}function removeEntity(_0x1ec2ce,_0x17606d){return function(_0x161744){if(_0x161744){return _0x161744[_0xf6ff('0x24')]()[_0xf6ff('0x23')](function(){_0x1ec2ce[_0xf6ff('0x19')](0xcc)[_0xf6ff('0x1a')]();});}};}function handleEntityNotFound(_0x5e4b93,_0x478a1b){return function(_0x15821e){if(!_0x15821e){_0x5e4b93['sendStatus'](0x194);}return _0x15821e;};}function handleError(_0x371b23,_0xc5c69b){_0xc5c69b=_0xc5c69b||0x1f4;return function(_0xd860c9){logger[_0xf6ff('0x25')](_0xd860c9[_0xf6ff('0x26')]);if(_0xd860c9[_0xf6ff('0x27')]){delete _0xd860c9[_0xf6ff('0x27')];}_0x371b23[_0xf6ff('0x19')](_0xc5c69b)['send'](_0xd860c9);};}exports['index']=function(_0x541c9e,_0x5a7e6a){var _0x4633ba={},_0x4aabc3={},_0x186987={'count':0x0,'rows':[]};var _0x1cd302=_[_0xf6ff('0x28')](db[_0xf6ff('0x29')]['rawAttributes'],function(_0xe14b76){return{'name':_0xe14b76[_0xf6ff('0x2a')],'type':_0xe14b76[_0xf6ff('0x2b')][_0xf6ff('0x2c')]};});_0x4aabc3['model']=_['map'](_0x1cd302,_0xf6ff('0x27'));_0x4aabc3['query']=_[_0xf6ff('0x2d')](_0x541c9e[_0xf6ff('0x2e')]);_0x4aabc3[_0xf6ff('0x2f')]=_[_0xf6ff('0x30')](_0x4aabc3[_0xf6ff('0x31')],_0x4aabc3[_0xf6ff('0x2e')]);_0x4633ba[_0xf6ff('0x32')]=_[_0xf6ff('0x30')](_0x4aabc3[_0xf6ff('0x31')],qs[_0xf6ff('0x33')](_0x541c9e[_0xf6ff('0x2e')][_0xf6ff('0x33')]));_0x4633ba[_0xf6ff('0x32')]=_0x4633ba[_0xf6ff('0x32')][_0xf6ff('0x34')]?_0x4633ba[_0xf6ff('0x32')]:_0x4aabc3[_0xf6ff('0x31')];if(!_0x541c9e['query']['hasOwnProperty'](_0xf6ff('0x35'))){_0x4633ba[_0xf6ff('0x1d')]=qs[_0xf6ff('0x1d')](_0x541c9e['query'][_0xf6ff('0x1d')]);_0x4633ba[_0xf6ff('0x1c')]=qs[_0xf6ff('0x1c')](_0x541c9e[_0xf6ff('0x2e')][_0xf6ff('0x1c')]);}_0x4633ba[_0xf6ff('0x36')]=qs[_0xf6ff('0x37')](_0x541c9e['query'][_0xf6ff('0x37')]);_0x4633ba[_0xf6ff('0x38')]=qs[_0xf6ff('0x2f')](_[_0xf6ff('0x39')](_0x541c9e[_0xf6ff('0x2e')],_0x4aabc3['filters']),_0x1cd302);if(_0x541c9e[_0xf6ff('0x2e')]['filter']){_0x4633ba[_0xf6ff('0x38')]=_['merge'](_0x4633ba['where'],{'$or':_[_0xf6ff('0x28')](_0x1cd302,function(_0x18b412){if(_0x18b412[_0xf6ff('0x2b')]!==_0xf6ff('0x3a')){var _0x20b924={};_0x20b924[_0x18b412[_0xf6ff('0x27')]]={'$like':'%'+_0x541c9e[_0xf6ff('0x2e')][_0xf6ff('0x3b')]+'%'};return _0x20b924;}})});}_0x4633ba=_[_0xf6ff('0x3c')]({},_0x4633ba,_0x541c9e['options']);var _0x30cc1b={'where':_0x4633ba['where']};return db[_0xf6ff('0x29')][_0xf6ff('0x1f')](_0x30cc1b)[_0xf6ff('0x23')](function(_0xcbfc45){_0x186987['count']=_0xcbfc45;if(_0x541c9e[_0xf6ff('0x2e')]['includeAll']){_0x4633ba[_0xf6ff('0x3d')]=[{'all':!![]}];}return db['MailServerOut']['findAll'](_0x4633ba);})['then'](function(_0x2c6309){_0x186987[_0xf6ff('0x3e')]=_0x2c6309;return _0x186987;})[_0xf6ff('0x23')](respondWithFilteredResult(_0x5a7e6a,_0x4633ba))[_0xf6ff('0x3f')](handleError(_0x5a7e6a,null));};exports[_0xf6ff('0x40')]=function(_0x42fc87,_0x5b495b){var _0x5b0c96={'raw':!![],'where':{'id':_0x42fc87[_0xf6ff('0x41')]['id']}},_0x1b3565={};_0x1b3565[_0xf6ff('0x31')]=_[_0xf6ff('0x2d')](db[_0xf6ff('0x29')]['rawAttributes']);_0x1b3565['query']=_[_0xf6ff('0x2d')](_0x42fc87[_0xf6ff('0x2e')]);_0x1b3565[_0xf6ff('0x2f')]=_[_0xf6ff('0x30')](_0x1b3565[_0xf6ff('0x31')],_0x1b3565['query']);_0x5b0c96[_0xf6ff('0x32')]=_[_0xf6ff('0x30')](_0x1b3565['model'],qs[_0xf6ff('0x33')](_0x42fc87['query'][_0xf6ff('0x33')]));_0x5b0c96[_0xf6ff('0x32')]=_0x5b0c96['attributes'][_0xf6ff('0x34')]?_0x5b0c96['attributes']:_0x1b3565[_0xf6ff('0x31')];if(_0x42fc87['query'][_0xf6ff('0x42')]){_0x5b0c96[_0xf6ff('0x3d')]=[{'all':!![]}];}_0x5b0c96=_['merge']({},_0x5b0c96,_0x42fc87[_0xf6ff('0x43')]);return db[_0xf6ff('0x29')][_0xf6ff('0x44')](_0x5b0c96)[_0xf6ff('0x23')](handleEntityNotFound(_0x5b495b,null))[_0xf6ff('0x23')](respondWithResult(_0x5b495b,null))['catch'](handleError(_0x5b495b,null));};exports[_0xf6ff('0x45')]=function(_0x1b982d,_0x43ca3a){return db[_0xf6ff('0x29')][_0xf6ff('0x45')](_0x1b982d[_0xf6ff('0x46')],{})['then'](respondWithResult(_0x43ca3a,0xc9))['catch'](handleError(_0x43ca3a,null));};exports['update']=function(_0x2704cb,_0x6a7ffc){if(_0x2704cb[_0xf6ff('0x46')]['id']){delete _0x2704cb[_0xf6ff('0x46')]['id'];}return db[_0xf6ff('0x29')][_0xf6ff('0x44')]({'where':{'id':_0x2704cb[_0xf6ff('0x41')]['id']}})[_0xf6ff('0x23')](handleEntityNotFound(_0x6a7ffc,null))[_0xf6ff('0x23')](saveUpdates(_0x2704cb[_0xf6ff('0x46')],null))['then'](respondWithResult(_0x6a7ffc,null))['catch'](handleError(_0x6a7ffc,null));};exports[_0xf6ff('0x24')]=function(_0x1b9385,_0x56b82d){return db[_0xf6ff('0x29')][_0xf6ff('0x44')]({'where':{'id':_0x1b9385[_0xf6ff('0x41')]['id']}})[_0xf6ff('0x23')](handleEntityNotFound(_0x56b82d,null))[_0xf6ff('0x23')](removeEntity(_0x56b82d,null))[_0xf6ff('0x3f')](handleError(_0x56b82d,null));};