Built motion from commit (unavailable).|2.5.10
[motion2.git] / server / api / mailAccount / mailAccount.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 _0xdbbe=['error','message','result','sendStatus','status','end','json','count','offset','set','apply','reject','save','update','then','destroy','get','stack','name','send','index','MailServerIn','MailServerOut','Pause','mandatoryDispositionPause','map','MailAccount','rawAttributes','fieldName','type','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','limit','sort','pick','filter','where','merge','VIRTUAL','options','include','findAll','catch','show','params','Imap','includeAll','find','body','Smtp','describe','addDisposition','MailAccountId','Disposition','create','getDispositions','findOne','keys','nolimit','rows','removeDispositions','ids','addAnswer','CannedAnswer','getAnswers','order','removeAnswers','key','email','isNil','active','description','cservice','user','cuser','password','pass','cpassword','authentication','host','port','service','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','MailAccounts','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','removeImap','getSmtp','removeSmtp','setSmtp','addInteraction','MailInteraction','getInteractions','CmContact','Contact','User','Owner','internal','color','tag','addApplications','sequelize','transaction','MailApplication','bulkCreate','findAndCountAll','priority','getApplications','getMessages','MailMessage','$gte','split','YYYY-MM-DD\x20HH:mm:ss','List','updatedAt','DESC','from','format','attachments','server/files/attachments','basename','secure','List\x20not\x20found','Contacts','ListId','messageId','subject','out','Messages','auth','VerifySmtp','Sequelize','ValidationError','addAgents','omit','spread','userMailAccount:save','removeAgents','isArray','emit','userMailAccount:remove','getAgents','html-pdf','eml-format','rimraf','moment','bluebird','mustache','util','sox','ejs','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','defaults','redis','localhost','socket.io-emitter','jayson/promise','http','request','info','MailAccount,\x20%s,\x20%s','debug','MailAccount,\x20%s,\x20%s,\x20%s','request\x20sent'];(function(_0x55f222,_0x20c8d3){var _0x54724d=function(_0x212c6a){while(--_0x212c6a){_0x55f222['push'](_0x55f222['shift']());}};_0x54724d(++_0x20c8d3);}(_0xdbbe,0x157));var _0xedbb=function(_0x307086,_0x3bfe4e){_0x307086=_0x307086-0x0;var _0x699043=_0xdbbe[_0x307086];return _0x699043;};'use strict';var pdf=require(_0xedbb('0x0'));var emlformat=require(_0xedbb('0x1'));var rimraf=require(_0xedbb('0x2'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0xedbb('0x3'));var BPromise=require(_0xedbb('0x4'));var Mustache=require(_0xedbb('0x5'));var util=require(_0xedbb('0x6'));var path=require('path');var sox=require(_0xedbb('0x7'));var csv=require('to-csv');var ejs=require(_0xedbb('0x8'));var fs=require('fs');var _=require(_0xedbb('0x9'));var squel=require(_0xedbb('0xa'));var crypto=require(_0xedbb('0xb'));var jsforce=require(_0xedbb('0xc'));var deskjs=require(_0xedbb('0xd'));var toCsv=require(_0xedbb('0xe'));var querystring=require(_0xedbb('0xf'));var Papa=require(_0xedbb('0x10'));var Redis=require(_0xedbb('0x11'));var authService=require('../../components/auth/service');var qs=require(_0xedbb('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xedbb('0x13'));var logger=require(_0xedbb('0x14'))(_0xedbb('0x15'));var utils=require(_0xedbb('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0xedbb('0x17'));var db=require(_0xedbb('0x18'))['db'];config['redis']=_[_0xedbb('0x19')](config[_0xedbb('0x1a')],{'host':_0xedbb('0x1b'),'port':0x18eb});var socket=require(_0xedbb('0x1c'))(new Redis(config['redis']));require('./mailAccount.socket')['register'](socket);var jayson=require(_0xedbb('0x1d'));var client=jayson['client'][_0xedbb('0x1e')]({'port':0x232b});function respondWithRpcPromise(_0x13b322,_0xd45244,_0x2f54e1,_0x1712be){return new BPromise(function(_0x657f19,_0xda6357){var _0xefce3b=_0x1712be||client;return _0xefce3b[_0xedbb('0x1f')](_0x13b322,_0x2f54e1)['then'](function(_0x833281){logger[_0xedbb('0x20')](_0xedbb('0x21'),_0xd45244,'request\x20sent');logger[_0xedbb('0x22')](_0xedbb('0x23'),_0xd45244,_0xedbb('0x24'),JSON['stringify'](_0x833281));if(_0x833281[_0xedbb('0x25')]){if(_0x833281['error']['code']===0x1f4){logger['error'](_0xedbb('0x21'),_0xd45244,_0x833281['error'][_0xedbb('0x26')]);return _0xda6357(_0x833281['error'][_0xedbb('0x26')]);}logger[_0xedbb('0x25')](_0xedbb('0x21'),_0xd45244,_0x833281[_0xedbb('0x25')]['message']);return _0x657f19(_0x833281[_0xedbb('0x25')][_0xedbb('0x26')]);}else{logger[_0xedbb('0x20')](_0xedbb('0x21'),_0xd45244,_0xedbb('0x24'));_0x657f19(_0x833281[_0xedbb('0x27')][_0xedbb('0x26')]);}})['catch'](function(_0x4142d3){logger['error']('MailAccount,\x20%s,\x20%s',_0xd45244,_0x4142d3);_0xda6357(_0x4142d3);});});}function respondWithStatusCode(_0x46134f,_0x4cf1fd){_0x4cf1fd=_0x4cf1fd||0xcc;return function(_0xffc867){if(_0xffc867){return _0x46134f[_0xedbb('0x28')](_0x4cf1fd);}return _0x46134f[_0xedbb('0x29')](_0x4cf1fd)[_0xedbb('0x2a')]();};}function respondWithResult(_0x120589,_0x10ff14){_0x10ff14=_0x10ff14||0xc8;return function(_0x2bb535){if(_0x2bb535){return _0x120589[_0xedbb('0x29')](_0x10ff14)[_0xedbb('0x2b')](_0x2bb535);}};}function respondWithFilteredResult(_0x1802c6,_0x6ca274){return function(_0x45f924){if(_0x45f924){var _0x96475b=_0x45f924[_0xedbb('0x2c')],_0x2f7192=_0x6ca274[_0xedbb('0x2d')],_0xf1db3e=_0x6ca274[_0xedbb('0x2d')]+_0x6ca274['limit'],_0x192648;if(_0xf1db3e>=_0x96475b){_0xf1db3e=_0x96475b;_0x192648=0xc8;}else{_0x192648=0xce;}_0x1802c6[_0xedbb('0x29')](_0x192648);return _0x1802c6[_0xedbb('0x2e')]('Content-Range',_0x2f7192+'-'+_0xf1db3e+'/'+_0x96475b)[_0xedbb('0x2b')](_0x45f924);}return null;};}function patchUpdates(_0x2e3be1){return function(_0xca1b6f){try{jsonpatch[_0xedbb('0x2f')](_0xca1b6f,_0x2e3be1,!![]);}catch(_0x2a5b98){return BPromise[_0xedbb('0x30')](_0x2a5b98);}return _0xca1b6f[_0xedbb('0x31')]();};}function saveUpdates(_0x5875b4,_0x43cb78){return function(_0x4e042e){if(_0x4e042e){return _0x4e042e[_0xedbb('0x32')](_0x5875b4)[_0xedbb('0x33')](function(_0x20ef0e){return _0x20ef0e;});}return null;};}function removeEntity(_0x39a904,_0x269a82){return function(_0x2b5a02){if(_0x2b5a02){return _0x2b5a02[_0xedbb('0x34')]()[_0xedbb('0x33')](function(){var _0x373be5=_0x2b5a02[_0xedbb('0x35')]({'plain':!![]});var _0x12c6d6='MailAccounts';return db['UserProfileResource'][_0xedbb('0x34')]({'where':{'type':_0x12c6d6,'resourceId':_0x373be5['id']}})[_0xedbb('0x33')](function(){return _0x2b5a02;});})[_0xedbb('0x33')](function(){_0x39a904['status'](0xcc)[_0xedbb('0x2a')]();});}};}function handleEntityNotFound(_0x59edbc,_0x569b63){return function(_0x5221d8){if(!_0x5221d8){_0x59edbc[_0xedbb('0x28')](0x194);}return _0x5221d8;};}function handleError(_0x32084b,_0x3d345e){_0x3d345e=_0x3d345e||0x1f4;return function(_0x1a3f84){logger['error'](_0x1a3f84[_0xedbb('0x36')]);if(_0x1a3f84[_0xedbb('0x37')]){delete _0x1a3f84['name'];}_0x32084b[_0xedbb('0x29')](_0x3d345e)[_0xedbb('0x38')](_0x1a3f84);};}exports[_0xedbb('0x39')]=function(_0x307b14,_0x3d4246){var _0x3fc9e1={'include':[{'model':db[_0xedbb('0x3a')],'as':'Imap'},{'model':db[_0xedbb('0x3b')],'as':'Smtp'},{'model':db[_0xedbb('0x3c')],'as':_0xedbb('0x3d')}]},_0x4bba68={},_0x45cd1e={'count':0x0,'rows':[]};var _0x21111b=_[_0xedbb('0x3e')](db[_0xedbb('0x3f')][_0xedbb('0x40')],function(_0x59e6c1){return{'name':_0x59e6c1[_0xedbb('0x41')],'type':_0x59e6c1[_0xedbb('0x42')]['key']};});_0x4bba68[_0xedbb('0x43')]=_['map'](_0x21111b,_0xedbb('0x37'));_0x4bba68[_0xedbb('0x44')]=_['keys'](_0x307b14[_0xedbb('0x44')]);_0x4bba68[_0xedbb('0x45')]=_[_0xedbb('0x46')](_0x4bba68['model'],_0x4bba68[_0xedbb('0x44')]);_0x3fc9e1[_0xedbb('0x47')]=_[_0xedbb('0x46')](_0x4bba68[_0xedbb('0x43')],qs[_0xedbb('0x48')](_0x307b14[_0xedbb('0x44')]['fields']));_0x3fc9e1['attributes']=_0x3fc9e1[_0xedbb('0x47')][_0xedbb('0x49')]?_0x3fc9e1['attributes']:_0x4bba68[_0xedbb('0x43')];if(!_0x307b14['query'][_0xedbb('0x4a')]('nolimit')){_0x3fc9e1[_0xedbb('0x4b')]=qs[_0xedbb('0x4b')](_0x307b14[_0xedbb('0x44')][_0xedbb('0x4b')]);_0x3fc9e1[_0xedbb('0x2d')]=qs[_0xedbb('0x2d')](_0x307b14['query'][_0xedbb('0x2d')]);}_0x3fc9e1['order']=qs[_0xedbb('0x4c')](_0x307b14['query'][_0xedbb('0x4c')]);_0x3fc9e1['where']=qs['filters'](_[_0xedbb('0x4d')](_0x307b14[_0xedbb('0x44')],_0x4bba68['filters']),_0x21111b);if(_0x307b14[_0xedbb('0x44')][_0xedbb('0x4e')]){_0x3fc9e1[_0xedbb('0x4f')]=_[_0xedbb('0x50')](_0x3fc9e1[_0xedbb('0x4f')],{'$or':_[_0xedbb('0x3e')](_0x21111b,function(_0x22019b){if(_0x22019b[_0xedbb('0x42')]!==_0xedbb('0x51')){var _0x203f32={};_0x203f32[_0x22019b[_0xedbb('0x37')]]={'$like':'%'+_0x307b14[_0xedbb('0x44')][_0xedbb('0x4e')]+'%'};return _0x203f32;}})});}_0x3fc9e1=_[_0xedbb('0x50')]({},_0x3fc9e1,_0x307b14[_0xedbb('0x52')]);var _0x34e6c3={'where':_0x3fc9e1[_0xedbb('0x4f')]};return db['MailAccount'][_0xedbb('0x2c')](_0x34e6c3)[_0xedbb('0x33')](function(_0x2970cd){_0x45cd1e['count']=_0x2970cd;if(_0x307b14[_0xedbb('0x44')]['includeAll']){_0x3fc9e1[_0xedbb('0x53')]=[{'all':!![]}];}return db[_0xedbb('0x3f')][_0xedbb('0x54')](_0x3fc9e1);})[_0xedbb('0x33')](function(_0x105e74){_0x45cd1e['rows']=_0x105e74;return _0x45cd1e;})['then'](respondWithFilteredResult(_0x3d4246,_0x3fc9e1))[_0xedbb('0x55')](handleError(_0x3d4246,null));};exports[_0xedbb('0x56')]=function(_0x3bdc2a,_0x2b187f){var _0x213344={'raw':![],'where':{'id':_0x3bdc2a[_0xedbb('0x57')]['id']},'include':[{'model':db['MailServerIn'],'as':_0xedbb('0x58')},{'model':db[_0xedbb('0x3b')],'as':'Smtp'},{'model':db[_0xedbb('0x3c')],'as':_0xedbb('0x3d')}]},_0x39d7cc={};_0x39d7cc['model']=_['keys'](db[_0xedbb('0x3f')]['rawAttributes']);_0x39d7cc[_0xedbb('0x44')]=_['keys'](_0x3bdc2a[_0xedbb('0x44')]);_0x39d7cc[_0xedbb('0x45')]=_[_0xedbb('0x46')](_0x39d7cc['model'],_0x39d7cc['query']);_0x213344[_0xedbb('0x47')]=_[_0xedbb('0x46')](_0x39d7cc[_0xedbb('0x43')],qs[_0xedbb('0x48')](_0x3bdc2a[_0xedbb('0x44')][_0xedbb('0x48')]));_0x213344['attributes']=_0x213344['attributes'][_0xedbb('0x49')]?_0x213344[_0xedbb('0x47')]:_0x39d7cc[_0xedbb('0x43')];if(_0x3bdc2a[_0xedbb('0x44')][_0xedbb('0x59')]){_0x213344[_0xedbb('0x53')]=[{'all':!![]}];}_0x213344=_[_0xedbb('0x50')]({},_0x213344,_0x3bdc2a['options']);return db[_0xedbb('0x3f')][_0xedbb('0x5a')](_0x213344)['then'](handleEntityNotFound(_0x2b187f,null))[_0xedbb('0x33')](respondWithResult(_0x2b187f,null))[_0xedbb('0x55')](handleError(_0x2b187f,null));};exports[_0xedbb('0x32')]=function(_0x1f9105,_0x2c9952){if(_0x1f9105[_0xedbb('0x5b')]['id']){delete _0x1f9105[_0xedbb('0x5b')]['id'];}return db[_0xedbb('0x3f')][_0xedbb('0x5a')]({'where':{'id':_0x1f9105[_0xedbb('0x57')]['id']},'include':[{'model':db[_0xedbb('0x3a')],'as':_0xedbb('0x58')},{'model':db[_0xedbb('0x3b')],'as':'Smtp'},{'model':db['Pause'],'as':_0xedbb('0x3d')}]})[_0xedbb('0x33')](handleEntityNotFound(_0x2c9952,null))[_0xedbb('0x33')](saveUpdates(_0x1f9105[_0xedbb('0x5b')],null))['then'](function(_0x4f993b){if(_0x4f993b&&_0x1f9105[_0xedbb('0x5b')][_0xedbb('0x58')]){return db[_0xedbb('0x3a')][_0xedbb('0x32')](_0x1f9105[_0xedbb('0x5b')][_0xedbb('0x58')],{'where':{'MailAccountId':_0x4f993b['id']}})['then'](function(){return _0x4f993b;});}return _0x4f993b;})['then'](function(_0x158014){if(_0x158014&&_0x1f9105[_0xedbb('0x5b')][_0xedbb('0x5c')]){return db[_0xedbb('0x3b')][_0xedbb('0x32')](_0x1f9105[_0xedbb('0x5b')][_0xedbb('0x5c')],{'where':{'MailAccountId':_0x158014['id']}})[_0xedbb('0x33')](function(){return _0x158014;});}return _0x158014;})[_0xedbb('0x33')](respondWithResult(_0x2c9952,null))[_0xedbb('0x55')](handleError(_0x2c9952,null));};exports['describe']=function(_0x472785,_0x3848e6){return db[_0xedbb('0x3f')][_0xedbb('0x5d')]()[_0xedbb('0x33')](respondWithResult(_0x3848e6,null))[_0xedbb('0x55')](handleError(_0x3848e6,null));};exports[_0xedbb('0x5e')]=function(_0x4ecd0e,_0x948ccc,_0x41ce33){if(_0x4ecd0e[_0xedbb('0x5b')]['id']){delete _0x4ecd0e[_0xedbb('0x5b')]['id'];}return db['MailAccount'][_0xedbb('0x5a')]({'where':{'id':_0x4ecd0e[_0xedbb('0x57')]['id']}})[_0xedbb('0x33')](handleEntityNotFound(_0x948ccc,null))[_0xedbb('0x33')](function(_0x3f1f72){if(_0x3f1f72){_0x4ecd0e[_0xedbb('0x5b')][_0xedbb('0x5f')]=_0x3f1f72['id'];return db[_0xedbb('0x60')][_0xedbb('0x61')](_0x4ecd0e[_0xedbb('0x5b')]);}})[_0xedbb('0x33')](respondWithResult(_0x948ccc,null))['catch'](handleError(_0x948ccc,null));};exports[_0xedbb('0x62')]=function(_0x5be2ed,_0x3aee6f,_0x46ffb9){var _0x2b38ac={'raw':![],'where':{}};var _0x6b761a={};var _0x2992dc={'count':0x0,'rows':[]};return db[_0xedbb('0x3f')][_0xedbb('0x63')]({'where':{'id':_0x5be2ed['params']['id']}})[_0xedbb('0x33')](handleEntityNotFound(_0x3aee6f,null))[_0xedbb('0x33')](function(_0x5d18c5){if(_0x5d18c5){_0x6b761a[_0xedbb('0x43')]=_[_0xedbb('0x64')](db[_0xedbb('0x60')][_0xedbb('0x40')]);_0x6b761a[_0xedbb('0x44')]=_[_0xedbb('0x64')](_0x5be2ed[_0xedbb('0x44')]);_0x6b761a[_0xedbb('0x45')]=_[_0xedbb('0x46')](_0x6b761a[_0xedbb('0x43')],_0x6b761a[_0xedbb('0x44')]);_0x2b38ac[_0xedbb('0x47')]=_[_0xedbb('0x46')](_0x6b761a[_0xedbb('0x43')],qs[_0xedbb('0x48')](_0x5be2ed[_0xedbb('0x44')][_0xedbb('0x48')]));_0x2b38ac[_0xedbb('0x47')]=_0x2b38ac['attributes'][_0xedbb('0x49')]?_0x2b38ac['attributes']:_0x6b761a[_0xedbb('0x43')];if(!_0x5be2ed[_0xedbb('0x44')][_0xedbb('0x4a')](_0xedbb('0x65'))){_0x2b38ac[_0xedbb('0x4b')]=qs[_0xedbb('0x4b')](_0x5be2ed[_0xedbb('0x44')][_0xedbb('0x4b')]);_0x2b38ac[_0xedbb('0x2d')]=qs[_0xedbb('0x2d')](_0x5be2ed['query'][_0xedbb('0x2d')]);}_0x2b38ac['order']=qs['sort'](_0x5be2ed[_0xedbb('0x44')][_0xedbb('0x4c')]);_0x2b38ac['where']=qs[_0xedbb('0x45')](_['pick'](_0x5be2ed[_0xedbb('0x44')],_0x6b761a[_0xedbb('0x45')]));_0x2b38ac[_0xedbb('0x4f')][_0xedbb('0x5f')]=_0x5d18c5['id'];if(_0x5be2ed['query'][_0xedbb('0x4e')]){_0x2b38ac[_0xedbb('0x4f')]=_[_0xedbb('0x50')](_0x2b38ac[_0xedbb('0x4f')],{'$or':_[_0xedbb('0x3e')](_0x2b38ac[_0xedbb('0x47')],function(_0x4c57f3){var _0x5b56bc={};_0x5b56bc[_0x4c57f3]={'$like':'%'+_0x5be2ed['query']['filter']+'%'};return _0x5b56bc;})});}_0x2b38ac=_[_0xedbb('0x50')]({},_0x2b38ac,_0x5be2ed[_0xedbb('0x52')]);return db[_0xedbb('0x60')][_0xedbb('0x2c')]({'where':_0x2b38ac[_0xedbb('0x4f')]})[_0xedbb('0x33')](function(_0x1d14a3){_0x2992dc['count']=_0x1d14a3;if(_0x5be2ed[_0xedbb('0x44')][_0xedbb('0x59')]){_0x2b38ac[_0xedbb('0x53')]=[{'all':!![]}];}return db['Disposition']['findAll'](_0x2b38ac);})['then'](function(_0x50bd17){_0x2992dc[_0xedbb('0x66')]=_0x50bd17;return _0x2992dc;});}})[_0xedbb('0x33')](respondWithFilteredResult(_0x3aee6f,_0x2b38ac))['catch'](handleError(_0x3aee6f,null));};exports[_0xedbb('0x67')]=function(_0x4b00aa,_0x185284,_0xfe0ff0){return db[_0xedbb('0x3f')][_0xedbb('0x5a')]({'where':{'id':_0x4b00aa['params']['id']}})['then'](handleEntityNotFound(_0x185284,null))['then'](function(_0x321eaa){if(_0x321eaa){return _0x321eaa[_0xedbb('0x67')](_0x4b00aa['query'][_0xedbb('0x68')]);}})[_0xedbb('0x33')](respondWithStatusCode(_0x185284,null))['catch'](handleError(_0x185284,null));};exports[_0xedbb('0x69')]=function(_0x1313cb,_0x582be0,_0x4f05b5){if(_0x1313cb[_0xedbb('0x5b')]['id']){delete _0x1313cb[_0xedbb('0x5b')]['id'];}return db[_0xedbb('0x3f')][_0xedbb('0x5a')]({'where':{'id':_0x1313cb[_0xedbb('0x57')]['id']}})[_0xedbb('0x33')](handleEntityNotFound(_0x582be0,null))[_0xedbb('0x33')](function(_0x555754){if(_0x555754){_0x1313cb[_0xedbb('0x5b')][_0xedbb('0x5f')]=_0x555754['id'];return db[_0xedbb('0x6a')][_0xedbb('0x61')](_0x1313cb[_0xedbb('0x5b')]);}})[_0xedbb('0x33')](respondWithResult(_0x582be0,null))['catch'](handleError(_0x582be0,null));};exports[_0xedbb('0x6b')]=function(_0x436e60,_0x38164a,_0x19e2c0){var _0x4df4ba={'raw':![],'where':{}};var _0x16b7f8={};var _0x358c06={'count':0x0,'rows':[]};return db[_0xedbb('0x3f')][_0xedbb('0x63')]({'where':{'id':_0x436e60[_0xedbb('0x57')]['id']}})['then'](handleEntityNotFound(_0x38164a,null))[_0xedbb('0x33')](function(_0x5c33c5){if(_0x5c33c5){_0x16b7f8[_0xedbb('0x43')]=_[_0xedbb('0x64')](db[_0xedbb('0x6a')][_0xedbb('0x40')]);_0x16b7f8[_0xedbb('0x44')]=_[_0xedbb('0x64')](_0x436e60[_0xedbb('0x44')]);_0x16b7f8[_0xedbb('0x45')]=_['intersection'](_0x16b7f8['model'],_0x16b7f8['query']);_0x4df4ba[_0xedbb('0x47')]=_[_0xedbb('0x46')](_0x16b7f8[_0xedbb('0x43')],qs[_0xedbb('0x48')](_0x436e60['query']['fields']));_0x4df4ba[_0xedbb('0x47')]=_0x4df4ba[_0xedbb('0x47')][_0xedbb('0x49')]?_0x4df4ba[_0xedbb('0x47')]:_0x16b7f8[_0xedbb('0x43')];if(!_0x436e60['query'][_0xedbb('0x4a')]('nolimit')){_0x4df4ba[_0xedbb('0x4b')]=qs[_0xedbb('0x4b')](_0x436e60[_0xedbb('0x44')]['limit']);_0x4df4ba[_0xedbb('0x2d')]=qs['offset'](_0x436e60[_0xedbb('0x44')][_0xedbb('0x2d')]);}_0x4df4ba[_0xedbb('0x6c')]=qs[_0xedbb('0x4c')](_0x436e60[_0xedbb('0x44')][_0xedbb('0x4c')]);_0x4df4ba[_0xedbb('0x4f')]=qs[_0xedbb('0x45')](_[_0xedbb('0x4d')](_0x436e60['query'],_0x16b7f8['filters']));_0x4df4ba[_0xedbb('0x4f')][_0xedbb('0x5f')]=_0x5c33c5['id'];if(_0x436e60[_0xedbb('0x44')]['filter']){_0x4df4ba[_0xedbb('0x4f')]=_[_0xedbb('0x50')](_0x4df4ba[_0xedbb('0x4f')],{'$or':_[_0xedbb('0x3e')](_0x4df4ba[_0xedbb('0x47')],function(_0x2a4e00){var _0x2e4c4e={};_0x2e4c4e[_0x2a4e00]={'$like':'%'+_0x436e60[_0xedbb('0x44')][_0xedbb('0x4e')]+'%'};return _0x2e4c4e;})});}_0x4df4ba=_['merge']({},_0x4df4ba,_0x436e60[_0xedbb('0x52')]);return db[_0xedbb('0x6a')][_0xedbb('0x2c')]({'where':_0x4df4ba[_0xedbb('0x4f')]})[_0xedbb('0x33')](function(_0x40e4a9){_0x358c06[_0xedbb('0x2c')]=_0x40e4a9;if(_0x436e60['query'][_0xedbb('0x59')]){_0x4df4ba[_0xedbb('0x53')]=[{'all':!![]}];}return db[_0xedbb('0x6a')][_0xedbb('0x54')](_0x4df4ba);})[_0xedbb('0x33')](function(_0x3c6451){_0x358c06[_0xedbb('0x66')]=_0x3c6451;return _0x358c06;});}})['then'](respondWithFilteredResult(_0x38164a,_0x4df4ba))[_0xedbb('0x55')](handleError(_0x38164a,null));};exports['removeAnswers']=function(_0x533b18,_0x5a9aa7,_0x3a31e8){return db['MailAccount'][_0xedbb('0x5a')]({'where':{'id':_0x533b18['params']['id']}})[_0xedbb('0x33')](handleEntityNotFound(_0x5a9aa7,null))[_0xedbb('0x33')](function(_0x2f1b36){if(_0x2f1b36){return _0x2f1b36[_0xedbb('0x6d')](_0x533b18[_0xedbb('0x44')][_0xedbb('0x68')]);}})[_0xedbb('0x33')](respondWithStatusCode(_0x5a9aa7,null))[_0xedbb('0x55')](handleError(_0x5a9aa7,null));};exports['create']=function(_0x1ada7d,_0x4e51f0){var _0x193bb5={'name':_0x1ada7d[_0xedbb('0x5b')][_0xedbb('0x37')],'key':_0x1ada7d['body'][_0xedbb('0x6e')],'email':_0x1ada7d[_0xedbb('0x5b')][_0xedbb('0x6f')],'ListId':_0x1ada7d[_0xedbb('0x5b')]['ListId'],'active':!_[_0xedbb('0x70')](_0x1ada7d['body']['active'])?_0x1ada7d[_0xedbb('0x5b')][_0xedbb('0x71')]:!![],'description':_0x1ada7d[_0xedbb('0x5b')][_0xedbb('0x72')]||null,'Imap':{},'Smtp':{}};if(_[_0xedbb('0x70')](_0x1ada7d['body'][_0xedbb('0x73')])){if(_0x1ada7d[_0xedbb('0x5b')]['cauthentication']){_0x193bb5[_0xedbb('0x58')][_0xedbb('0x74')]=_0x193bb5['Smtp']['user']=_0x1ada7d[_0xedbb('0x5b')][_0xedbb('0x75')];_0x193bb5['Imap'][_0xedbb('0x76')]=_0x193bb5[_0xedbb('0x5c')][_0xedbb('0x77')]=_0x1ada7d['body'][_0xedbb('0x78')];}else{_0x193bb5['Imap'][_0xedbb('0x79')]=_0x193bb5[_0xedbb('0x5c')]['authentication']=![];}_0x193bb5[_0xedbb('0x58')][_0xedbb('0x7a')]=_0x1ada7d[_0xedbb('0x5b')][_0xedbb('0x58')][_0xedbb('0x7a')];_0x193bb5[_0xedbb('0x58')][_0xedbb('0x7b')]=_0x1ada7d[_0xedbb('0x5b')]['Imap']['port'];_0x193bb5['Smtp'][_0xedbb('0x7a')]=_0x1ada7d[_0xedbb('0x5b')][_0xedbb('0x5c')][_0xedbb('0x7a')];_0x193bb5[_0xedbb('0x5c')][_0xedbb('0x7b')]=_0x1ada7d[_0xedbb('0x5b')]['Smtp'][_0xedbb('0x7b')];}else{_0x193bb5[_0xedbb('0x58')]['service']=_0x193bb5['Smtp'][_0xedbb('0x7c')]=_0x1ada7d[_0xedbb('0x5b')][_0xedbb('0x73')];_0x193bb5[_0xedbb('0x58')]['user']=_0x193bb5['Smtp'][_0xedbb('0x74')]=_0x1ada7d['body']['cuser'];_0x193bb5[_0xedbb('0x58')][_0xedbb('0x76')]=_0x193bb5[_0xedbb('0x5c')][_0xedbb('0x77')]=_0x1ada7d['body']['cpassword'];}return db[_0xedbb('0x3f')]['create'](_0x193bb5,{'include':[{'model':db['MailServerOut'],'as':_0xedbb('0x5c')},{'model':db[_0xedbb('0x3a')],'as':'Imap'}]})['then'](function(_0x32ff8c){var _0x36d7e5=_0x1ada7d[_0xedbb('0x74')][_0xedbb('0x35')]({'plain':!![]});if(!_0x36d7e5)throw new Error(_0xedbb('0x7d'));if(_0x36d7e5[_0xedbb('0x7e')]===_0xedbb('0x74')){var _0x3ffe00=_0x32ff8c[_0xedbb('0x35')]({'plain':!![]});return db[_0xedbb('0x7f')][_0xedbb('0x5a')]({'where':{'name':_0xedbb('0x80'),'userProfileId':_0x36d7e5[_0xedbb('0x81')]},'raw':!![]})[_0xedbb('0x33')](function(_0x3eacd5){if(_0x3eacd5&&_0x3eacd5[_0xedbb('0x82')]===0x0){return db[_0xedbb('0x83')]['create']({'name':_0x3ffe00['name'],'resourceId':_0x3ffe00['id'],'type':_0x3eacd5[_0xedbb('0x37')],'sectionId':_0x3eacd5['id']},{})[_0xedbb('0x33')](function(){return _0x32ff8c;});}else{return _0x32ff8c;}})[_0xedbb('0x55')](function(_0xe5e3fe){logger[_0xedbb('0x25')](_0xedbb('0x84'),_0xe5e3fe);throw _0xe5e3fe;});}return _0x32ff8c;})[_0xedbb('0x33')](respondWithResult(_0x4e51f0,0xc9))[_0xedbb('0x55')](handleError(_0x4e51f0,null));};exports[_0xedbb('0x85')]=function(_0x5307f6,_0x55da56,_0x57e133){return db[_0xedbb('0x3f')]['findOne']({'where':{'id':_0x5307f6[_0xedbb('0x57')]['id']}})[_0xedbb('0x33')](handleEntityNotFound(_0x55da56,null))['then'](function(_0x4c8515){if(_0x4c8515){return _0x4c8515[_0xedbb('0x85')]();}return null;})[_0xedbb('0x33')](respondWithResult(_0x55da56,null))[_0xedbb('0x55')](handleError(_0x55da56,null));};exports['addImap']=function(_0x222449,_0x3cf275,_0x2f54e8){if(_0x222449['body']['id']){delete _0x222449[_0xedbb('0x5b')]['id'];}return db[_0xedbb('0x3f')][_0xedbb('0x5a')]({'where':{'id':_0x222449[_0xedbb('0x57')]['id']}})[_0xedbb('0x33')](handleEntityNotFound(_0x3cf275,null))[_0xedbb('0x33')](function(_0x5580a7){if(_0x5580a7){_0x222449[_0xedbb('0x5b')][_0xedbb('0x5f')]=_0x5580a7['id'];return db['MailServerIn'][_0xedbb('0x61')](_0x222449['body']);}})['then'](respondWithResult(_0x3cf275,null))[_0xedbb('0x55')](handleError(_0x3cf275,null));};exports[_0xedbb('0x86')]=function(_0x271392,_0x2c6226,_0x2487ca){return db[_0xedbb('0x3f')][_0xedbb('0x63')]({'where':{'id':_0x271392['params']['id']}})[_0xedbb('0x33')](handleEntityNotFound(_0x2c6226,null))['then'](function(_0xe0dec8){if(_0xe0dec8){return _0xe0dec8['setImap'](null);}return null;})[_0xedbb('0x33')](respondWithStatusCode(_0x2c6226,null))[_0xedbb('0x55')](handleError(_0x2c6226,null));};exports[_0xedbb('0x87')]=function(_0x30ca9f,_0x20ad12,_0x44416){return db[_0xedbb('0x3f')]['findOne']({'where':{'id':_0x30ca9f[_0xedbb('0x57')]['id']}})['then'](handleEntityNotFound(_0x20ad12,null))[_0xedbb('0x33')](function(_0x358b91){if(_0x358b91){return _0x358b91['getSmtp']();}return null;})[_0xedbb('0x33')](respondWithResult(_0x20ad12,null))[_0xedbb('0x55')](handleError(_0x20ad12,null));};exports['addSmtp']=function(_0x11ec52,_0xae0047,_0x695c5){if(_0x11ec52['body']['id']){delete _0x11ec52[_0xedbb('0x5b')]['id'];}return db[_0xedbb('0x3f')][_0xedbb('0x5a')]({'where':{'id':_0x11ec52[_0xedbb('0x57')]['id']}})[_0xedbb('0x33')](handleEntityNotFound(_0xae0047,null))[_0xedbb('0x33')](function(_0x540f08){if(_0x540f08){_0x11ec52['body'][_0xedbb('0x5f')]=_0x540f08['id'];return db[_0xedbb('0x3b')][_0xedbb('0x61')](_0x11ec52[_0xedbb('0x5b')]);}})[_0xedbb('0x33')](respondWithResult(_0xae0047,null))[_0xedbb('0x55')](handleError(_0xae0047,null));};exports[_0xedbb('0x88')]=function(_0x1f4327,_0x1609bc,_0x10f7f3){return db['MailAccount']['findOne']({'where':{'id':_0x1f4327[_0xedbb('0x57')]['id']}})[_0xedbb('0x33')](handleEntityNotFound(_0x1609bc,null))[_0xedbb('0x33')](function(_0x3f54d8){if(_0x3f54d8){return _0x3f54d8[_0xedbb('0x89')](null);}return null;})[_0xedbb('0x33')](respondWithStatusCode(_0x1609bc,null))[_0xedbb('0x55')](handleError(_0x1609bc,null));};exports[_0xedbb('0x8a')]=function(_0x4b7c53,_0x3f7596,_0x3eea80){return db[_0xedbb('0x8b')]['find']({'where':{'id':_0x4b7c53[_0xedbb('0x57')]['id']}})[_0xedbb('0x33')](handleEntityNotFound(_0x3f7596,null))['then'](function(_0x4858a7){if(_0x4858a7){return _0x4858a7[_0xedbb('0x8a')](_0x4b7c53[_0xedbb('0x5b')][_0xedbb('0x68')],_['omit'](_0x4b7c53[_0xedbb('0x5b')],[_0xedbb('0x68'),'id'])||{});}})[_0xedbb('0x33')](respondWithResult(_0x3f7596,null))[_0xedbb('0x55')](handleError(_0x3f7596,null));};exports[_0xedbb('0x8c')]=function(_0x1c52c3,_0x12c569,_0x33c0b8){var _0x2ae94e={'raw':![],'where':{}};var _0x1c86ef={};var _0x5a05fc={'count':0x0,'rows':[]};return db[_0xedbb('0x3f')][_0xedbb('0x63')]({'where':{'id':_0x1c52c3[_0xedbb('0x57')]['id']}})['then'](handleEntityNotFound(_0x12c569,null))[_0xedbb('0x33')](function(_0x3fd401){if(_0x3fd401){_0x1c86ef[_0xedbb('0x43')]=_[_0xedbb('0x64')](db[_0xedbb('0x8b')][_0xedbb('0x40')]);_0x1c86ef[_0xedbb('0x44')]=_['keys'](_0x1c52c3[_0xedbb('0x44')]);_0x1c86ef[_0xedbb('0x45')]=_['intersection'](_0x1c86ef[_0xedbb('0x43')],_0x1c86ef[_0xedbb('0x44')]);_0x2ae94e[_0xedbb('0x47')]=_[_0xedbb('0x46')](_0x1c86ef['model'],qs[_0xedbb('0x48')](_0x1c52c3[_0xedbb('0x44')][_0xedbb('0x48')]));_0x2ae94e[_0xedbb('0x47')]=_0x2ae94e['attributes']['length']?_0x2ae94e[_0xedbb('0x47')]:_0x1c86ef[_0xedbb('0x43')];if(!_0x1c52c3[_0xedbb('0x44')][_0xedbb('0x4a')](_0xedbb('0x65'))){_0x2ae94e[_0xedbb('0x4b')]=qs[_0xedbb('0x4b')](_0x1c52c3[_0xedbb('0x44')]['limit']);_0x2ae94e['offset']=qs[_0xedbb('0x2d')](_0x1c52c3[_0xedbb('0x44')][_0xedbb('0x2d')]);}_0x2ae94e[_0xedbb('0x6c')]=qs[_0xedbb('0x4c')](_0x1c52c3[_0xedbb('0x44')]['sort']);_0x2ae94e[_0xedbb('0x4f')]=qs[_0xedbb('0x45')](_['pick'](_0x1c52c3[_0xedbb('0x44')],_0x1c86ef[_0xedbb('0x45')]));_0x2ae94e['where'][_0xedbb('0x5f')]=_0x3fd401['id'];if(_0x1c52c3[_0xedbb('0x44')][_0xedbb('0x4e')]){_0x2ae94e['where']=_[_0xedbb('0x50')](_0x2ae94e['where'],{'$or':_['map'](_0x2ae94e[_0xedbb('0x47')],function(_0x37c9de){var _0xadd4c4={};_0xadd4c4[_0x37c9de]={'$like':'%'+_0x1c52c3[_0xedbb('0x44')][_0xedbb('0x4e')]+'%'};return _0xadd4c4;})});}_0x2ae94e=_['merge']({},_0x2ae94e,_0x1c52c3[_0xedbb('0x52')]);return db[_0xedbb('0x8b')][_0xedbb('0x2c')]({'where':_0x2ae94e[_0xedbb('0x4f')]})[_0xedbb('0x33')](function(_0x347e5b){_0x5a05fc['count']=_0x347e5b;if(_0x1c52c3[_0xedbb('0x44')][_0xedbb('0x59')]){_0x2ae94e[_0xedbb('0x53')]=[{'model':db[_0xedbb('0x8d')],'as':_0xedbb('0x8e'),'required':![]},{'model':db[_0xedbb('0x8f')],'as':_0xedbb('0x90'),'attributes':[_0xedbb('0x37'),'fullname',_0xedbb('0x91')],'required':![]},{'model':db['Tag'],'as':'Tags','attributes':['id',_0xedbb('0x37'),_0xedbb('0x92')],'where':_0x1c52c3[_0xedbb('0x44')][_0xedbb('0x93')]?{'id':_0x1c52c3[_0xedbb('0x44')][_0xedbb('0x93')]}:undefined,'required':_0x1c52c3[_0xedbb('0x44')]['tag']?!![]:![]}];}return db[_0xedbb('0x8b')]['findAll'](_0x2ae94e);})[_0xedbb('0x33')](function(_0x3dc247){_0x5a05fc[_0xedbb('0x66')]=_0x3dc247;return _0x5a05fc;});}})[_0xedbb('0x33')](respondWithFilteredResult(_0x12c569,_0x2ae94e))[_0xedbb('0x55')](handleError(_0x12c569,null));};exports[_0xedbb('0x94')]=function(_0x7e3457,_0x4b766a,_0x50975a){return db['MailAccount'][_0xedbb('0x63')]({'where':{'id':_0x7e3457[_0xedbb('0x57')]['id']}})[_0xedbb('0x33')](handleEntityNotFound(_0x4b766a,null))['then'](function(_0x544e68){if(_0x544e68){return db[_0xedbb('0x95')][_0xedbb('0x96')](function(_0x3c911a){return db['MailApplication'][_0xedbb('0x34')]({'where':{'MailAccountId':_0x7e3457[_0xedbb('0x57')]['id']},'transaction':_0x3c911a})[_0xedbb('0x33')](function(_0x261b91){var _0xf8cfc4=_['map'](_0x7e3457[_0xedbb('0x5b')],function(_0x4dd1d5){_0x4dd1d5[_0xedbb('0x5f')]=_0x7e3457['params']['id'];return _0x4dd1d5;});return db[_0xedbb('0x97')][_0xedbb('0x98')](_0xf8cfc4,{'transaction':_0x3c911a});});})[_0xedbb('0x33')](function(){return db[_0xedbb('0x97')][_0xedbb('0x99')]({'where':{'MailAccountId':_0x7e3457[_0xedbb('0x57')]['id']},'order':_0xedbb('0x9a')});});}})[_0xedbb('0x33')](respondWithResult(_0x4b766a,null))[_0xedbb('0x55')](handleError(_0x4b766a,null));};exports[_0xedbb('0x9b')]=function(_0x363dd9,_0x5c1f27,_0x2ef5ef){var _0x1366c1={};var _0x2db7a4={};var _0x29e5a9;var _0x1cd959;return db[_0xedbb('0x3f')][_0xedbb('0x63')]({'where':{'id':_0x363dd9['params']['id']}})[_0xedbb('0x33')](handleEntityNotFound(_0x5c1f27,null))['then'](function(_0x5b75d2){if(_0x5b75d2){_0x29e5a9=_0x5b75d2;_0x2db7a4[_0xedbb('0x43')]=_[_0xedbb('0x64')](db['MailApplication'][_0xedbb('0x40')]);_0x2db7a4['query']=_[_0xedbb('0x64')](_0x363dd9['query']);_0x2db7a4[_0xedbb('0x45')]=_['intersection'](_0x2db7a4[_0xedbb('0x43')],_0x2db7a4[_0xedbb('0x44')]);_0x1366c1[_0xedbb('0x47')]=_['intersection'](_0x2db7a4[_0xedbb('0x43')],qs[_0xedbb('0x48')](_0x363dd9[_0xedbb('0x44')]['fields']));_0x1366c1[_0xedbb('0x47')]=_0x1366c1['attributes'][_0xedbb('0x49')]?_0x1366c1['attributes']:_0x2db7a4[_0xedbb('0x43')];_0x1366c1['order']=qs['sort'](_0x363dd9[_0xedbb('0x44')][_0xedbb('0x4c')]);_0x1366c1[_0xedbb('0x4f')]=qs[_0xedbb('0x45')](_[_0xedbb('0x4d')](_0x363dd9[_0xedbb('0x44')],_0x2db7a4['filters']));if(_0x363dd9['query'][_0xedbb('0x4e')]){_0x1366c1[_0xedbb('0x4f')]=_[_0xedbb('0x50')](_0x1366c1[_0xedbb('0x4f')],{'$or':_[_0xedbb('0x3e')](_0x1366c1[_0xedbb('0x47')],function(_0x8f0442){var _0x39ac2b={};_0x39ac2b[_0x8f0442]={'$like':'%'+_0x363dd9[_0xedbb('0x44')][_0xedbb('0x4e')]+'%'};return _0x39ac2b;})});}_0x1366c1=_['merge']({},_0x1366c1,_0x363dd9[_0xedbb('0x52')]);return _0x29e5a9[_0xedbb('0x9b')](_0x1366c1);}})[_0xedbb('0x33')](function(_0x49e362){if(_0x49e362){_0x1cd959=_0x49e362[_0xedbb('0x49')];if(!_0x363dd9[_0xedbb('0x44')][_0xedbb('0x4a')](_0xedbb('0x65'))){_0x1366c1[_0xedbb('0x4b')]=qs['limit'](_0x363dd9[_0xedbb('0x44')]['limit']);_0x1366c1[_0xedbb('0x2d')]=qs[_0xedbb('0x2d')](_0x363dd9[_0xedbb('0x44')][_0xedbb('0x2d')]);}return _0x29e5a9[_0xedbb('0x9b')](_0x1366c1);}})[_0xedbb('0x33')](function(_0x72de1f){if(_0x72de1f){return _0x72de1f?{'count':_0x1cd959,'rows':_0x72de1f}:null;}})[_0xedbb('0x33')](respondWithResult(_0x5c1f27,null))[_0xedbb('0x55')](handleError(_0x5c1f27,null));};exports[_0xedbb('0x9c')]=function(_0x5a3ca9,_0x530c27,_0x4d334a){var _0x5911f7={'raw':!![],'where':{}};var _0x2e1c97={};var _0x1eba60={'count':0x0,'rows':[]};return db['MailAccount'][_0xedbb('0x63')]({'where':{'id':_0x5a3ca9[_0xedbb('0x57')]['id']}})[_0xedbb('0x33')](handleEntityNotFound(_0x530c27,null))['then'](function(_0x38e2f8){if(_0x38e2f8){_0x2e1c97[_0xedbb('0x43')]=_[_0xedbb('0x64')](db[_0xedbb('0x9d')][_0xedbb('0x40')]);_0x2e1c97[_0xedbb('0x44')]=_[_0xedbb('0x64')](_0x5a3ca9[_0xedbb('0x44')]);_0x2e1c97['filters']=_[_0xedbb('0x46')](_0x2e1c97[_0xedbb('0x43')],_0x2e1c97[_0xedbb('0x44')]);_0x5911f7[_0xedbb('0x47')]=_[_0xedbb('0x46')](_0x2e1c97[_0xedbb('0x43')],qs[_0xedbb('0x48')](_0x5a3ca9[_0xedbb('0x44')][_0xedbb('0x48')]));_0x5911f7[_0xedbb('0x47')]=_0x5911f7[_0xedbb('0x47')][_0xedbb('0x49')]?_0x5911f7['attributes']:_0x2e1c97[_0xedbb('0x43')];if(!_0x5a3ca9[_0xedbb('0x44')][_0xedbb('0x4a')]('nolimit')){_0x5911f7['limit']=qs[_0xedbb('0x4b')](_0x5a3ca9['query'][_0xedbb('0x4b')]);_0x5911f7['offset']=qs[_0xedbb('0x2d')](_0x5a3ca9[_0xedbb('0x44')][_0xedbb('0x2d')]);}_0x5911f7['order']=qs[_0xedbb('0x4c')](_0x5a3ca9[_0xedbb('0x44')]['sort']);_0x5911f7[_0xedbb('0x4f')]=qs['filters'](_[_0xedbb('0x4d')](_0x5a3ca9[_0xedbb('0x44')],_0x2e1c97['filters']));_0x5911f7[_0xedbb('0x4f')][_0xedbb('0x5f')]=_0x38e2f8['id'];if(_0x5a3ca9[_0xedbb('0x44')]['filter']){_0x5911f7[_0xedbb('0x4f')]=_[_0xedbb('0x50')](_0x5911f7[_0xedbb('0x4f')],{'$or':_['map'](_0x5911f7[_0xedbb('0x47')],function(_0x1bda15){var _0x41b895={};_0x41b895[_0x1bda15]={'$like':'%'+_0x5a3ca9['query']['filter']+'%'};return _0x41b895;})});}if(_0x5a3ca9[_0xedbb('0x44')]['$gte']){var _0x345bd8=_0x5a3ca9[_0xedbb('0x44')][_0xedbb('0x9e')][_0xedbb('0x9f')](',');var _0x248a9a={};_0x248a9a[_0x345bd8[0x0]]={'$gte':moment(_0x345bd8[0x1])['format'](_0xedbb('0xa0'))};_0x5911f7[_0xedbb('0x4f')]=_[_0xedbb('0x50')](_0x5911f7[_0xedbb('0x4f')],_0x248a9a);}_0x5911f7=_[_0xedbb('0x50')]({},_0x5911f7,_0x5a3ca9[_0xedbb('0x52')]);return db['MailMessage'][_0xedbb('0x2c')]({'where':_0x5911f7[_0xedbb('0x4f')]})['then'](function(_0x168fc3){_0x1eba60['count']=_0x168fc3;if(_0x5a3ca9[_0xedbb('0x44')]['includeAll']){_0x5911f7[_0xedbb('0x53')]=[{'all':!![]}];}return db[_0xedbb('0x9d')][_0xedbb('0x54')](_0x5911f7);})[_0xedbb('0x33')](function(_0x3f249e){_0x1eba60[_0xedbb('0x66')]=_0x3f249e;return _0x1eba60;});}})[_0xedbb('0x33')](respondWithFilteredResult(_0x530c27,_0x5911f7))[_0xedbb('0x55')](handleError(_0x530c27,null));};exports[_0xedbb('0x38')]=function(_0x2ca18a,_0x3d136c,_0x31919e){var _0x1bbcd0,_0x35cda9={},_0x54dd93;if(_0x2ca18a['body']['to']){_0x54dd93=_0x2ca18a[_0xedbb('0x5b')]['to']['split'](',')[0x0];}return db[_0xedbb('0x3f')][_0xedbb('0x5a')]({'where':{'id':_0x2ca18a[_0xedbb('0x57')]['id']},'include':[{'model':db['CmList'],'as':_0xedbb('0xa1'),'include':[{'model':db['CmContact'],'as':'Contacts','where':{'email':_0x54dd93},'limit':0x1,'order':[[_0xedbb('0xa2'),_0xedbb('0xa3')]]}]},{'model':db[_0xedbb('0x3b')],'as':'Smtp','raw':!![]}]})[_0xedbb('0x33')](handleEntityNotFound(_0x3d136c,null))[_0xedbb('0x33')](function(_0x1e17e2){if(_0x1e17e2){_0x1bbcd0=_0x1e17e2;if(_0x1e17e2['Smtp']){if(_[_0xedbb('0x70')](_0x2ca18a[_0xedbb('0x5b')]['from'])){_0x2ca18a[_0xedbb('0x5b')][_0xedbb('0xa4')]=util[_0xedbb('0xa5')]('%s\x20<%s>',_0x1e17e2[_0xedbb('0x37')],_0x1e17e2['email']||_0x1e17e2[_0xedbb('0x5c')]['user']);}if(_0x2ca18a['body'][_0xedbb('0xa6')]&&_0x2ca18a['body'][_0xedbb('0xa6')][_0xedbb('0x49')]){for(var _0x2124c=0x0;_0x2124c<_0x2ca18a['body'][_0xedbb('0xa6')][_0xedbb('0x49')];_0x2124c+=0x1){_0x2ca18a[_0xedbb('0x5b')][_0xedbb('0xa6')][_0x2124c]={'filename':_0x2ca18a['body'][_0xedbb('0xa6')][_0x2124c][_0xedbb('0x37')],'path':path['join'](config['root'],_0xedbb('0xa7'),_0x2ca18a['body'][_0xedbb('0xa6')][_0x2124c][_0xedbb('0xa8')])};}}var _0x1aa799={'tls':{'rejectUnauthorized':![]}};if(_[_0xedbb('0x70')](_0x1e17e2[_0xedbb('0x5c')][_0xedbb('0x7c')])){if(_0x1e17e2[_0xedbb('0x5c')][_0xedbb('0x79')]){_0x1aa799['auth']={'user':_0x1e17e2[_0xedbb('0x5c')][_0xedbb('0x74')],'pass':_0x1e17e2[_0xedbb('0x5c')][_0xedbb('0x77')]};}_0x1aa799[_0xedbb('0x7a')]=_0x1e17e2[_0xedbb('0x5c')][_0xedbb('0x7a')];_0x1aa799[_0xedbb('0x7b')]=_0x1e17e2[_0xedbb('0x5c')]['port'];_0x1aa799[_0xedbb('0xa9')]=_0x1e17e2['Smtp']['secure'];}else{_0x1aa799[_0xedbb('0x7c')]=_0x1e17e2[_0xedbb('0x5c')][_0xedbb('0x7c')];_0x1aa799['auth']={'user':_0x1e17e2['Smtp'][_0xedbb('0x74')],'pass':_0x1e17e2[_0xedbb('0x5c')][_0xedbb('0x77')]};}return respondWithRpcPromise('SendMail','sendMail',{'account':_0x1aa799,'message':_0x2ca18a[_0xedbb('0x5b')]});}else{throw new Error(_0xedbb('0xaa'));}}})[_0xedbb('0x33')](function(_0x4956c1){if(_0x4956c1){_0x35cda9=_0x4956c1;if(_0x1bbcd0['List']){if(_0x1bbcd0[_0xedbb('0xa1')][_0xedbb('0xab')][_0xedbb('0x49')]){return _0x1bbcd0[_0xedbb('0xa1')][_0xedbb('0xab')][0x0];}else{return db['CmContact']['create'](_[_0xedbb('0x19')](_0x2ca18a[_0xedbb('0x5b')],{'firstName':_0x2ca18a[_0xedbb('0x5b')]['to'],'email':_0x2ca18a[_0xedbb('0x5b')]['to'],'phone':_0x2ca18a['body']['to'],'ListId':_0x1bbcd0[_0xedbb('0xac')]}));}}else{throw new Error(_0xedbb('0xaa'));}}})[_0xedbb('0x33')](function(_0x553909){if(_0x553909){var _0x4faa4d={'UserId':_0x2ca18a[_0xedbb('0x74')]['id'],'ContactId':_0x553909['id'],'MailAccountId':_0x1bbcd0['id'],'inReplyTo':_0x35cda9[_0xedbb('0xad')],'to':_0x2ca18a[_0xedbb('0x5b')]['from'],'cc':_0x2ca18a[_0xedbb('0x5b')]['cc'],'subject':_0x2ca18a[_0xedbb('0x5b')][_0xedbb('0xae')],'attach':_0x2ca18a[_0xedbb('0x5b')]['attach'],'firstMsgDirection':_0xedbb('0xaf'),'lastMsgAt':moment()[_0xedbb('0xa5')](_0xedbb('0xa0')),'lastMsgDirection':'out','lastMsgBody':_0x2ca18a['body'][_0xedbb('0x5b')],'Messages':[_[_0xedbb('0x50')](_0x2ca18a[_0xedbb('0x5b')],{'messageId':_0x35cda9['messageId'],'sentAt':moment()[_0xedbb('0xa5')]('YYYY-MM-DD\x20HH:mm:ss'),'read':!![],'MailAccountId':_0x1bbcd0['id'],'UserId':_0x2ca18a[_0xedbb('0x74')]['id'],'ContactId':_0x553909['id']})]};if(_0x2ca18a['body']['Interaction']){_0x4faa4d=_['merge'](_0x4faa4d,_0x2ca18a[_0xedbb('0x5b')]['Interaction']);}return db['MailInteraction'][_0xedbb('0x61')](_0x4faa4d,{'include':[{'model':db[_0xedbb('0x9d')],'as':_0xedbb('0xb0')}]});}})['then'](respondWithResult(_0x3d136c,null))['catch'](handleError(_0x3d136c,null));};exports['verifySmtp']=function(_0xe493ab,_0x855256,_0x1d2cf5){return db[_0xedbb('0x3f')][_0xedbb('0x5a')]({'where':{'id':_0xe493ab[_0xedbb('0x57')]['id']},'include':[{'model':db[_0xedbb('0x3b')],'as':_0xedbb('0x5c'),'raw':!![]}]})['then'](handleEntityNotFound(_0x855256,null))[_0xedbb('0x33')](function(_0x53eeb4){if(_0x53eeb4&&_0x53eeb4[_0xedbb('0x5c')]){var _0x59a01c={'id':_0x53eeb4['id'],'tls':{'rejectUnauthorized':![]}};if(_0x53eeb4[_0xedbb('0x5c')][_0xedbb('0x7c')]){_0x59a01c[_0xedbb('0x7c')]=_0x53eeb4['Smtp'][_0xedbb('0x7c')];}else{_0x59a01c[_0xedbb('0x7a')]=_0x53eeb4[_0xedbb('0x5c')][_0xedbb('0x7a')];_0x59a01c['port']=_0x53eeb4[_0xedbb('0x5c')][_0xedbb('0x7b')];_0x59a01c[_0xedbb('0xa9')]=_0x53eeb4[_0xedbb('0x5c')][_0xedbb('0xa9')];}if(_0x53eeb4[_0xedbb('0x5c')][_0xedbb('0x79')]){_0x59a01c[_0xedbb('0xb1')]={'user':_0x53eeb4[_0xedbb('0x5c')]['user'],'pass':_0x53eeb4[_0xedbb('0x5c')][_0xedbb('0x77')]};}return respondWithRpcPromise(_0xedbb('0xb2'),'verifySmtp',{'account':_0x59a01c});}})[_0xedbb('0x33')](respondWithResult(_0x855256,null))[_0xedbb('0x55')](handleError(_0x855256,null));};exports[_0xedbb('0x34')]=function(_0x171917,_0x135291){return db[_0xedbb('0x3f')][_0xedbb('0x5a')]({'where':{'id':_0x171917['params']['id']}})[_0xedbb('0x33')](handleEntityNotFound(_0x135291,null))[_0xedbb('0x33')](function(_0x1eb648){if(_0x1eb648&&_0x1eb648['service']){throw new db[(_0xedbb('0xb3'))][(_0xedbb('0xb4'))]('You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account');}return _0x1eb648;})['then'](removeEntity(_0x135291,null))[_0xedbb('0x55')](handleError(_0x135291,null));};exports[_0xedbb('0xb5')]=function(_0x4af56b,_0x2d2ded,_0x1da8ce){return db[_0xedbb('0x3f')][_0xedbb('0x5a')]({'where':{'id':_0x4af56b[_0xedbb('0x57')]['id']}})[_0xedbb('0x33')](handleEntityNotFound(_0x2d2ded,null))['then'](function(_0x30b0fc){if(_0x30b0fc){return _0x30b0fc['addAgents'](_0x4af56b[_0xedbb('0x5b')][_0xedbb('0x68')],_[_0xedbb('0xb6')](_0x4af56b[_0xedbb('0x5b')],[_0xedbb('0x68'),'id'])||{})[_0xedbb('0xb7')](function(_0x63d4ba){for(var _0x828d6e=0x0;_0x828d6e<_0x4af56b['body'][_0xedbb('0x68')]['length'];_0x828d6e+=0x1){socket['emit'](_0xedbb('0xb8'),{'UserId':_0x4af56b[_0xedbb('0x5b')][_0xedbb('0x68')][_0x828d6e],'MailAccountId':_0x4af56b[_0xedbb('0x57')]['id']});}return _0x63d4ba;});}})[_0xedbb('0x33')](respondWithResult(_0x2d2ded,null))[_0xedbb('0x55')](handleError(_0x2d2ded,null));};exports[_0xedbb('0xb9')]=function(_0x301eb1,_0xe25564,_0x57f5d8){return db['MailAccount'][_0xedbb('0x5a')]({'where':{'id':_0x301eb1[_0xedbb('0x57')]['id']}})[_0xedbb('0x33')](handleEntityNotFound(_0xe25564,null))[_0xedbb('0x33')](function(_0xae3dc8){if(_0xae3dc8){return _0xae3dc8['removeAgents'](_0x301eb1[_0xedbb('0x44')]['ids'])[_0xedbb('0x33')](function(){if(_[_0xedbb('0xba')](_0x301eb1['query']['ids'])){for(var _0x4a5f96=0x0;_0x4a5f96<_0x301eb1[_0xedbb('0x44')][_0xedbb('0x68')][_0xedbb('0x49')];_0x4a5f96+=0x1){socket[_0xedbb('0xbb')](_0xedbb('0xbc'),{'UserId':Number(_0x301eb1[_0xedbb('0x44')][_0xedbb('0x68')][_0x4a5f96]),'MailAccountId':Number(_0x301eb1[_0xedbb('0x57')]['id'])});}}else{socket[_0xedbb('0xbb')](_0xedbb('0xbc'),{'UserId':Number(_0x301eb1[_0xedbb('0x44')][_0xedbb('0x68')]),'MailAccountId':Number(_0x301eb1[_0xedbb('0x57')]['id'])});}});}})[_0xedbb('0x33')](respondWithStatusCode(_0xe25564,null))[_0xedbb('0x55')](handleError(_0xe25564,null));};exports[_0xedbb('0xbd')]=function(_0x4b317d,_0x15978a,_0x7ff9f3){var _0x55a8aa={};var _0x46d160={};var _0x1a1939;var _0x2cf8a8;return db[_0xedbb('0x3f')][_0xedbb('0x63')]({'where':{'id':_0x4b317d[_0xedbb('0x57')]['id']}})[_0xedbb('0x33')](handleEntityNotFound(_0x15978a,null))['then'](function(_0x3d57d1){if(_0x3d57d1){_0x1a1939=_0x3d57d1;_0x46d160[_0xedbb('0x43')]=_[_0xedbb('0x64')](db[_0xedbb('0x8f')]['rawAttributes']);_0x46d160[_0xedbb('0x44')]=_[_0xedbb('0x64')](_0x4b317d[_0xedbb('0x44')]);_0x46d160['filters']=_[_0xedbb('0x46')](_0x46d160[_0xedbb('0x43')],_0x46d160[_0xedbb('0x44')]);_0x55a8aa[_0xedbb('0x47')]=_[_0xedbb('0x46')](_0x46d160[_0xedbb('0x43')],qs[_0xedbb('0x48')](_0x4b317d[_0xedbb('0x44')][_0xedbb('0x48')]));_0x55a8aa[_0xedbb('0x47')]=_0x55a8aa[_0xedbb('0x47')][_0xedbb('0x49')]?_0x55a8aa['attributes']:_0x46d160[_0xedbb('0x43')];_0x55a8aa[_0xedbb('0x6c')]=qs[_0xedbb('0x4c')](_0x4b317d[_0xedbb('0x44')][_0xedbb('0x4c')]);_0x55a8aa['where']=qs['filters'](_['pick'](_0x4b317d[_0xedbb('0x44')],_0x46d160[_0xedbb('0x45')]));if(_0x4b317d[_0xedbb('0x44')]['filter']){_0x55a8aa[_0xedbb('0x4f')]=_['merge'](_0x55a8aa[_0xedbb('0x4f')],{'$or':_['map'](_0x55a8aa[_0xedbb('0x47')],function(_0x99731f){var _0x4342dc={};_0x4342dc[_0x99731f]={'$like':'%'+_0x4b317d[_0xedbb('0x44')]['filter']+'%'};return _0x4342dc;})});}_0x55a8aa=_['merge']({},_0x55a8aa,_0x4b317d[_0xedbb('0x52')]);return _0x1a1939[_0xedbb('0xbd')](_0x55a8aa);}})[_0xedbb('0x33')](function(_0x5825a5){if(_0x5825a5){_0x2cf8a8=_0x5825a5[_0xedbb('0x49')];if(!_0x4b317d['query'][_0xedbb('0x4a')](_0xedbb('0x65'))){_0x55a8aa[_0xedbb('0x4b')]=qs[_0xedbb('0x4b')](_0x4b317d[_0xedbb('0x44')][_0xedbb('0x4b')]);_0x55a8aa[_0xedbb('0x2d')]=qs[_0xedbb('0x2d')](_0x4b317d[_0xedbb('0x44')]['offset']);}return _0x1a1939[_0xedbb('0xbd')](_0x55a8aa);}})[_0xedbb('0x33')](function(_0x467e68){if(_0x467e68){return _0x467e68?{'count':_0x2cf8a8,'rows':_0x467e68}:null;}})['then'](respondWithResult(_0x15978a,null))[_0xedbb('0x55')](handleError(_0x15978a,null));};