a62fb242b9dc458c63d4e1552526c50ec0eb86a0
[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 _0x273e=['options','where','MailServerOut','includeAll','include','params','merge','find','catch','create','body','eml-format','rimraf','zip-dir','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','json','offset','undefined','limit','count','status','set','Content-Range','apply','reject','update','then','destroy','end','error','stack','name','send','rawAttributes','fieldName','type','key','model','map','query','keys','intersection','fields','attributes','length','hasOwnProperty','nolimit','sort','filters','pick','filter','VIRTUAL'];(function(_0x4e1305,_0x40dd0c){var _0x1d8e55=function(_0xd0aefd){while(--_0xd0aefd){_0x4e1305['push'](_0x4e1305['shift']());}};_0x1d8e55(++_0x40dd0c);}(_0x273e,0x137));var _0xe273=function(_0x484f0c,_0x5c190f){_0x484f0c=_0x484f0c-0x0;var _0x441fb8=_0x273e[_0x484f0c];return _0x441fb8;};'use strict';var emlformat=require(_0xe273('0x0'));var rimraf=require(_0xe273('0x1'));var zipdir=require(_0xe273('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0xe273('0x3'));var BPromise=require(_0xe273('0x4'));var Mustache=require(_0xe273('0x5'));var util=require(_0xe273('0x6'));var path=require(_0xe273('0x7'));var sox=require('sox');var csv=require(_0xe273('0x8'));var ejs=require(_0xe273('0x9'));var fs=require('fs');var fs_extra=require(_0xe273('0xa'));var _=require(_0xe273('0xb'));var squel=require(_0xe273('0xc'));var crypto=require(_0xe273('0xd'));var jsforce=require('jsforce');var deskjs=require(_0xe273('0xe'));var toCsv=require(_0xe273('0x8'));var querystring=require(_0xe273('0xf'));var Papa=require(_0xe273('0x10'));var Redis=require(_0xe273('0x11'));var authService=require(_0xe273('0x12'));var qs=require(_0xe273('0x13'));var as=require(_0xe273('0x14'));var hardwareService=require(_0xe273('0x15'));var logger=require('../../config/logger')(_0xe273('0x16'));var utils=require('../../config/utils');var config=require(_0xe273('0x17'));var licenseUtil=require(_0xe273('0x18'));var db=require(_0xe273('0x19'))['db'];function respondWithStatusCode(_0x53cd88,_0x4b6484){_0x4b6484=_0x4b6484||0xcc;return function(_0x12a5c6){if(_0x12a5c6){return _0x53cd88[_0xe273('0x1a')](_0x4b6484);}return _0x53cd88['status'](_0x4b6484)['end']();};}function respondWithResult(_0x528c39,_0x40970b){_0x40970b=_0x40970b||0xc8;return function(_0x24df4f){if(_0x24df4f){return _0x528c39['status'](_0x40970b)[_0xe273('0x1b')](_0x24df4f);}};}function respondWithFilteredResult(_0x19ed5d,_0x5a8668){return function(_0x1898af){if(_0x1898af){var _0x545c3b=typeof _0x5a8668[_0xe273('0x1c')]===_0xe273('0x1d')&&typeof _0x5a8668[_0xe273('0x1e')]===_0xe273('0x1d');var _0x1ade85=_0x1898af['count'];var _0xcec9dd=_0x545c3b?0x0:_0x5a8668[_0xe273('0x1c')];var _0x4cea91=_0x545c3b?_0x1898af[_0xe273('0x1f')]:_0x5a8668[_0xe273('0x1c')]+_0x5a8668['limit'];var _0x2b5893;if(_0x4cea91>=_0x1ade85){_0x4cea91=_0x1ade85;_0x2b5893=0xc8;}else{_0x2b5893=0xce;}_0x19ed5d[_0xe273('0x20')](_0x2b5893);return _0x19ed5d[_0xe273('0x21')](_0xe273('0x22'),_0xcec9dd+'-'+_0x4cea91+'/'+_0x1ade85)[_0xe273('0x1b')](_0x1898af);}return null;};}function patchUpdates(_0x423471){return function(_0x466212){try{jsonpatch[_0xe273('0x23')](_0x466212,_0x423471,!![]);}catch(_0x7cfa3a){return BPromise[_0xe273('0x24')](_0x7cfa3a);}return _0x466212['save']();};}function saveUpdates(_0x53de1e,_0x18994e){return function(_0x16ea01){if(_0x16ea01){return _0x16ea01[_0xe273('0x25')](_0x53de1e)[_0xe273('0x26')](function(_0x563649){return _0x563649;});}return null;};}function removeEntity(_0x59d119,_0x5d1826){return function(_0x5cf22d){if(_0x5cf22d){return _0x5cf22d[_0xe273('0x27')]()[_0xe273('0x26')](function(){_0x59d119[_0xe273('0x20')](0xcc)[_0xe273('0x28')]();});}};}function handleEntityNotFound(_0x35025a,_0x30a31f){return function(_0x831e69){if(!_0x831e69){_0x35025a[_0xe273('0x1a')](0x194);}return _0x831e69;};}function handleError(_0x224b98,_0x31a84a){_0x31a84a=_0x31a84a||0x1f4;return function(_0x5baeaf){logger[_0xe273('0x29')](_0x5baeaf[_0xe273('0x2a')]);if(_0x5baeaf[_0xe273('0x2b')]){delete _0x5baeaf[_0xe273('0x2b')];}_0x224b98[_0xe273('0x20')](_0x31a84a)[_0xe273('0x2c')](_0x5baeaf);};}exports['index']=function(_0xd84157,_0x50058c){var _0x450ea1={},_0x246e0b={},_0x12624d={'count':0x0,'rows':[]};var _0x25210d=_['map'](db['MailServerOut'][_0xe273('0x2d')],function(_0x1879fc){return{'name':_0x1879fc[_0xe273('0x2e')],'type':_0x1879fc[_0xe273('0x2f')][_0xe273('0x30')]};});_0x246e0b[_0xe273('0x31')]=_[_0xe273('0x32')](_0x25210d,_0xe273('0x2b'));_0x246e0b[_0xe273('0x33')]=_[_0xe273('0x34')](_0xd84157[_0xe273('0x33')]);_0x246e0b['filters']=_[_0xe273('0x35')](_0x246e0b[_0xe273('0x31')],_0x246e0b[_0xe273('0x33')]);_0x450ea1['attributes']=_[_0xe273('0x35')](_0x246e0b['model'],qs[_0xe273('0x36')](_0xd84157['query'][_0xe273('0x36')]));_0x450ea1[_0xe273('0x37')]=_0x450ea1[_0xe273('0x37')][_0xe273('0x38')]?_0x450ea1[_0xe273('0x37')]:_0x246e0b['model'];if(!_0xd84157[_0xe273('0x33')][_0xe273('0x39')](_0xe273('0x3a'))){_0x450ea1[_0xe273('0x1e')]=qs['limit'](_0xd84157[_0xe273('0x33')][_0xe273('0x1e')]);_0x450ea1[_0xe273('0x1c')]=qs[_0xe273('0x1c')](_0xd84157['query'][_0xe273('0x1c')]);}_0x450ea1['order']=qs[_0xe273('0x3b')](_0xd84157['query'][_0xe273('0x3b')]);_0x450ea1['where']=qs[_0xe273('0x3c')](_[_0xe273('0x3d')](_0xd84157[_0xe273('0x33')],_0x246e0b[_0xe273('0x3c')]),_0x25210d);if(_0xd84157['query'][_0xe273('0x3e')]){_0x450ea1['where']=_['merge'](_0x450ea1['where'],{'$or':_['map'](_0x25210d,function(_0x2ec177){if(_0x2ec177[_0xe273('0x2f')]!==_0xe273('0x3f')){var _0x40bb4f={};_0x40bb4f[_0x2ec177['name']]={'$like':'%'+_0xd84157[_0xe273('0x33')][_0xe273('0x3e')]+'%'};return _0x40bb4f;}})});}_0x450ea1=_['merge']({},_0x450ea1,_0xd84157[_0xe273('0x40')]);var _0x15aa98={'where':_0x450ea1[_0xe273('0x41')]};return db[_0xe273('0x42')][_0xe273('0x1f')](_0x15aa98)['then'](function(_0x191ada){_0x12624d['count']=_0x191ada;if(_0xd84157[_0xe273('0x33')][_0xe273('0x43')]){_0x450ea1[_0xe273('0x44')]=[{'all':!![]}];}return db[_0xe273('0x42')]['findAll'](_0x450ea1);})['then'](function(_0x47b3ba){_0x12624d['rows']=_0x47b3ba;return _0x12624d;})['then'](respondWithFilteredResult(_0x50058c,_0x450ea1))['catch'](handleError(_0x50058c,null));};exports['show']=function(_0x5e10cd,_0x578e08){var _0x59f140={'raw':!![],'where':{'id':_0x5e10cd[_0xe273('0x45')]['id']}},_0x306da1={};_0x306da1[_0xe273('0x31')]=_[_0xe273('0x34')](db['MailServerOut'][_0xe273('0x2d')]);_0x306da1[_0xe273('0x33')]=_['keys'](_0x5e10cd['query']);_0x306da1[_0xe273('0x3c')]=_[_0xe273('0x35')](_0x306da1[_0xe273('0x31')],_0x306da1[_0xe273('0x33')]);_0x59f140['attributes']=_[_0xe273('0x35')](_0x306da1[_0xe273('0x31')],qs[_0xe273('0x36')](_0x5e10cd[_0xe273('0x33')]['fields']));_0x59f140[_0xe273('0x37')]=_0x59f140[_0xe273('0x37')]['length']?_0x59f140['attributes']:_0x306da1['model'];if(_0x5e10cd[_0xe273('0x33')][_0xe273('0x43')]){_0x59f140[_0xe273('0x44')]=[{'all':!![]}];}_0x59f140=_[_0xe273('0x46')]({},_0x59f140,_0x5e10cd[_0xe273('0x40')]);return db[_0xe273('0x42')][_0xe273('0x47')](_0x59f140)['then'](handleEntityNotFound(_0x578e08,null))[_0xe273('0x26')](respondWithResult(_0x578e08,null))[_0xe273('0x48')](handleError(_0x578e08,null));};exports[_0xe273('0x49')]=function(_0x205d12,_0x4c74ef){return db[_0xe273('0x42')]['create'](_0x205d12[_0xe273('0x4a')],{})['then'](respondWithResult(_0x4c74ef,0xc9))[_0xe273('0x48')](handleError(_0x4c74ef,null));};exports[_0xe273('0x25')]=function(_0x33cc1d,_0x5bf854){if(_0x33cc1d[_0xe273('0x4a')]['id']){delete _0x33cc1d[_0xe273('0x4a')]['id'];}return db['MailServerOut']['find']({'where':{'id':_0x33cc1d[_0xe273('0x45')]['id']}})['then'](handleEntityNotFound(_0x5bf854,null))[_0xe273('0x26')](saveUpdates(_0x33cc1d[_0xe273('0x4a')],null))[_0xe273('0x26')](respondWithResult(_0x5bf854,null))[_0xe273('0x48')](handleError(_0x5bf854,null));};exports[_0xe273('0x27')]=function(_0x8918c,_0x323a3e){return db[_0xe273('0x42')]['find']({'where':{'id':_0x8918c[_0xe273('0x45')]['id']}})[_0xe273('0x26')](handleEntityNotFound(_0x323a3e,null))[_0xe273('0x26')](removeEntity(_0x323a3e,null))[_0xe273('0x48')](handleError(_0x323a3e,null));};