3985b28562d1d77a989bd47f619f82bf1e5e7106
[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 _0x6d57=['intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','type','VIRTUAL','merge','options','includeAll','include','findAll','rows','catch','show','params','rawAttributes','find','create','body','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','apply','reject','save','update','then','destroy','error','stack','name','index','MailServerOut','key','map','query','keys','filters'];(function(_0x53ab02,_0x780c4b){var _0x120bc6=function(_0x3c4b84){while(--_0x3c4b84){_0x53ab02['push'](_0x53ab02['shift']());}};_0x120bc6(++_0x780c4b);}(_0x6d57,0xba));var _0x76d5=function(_0x3da456,_0x1127a8){_0x3da456=_0x3da456-0x0;var _0x41c21e=_0x6d57[_0x3da456];return _0x41c21e;};'use strict';var emlformat=require(_0x76d5('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x76d5('0x1'));var jsonpatch=require(_0x76d5('0x2'));var rp=require(_0x76d5('0x3'));var moment=require(_0x76d5('0x4'));var BPromise=require(_0x76d5('0x5'));var Mustache=require(_0x76d5('0x6'));var util=require(_0x76d5('0x7'));var path=require(_0x76d5('0x8'));var sox=require(_0x76d5('0x9'));var csv=require(_0x76d5('0xa'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x76d5('0xb'));var _=require(_0x76d5('0xc'));var squel=require(_0x76d5('0xd'));var crypto=require(_0x76d5('0xe'));var jsforce=require(_0x76d5('0xf'));var deskjs=require(_0x76d5('0x10'));var toCsv=require(_0x76d5('0xa'));var querystring=require(_0x76d5('0x11'));var Papa=require(_0x76d5('0x12'));var Redis=require(_0x76d5('0x13'));var authService=require(_0x76d5('0x14'));var qs=require(_0x76d5('0x15'));var as=require(_0x76d5('0x16'));var hardwareService=require(_0x76d5('0x17'));var logger=require(_0x76d5('0x18'))(_0x76d5('0x19'));var utils=require('../../config/utils');var config=require(_0x76d5('0x1a'));var licenseUtil=require(_0x76d5('0x1b'));var db=require(_0x76d5('0x1c'))['db'];function respondWithStatusCode(_0x5850df,_0x5624aa){_0x5624aa=_0x5624aa||0xcc;return function(_0xe3c5e7){if(_0xe3c5e7){return _0x5850df[_0x76d5('0x1d')](_0x5624aa);}return _0x5850df[_0x76d5('0x1e')](_0x5624aa)[_0x76d5('0x1f')]();};}function respondWithResult(_0x5dd56d,_0x3123b9){_0x3123b9=_0x3123b9||0xc8;return function(_0x1f83fb){if(_0x1f83fb){return _0x5dd56d['status'](_0x3123b9)[_0x76d5('0x20')](_0x1f83fb);}};}function respondWithFilteredResult(_0x5d2772,_0xb3bb0f){return function(_0x3078a6){if(_0x3078a6){var _0x476746=typeof _0xb3bb0f[_0x76d5('0x21')]===_0x76d5('0x22')&&typeof _0xb3bb0f[_0x76d5('0x23')]==='undefined';var _0x38a35e=_0x3078a6[_0x76d5('0x24')];var _0x1bc802=_0x476746?0x0:_0xb3bb0f[_0x76d5('0x21')];var _0x38f05b=_0x476746?_0x3078a6[_0x76d5('0x24')]:_0xb3bb0f[_0x76d5('0x21')]+_0xb3bb0f[_0x76d5('0x23')];var _0x5659aa;if(_0x38f05b>=_0x38a35e){_0x38f05b=_0x38a35e;_0x5659aa=0xc8;}else{_0x5659aa=0xce;}_0x5d2772[_0x76d5('0x1e')](_0x5659aa);return _0x5d2772[_0x76d5('0x25')]('Content-Range',_0x1bc802+'-'+_0x38f05b+'/'+_0x38a35e)[_0x76d5('0x20')](_0x3078a6);}return null;};}function patchUpdates(_0x428383){return function(_0x3d56f8){try{jsonpatch[_0x76d5('0x26')](_0x3d56f8,_0x428383,!![]);}catch(_0x7a9a8b){return BPromise[_0x76d5('0x27')](_0x7a9a8b);}return _0x3d56f8[_0x76d5('0x28')]();};}function saveUpdates(_0x244344,_0x3d9227){return function(_0x5e4f80){if(_0x5e4f80){return _0x5e4f80[_0x76d5('0x29')](_0x244344)[_0x76d5('0x2a')](function(_0x24216d){return _0x24216d;});}return null;};}function removeEntity(_0x23bce0,_0x34a080){return function(_0x36e847){if(_0x36e847){return _0x36e847[_0x76d5('0x2b')]()[_0x76d5('0x2a')](function(){_0x23bce0['status'](0xcc)[_0x76d5('0x1f')]();});}};}function handleEntityNotFound(_0x194e12,_0x363a62){return function(_0x295d64){if(!_0x295d64){_0x194e12[_0x76d5('0x1d')](0x194);}return _0x295d64;};}function handleError(_0x3972fa,_0x271703){_0x271703=_0x271703||0x1f4;return function(_0x349eae){logger[_0x76d5('0x2c')](_0x349eae[_0x76d5('0x2d')]);if(_0x349eae[_0x76d5('0x2e')]){delete _0x349eae[_0x76d5('0x2e')];}_0x3972fa['status'](_0x271703)['send'](_0x349eae);};}exports[_0x76d5('0x2f')]=function(_0x509e38,_0x19ee75){var _0x58bc77={},_0x34299c={},_0x2683e0={'count':0x0,'rows':[]};var _0x1841de=_['map'](db[_0x76d5('0x30')]['rawAttributes'],function(_0x42dbd6){return{'name':_0x42dbd6['fieldName'],'type':_0x42dbd6['type'][_0x76d5('0x31')]};});_0x34299c['model']=_[_0x76d5('0x32')](_0x1841de,_0x76d5('0x2e'));_0x34299c[_0x76d5('0x33')]=_[_0x76d5('0x34')](_0x509e38['query']);_0x34299c[_0x76d5('0x35')]=_[_0x76d5('0x36')](_0x34299c[_0x76d5('0x37')],_0x34299c[_0x76d5('0x33')]);_0x58bc77[_0x76d5('0x38')]=_[_0x76d5('0x36')](_0x34299c[_0x76d5('0x37')],qs[_0x76d5('0x39')](_0x509e38[_0x76d5('0x33')]['fields']));_0x58bc77[_0x76d5('0x38')]=_0x58bc77['attributes'][_0x76d5('0x3a')]?_0x58bc77[_0x76d5('0x38')]:_0x34299c[_0x76d5('0x37')];if(!_0x509e38[_0x76d5('0x33')][_0x76d5('0x3b')](_0x76d5('0x3c'))){_0x58bc77[_0x76d5('0x23')]=qs[_0x76d5('0x23')](_0x509e38[_0x76d5('0x33')][_0x76d5('0x23')]);_0x58bc77[_0x76d5('0x21')]=qs[_0x76d5('0x21')](_0x509e38[_0x76d5('0x33')]['offset']);}_0x58bc77[_0x76d5('0x3d')]=qs[_0x76d5('0x3e')](_0x509e38['query']['sort']);_0x58bc77[_0x76d5('0x3f')]=qs[_0x76d5('0x35')](_['pick'](_0x509e38['query'],_0x34299c[_0x76d5('0x35')]),_0x1841de);if(_0x509e38[_0x76d5('0x33')][_0x76d5('0x40')]){_0x58bc77[_0x76d5('0x3f')]=_['merge'](_0x58bc77['where'],{'$or':_[_0x76d5('0x32')](_0x1841de,function(_0x12b9be){if(_0x12b9be[_0x76d5('0x41')]!==_0x76d5('0x42')){var _0x540b27={};_0x540b27[_0x12b9be[_0x76d5('0x2e')]]={'$like':'%'+_0x509e38[_0x76d5('0x33')][_0x76d5('0x40')]+'%'};return _0x540b27;}})});}_0x58bc77=_[_0x76d5('0x43')]({},_0x58bc77,_0x509e38[_0x76d5('0x44')]);var _0xe3ce2c={'where':_0x58bc77[_0x76d5('0x3f')]};return db[_0x76d5('0x30')][_0x76d5('0x24')](_0xe3ce2c)['then'](function(_0x211c74){_0x2683e0[_0x76d5('0x24')]=_0x211c74;if(_0x509e38[_0x76d5('0x33')][_0x76d5('0x45')]){_0x58bc77[_0x76d5('0x46')]=[{'all':!![]}];}return db[_0x76d5('0x30')][_0x76d5('0x47')](_0x58bc77);})[_0x76d5('0x2a')](function(_0x3b7a1d){_0x2683e0[_0x76d5('0x48')]=_0x3b7a1d;return _0x2683e0;})[_0x76d5('0x2a')](respondWithFilteredResult(_0x19ee75,_0x58bc77))[_0x76d5('0x49')](handleError(_0x19ee75,null));};exports[_0x76d5('0x4a')]=function(_0xfce8ad,_0x5c6dc0){var _0x5043c6={'raw':!![],'where':{'id':_0xfce8ad[_0x76d5('0x4b')]['id']}},_0x17d426={};_0x17d426[_0x76d5('0x37')]=_['keys'](db['MailServerOut'][_0x76d5('0x4c')]);_0x17d426['query']=_[_0x76d5('0x34')](_0xfce8ad[_0x76d5('0x33')]);_0x17d426[_0x76d5('0x35')]=_[_0x76d5('0x36')](_0x17d426[_0x76d5('0x37')],_0x17d426[_0x76d5('0x33')]);_0x5043c6[_0x76d5('0x38')]=_[_0x76d5('0x36')](_0x17d426[_0x76d5('0x37')],qs[_0x76d5('0x39')](_0xfce8ad[_0x76d5('0x33')]['fields']));_0x5043c6['attributes']=_0x5043c6[_0x76d5('0x38')][_0x76d5('0x3a')]?_0x5043c6[_0x76d5('0x38')]:_0x17d426[_0x76d5('0x37')];if(_0xfce8ad[_0x76d5('0x33')][_0x76d5('0x45')]){_0x5043c6[_0x76d5('0x46')]=[{'all':!![]}];}_0x5043c6=_[_0x76d5('0x43')]({},_0x5043c6,_0xfce8ad['options']);return db[_0x76d5('0x30')][_0x76d5('0x4d')](_0x5043c6)['then'](handleEntityNotFound(_0x5c6dc0,null))[_0x76d5('0x2a')](respondWithResult(_0x5c6dc0,null))['catch'](handleError(_0x5c6dc0,null));};exports[_0x76d5('0x4e')]=function(_0x2f37c3,_0x41d5fc){return db['MailServerOut']['create'](_0x2f37c3[_0x76d5('0x4f')],{})['then'](respondWithResult(_0x41d5fc,0xc9))[_0x76d5('0x49')](handleError(_0x41d5fc,null));};exports[_0x76d5('0x29')]=function(_0x16e9dc,_0x51a586){if(_0x16e9dc[_0x76d5('0x4f')]['id']){delete _0x16e9dc['body']['id'];}return db['MailServerOut']['find']({'where':{'id':_0x16e9dc[_0x76d5('0x4b')]['id']}})[_0x76d5('0x2a')](handleEntityNotFound(_0x51a586,null))[_0x76d5('0x2a')](saveUpdates(_0x16e9dc['body'],null))['then'](respondWithResult(_0x51a586,null))[_0x76d5('0x49')](handleError(_0x51a586,null));};exports['destroy']=function(_0x1522a8,_0x271b21){return db[_0x76d5('0x30')]['find']({'where':{'id':_0x1522a8[_0x76d5('0x4b')]['id']}})[_0x76d5('0x2a')](handleEntityNotFound(_0x271b21,null))['then'](removeEntity(_0x271b21,null))['catch'](handleError(_0x271b21,null));};