Built motion from commit (unavailable).|2.5.24
[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 _0x41bb=['request\x20sent','debug','MailAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','MailAccount,\x20%s,\x20%s','result','catch','sendStatus','end','status','json','count','offset','limit','set','apply','reject','save','update','get','MailAccounts','UserProfileResource','destroy','stack','name','send','index','MailServerIn','Imap','MailServerOut','Pause','mandatoryDispositionPause','map','MailAccount','rawAttributes','fieldName','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','type','VIRTUAL','options','includeAll','rows','show','params','Smtp','find','body','describe','MailAccountId','Disposition','create','findOne','filter','include','removeDispositions','ids','addAnswer','CannedAnswer','removeAnswers','email','ListId','active','description','isNil','cservice','user','cuser','password','pass','cpassword','authentication','host','port','service','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','getImap','addImap','removeImap','setImap','getSmtp','addSmtp','removeSmtp','setSmtp','addInteraction','MailInteraction','omit','getInteractions','CmContact','Contact','Owner','fullname','internal','Tag','Tags','color','tag','addApplications','sequelize','transaction','MailApplication','bulkCreate','priority','getApplications','MailMessage','$gte','split','format','inlineCss','true','CmList','List','Contacts','updatedAt','from','%s\x20<%s>','attachments','root','server/files/attachments','basename','auth','secure','SendMail','List\x20not\x20found','messageId','subject','out','YYYY-MM-DD\x20HH:mm:ss','Interaction','Messages','VerifySmtp','Sequelize','ValidationError','addAgents','spread','emit','removeAgents','isArray','getAgents','User','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','squel','crypto','jsforce','desk.js','querystring','papaparse','juice','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','redis','defaults','localhost','./mailAccount.socket','register','jayson/promise','client','http','request','then','info'];(function(_0x2d2c16,_0x4e88b6){var _0x53f2fb=function(_0x6b6dac){while(--_0x6b6dac){_0x2d2c16['push'](_0x2d2c16['shift']());}};_0x53f2fb(++_0x4e88b6);}(_0x41bb,0x168));var _0xb41b=function(_0x1a9ed0,_0x90f418){_0x1a9ed0=_0x1a9ed0-0x0;var _0x22deb7=_0x41bb[_0x1a9ed0];return _0x22deb7;};'use strict';var pdf=require(_0xb41b('0x0'));var emlformat=require(_0xb41b('0x1'));var rimraf=require(_0xb41b('0x2'));var zipdir=require(_0xb41b('0x3'));var jsonpatch=require(_0xb41b('0x4'));var rp=require(_0xb41b('0x5'));var moment=require(_0xb41b('0x6'));var BPromise=require(_0xb41b('0x7'));var Mustache=require(_0xb41b('0x8'));var util=require(_0xb41b('0x9'));var path=require(_0xb41b('0xa'));var sox=require(_0xb41b('0xb'));var csv=require(_0xb41b('0xc'));var ejs=require(_0xb41b('0xd'));var fs=require('fs');var _=require('lodash');var squel=require(_0xb41b('0xe'));var crypto=require(_0xb41b('0xf'));var jsforce=require(_0xb41b('0x10'));var deskjs=require(_0xb41b('0x11'));var toCsv=require('to-csv');var querystring=require(_0xb41b('0x12'));var Papa=require(_0xb41b('0x13'));var htmlToText=require('html-to-text');var juice=require(_0xb41b('0x14'));var Redis=require('ioredis');var authService=require(_0xb41b('0x15'));var qs=require(_0xb41b('0x16'));var as=require(_0xb41b('0x17'));var hardwareService=require(_0xb41b('0x18'));var logger=require(_0xb41b('0x19'))(_0xb41b('0x1a'));var utils=require(_0xb41b('0x1b'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xb41b('0x1c'))['db'];config[_0xb41b('0x1d')]=_[_0xb41b('0x1e')](config[_0xb41b('0x1d')],{'host':_0xb41b('0x1f'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xb41b('0x1d')]));require(_0xb41b('0x20'))[_0xb41b('0x21')](socket);var jayson=require(_0xb41b('0x22'));var client=jayson[_0xb41b('0x23')][_0xb41b('0x24')]({'port':0x232b});function respondWithRpcPromise(_0x4d865f,_0xf45ae7,_0x2b236d,_0x1a6ba0){return new BPromise(function(_0x5b46eb,_0x20004f){var _0x5683ae=_0x1a6ba0||client;return _0x5683ae[_0xb41b('0x25')](_0x4d865f,_0x2b236d)[_0xb41b('0x26')](function(_0x209b97){logger[_0xb41b('0x27')]('MailAccount,\x20%s,\x20%s',_0xf45ae7,_0xb41b('0x28'));logger[_0xb41b('0x29')](_0xb41b('0x2a'),_0xf45ae7,_0xb41b('0x28'),JSON[_0xb41b('0x2b')](_0x209b97));if(_0x209b97[_0xb41b('0x2c')]){if(_0x209b97[_0xb41b('0x2c')][_0xb41b('0x2d')]===0x1f4){logger[_0xb41b('0x2c')]('MailAccount,\x20%s,\x20%s',_0xf45ae7,_0x209b97[_0xb41b('0x2c')]['message']);return _0x20004f(_0x209b97['error'][_0xb41b('0x2e')]);}logger[_0xb41b('0x2c')]('MailAccount,\x20%s,\x20%s',_0xf45ae7,_0x209b97[_0xb41b('0x2c')]['message']);return _0x5b46eb(_0x209b97[_0xb41b('0x2c')][_0xb41b('0x2e')]);}else{logger[_0xb41b('0x27')](_0xb41b('0x2f'),_0xf45ae7,_0xb41b('0x28'));_0x5b46eb(_0x209b97[_0xb41b('0x30')][_0xb41b('0x2e')]);}})[_0xb41b('0x31')](function(_0x2051a3){logger['error'](_0xb41b('0x2f'),_0xf45ae7,_0x2051a3);_0x20004f(_0x2051a3);});});}function respondWithStatusCode(_0x63b16c,_0x221075){_0x221075=_0x221075||0xcc;return function(_0x3aa5fc){if(_0x3aa5fc){return _0x63b16c[_0xb41b('0x32')](_0x221075);}return _0x63b16c['status'](_0x221075)[_0xb41b('0x33')]();};}function respondWithResult(_0x112ab6,_0x5a1ae7){_0x5a1ae7=_0x5a1ae7||0xc8;return function(_0x3e4b96){if(_0x3e4b96){return _0x112ab6[_0xb41b('0x34')](_0x5a1ae7)[_0xb41b('0x35')](_0x3e4b96);}};}function respondWithFilteredResult(_0x3e02a3,_0x12d031){return function(_0x1c0618){if(_0x1c0618){var _0x359562=_0x1c0618[_0xb41b('0x36')],_0x5d1dfa=_0x12d031[_0xb41b('0x37')],_0x1b8cb4=_0x12d031['offset']+_0x12d031[_0xb41b('0x38')],_0x41e7db;if(_0x1b8cb4>=_0x359562){_0x1b8cb4=_0x359562;_0x41e7db=0xc8;}else{_0x41e7db=0xce;}_0x3e02a3[_0xb41b('0x34')](_0x41e7db);return _0x3e02a3[_0xb41b('0x39')]('Content-Range',_0x5d1dfa+'-'+_0x1b8cb4+'/'+_0x359562)[_0xb41b('0x35')](_0x1c0618);}return null;};}function patchUpdates(_0x45b335){return function(_0x583a64){try{jsonpatch[_0xb41b('0x3a')](_0x583a64,_0x45b335,!![]);}catch(_0x8e5467){return BPromise[_0xb41b('0x3b')](_0x8e5467);}return _0x583a64[_0xb41b('0x3c')]();};}function saveUpdates(_0x142611,_0x2b382e){return function(_0x35c381){if(_0x35c381){return _0x35c381[_0xb41b('0x3d')](_0x142611)['then'](function(_0x52976e){return _0x52976e;});}return null;};}function removeEntity(_0xf8c88b,_0x2d2226){return function(_0x4e7fac){if(_0x4e7fac){return _0x4e7fac['destroy']()['then'](function(){var _0x19e8f0=_0x4e7fac[_0xb41b('0x3e')]({'plain':!![]});var _0x2c886a=_0xb41b('0x3f');return db[_0xb41b('0x40')][_0xb41b('0x41')]({'where':{'type':_0x2c886a,'resourceId':_0x19e8f0['id']}})[_0xb41b('0x26')](function(){return _0x4e7fac;});})['then'](function(){_0xf8c88b['status'](0xcc)[_0xb41b('0x33')]();});}};}function handleEntityNotFound(_0x21e838,_0x249bbb){return function(_0xb2da0e){if(!_0xb2da0e){_0x21e838['sendStatus'](0x194);}return _0xb2da0e;};}function handleError(_0x2d14a4,_0x6ffc7c){_0x6ffc7c=_0x6ffc7c||0x1f4;return function(_0x3eb9b2){logger['error'](_0x3eb9b2[_0xb41b('0x42')]);if(_0x3eb9b2[_0xb41b('0x43')]){delete _0x3eb9b2[_0xb41b('0x43')];}_0x2d14a4['status'](_0x6ffc7c)[_0xb41b('0x44')](_0x3eb9b2);};}exports[_0xb41b('0x45')]=function(_0x2a2bc9,_0x2cb15e){var _0x316701={'include':[{'model':db[_0xb41b('0x46')],'as':_0xb41b('0x47')},{'model':db[_0xb41b('0x48')],'as':'Smtp'},{'model':db[_0xb41b('0x49')],'as':_0xb41b('0x4a')}]},_0x5cb8a3={},_0x337607={'count':0x0,'rows':[]};var _0x367222=_[_0xb41b('0x4b')](db[_0xb41b('0x4c')][_0xb41b('0x4d')],function(_0x503592){return{'name':_0x503592[_0xb41b('0x4e')],'type':_0x503592['type']['key']};});_0x5cb8a3[_0xb41b('0x4f')]=_[_0xb41b('0x4b')](_0x367222,_0xb41b('0x43'));_0x5cb8a3[_0xb41b('0x50')]=_[_0xb41b('0x51')](_0x2a2bc9['query']);_0x5cb8a3[_0xb41b('0x52')]=_[_0xb41b('0x53')](_0x5cb8a3[_0xb41b('0x4f')],_0x5cb8a3['query']);_0x316701['attributes']=_[_0xb41b('0x53')](_0x5cb8a3[_0xb41b('0x4f')],qs['fields'](_0x2a2bc9[_0xb41b('0x50')][_0xb41b('0x54')]));_0x316701['attributes']=_0x316701[_0xb41b('0x55')][_0xb41b('0x56')]?_0x316701[_0xb41b('0x55')]:_0x5cb8a3[_0xb41b('0x4f')];if(!_0x2a2bc9[_0xb41b('0x50')][_0xb41b('0x57')](_0xb41b('0x58'))){_0x316701[_0xb41b('0x38')]=qs[_0xb41b('0x38')](_0x2a2bc9[_0xb41b('0x50')][_0xb41b('0x38')]);_0x316701[_0xb41b('0x37')]=qs[_0xb41b('0x37')](_0x2a2bc9['query'][_0xb41b('0x37')]);}_0x316701[_0xb41b('0x59')]=qs['sort'](_0x2a2bc9[_0xb41b('0x50')][_0xb41b('0x5a')]);_0x316701[_0xb41b('0x5b')]=qs['filters'](_[_0xb41b('0x5c')](_0x2a2bc9['query'],_0x5cb8a3[_0xb41b('0x52')]),_0x367222);if(_0x2a2bc9[_0xb41b('0x50')]['filter']){_0x316701[_0xb41b('0x5b')]=_[_0xb41b('0x5d')](_0x316701['where'],{'$or':_['map'](_0x367222,function(_0xcf18e){if(_0xcf18e[_0xb41b('0x5e')]!==_0xb41b('0x5f')){var _0x1a7a1d={};_0x1a7a1d[_0xcf18e[_0xb41b('0x43')]]={'$like':'%'+_0x2a2bc9[_0xb41b('0x50')]['filter']+'%'};return _0x1a7a1d;}})});}_0x316701=_[_0xb41b('0x5d')]({},_0x316701,_0x2a2bc9[_0xb41b('0x60')]);var _0x3a254b={'where':_0x316701[_0xb41b('0x5b')]};return db[_0xb41b('0x4c')][_0xb41b('0x36')](_0x3a254b)[_0xb41b('0x26')](function(_0x1510a1){_0x337607['count']=_0x1510a1;if(_0x2a2bc9[_0xb41b('0x50')][_0xb41b('0x61')]){_0x316701['include']=[{'all':!![]}];}return db[_0xb41b('0x4c')]['findAll'](_0x316701);})[_0xb41b('0x26')](function(_0x13b9b8){_0x337607[_0xb41b('0x62')]=_0x13b9b8;return _0x337607;})['then'](respondWithFilteredResult(_0x2cb15e,_0x316701))[_0xb41b('0x31')](handleError(_0x2cb15e,null));};exports[_0xb41b('0x63')]=function(_0x1e623d,_0x469921){var _0x39bab8={'raw':![],'where':{'id':_0x1e623d[_0xb41b('0x64')]['id']},'include':[{'model':db[_0xb41b('0x46')],'as':_0xb41b('0x47')},{'model':db['MailServerOut'],'as':_0xb41b('0x65')},{'model':db['Pause'],'as':_0xb41b('0x4a')}]},_0x53c7f0={};_0x53c7f0[_0xb41b('0x4f')]=_['keys'](db[_0xb41b('0x4c')][_0xb41b('0x4d')]);_0x53c7f0[_0xb41b('0x50')]=_[_0xb41b('0x51')](_0x1e623d['query']);_0x53c7f0[_0xb41b('0x52')]=_[_0xb41b('0x53')](_0x53c7f0['model'],_0x53c7f0['query']);_0x39bab8[_0xb41b('0x55')]=_[_0xb41b('0x53')](_0x53c7f0[_0xb41b('0x4f')],qs[_0xb41b('0x54')](_0x1e623d[_0xb41b('0x50')][_0xb41b('0x54')]));_0x39bab8[_0xb41b('0x55')]=_0x39bab8[_0xb41b('0x55')]['length']?_0x39bab8[_0xb41b('0x55')]:_0x53c7f0[_0xb41b('0x4f')];if(_0x1e623d['query']['includeAll']){_0x39bab8['include']=[{'all':!![]}];}_0x39bab8=_['merge']({},_0x39bab8,_0x1e623d[_0xb41b('0x60')]);return db[_0xb41b('0x4c')][_0xb41b('0x66')](_0x39bab8)[_0xb41b('0x26')](handleEntityNotFound(_0x469921,null))[_0xb41b('0x26')](respondWithResult(_0x469921,null))[_0xb41b('0x31')](handleError(_0x469921,null));};exports[_0xb41b('0x3d')]=function(_0x2e50a4,_0x6fea8a){if(_0x2e50a4[_0xb41b('0x67')]['id']){delete _0x2e50a4['body']['id'];}return db[_0xb41b('0x4c')][_0xb41b('0x66')]({'where':{'id':_0x2e50a4[_0xb41b('0x64')]['id']},'include':[{'model':db['MailServerIn'],'as':_0xb41b('0x47')},{'model':db['MailServerOut'],'as':'Smtp'},{'model':db[_0xb41b('0x49')],'as':_0xb41b('0x4a')}]})[_0xb41b('0x26')](handleEntityNotFound(_0x6fea8a,null))['then'](saveUpdates(_0x2e50a4['body'],null))['then'](function(_0x5e663c){if(_0x5e663c&&_0x2e50a4[_0xb41b('0x67')][_0xb41b('0x47')]){return db[_0xb41b('0x46')][_0xb41b('0x3d')](_0x2e50a4[_0xb41b('0x67')][_0xb41b('0x47')],{'where':{'MailAccountId':_0x5e663c['id']}})[_0xb41b('0x26')](function(){return _0x5e663c;});}return _0x5e663c;})['then'](function(_0x19ec2){if(_0x19ec2&&_0x2e50a4['body'][_0xb41b('0x65')]){return db[_0xb41b('0x48')][_0xb41b('0x3d')](_0x2e50a4['body'][_0xb41b('0x65')],{'where':{'MailAccountId':_0x19ec2['id']}})[_0xb41b('0x26')](function(){return _0x19ec2;});}return _0x19ec2;})['then'](respondWithResult(_0x6fea8a,null))['catch'](handleError(_0x6fea8a,null));};exports[_0xb41b('0x68')]=function(_0x5a0e3d,_0xd53a03){return db['MailAccount'][_0xb41b('0x68')]()['then'](respondWithResult(_0xd53a03,null))['catch'](handleError(_0xd53a03,null));};exports['addDisposition']=function(_0x2610e4,_0xf3351d,_0x5ea3ca){if(_0x2610e4['body']['id']){delete _0x2610e4[_0xb41b('0x67')]['id'];}return db[_0xb41b('0x4c')][_0xb41b('0x66')]({'where':{'id':_0x2610e4[_0xb41b('0x64')]['id']}})[_0xb41b('0x26')](handleEntityNotFound(_0xf3351d,null))['then'](function(_0x47fd21){if(_0x47fd21){_0x2610e4[_0xb41b('0x67')][_0xb41b('0x69')]=_0x47fd21['id'];return db[_0xb41b('0x6a')][_0xb41b('0x6b')](_0x2610e4[_0xb41b('0x67')]);}})[_0xb41b('0x26')](respondWithResult(_0xf3351d,null))[_0xb41b('0x31')](handleError(_0xf3351d,null));};exports['getDispositions']=function(_0x5aeaa5,_0x17ff27,_0x367217){var _0x5df5e1={'raw':![],'where':{}};var _0x4f7064={};var _0x391457={'count':0x0,'rows':[]};return db[_0xb41b('0x4c')][_0xb41b('0x6c')]({'where':{'id':_0x5aeaa5[_0xb41b('0x64')]['id']}})[_0xb41b('0x26')](handleEntityNotFound(_0x17ff27,null))[_0xb41b('0x26')](function(_0x22b8bf){if(_0x22b8bf){_0x4f7064[_0xb41b('0x4f')]=_['keys'](db[_0xb41b('0x6a')][_0xb41b('0x4d')]);_0x4f7064[_0xb41b('0x50')]=_['keys'](_0x5aeaa5['query']);_0x4f7064['filters']=_[_0xb41b('0x53')](_0x4f7064[_0xb41b('0x4f')],_0x4f7064[_0xb41b('0x50')]);_0x5df5e1['attributes']=_['intersection'](_0x4f7064['model'],qs[_0xb41b('0x54')](_0x5aeaa5[_0xb41b('0x50')][_0xb41b('0x54')]));_0x5df5e1['attributes']=_0x5df5e1['attributes'][_0xb41b('0x56')]?_0x5df5e1[_0xb41b('0x55')]:_0x4f7064['model'];if(!_0x5aeaa5[_0xb41b('0x50')][_0xb41b('0x57')](_0xb41b('0x58'))){_0x5df5e1[_0xb41b('0x38')]=qs[_0xb41b('0x38')](_0x5aeaa5[_0xb41b('0x50')]['limit']);_0x5df5e1['offset']=qs[_0xb41b('0x37')](_0x5aeaa5['query'][_0xb41b('0x37')]);}_0x5df5e1[_0xb41b('0x59')]=qs[_0xb41b('0x5a')](_0x5aeaa5[_0xb41b('0x50')]['sort']);_0x5df5e1[_0xb41b('0x5b')]=qs[_0xb41b('0x52')](_['pick'](_0x5aeaa5[_0xb41b('0x50')],_0x4f7064[_0xb41b('0x52')]));_0x5df5e1[_0xb41b('0x5b')]['MailAccountId']=_0x22b8bf['id'];if(_0x5aeaa5[_0xb41b('0x50')][_0xb41b('0x6d')]){_0x5df5e1['where']=_[_0xb41b('0x5d')](_0x5df5e1[_0xb41b('0x5b')],{'$or':_[_0xb41b('0x4b')](_0x5df5e1['attributes'],function(_0x2fd5b4){var _0x46517f={};_0x46517f[_0x2fd5b4]={'$like':'%'+_0x5aeaa5[_0xb41b('0x50')][_0xb41b('0x6d')]+'%'};return _0x46517f;})});}_0x5df5e1=_[_0xb41b('0x5d')]({},_0x5df5e1,_0x5aeaa5[_0xb41b('0x60')]);return db[_0xb41b('0x6a')][_0xb41b('0x36')]({'where':_0x5df5e1[_0xb41b('0x5b')]})[_0xb41b('0x26')](function(_0x8e6023){_0x391457[_0xb41b('0x36')]=_0x8e6023;if(_0x5aeaa5[_0xb41b('0x50')][_0xb41b('0x61')]){_0x5df5e1[_0xb41b('0x6e')]=[{'all':!![]}];}return db['Disposition']['findAll'](_0x5df5e1);})[_0xb41b('0x26')](function(_0xe254ad){_0x391457[_0xb41b('0x62')]=_0xe254ad;return _0x391457;});}})[_0xb41b('0x26')](respondWithFilteredResult(_0x17ff27,_0x5df5e1))[_0xb41b('0x31')](handleError(_0x17ff27,null));};exports[_0xb41b('0x6f')]=function(_0x3ed30,_0x199352,_0x3c2ffe){return db[_0xb41b('0x4c')][_0xb41b('0x66')]({'where':{'id':_0x3ed30[_0xb41b('0x64')]['id']}})[_0xb41b('0x26')](handleEntityNotFound(_0x199352,null))['then'](function(_0x4c0a45){if(_0x4c0a45){return _0x4c0a45[_0xb41b('0x6f')](_0x3ed30[_0xb41b('0x50')][_0xb41b('0x70')]);}})[_0xb41b('0x26')](respondWithStatusCode(_0x199352,null))[_0xb41b('0x31')](handleError(_0x199352,null));};exports[_0xb41b('0x71')]=function(_0x7b8f6b,_0x2d2d8e,_0x4f3da9){if(_0x7b8f6b[_0xb41b('0x67')]['id']){delete _0x7b8f6b[_0xb41b('0x67')]['id'];}return db[_0xb41b('0x4c')]['find']({'where':{'id':_0x7b8f6b['params']['id']}})[_0xb41b('0x26')](handleEntityNotFound(_0x2d2d8e,null))[_0xb41b('0x26')](function(_0x2fe8a3){if(_0x2fe8a3){_0x7b8f6b['body'][_0xb41b('0x69')]=_0x2fe8a3['id'];return db[_0xb41b('0x72')][_0xb41b('0x6b')](_0x7b8f6b[_0xb41b('0x67')]);}})['then'](respondWithResult(_0x2d2d8e,null))[_0xb41b('0x31')](handleError(_0x2d2d8e,null));};exports['getAnswers']=function(_0x14d799,_0x37dc58,_0x4dfa7c){var _0x3886a9={'raw':![],'where':{}};var _0x46847e={};var _0x56acd8={'count':0x0,'rows':[]};return db[_0xb41b('0x4c')][_0xb41b('0x6c')]({'where':{'id':_0x14d799[_0xb41b('0x64')]['id']}})[_0xb41b('0x26')](handleEntityNotFound(_0x37dc58,null))[_0xb41b('0x26')](function(_0xac27b5){if(_0xac27b5){_0x46847e['model']=_[_0xb41b('0x51')](db[_0xb41b('0x72')][_0xb41b('0x4d')]);_0x46847e[_0xb41b('0x50')]=_[_0xb41b('0x51')](_0x14d799[_0xb41b('0x50')]);_0x46847e[_0xb41b('0x52')]=_['intersection'](_0x46847e[_0xb41b('0x4f')],_0x46847e[_0xb41b('0x50')]);_0x3886a9[_0xb41b('0x55')]=_[_0xb41b('0x53')](_0x46847e[_0xb41b('0x4f')],qs[_0xb41b('0x54')](_0x14d799[_0xb41b('0x50')][_0xb41b('0x54')]));_0x3886a9['attributes']=_0x3886a9[_0xb41b('0x55')]['length']?_0x3886a9[_0xb41b('0x55')]:_0x46847e[_0xb41b('0x4f')];if(!_0x14d799[_0xb41b('0x50')]['hasOwnProperty'](_0xb41b('0x58'))){_0x3886a9[_0xb41b('0x38')]=qs[_0xb41b('0x38')](_0x14d799['query'][_0xb41b('0x38')]);_0x3886a9[_0xb41b('0x37')]=qs[_0xb41b('0x37')](_0x14d799[_0xb41b('0x50')][_0xb41b('0x37')]);}_0x3886a9[_0xb41b('0x59')]=qs[_0xb41b('0x5a')](_0x14d799[_0xb41b('0x50')][_0xb41b('0x5a')]);_0x3886a9['where']=qs[_0xb41b('0x52')](_['pick'](_0x14d799['query'],_0x46847e['filters']));_0x3886a9[_0xb41b('0x5b')][_0xb41b('0x69')]=_0xac27b5['id'];if(_0x14d799[_0xb41b('0x50')]['filter']){_0x3886a9[_0xb41b('0x5b')]=_[_0xb41b('0x5d')](_0x3886a9['where'],{'$or':_[_0xb41b('0x4b')](_0x3886a9[_0xb41b('0x55')],function(_0x342911){var _0x29a773={};_0x29a773[_0x342911]={'$like':'%'+_0x14d799[_0xb41b('0x50')][_0xb41b('0x6d')]+'%'};return _0x29a773;})});}_0x3886a9=_[_0xb41b('0x5d')]({},_0x3886a9,_0x14d799[_0xb41b('0x60')]);return db['CannedAnswer']['count']({'where':_0x3886a9[_0xb41b('0x5b')]})['then'](function(_0x55108d){_0x56acd8[_0xb41b('0x36')]=_0x55108d;if(_0x14d799[_0xb41b('0x50')][_0xb41b('0x61')]){_0x3886a9[_0xb41b('0x6e')]=[{'all':!![]}];}return db[_0xb41b('0x72')]['findAll'](_0x3886a9);})['then'](function(_0xd9c590){_0x56acd8[_0xb41b('0x62')]=_0xd9c590;return _0x56acd8;});}})[_0xb41b('0x26')](respondWithFilteredResult(_0x37dc58,_0x3886a9))[_0xb41b('0x31')](handleError(_0x37dc58,null));};exports[_0xb41b('0x73')]=function(_0x309fc9,_0x12fbf7,_0x446c3a){return db[_0xb41b('0x4c')][_0xb41b('0x66')]({'where':{'id':_0x309fc9[_0xb41b('0x64')]['id']}})[_0xb41b('0x26')](handleEntityNotFound(_0x12fbf7,null))['then'](function(_0x112c02){if(_0x112c02){return _0x112c02[_0xb41b('0x73')](_0x309fc9[_0xb41b('0x50')][_0xb41b('0x70')]);}})[_0xb41b('0x26')](respondWithStatusCode(_0x12fbf7,null))[_0xb41b('0x31')](handleError(_0x12fbf7,null));};exports[_0xb41b('0x6b')]=function(_0x17ab99,_0x2c753e){var _0x4086b3={'name':_0x17ab99[_0xb41b('0x67')][_0xb41b('0x43')],'key':_0x17ab99[_0xb41b('0x67')]['key'],'email':_0x17ab99[_0xb41b('0x67')][_0xb41b('0x74')],'ListId':_0x17ab99['body'][_0xb41b('0x75')],'active':!_['isNil'](_0x17ab99[_0xb41b('0x67')][_0xb41b('0x76')])?_0x17ab99[_0xb41b('0x67')][_0xb41b('0x76')]:!![],'description':_0x17ab99[_0xb41b('0x67')][_0xb41b('0x77')]||null,'Imap':{},'Smtp':{}};if(_[_0xb41b('0x78')](_0x17ab99[_0xb41b('0x67')][_0xb41b('0x79')])){if(_0x17ab99[_0xb41b('0x67')]['cauthentication']){_0x4086b3[_0xb41b('0x47')][_0xb41b('0x7a')]=_0x4086b3[_0xb41b('0x65')]['user']=_0x17ab99['body'][_0xb41b('0x7b')];_0x4086b3[_0xb41b('0x47')][_0xb41b('0x7c')]=_0x4086b3[_0xb41b('0x65')][_0xb41b('0x7d')]=_0x17ab99[_0xb41b('0x67')][_0xb41b('0x7e')];}else{_0x4086b3[_0xb41b('0x47')][_0xb41b('0x7f')]=_0x4086b3[_0xb41b('0x65')][_0xb41b('0x7f')]=![];}_0x4086b3[_0xb41b('0x47')][_0xb41b('0x80')]=_0x17ab99['body'][_0xb41b('0x47')][_0xb41b('0x80')];_0x4086b3['Imap']['port']=_0x17ab99[_0xb41b('0x67')][_0xb41b('0x47')][_0xb41b('0x81')];_0x4086b3[_0xb41b('0x65')][_0xb41b('0x80')]=_0x17ab99[_0xb41b('0x67')]['Smtp'][_0xb41b('0x80')];_0x4086b3[_0xb41b('0x65')][_0xb41b('0x81')]=_0x17ab99[_0xb41b('0x67')][_0xb41b('0x65')][_0xb41b('0x81')];}else{_0x4086b3['Imap'][_0xb41b('0x82')]=_0x4086b3[_0xb41b('0x65')][_0xb41b('0x82')]=_0x17ab99[_0xb41b('0x67')][_0xb41b('0x79')];_0x4086b3['Imap']['user']=_0x4086b3[_0xb41b('0x65')][_0xb41b('0x7a')]=_0x17ab99['body'][_0xb41b('0x7b')];_0x4086b3[_0xb41b('0x47')][_0xb41b('0x7c')]=_0x4086b3[_0xb41b('0x65')][_0xb41b('0x7d')]=_0x17ab99['body'][_0xb41b('0x7e')];}return db['MailAccount']['create'](_0x4086b3,{'include':[{'model':db[_0xb41b('0x48')],'as':_0xb41b('0x65')},{'model':db[_0xb41b('0x46')],'as':_0xb41b('0x47')}]})['then'](function(_0xb33d6b){var _0x3841d6=_0x17ab99[_0xb41b('0x7a')][_0xb41b('0x3e')]({'plain':!![]});if(!_0x3841d6)throw new Error(_0xb41b('0x83'));if(_0x3841d6[_0xb41b('0x84')]==='user'){var _0x28f9c9=_0xb33d6b[_0xb41b('0x3e')]({'plain':!![]});return db[_0xb41b('0x85')][_0xb41b('0x66')]({'where':{'name':_0xb41b('0x3f'),'userProfileId':_0x3841d6[_0xb41b('0x86')]},'raw':!![]})[_0xb41b('0x26')](function(_0x1c4dd0){if(_0x1c4dd0&&_0x1c4dd0[_0xb41b('0x87')]===0x0){return db['UserProfileResource'][_0xb41b('0x6b')]({'name':_0x28f9c9[_0xb41b('0x43')],'resourceId':_0x28f9c9['id'],'type':_0x1c4dd0[_0xb41b('0x43')],'sectionId':_0x1c4dd0['id']},{})[_0xb41b('0x26')](function(){return _0xb33d6b;});}else{return _0xb33d6b;}})[_0xb41b('0x31')](function(_0x327c0e){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x327c0e);throw _0x327c0e;});}return _0xb33d6b;})[_0xb41b('0x26')](respondWithResult(_0x2c753e,0xc9))['catch'](handleError(_0x2c753e,null));};exports['getImap']=function(_0x1f29e4,_0x53096f,_0x31d4cf){return db['MailAccount'][_0xb41b('0x6c')]({'where':{'id':_0x1f29e4[_0xb41b('0x64')]['id']}})[_0xb41b('0x26')](handleEntityNotFound(_0x53096f,null))['then'](function(_0x3e1d88){if(_0x3e1d88){return _0x3e1d88[_0xb41b('0x88')]();}return null;})[_0xb41b('0x26')](respondWithResult(_0x53096f,null))[_0xb41b('0x31')](handleError(_0x53096f,null));};exports[_0xb41b('0x89')]=function(_0x109913,_0xf282e,_0xf65e44){if(_0x109913['body']['id']){delete _0x109913[_0xb41b('0x67')]['id'];}return db[_0xb41b('0x4c')]['find']({'where':{'id':_0x109913['params']['id']}})['then'](handleEntityNotFound(_0xf282e,null))['then'](function(_0x30f147){if(_0x30f147){_0x109913[_0xb41b('0x67')][_0xb41b('0x69')]=_0x30f147['id'];return db['MailServerIn'][_0xb41b('0x6b')](_0x109913[_0xb41b('0x67')]);}})[_0xb41b('0x26')](respondWithResult(_0xf282e,null))['catch'](handleError(_0xf282e,null));};exports[_0xb41b('0x8a')]=function(_0x12c55c,_0x1fd286,_0x2b462c){return db[_0xb41b('0x4c')]['findOne']({'where':{'id':_0x12c55c[_0xb41b('0x64')]['id']}})['then'](handleEntityNotFound(_0x1fd286,null))[_0xb41b('0x26')](function(_0x5464c7){if(_0x5464c7){return _0x5464c7[_0xb41b('0x8b')](null);}return null;})['then'](respondWithStatusCode(_0x1fd286,null))['catch'](handleError(_0x1fd286,null));};exports[_0xb41b('0x8c')]=function(_0x2b7bc6,_0x34398c,_0xe969c5){return db['MailAccount'][_0xb41b('0x6c')]({'where':{'id':_0x2b7bc6[_0xb41b('0x64')]['id']}})['then'](handleEntityNotFound(_0x34398c,null))[_0xb41b('0x26')](function(_0x32829a){if(_0x32829a){return _0x32829a['getSmtp']();}return null;})[_0xb41b('0x26')](respondWithResult(_0x34398c,null))[_0xb41b('0x31')](handleError(_0x34398c,null));};exports[_0xb41b('0x8d')]=function(_0x24d5e2,_0x13f4e1,_0x5971ea){if(_0x24d5e2[_0xb41b('0x67')]['id']){delete _0x24d5e2['body']['id'];}return db[_0xb41b('0x4c')][_0xb41b('0x66')]({'where':{'id':_0x24d5e2[_0xb41b('0x64')]['id']}})[_0xb41b('0x26')](handleEntityNotFound(_0x13f4e1,null))[_0xb41b('0x26')](function(_0x40c974){if(_0x40c974){_0x24d5e2[_0xb41b('0x67')][_0xb41b('0x69')]=_0x40c974['id'];return db[_0xb41b('0x48')][_0xb41b('0x6b')](_0x24d5e2['body']);}})['then'](respondWithResult(_0x13f4e1,null))[_0xb41b('0x31')](handleError(_0x13f4e1,null));};exports[_0xb41b('0x8e')]=function(_0x22836a,_0x10d868,_0x3e9404){return db[_0xb41b('0x4c')][_0xb41b('0x6c')]({'where':{'id':_0x22836a['params']['id']}})['then'](handleEntityNotFound(_0x10d868,null))['then'](function(_0xc07e13){if(_0xc07e13){return _0xc07e13[_0xb41b('0x8f')](null);}return null;})[_0xb41b('0x26')](respondWithStatusCode(_0x10d868,null))['catch'](handleError(_0x10d868,null));};exports[_0xb41b('0x90')]=function(_0x385b1a,_0x574902,_0x3b68de){return db[_0xb41b('0x91')]['find']({'where':{'id':_0x385b1a[_0xb41b('0x64')]['id']}})[_0xb41b('0x26')](handleEntityNotFound(_0x574902,null))[_0xb41b('0x26')](function(_0x22096e){if(_0x22096e){return _0x22096e[_0xb41b('0x90')](_0x385b1a['body'][_0xb41b('0x70')],_[_0xb41b('0x92')](_0x385b1a['body'],[_0xb41b('0x70'),'id'])||{});}})[_0xb41b('0x26')](respondWithResult(_0x574902,null))[_0xb41b('0x31')](handleError(_0x574902,null));};exports[_0xb41b('0x93')]=function(_0x12d73b,_0x51ee89,_0x5e4dc2){var _0x9a0fd2={'raw':![],'where':{}};var _0x59bc4d={};var _0x5a3b63={'count':0x0,'rows':[]};return db[_0xb41b('0x4c')][_0xb41b('0x6c')]({'where':{'id':_0x12d73b[_0xb41b('0x64')]['id']}})[_0xb41b('0x26')](handleEntityNotFound(_0x51ee89,null))[_0xb41b('0x26')](function(_0x349367){if(_0x349367){_0x59bc4d['model']=_[_0xb41b('0x51')](db[_0xb41b('0x91')][_0xb41b('0x4d')]);_0x59bc4d[_0xb41b('0x50')]=_['keys'](_0x12d73b['query']);_0x59bc4d[_0xb41b('0x52')]=_['intersection'](_0x59bc4d[_0xb41b('0x4f')],_0x59bc4d['query']);_0x9a0fd2[_0xb41b('0x55')]=_[_0xb41b('0x53')](_0x59bc4d[_0xb41b('0x4f')],qs[_0xb41b('0x54')](_0x12d73b[_0xb41b('0x50')][_0xb41b('0x54')]));_0x9a0fd2[_0xb41b('0x55')]=_0x9a0fd2['attributes'][_0xb41b('0x56')]?_0x9a0fd2[_0xb41b('0x55')]:_0x59bc4d[_0xb41b('0x4f')];if(!_0x12d73b['query'][_0xb41b('0x57')](_0xb41b('0x58'))){_0x9a0fd2['limit']=qs[_0xb41b('0x38')](_0x12d73b['query'][_0xb41b('0x38')]);_0x9a0fd2[_0xb41b('0x37')]=qs[_0xb41b('0x37')](_0x12d73b[_0xb41b('0x50')][_0xb41b('0x37')]);}_0x9a0fd2[_0xb41b('0x59')]=qs[_0xb41b('0x5a')](_0x12d73b[_0xb41b('0x50')][_0xb41b('0x5a')]);_0x9a0fd2['where']=qs[_0xb41b('0x52')](_[_0xb41b('0x5c')](_0x12d73b[_0xb41b('0x50')],_0x59bc4d[_0xb41b('0x52')]));_0x9a0fd2['where'][_0xb41b('0x69')]=_0x349367['id'];if(_0x12d73b[_0xb41b('0x50')]['filter']){_0x9a0fd2[_0xb41b('0x5b')]=_[_0xb41b('0x5d')](_0x9a0fd2['where'],{'$or':_[_0xb41b('0x4b')](_0x9a0fd2['attributes'],function(_0x1a0bdf){var _0x4f0591={};_0x4f0591[_0x1a0bdf]={'$like':'%'+_0x12d73b['query'][_0xb41b('0x6d')]+'%'};return _0x4f0591;})});}_0x9a0fd2=_[_0xb41b('0x5d')]({},_0x9a0fd2,_0x12d73b[_0xb41b('0x60')]);return db[_0xb41b('0x91')][_0xb41b('0x36')]({'where':_0x9a0fd2[_0xb41b('0x5b')]})['then'](function(_0x48d484){_0x5a3b63[_0xb41b('0x36')]=_0x48d484;if(_0x12d73b[_0xb41b('0x50')][_0xb41b('0x61')]){_0x9a0fd2[_0xb41b('0x6e')]=[{'model':db[_0xb41b('0x94')],'as':_0xb41b('0x95'),'required':![]},{'model':db['User'],'as':_0xb41b('0x96'),'attributes':[_0xb41b('0x43'),_0xb41b('0x97'),_0xb41b('0x98')],'required':![]},{'model':db[_0xb41b('0x99')],'as':_0xb41b('0x9a'),'attributes':['id',_0xb41b('0x43'),_0xb41b('0x9b')],'where':_0x12d73b[_0xb41b('0x50')][_0xb41b('0x9c')]?{'id':_0x12d73b['query'][_0xb41b('0x9c')]}:undefined,'required':_0x12d73b['query'][_0xb41b('0x9c')]?!![]:![]}];}return db[_0xb41b('0x91')]['findAll'](_0x9a0fd2);})[_0xb41b('0x26')](function(_0x53afe0){_0x5a3b63[_0xb41b('0x62')]=_0x53afe0;return _0x5a3b63;});}})[_0xb41b('0x26')](respondWithFilteredResult(_0x51ee89,_0x9a0fd2))[_0xb41b('0x31')](handleError(_0x51ee89,null));};exports[_0xb41b('0x9d')]=function(_0x45d326,_0x53ed44,_0xe4bd52){return db[_0xb41b('0x4c')]['findOne']({'where':{'id':_0x45d326[_0xb41b('0x64')]['id']}})[_0xb41b('0x26')](handleEntityNotFound(_0x53ed44,null))[_0xb41b('0x26')](function(_0x3dc88b){if(_0x3dc88b){return db[_0xb41b('0x9e')][_0xb41b('0x9f')](function(_0xc381b6){return db[_0xb41b('0xa0')][_0xb41b('0x41')]({'where':{'MailAccountId':_0x45d326[_0xb41b('0x64')]['id']},'transaction':_0xc381b6})[_0xb41b('0x26')](function(_0x16214e){var _0x34e1f5=_[_0xb41b('0x4b')](_0x45d326['body'],function(_0x13fa92){_0x13fa92[_0xb41b('0x69')]=_0x45d326[_0xb41b('0x64')]['id'];return _0x13fa92;});return db['MailApplication'][_0xb41b('0xa1')](_0x34e1f5,{'transaction':_0xc381b6});});})[_0xb41b('0x26')](function(){return db[_0xb41b('0xa0')]['findAndCountAll']({'where':{'MailAccountId':_0x45d326[_0xb41b('0x64')]['id']},'order':_0xb41b('0xa2')});});}})[_0xb41b('0x26')](respondWithResult(_0x53ed44,null))[_0xb41b('0x31')](handleError(_0x53ed44,null));};exports[_0xb41b('0xa3')]=function(_0x537257,_0x1c55f0,_0x451e6f){var _0x1fec0e={};var _0x1baaee={};var _0x2b70ab;var _0x1485db;return db[_0xb41b('0x4c')][_0xb41b('0x6c')]({'where':{'id':_0x537257[_0xb41b('0x64')]['id']}})['then'](handleEntityNotFound(_0x1c55f0,null))[_0xb41b('0x26')](function(_0x1822d0){if(_0x1822d0){_0x2b70ab=_0x1822d0;_0x1baaee[_0xb41b('0x4f')]=_[_0xb41b('0x51')](db[_0xb41b('0xa0')]['rawAttributes']);_0x1baaee['query']=_[_0xb41b('0x51')](_0x537257[_0xb41b('0x50')]);_0x1baaee[_0xb41b('0x52')]=_['intersection'](_0x1baaee[_0xb41b('0x4f')],_0x1baaee['query']);_0x1fec0e[_0xb41b('0x55')]=_['intersection'](_0x1baaee[_0xb41b('0x4f')],qs['fields'](_0x537257[_0xb41b('0x50')][_0xb41b('0x54')]));_0x1fec0e['attributes']=_0x1fec0e[_0xb41b('0x55')][_0xb41b('0x56')]?_0x1fec0e[_0xb41b('0x55')]:_0x1baaee[_0xb41b('0x4f')];_0x1fec0e[_0xb41b('0x59')]=qs[_0xb41b('0x5a')](_0x537257[_0xb41b('0x50')]['sort']);_0x1fec0e[_0xb41b('0x5b')]=qs['filters'](_[_0xb41b('0x5c')](_0x537257['query'],_0x1baaee[_0xb41b('0x52')]));if(_0x537257[_0xb41b('0x50')][_0xb41b('0x6d')]){_0x1fec0e['where']=_['merge'](_0x1fec0e[_0xb41b('0x5b')],{'$or':_[_0xb41b('0x4b')](_0x1fec0e[_0xb41b('0x55')],function(_0x409697){var _0x1c00ba={};_0x1c00ba[_0x409697]={'$like':'%'+_0x537257['query'][_0xb41b('0x6d')]+'%'};return _0x1c00ba;})});}_0x1fec0e=_[_0xb41b('0x5d')]({},_0x1fec0e,_0x537257[_0xb41b('0x60')]);return _0x2b70ab[_0xb41b('0xa3')](_0x1fec0e);}})[_0xb41b('0x26')](function(_0x29d6f1){if(_0x29d6f1){_0x1485db=_0x29d6f1[_0xb41b('0x56')];if(!_0x537257[_0xb41b('0x50')][_0xb41b('0x57')]('nolimit')){_0x1fec0e[_0xb41b('0x38')]=qs[_0xb41b('0x38')](_0x537257[_0xb41b('0x50')]['limit']);_0x1fec0e['offset']=qs[_0xb41b('0x37')](_0x537257[_0xb41b('0x50')]['offset']);}return _0x2b70ab[_0xb41b('0xa3')](_0x1fec0e);}})['then'](function(_0x4824c9){if(_0x4824c9){return _0x4824c9?{'count':_0x1485db,'rows':_0x4824c9}:null;}})['then'](respondWithResult(_0x1c55f0,null))[_0xb41b('0x31')](handleError(_0x1c55f0,null));};exports['getMessages']=function(_0x595fc0,_0xe24bb4,_0x11be7c){var _0x1ff580={'raw':!![],'where':{}};var _0x37708b={};var _0x380223={'count':0x0,'rows':[]};return db[_0xb41b('0x4c')][_0xb41b('0x6c')]({'where':{'id':_0x595fc0[_0xb41b('0x64')]['id']}})[_0xb41b('0x26')](handleEntityNotFound(_0xe24bb4,null))['then'](function(_0x24bdb8){if(_0x24bdb8){_0x37708b['model']=_[_0xb41b('0x51')](db[_0xb41b('0xa4')][_0xb41b('0x4d')]);_0x37708b[_0xb41b('0x50')]=_[_0xb41b('0x51')](_0x595fc0['query']);_0x37708b['filters']=_[_0xb41b('0x53')](_0x37708b[_0xb41b('0x4f')],_0x37708b[_0xb41b('0x50')]);_0x1ff580['attributes']=_[_0xb41b('0x53')](_0x37708b[_0xb41b('0x4f')],qs[_0xb41b('0x54')](_0x595fc0['query']['fields']));_0x1ff580['attributes']=_0x1ff580[_0xb41b('0x55')]['length']?_0x1ff580[_0xb41b('0x55')]:_0x37708b[_0xb41b('0x4f')];if(!_0x595fc0[_0xb41b('0x50')][_0xb41b('0x57')](_0xb41b('0x58'))){_0x1ff580[_0xb41b('0x38')]=qs[_0xb41b('0x38')](_0x595fc0['query'][_0xb41b('0x38')]);_0x1ff580[_0xb41b('0x37')]=qs[_0xb41b('0x37')](_0x595fc0[_0xb41b('0x50')][_0xb41b('0x37')]);}_0x1ff580[_0xb41b('0x59')]=qs[_0xb41b('0x5a')](_0x595fc0[_0xb41b('0x50')][_0xb41b('0x5a')]);_0x1ff580[_0xb41b('0x5b')]=qs['filters'](_['pick'](_0x595fc0[_0xb41b('0x50')],_0x37708b['filters']));_0x1ff580[_0xb41b('0x5b')][_0xb41b('0x69')]=_0x24bdb8['id'];if(_0x595fc0[_0xb41b('0x50')][_0xb41b('0x6d')]){_0x1ff580[_0xb41b('0x5b')]=_[_0xb41b('0x5d')](_0x1ff580[_0xb41b('0x5b')],{'$or':_[_0xb41b('0x4b')](_0x1ff580[_0xb41b('0x55')],function(_0x2c5dc8){var _0x2aa545={};_0x2aa545[_0x2c5dc8]={'$like':'%'+_0x595fc0[_0xb41b('0x50')][_0xb41b('0x6d')]+'%'};return _0x2aa545;})});}if(_0x595fc0[_0xb41b('0x50')]['$gte']){var _0x1f5d09=_0x595fc0[_0xb41b('0x50')][_0xb41b('0xa5')][_0xb41b('0xa6')](',');var _0x283edd={};_0x283edd[_0x1f5d09[0x0]]={'$gte':moment(_0x1f5d09[0x1])[_0xb41b('0xa7')]('YYYY-MM-DD\x20HH:mm:ss')};_0x1ff580[_0xb41b('0x5b')]=_[_0xb41b('0x5d')](_0x1ff580[_0xb41b('0x5b')],_0x283edd);}_0x1ff580=_[_0xb41b('0x5d')]({},_0x1ff580,_0x595fc0[_0xb41b('0x60')]);return db[_0xb41b('0xa4')]['count']({'where':_0x1ff580[_0xb41b('0x5b')]})[_0xb41b('0x26')](function(_0x4e5f62){_0x380223[_0xb41b('0x36')]=_0x4e5f62;if(_0x595fc0[_0xb41b('0x50')][_0xb41b('0x61')]){_0x1ff580[_0xb41b('0x6e')]=[{'all':!![]}];}return db[_0xb41b('0xa4')]['findAll'](_0x1ff580);})[_0xb41b('0x26')](function(_0xcb5c35){if(_0x595fc0[_0xb41b('0x50')][_0xb41b('0xa8')]===_0xb41b('0xa9')){for(var _0x5fde9d=0x0;_0x5fde9d<_0xcb5c35[_0xb41b('0x56')];_0x5fde9d++){_0xcb5c35[_0x5fde9d][_0xb41b('0x67')]=juice(_0xcb5c35[_0x5fde9d][_0xb41b('0x67')]);}}_0x380223[_0xb41b('0x62')]=_0xcb5c35;return _0x380223;});}})[_0xb41b('0x26')](respondWithFilteredResult(_0xe24bb4,_0x1ff580))[_0xb41b('0x31')](handleError(_0xe24bb4,null));};exports['send']=function(_0x54a9fe,_0x4f40d8,_0x3ad16d){var _0x40afa7,_0x1726c={},_0x2a953b;if(_0x54a9fe['body']['to']){_0x2a953b=_0x54a9fe[_0xb41b('0x67')]['to'][_0xb41b('0xa6')](',')[0x0];}return db['MailAccount'][_0xb41b('0x66')]({'where':{'id':_0x54a9fe['params']['id']},'include':[{'model':db[_0xb41b('0xaa')],'as':_0xb41b('0xab'),'include':[{'model':db['CmContact'],'as':_0xb41b('0xac'),'where':{'email':_0x2a953b},'limit':0x1,'order':[[_0xb41b('0xad'),'DESC']]}]},{'model':db[_0xb41b('0x48')],'as':_0xb41b('0x65'),'raw':!![]}]})[_0xb41b('0x26')](handleEntityNotFound(_0x4f40d8,null))['then'](function(_0x390cc0){if(_0x390cc0){_0x40afa7=_0x390cc0;if(_0x390cc0[_0xb41b('0x65')]){if(_[_0xb41b('0x78')](_0x54a9fe[_0xb41b('0x67')][_0xb41b('0xae')])){_0x54a9fe['body'][_0xb41b('0xae')]=util[_0xb41b('0xa7')](_0xb41b('0xaf'),_0x390cc0['name'],_0x390cc0[_0xb41b('0x74')]||_0x390cc0[_0xb41b('0x65')]['user']);}if(_0x54a9fe[_0xb41b('0x67')][_0xb41b('0xb0')]&&_0x54a9fe[_0xb41b('0x67')][_0xb41b('0xb0')]['length']){for(var _0x5a6985=0x0;_0x5a6985<_0x54a9fe[_0xb41b('0x67')][_0xb41b('0xb0')][_0xb41b('0x56')];_0x5a6985+=0x1){_0x54a9fe[_0xb41b('0x67')][_0xb41b('0xb0')][_0x5a6985]={'filename':_0x54a9fe[_0xb41b('0x67')]['attachments'][_0x5a6985][_0xb41b('0x43')],'path':path['join'](config[_0xb41b('0xb1')],_0xb41b('0xb2'),_0x54a9fe[_0xb41b('0x67')]['attachments'][_0x5a6985][_0xb41b('0xb3')])};}}var _0x188d38={'tls':{'rejectUnauthorized':![]}};if(_['isNil'](_0x390cc0[_0xb41b('0x65')][_0xb41b('0x82')])){if(_0x390cc0[_0xb41b('0x65')][_0xb41b('0x7f')]){_0x188d38[_0xb41b('0xb4')]={'user':_0x390cc0[_0xb41b('0x65')][_0xb41b('0x7a')],'pass':_0x390cc0['Smtp'][_0xb41b('0x7d')]};}_0x188d38[_0xb41b('0x80')]=_0x390cc0[_0xb41b('0x65')]['host'];_0x188d38[_0xb41b('0x81')]=_0x390cc0[_0xb41b('0x65')][_0xb41b('0x81')];_0x188d38[_0xb41b('0xb5')]=_0x390cc0['Smtp'][_0xb41b('0xb5')];}else{_0x188d38[_0xb41b('0x82')]=_0x390cc0[_0xb41b('0x65')][_0xb41b('0x82')];_0x188d38[_0xb41b('0xb4')]={'user':_0x390cc0[_0xb41b('0x65')][_0xb41b('0x7a')],'pass':_0x390cc0[_0xb41b('0x65')][_0xb41b('0x7d')]};}return respondWithRpcPromise(_0xb41b('0xb6'),'sendMail',{'account':_0x188d38,'message':_0x54a9fe[_0xb41b('0x67')]});}else{throw new Error(_0xb41b('0xb7'));}}})[_0xb41b('0x26')](function(_0x8de06e){if(_0x8de06e){_0x1726c=_0x8de06e;if(_0x40afa7[_0xb41b('0xab')]){if(_0x40afa7['List']['Contacts'][_0xb41b('0x56')]){return _0x40afa7[_0xb41b('0xab')][_0xb41b('0xac')][0x0];}else{return db[_0xb41b('0x94')][_0xb41b('0x6b')](_['defaults'](_0x54a9fe[_0xb41b('0x67')],{'firstName':_0x54a9fe[_0xb41b('0x67')]['to'],'email':_0x54a9fe[_0xb41b('0x67')]['to'],'phone':_0x54a9fe['body']['to'],'ListId':_0x40afa7[_0xb41b('0x75')]}));}}else{throw new Error(_0xb41b('0xb7'));}}})['then'](function(_0x41a0b8){if(_0x41a0b8){var _0x4d517a={'UserId':_0x54a9fe[_0xb41b('0x7a')]['id'],'ContactId':_0x41a0b8['id'],'MailAccountId':_0x40afa7['id'],'inReplyTo':_0x1726c[_0xb41b('0xb8')],'to':_0x54a9fe[_0xb41b('0x67')][_0xb41b('0xae')],'cc':_0x54a9fe[_0xb41b('0x67')]['cc'],'subject':_0x54a9fe[_0xb41b('0x67')][_0xb41b('0xb9')],'attach':_0x54a9fe[_0xb41b('0x67')]['attach'],'firstMsgDirection':_0xb41b('0xba'),'lastMsgAt':moment()[_0xb41b('0xa7')](_0xb41b('0xbb')),'lastMsgDirection':'out','Messages':[_[_0xb41b('0x5d')](_0x54a9fe[_0xb41b('0x67')],{'messageId':_0x1726c['messageId'],'sentAt':moment()[_0xb41b('0xa7')](_0xb41b('0xbb')),'read':!![],'MailAccountId':_0x40afa7['id'],'UserId':_0x54a9fe[_0xb41b('0x7a')]['id'],'ContactId':_0x41a0b8['id']})]};if(_0x54a9fe[_0xb41b('0x67')]['Interaction']){_0x4d517a=_[_0xb41b('0x5d')](_0x4d517a,_0x54a9fe[_0xb41b('0x67')][_0xb41b('0xbc')]);}return db[_0xb41b('0x91')][_0xb41b('0x6b')](_0x4d517a,{'include':[{'model':db[_0xb41b('0xa4')],'as':_0xb41b('0xbd')}]});}})[_0xb41b('0x26')](respondWithResult(_0x4f40d8,null))[_0xb41b('0x31')](handleError(_0x4f40d8,null));};exports['verifySmtp']=function(_0x1db2d0,_0x15561a,_0x377e95){return db[_0xb41b('0x4c')][_0xb41b('0x66')]({'where':{'id':_0x1db2d0[_0xb41b('0x64')]['id']},'include':[{'model':db['MailServerOut'],'as':_0xb41b('0x65'),'raw':!![]}]})['then'](handleEntityNotFound(_0x15561a,null))[_0xb41b('0x26')](function(_0x460599){if(_0x460599&&_0x460599[_0xb41b('0x65')]){var _0x13e91f={'id':_0x460599['id'],'tls':{'rejectUnauthorized':![]}};if(_0x460599[_0xb41b('0x65')][_0xb41b('0x82')]){_0x13e91f[_0xb41b('0x82')]=_0x460599['Smtp']['service'];}else{_0x13e91f[_0xb41b('0x80')]=_0x460599[_0xb41b('0x65')][_0xb41b('0x80')];_0x13e91f['port']=_0x460599[_0xb41b('0x65')]['port'];_0x13e91f[_0xb41b('0xb5')]=_0x460599[_0xb41b('0x65')]['secure'];}if(_0x460599[_0xb41b('0x65')]['authentication']){_0x13e91f[_0xb41b('0xb4')]={'user':_0x460599[_0xb41b('0x65')][_0xb41b('0x7a')],'pass':_0x460599['Smtp'][_0xb41b('0x7d')]};}return respondWithRpcPromise(_0xb41b('0xbe'),'verifySmtp',{'account':_0x13e91f});}})[_0xb41b('0x26')](respondWithResult(_0x15561a,null))[_0xb41b('0x31')](handleError(_0x15561a,null));};exports[_0xb41b('0x41')]=function(_0x6f89d3,_0x1fc09b){return db['MailAccount']['find']({'where':{'id':_0x6f89d3[_0xb41b('0x64')]['id']}})[_0xb41b('0x26')](handleEntityNotFound(_0x1fc09b,null))[_0xb41b('0x26')](function(_0xee4087){if(_0xee4087&&_0xee4087[_0xb41b('0x82')]){throw new db[(_0xb41b('0xbf'))][(_0xb41b('0xc0'))]('You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account');}return _0xee4087;})[_0xb41b('0x26')](removeEntity(_0x1fc09b,null))[_0xb41b('0x31')](handleError(_0x1fc09b,null));};exports[_0xb41b('0xc1')]=function(_0x5ea7ef,_0x159157,_0x213e85){return db[_0xb41b('0x4c')][_0xb41b('0x66')]({'where':{'id':_0x5ea7ef[_0xb41b('0x64')]['id']}})[_0xb41b('0x26')](handleEntityNotFound(_0x159157,null))[_0xb41b('0x26')](function(_0x5d9000){if(_0x5d9000){return _0x5d9000[_0xb41b('0xc1')](_0x5ea7ef['body']['ids'],_[_0xb41b('0x92')](_0x5ea7ef[_0xb41b('0x67')],[_0xb41b('0x70'),'id'])||{})[_0xb41b('0xc2')](function(_0x271c5c){for(var _0xe4884=0x0;_0xe4884<_0x5ea7ef[_0xb41b('0x67')]['ids'][_0xb41b('0x56')];_0xe4884+=0x1){socket[_0xb41b('0xc3')]('userMailAccount:save',{'UserId':_0x5ea7ef['body'][_0xb41b('0x70')][_0xe4884],'MailAccountId':_0x5ea7ef[_0xb41b('0x64')]['id']});}return _0x271c5c;});}})[_0xb41b('0x26')](respondWithResult(_0x159157,null))['catch'](handleError(_0x159157,null));};exports[_0xb41b('0xc4')]=function(_0x6dcac8,_0x110b37,_0x25446e){return db['MailAccount'][_0xb41b('0x66')]({'where':{'id':_0x6dcac8['params']['id']}})[_0xb41b('0x26')](handleEntityNotFound(_0x110b37,null))[_0xb41b('0x26')](function(_0x4684e1){if(_0x4684e1){return _0x4684e1[_0xb41b('0xc4')](_0x6dcac8[_0xb41b('0x50')]['ids'])[_0xb41b('0x26')](function(){if(_[_0xb41b('0xc5')](_0x6dcac8[_0xb41b('0x50')]['ids'])){for(var _0x2a4d2f=0x0;_0x2a4d2f<_0x6dcac8[_0xb41b('0x50')][_0xb41b('0x70')][_0xb41b('0x56')];_0x2a4d2f+=0x1){socket['emit']('userMailAccount:remove',{'UserId':Number(_0x6dcac8['query']['ids'][_0x2a4d2f]),'MailAccountId':Number(_0x6dcac8[_0xb41b('0x64')]['id'])});}}else{socket['emit']('userMailAccount:remove',{'UserId':Number(_0x6dcac8[_0xb41b('0x50')]['ids']),'MailAccountId':Number(_0x6dcac8['params']['id'])});}});}})['then'](respondWithStatusCode(_0x110b37,null))['catch'](handleError(_0x110b37,null));};exports[_0xb41b('0xc6')]=function(_0x59a5c4,_0x621193,_0x2c7545){var _0x551107={};var _0x329417={};var _0x2bed82;var _0x2bf06b;return db[_0xb41b('0x4c')][_0xb41b('0x6c')]({'where':{'id':_0x59a5c4[_0xb41b('0x64')]['id']}})[_0xb41b('0x26')](handleEntityNotFound(_0x621193,null))[_0xb41b('0x26')](function(_0x6addb0){if(_0x6addb0){_0x2bed82=_0x6addb0;_0x329417[_0xb41b('0x4f')]=_[_0xb41b('0x51')](db[_0xb41b('0xc7')][_0xb41b('0x4d')]);_0x329417[_0xb41b('0x50')]=_[_0xb41b('0x51')](_0x59a5c4[_0xb41b('0x50')]);_0x329417[_0xb41b('0x52')]=_[_0xb41b('0x53')](_0x329417[_0xb41b('0x4f')],_0x329417[_0xb41b('0x50')]);_0x551107['attributes']=_['intersection'](_0x329417[_0xb41b('0x4f')],qs[_0xb41b('0x54')](_0x59a5c4[_0xb41b('0x50')]['fields']));_0x551107[_0xb41b('0x55')]=_0x551107['attributes'][_0xb41b('0x56')]?_0x551107[_0xb41b('0x55')]:_0x329417[_0xb41b('0x4f')];_0x551107['order']=qs['sort'](_0x59a5c4[_0xb41b('0x50')][_0xb41b('0x5a')]);_0x551107['where']=qs[_0xb41b('0x52')](_[_0xb41b('0x5c')](_0x59a5c4[_0xb41b('0x50')],_0x329417[_0xb41b('0x52')]));if(_0x59a5c4[_0xb41b('0x50')][_0xb41b('0x6d')]){_0x551107['where']=_[_0xb41b('0x5d')](_0x551107[_0xb41b('0x5b')],{'$or':_[_0xb41b('0x4b')](_0x551107[_0xb41b('0x55')],function(_0x1017db){var _0x3cebf3={};_0x3cebf3[_0x1017db]={'$like':'%'+_0x59a5c4[_0xb41b('0x50')][_0xb41b('0x6d')]+'%'};return _0x3cebf3;})});}_0x551107=_[_0xb41b('0x5d')]({},_0x551107,_0x59a5c4[_0xb41b('0x60')]);return _0x2bed82[_0xb41b('0xc6')](_0x551107);}})[_0xb41b('0x26')](function(_0x19335c){if(_0x19335c){_0x2bf06b=_0x19335c[_0xb41b('0x56')];if(!_0x59a5c4[_0xb41b('0x50')][_0xb41b('0x57')](_0xb41b('0x58'))){_0x551107[_0xb41b('0x38')]=qs['limit'](_0x59a5c4[_0xb41b('0x50')][_0xb41b('0x38')]);_0x551107['offset']=qs[_0xb41b('0x37')](_0x59a5c4[_0xb41b('0x50')][_0xb41b('0x37')]);}return _0x2bed82[_0xb41b('0xc6')](_0x551107);}})[_0xb41b('0x26')](function(_0x15c15b){if(_0x15c15b){return _0x15c15b?{'count':_0x2bf06b,'rows':_0x15c15b}:null;}})[_0xb41b('0x26')](respondWithResult(_0x621193,null))['catch'](handleError(_0x621193,null));};