Built motion from commit (unavailable).|2.4.21
[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 _0x70b0=['User','fullname','internal','Tag','Tags','color','tag','addApplications','sequelize','transaction','MailApplication','bulkCreate','findAndCountAll','priority','getApplications','getMessages','MailMessage','$gte','split','format','YYYY-MM-DD\x20HH:mm:ss','CmList','CmContact','updatedAt','from','%s\x20<%s>','attachments','server/files/attachments','basename','auth','secure','SendMail','sendMail','List\x20not\x20found','List','Contacts','subject','attach','out','messageId','Interaction','Messages','VerifySmtp','verifySmtp','ValidationError','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','spread','emit','userMailAccount:save','removeAgents','isArray','userMailAccount:remove','getAgents','html-pdf','rimraf','zip-dir','fast-json-patch','moment','bluebird','util','path','sox','to-csv','ejs','lodash','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','redis','defaults','localhost','socket.io-emitter','register','client','http','test','Sequelize','request','then','MailAccount,\x20%s,\x20%s','request\x20sent','debug','MailAccount,\x20%s,\x20%s,\x20%s','error','message','info','result','catch','status','end','json','count','offset','limit','Content-Range','apply','reject','save','update','destroy','get','MailAccounts','UserProfileResource','stack','name','send','index','MailServerIn','MailServerOut','Smtp','Pause','mandatoryDispositionPause','map','MailAccount','fieldName','query','keys','intersection','attributes','model','fields','length','hasOwnProperty','order','sort','where','pick','filters','filter','merge','type','VIRTUAL','includeAll','include','rows','show','params','Imap','body','find','describe','addDisposition','Disposition','create','findOne','nolimit','MailAccountId','findAll','removeDispositions','addAnswer','CannedAnswer','options','removeAnswers','ids','email','ListId','isNil','active','description','cservice','cauthentication','user','password','pass','cpassword','authentication','host','port','service','cuser','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','setImap','getSmtp','addSmtp','removeSmtp','setSmtp','addInteraction','MailInteraction','omit','getInteractions','rawAttributes','Contact'];(function(_0x19c766,_0x4634c0){var _0x4105e1=function(_0x1a417b){while(--_0x1a417b){_0x19c766['push'](_0x19c766['shift']());}};_0x4105e1(++_0x4634c0);}(_0x70b0,0xfb));var _0x070b=function(_0x2ca63b,_0x2e8b0){_0x2ca63b=_0x2ca63b-0x0;var _0x14d053=_0x70b0[_0x2ca63b];return _0x14d053;};'use strict';var pdf=require(_0x070b('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x070b('0x1'));var zipdir=require(_0x070b('0x2'));var jsonpatch=require(_0x070b('0x3'));var rp=require('request-promise');var moment=require(_0x070b('0x4'));var BPromise=require(_0x070b('0x5'));var Mustache=require('mustache');var util=require(_0x070b('0x6'));var path=require(_0x070b('0x7'));var sox=require(_0x070b('0x8'));var csv=require(_0x070b('0x9'));var ejs=require(_0x070b('0xa'));var fs=require('fs');var _=require(_0x070b('0xb'));var squel=require('squel');var crypto=require(_0x070b('0xc'));var jsforce=require(_0x070b('0xd'));var deskjs=require(_0x070b('0xe'));var toCsv=require(_0x070b('0x9'));var querystring=require('querystring');var Papa=require(_0x070b('0xf'));var Redis=require(_0x070b('0x10'));var authService=require(_0x070b('0x11'));var qs=require(_0x070b('0x12'));var as=require(_0x070b('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x070b('0x14'))(_0x070b('0x15'));var utils=require(_0x070b('0x16'));var config=require(_0x070b('0x17'));var db=require('../../mysqldb')['db'];config[_0x070b('0x18')]=_[_0x070b('0x19')](config[_0x070b('0x18')],{'host':_0x070b('0x1a'),'port':0x18eb});var socket=require(_0x070b('0x1b'))(new Redis(config[_0x070b('0x18')]));require('./mailAccount.socket')[_0x070b('0x1c')](socket);var jayson=require('jayson/promise');var client=jayson[_0x070b('0x1d')][_0x070b('0x1e')]({'port':0x232b});function checkPasswordPattern(_0x348436,_0x531b60,_0x359c50){if(_0x359c50){var _0x344367=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x344367[_0x070b('0x1f')](_0x531b60)){return _0x348436;}else{throw new db[(_0x070b('0x20'))]['ValidationError']('The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.');}}else{return _0x348436;}}function respondWithRpcPromise(_0x76d606,_0x5186be,_0x339503,_0x36239e){return new BPromise(function(_0x57e41f,_0x2417f4){var _0x357089=_0x36239e||client;return _0x357089[_0x070b('0x21')](_0x76d606,_0x339503)[_0x070b('0x22')](function(_0x584aa5){logger['info'](_0x070b('0x23'),_0x5186be,_0x070b('0x24'));logger[_0x070b('0x25')](_0x070b('0x26'),_0x5186be,_0x070b('0x24'),JSON['stringify'](_0x584aa5));if(_0x584aa5['error']){if(_0x584aa5[_0x070b('0x27')]['code']===0x1f4){logger[_0x070b('0x27')](_0x070b('0x23'),_0x5186be,_0x584aa5[_0x070b('0x27')][_0x070b('0x28')]);return _0x2417f4(_0x584aa5[_0x070b('0x27')][_0x070b('0x28')]);}logger[_0x070b('0x27')](_0x070b('0x23'),_0x5186be,_0x584aa5[_0x070b('0x27')][_0x070b('0x28')]);return _0x57e41f(_0x584aa5[_0x070b('0x27')][_0x070b('0x28')]);}else{logger[_0x070b('0x29')]('MailAccount,\x20%s,\x20%s',_0x5186be,'request\x20sent');_0x57e41f(_0x584aa5[_0x070b('0x2a')][_0x070b('0x28')]);}})[_0x070b('0x2b')](function(_0x495b3){logger[_0x070b('0x27')](_0x070b('0x23'),_0x5186be,_0x495b3);_0x2417f4(_0x495b3);});});}function respondWithStatusCode(_0xe4105d,_0x3a4e30){_0x3a4e30=_0x3a4e30||0xcc;return function(_0x3768d1){if(_0x3768d1){return _0xe4105d['sendStatus'](_0x3a4e30);}return _0xe4105d[_0x070b('0x2c')](_0x3a4e30)[_0x070b('0x2d')]();};}function respondWithResult(_0x4ebbdd,_0x226df7){_0x226df7=_0x226df7||0xc8;return function(_0x4243c1){if(_0x4243c1){return _0x4ebbdd[_0x070b('0x2c')](_0x226df7)[_0x070b('0x2e')](_0x4243c1);}};}function respondWithFilteredResult(_0x5890cf,_0x3c35f1){return function(_0xcc0240){if(_0xcc0240){var _0x1c96a7=_0xcc0240[_0x070b('0x2f')],_0x416c08=_0x3c35f1[_0x070b('0x30')],_0x33f25f=_0x3c35f1[_0x070b('0x30')]+_0x3c35f1[_0x070b('0x31')],_0x1af105;if(_0x33f25f>=_0x1c96a7){_0x33f25f=_0x1c96a7;_0x1af105=0xc8;}else{_0x1af105=0xce;}_0x5890cf[_0x070b('0x2c')](_0x1af105);return _0x5890cf['set'](_0x070b('0x32'),_0x416c08+'-'+_0x33f25f+'/'+_0x1c96a7)[_0x070b('0x2e')](_0xcc0240);}return null;};}function patchUpdates(_0x4db57c){return function(_0x2bafee){try{jsonpatch[_0x070b('0x33')](_0x2bafee,_0x4db57c,!![]);}catch(_0x599338){return BPromise[_0x070b('0x34')](_0x599338);}return _0x2bafee[_0x070b('0x35')]();};}function saveUpdates(_0x1bfc1c,_0x1c90c9){return function(_0x1ab98a){if(_0x1ab98a){return _0x1ab98a[_0x070b('0x36')](_0x1bfc1c)['then'](function(_0x409642){return _0x409642;});}return null;};}function removeEntity(_0x2713d8,_0x17da11){return function(_0x110f3f){if(_0x110f3f){return _0x110f3f[_0x070b('0x37')]()['then'](function(){var _0x43b93e=_0x110f3f[_0x070b('0x38')]({'plain':!![]});var _0x40a02e=_0x070b('0x39');return db[_0x070b('0x3a')]['destroy']({'where':{'type':_0x40a02e,'resourceId':_0x43b93e['id']}})[_0x070b('0x22')](function(){return _0x110f3f;});})[_0x070b('0x22')](function(){_0x2713d8['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x45fc08,_0x1cbb77){return function(_0x5f1ce3){if(!_0x5f1ce3){_0x45fc08['sendStatus'](0x194);}return _0x5f1ce3;};}function handleError(_0x3e1a26,_0x110fda){_0x110fda=_0x110fda||0x1f4;return function(_0x44e06e){logger[_0x070b('0x27')](_0x44e06e[_0x070b('0x3b')]);if(_0x44e06e[_0x070b('0x3c')]){delete _0x44e06e[_0x070b('0x3c')];}_0x3e1a26[_0x070b('0x2c')](_0x110fda)[_0x070b('0x3d')](_0x44e06e);};}exports[_0x070b('0x3e')]=function(_0x2691c2,_0x495448){var _0x25317c={'include':[{'model':db[_0x070b('0x3f')],'as':'Imap'},{'model':db[_0x070b('0x40')],'as':_0x070b('0x41')},{'model':db[_0x070b('0x42')],'as':_0x070b('0x43')}]},_0x120137={},_0x5ea8f8={'count':0x0,'rows':[]};var _0x4a1c2e=_[_0x070b('0x44')](db[_0x070b('0x45')]['rawAttributes'],function(_0x6a00d6){return{'name':_0x6a00d6[_0x070b('0x46')],'type':_0x6a00d6['type']['key']};});_0x120137['model']=_[_0x070b('0x44')](_0x4a1c2e,_0x070b('0x3c'));_0x120137[_0x070b('0x47')]=_[_0x070b('0x48')](_0x2691c2[_0x070b('0x47')]);_0x120137['filters']=_[_0x070b('0x49')](_0x120137['model'],_0x120137[_0x070b('0x47')]);_0x25317c[_0x070b('0x4a')]=_[_0x070b('0x49')](_0x120137[_0x070b('0x4b')],qs['fields'](_0x2691c2[_0x070b('0x47')][_0x070b('0x4c')]));_0x25317c[_0x070b('0x4a')]=_0x25317c[_0x070b('0x4a')][_0x070b('0x4d')]?_0x25317c[_0x070b('0x4a')]:_0x120137[_0x070b('0x4b')];if(!_0x2691c2[_0x070b('0x47')][_0x070b('0x4e')]('nolimit')){_0x25317c[_0x070b('0x31')]=qs[_0x070b('0x31')](_0x2691c2[_0x070b('0x47')][_0x070b('0x31')]);_0x25317c[_0x070b('0x30')]=qs[_0x070b('0x30')](_0x2691c2['query']['offset']);}_0x25317c[_0x070b('0x4f')]=qs[_0x070b('0x50')](_0x2691c2[_0x070b('0x47')][_0x070b('0x50')]);_0x25317c[_0x070b('0x51')]=qs['filters'](_[_0x070b('0x52')](_0x2691c2[_0x070b('0x47')],_0x120137[_0x070b('0x53')]));if(_0x2691c2[_0x070b('0x47')][_0x070b('0x54')]){_0x25317c[_0x070b('0x51')]=_[_0x070b('0x55')](_0x25317c[_0x070b('0x51')],{'$or':_[_0x070b('0x44')](_0x4a1c2e,function(_0x59cabb){if(_0x59cabb[_0x070b('0x56')]!==_0x070b('0x57')){var _0x1d3887={};_0x1d3887[_0x59cabb[_0x070b('0x3c')]]={'$like':'%'+_0x2691c2['query']['filter']+'%'};return _0x1d3887;}})});}_0x25317c=_[_0x070b('0x55')]({},_0x25317c,_0x2691c2['options']);var _0x50ff89={'where':_0x25317c['where']};return db[_0x070b('0x45')][_0x070b('0x2f')](_0x50ff89)[_0x070b('0x22')](function(_0x3a8772){_0x5ea8f8['count']=_0x3a8772;if(_0x2691c2[_0x070b('0x47')][_0x070b('0x58')]){_0x25317c[_0x070b('0x59')]=[{'all':!![]}];}return db[_0x070b('0x45')]['findAll'](_0x25317c);})[_0x070b('0x22')](function(_0x4fd006){_0x5ea8f8[_0x070b('0x5a')]=_0x4fd006;return _0x5ea8f8;})[_0x070b('0x22')](respondWithFilteredResult(_0x495448,_0x25317c))[_0x070b('0x2b')](handleError(_0x495448,null));};exports[_0x070b('0x5b')]=function(_0x1b1ed8,_0x4ef110){var _0x4702b6={'raw':![],'where':{'id':_0x1b1ed8[_0x070b('0x5c')]['id']},'include':[{'model':db[_0x070b('0x3f')],'as':_0x070b('0x5d')},{'model':db[_0x070b('0x40')],'as':'Smtp'},{'model':db['Pause'],'as':_0x070b('0x43')}]},_0x2bce88={};_0x2bce88[_0x070b('0x4b')]=_[_0x070b('0x48')](db[_0x070b('0x45')]['rawAttributes']);_0x2bce88[_0x070b('0x47')]=_[_0x070b('0x48')](_0x1b1ed8[_0x070b('0x47')]);_0x2bce88[_0x070b('0x53')]=_['intersection'](_0x2bce88[_0x070b('0x4b')],_0x2bce88[_0x070b('0x47')]);_0x4702b6[_0x070b('0x4a')]=_[_0x070b('0x49')](_0x2bce88['model'],qs[_0x070b('0x4c')](_0x1b1ed8['query']['fields']));_0x4702b6[_0x070b('0x4a')]=_0x4702b6[_0x070b('0x4a')][_0x070b('0x4d')]?_0x4702b6[_0x070b('0x4a')]:_0x2bce88[_0x070b('0x4b')];if(_0x1b1ed8[_0x070b('0x47')][_0x070b('0x58')]){_0x4702b6[_0x070b('0x59')]=[{'all':!![]}];}_0x4702b6=_[_0x070b('0x55')]({},_0x4702b6,_0x1b1ed8['options']);return db[_0x070b('0x45')]['find'](_0x4702b6)[_0x070b('0x22')](handleEntityNotFound(_0x4ef110,null))[_0x070b('0x22')](respondWithResult(_0x4ef110,null))[_0x070b('0x2b')](handleError(_0x4ef110,null));};exports[_0x070b('0x36')]=function(_0x1ec422,_0x1226b8){if(_0x1ec422[_0x070b('0x5e')]['id']){delete _0x1ec422[_0x070b('0x5e')]['id'];}return db[_0x070b('0x45')][_0x070b('0x5f')]({'where':{'id':_0x1ec422[_0x070b('0x5c')]['id']},'include':[{'model':db[_0x070b('0x3f')],'as':_0x070b('0x5d')},{'model':db[_0x070b('0x40')],'as':'Smtp'},{'model':db[_0x070b('0x42')],'as':'mandatoryDispositionPause'}]})[_0x070b('0x22')](handleEntityNotFound(_0x1226b8,null))['then'](saveUpdates(_0x1ec422[_0x070b('0x5e')],null))[_0x070b('0x22')](function(_0x159a4f){if(_0x159a4f&&_0x1ec422[_0x070b('0x5e')]['Imap']){return db[_0x070b('0x3f')][_0x070b('0x36')](_0x1ec422[_0x070b('0x5e')][_0x070b('0x5d')],{'where':{'MailAccountId':_0x159a4f['id']}})['then'](function(){return _0x159a4f;});}return _0x159a4f;})[_0x070b('0x22')](function(_0x132515){if(_0x132515&&_0x1ec422[_0x070b('0x5e')][_0x070b('0x41')]){return db[_0x070b('0x40')][_0x070b('0x36')](_0x1ec422['body']['Smtp'],{'where':{'MailAccountId':_0x132515['id']}})[_0x070b('0x22')](function(){return _0x132515;});}return _0x132515;})[_0x070b('0x22')](respondWithResult(_0x1226b8,null))[_0x070b('0x2b')](handleError(_0x1226b8,null));};exports[_0x070b('0x60')]=function(_0x51a2de,_0x51bd72){return db[_0x070b('0x45')][_0x070b('0x60')]()['then'](respondWithResult(_0x51bd72,null))[_0x070b('0x2b')](handleError(_0x51bd72,null));};exports[_0x070b('0x61')]=function(_0x97f1a4,_0x28cc05,_0x4f12bc){if(_0x97f1a4[_0x070b('0x5e')]['id']){delete _0x97f1a4[_0x070b('0x5e')]['id'];}return db['MailAccount'][_0x070b('0x5f')]({'where':{'id':_0x97f1a4[_0x070b('0x5c')]['id']}})['then'](handleEntityNotFound(_0x28cc05,null))[_0x070b('0x22')](function(_0x5e8e36){if(_0x5e8e36){_0x97f1a4[_0x070b('0x5e')]['MailAccountId']=_0x5e8e36['id'];return db[_0x070b('0x62')][_0x070b('0x63')](_0x97f1a4[_0x070b('0x5e')]);}})[_0x070b('0x22')](respondWithResult(_0x28cc05,null))['catch'](handleError(_0x28cc05,null));};exports['getDispositions']=function(_0x4cff17,_0x51b400,_0x319c11){var _0x14fbd0={'raw':![],'where':{}};var _0x21ab28={};var _0x8ecc38={'count':0x0,'rows':[]};return db[_0x070b('0x45')][_0x070b('0x64')]({'where':{'id':_0x4cff17[_0x070b('0x5c')]['id']}})['then'](handleEntityNotFound(_0x51b400,null))[_0x070b('0x22')](function(_0x78248f){if(_0x78248f){_0x21ab28[_0x070b('0x4b')]=_['keys'](db[_0x070b('0x62')]['rawAttributes']);_0x21ab28[_0x070b('0x47')]=_[_0x070b('0x48')](_0x4cff17['query']);_0x21ab28['filters']=_[_0x070b('0x49')](_0x21ab28[_0x070b('0x4b')],_0x21ab28[_0x070b('0x47')]);_0x14fbd0[_0x070b('0x4a')]=_[_0x070b('0x49')](_0x21ab28[_0x070b('0x4b')],qs['fields'](_0x4cff17[_0x070b('0x47')][_0x070b('0x4c')]));_0x14fbd0[_0x070b('0x4a')]=_0x14fbd0[_0x070b('0x4a')]['length']?_0x14fbd0[_0x070b('0x4a')]:_0x21ab28['model'];if(!_0x4cff17[_0x070b('0x47')][_0x070b('0x4e')](_0x070b('0x65'))){_0x14fbd0[_0x070b('0x31')]=qs[_0x070b('0x31')](_0x4cff17[_0x070b('0x47')]['limit']);_0x14fbd0[_0x070b('0x30')]=qs['offset'](_0x4cff17['query']['offset']);}_0x14fbd0['order']=qs['sort'](_0x4cff17['query'][_0x070b('0x50')]);_0x14fbd0['where']=qs[_0x070b('0x53')](_['pick'](_0x4cff17['query'],_0x21ab28[_0x070b('0x53')]));_0x14fbd0['where'][_0x070b('0x66')]=_0x78248f['id'];if(_0x4cff17[_0x070b('0x47')][_0x070b('0x54')]){_0x14fbd0[_0x070b('0x51')]=_['merge'](_0x14fbd0[_0x070b('0x51')],{'$or':_['map'](_0x14fbd0[_0x070b('0x4a')],function(_0x812fa9){var _0x25033e={};_0x25033e[_0x812fa9]={'$like':'%'+_0x4cff17['query'][_0x070b('0x54')]+'%'};return _0x25033e;})});}_0x14fbd0=_[_0x070b('0x55')]({},_0x14fbd0,_0x4cff17['options']);return db[_0x070b('0x62')][_0x070b('0x2f')]({'where':_0x14fbd0[_0x070b('0x51')]})['then'](function(_0x4153f0){_0x8ecc38[_0x070b('0x2f')]=_0x4153f0;if(_0x4cff17[_0x070b('0x47')][_0x070b('0x58')]){_0x14fbd0['include']=[{'all':!![]}];}return db[_0x070b('0x62')][_0x070b('0x67')](_0x14fbd0);})[_0x070b('0x22')](function(_0xdcfa61){_0x8ecc38[_0x070b('0x5a')]=_0xdcfa61;return _0x8ecc38;});}})[_0x070b('0x22')](respondWithFilteredResult(_0x51b400,_0x14fbd0))[_0x070b('0x2b')](handleError(_0x51b400,null));};exports['removeDispositions']=function(_0x1225e0,_0x816fdb,_0x2ed09b){return db[_0x070b('0x45')][_0x070b('0x5f')]({'where':{'id':_0x1225e0['params']['id']}})[_0x070b('0x22')](handleEntityNotFound(_0x816fdb,null))[_0x070b('0x22')](function(_0x45bb05){if(_0x45bb05){return _0x45bb05[_0x070b('0x68')](_0x1225e0[_0x070b('0x47')]['ids']);}})[_0x070b('0x22')](respondWithStatusCode(_0x816fdb,null))['catch'](handleError(_0x816fdb,null));};exports[_0x070b('0x69')]=function(_0x18eefb,_0x1279cd,_0x36e7bc){if(_0x18eefb[_0x070b('0x5e')]['id']){delete _0x18eefb[_0x070b('0x5e')]['id'];}return db[_0x070b('0x45')]['find']({'where':{'id':_0x18eefb[_0x070b('0x5c')]['id']}})[_0x070b('0x22')](handleEntityNotFound(_0x1279cd,null))[_0x070b('0x22')](function(_0x35e84c){if(_0x35e84c){_0x18eefb[_0x070b('0x5e')][_0x070b('0x66')]=_0x35e84c['id'];return db[_0x070b('0x6a')]['create'](_0x18eefb['body']);}})[_0x070b('0x22')](respondWithResult(_0x1279cd,null))[_0x070b('0x2b')](handleError(_0x1279cd,null));};exports['getAnswers']=function(_0x109640,_0x506768,_0x489f5b){var _0x16ac7d={'raw':![],'where':{}};var _0x5af103={};var _0x3700b2={'count':0x0,'rows':[]};return db[_0x070b('0x45')]['findOne']({'where':{'id':_0x109640[_0x070b('0x5c')]['id']}})['then'](handleEntityNotFound(_0x506768,null))['then'](function(_0x1e5cee){if(_0x1e5cee){_0x5af103[_0x070b('0x4b')]=_[_0x070b('0x48')](db[_0x070b('0x6a')]['rawAttributes']);_0x5af103['query']=_[_0x070b('0x48')](_0x109640[_0x070b('0x47')]);_0x5af103[_0x070b('0x53')]=_[_0x070b('0x49')](_0x5af103[_0x070b('0x4b')],_0x5af103[_0x070b('0x47')]);_0x16ac7d[_0x070b('0x4a')]=_[_0x070b('0x49')](_0x5af103[_0x070b('0x4b')],qs[_0x070b('0x4c')](_0x109640[_0x070b('0x47')][_0x070b('0x4c')]));_0x16ac7d[_0x070b('0x4a')]=_0x16ac7d['attributes'][_0x070b('0x4d')]?_0x16ac7d['attributes']:_0x5af103[_0x070b('0x4b')];if(!_0x109640[_0x070b('0x47')]['hasOwnProperty'](_0x070b('0x65'))){_0x16ac7d[_0x070b('0x31')]=qs['limit'](_0x109640[_0x070b('0x47')]['limit']);_0x16ac7d[_0x070b('0x30')]=qs[_0x070b('0x30')](_0x109640[_0x070b('0x47')][_0x070b('0x30')]);}_0x16ac7d[_0x070b('0x4f')]=qs['sort'](_0x109640[_0x070b('0x47')]['sort']);_0x16ac7d[_0x070b('0x51')]=qs[_0x070b('0x53')](_[_0x070b('0x52')](_0x109640[_0x070b('0x47')],_0x5af103[_0x070b('0x53')]));_0x16ac7d[_0x070b('0x51')][_0x070b('0x66')]=_0x1e5cee['id'];if(_0x109640[_0x070b('0x47')][_0x070b('0x54')]){_0x16ac7d['where']=_[_0x070b('0x55')](_0x16ac7d[_0x070b('0x51')],{'$or':_[_0x070b('0x44')](_0x16ac7d[_0x070b('0x4a')],function(_0x3ccf61){var _0x235099={};_0x235099[_0x3ccf61]={'$like':'%'+_0x109640[_0x070b('0x47')]['filter']+'%'};return _0x235099;})});}_0x16ac7d=_[_0x070b('0x55')]({},_0x16ac7d,_0x109640[_0x070b('0x6b')]);return db[_0x070b('0x6a')][_0x070b('0x2f')]({'where':_0x16ac7d[_0x070b('0x51')]})[_0x070b('0x22')](function(_0x3f3bc7){_0x3700b2[_0x070b('0x2f')]=_0x3f3bc7;if(_0x109640[_0x070b('0x47')]['includeAll']){_0x16ac7d[_0x070b('0x59')]=[{'all':!![]}];}return db['CannedAnswer']['findAll'](_0x16ac7d);})[_0x070b('0x22')](function(_0x4a1bcd){_0x3700b2['rows']=_0x4a1bcd;return _0x3700b2;});}})['then'](respondWithFilteredResult(_0x506768,_0x16ac7d))[_0x070b('0x2b')](handleError(_0x506768,null));};exports[_0x070b('0x6c')]=function(_0x59d8bd,_0x5d9271,_0x2b1850){return db['MailAccount'][_0x070b('0x5f')]({'where':{'id':_0x59d8bd[_0x070b('0x5c')]['id']}})[_0x070b('0x22')](handleEntityNotFound(_0x5d9271,null))['then'](function(_0x3a6ac8){if(_0x3a6ac8){return _0x3a6ac8[_0x070b('0x6c')](_0x59d8bd[_0x070b('0x47')][_0x070b('0x6d')]);}})[_0x070b('0x22')](respondWithStatusCode(_0x5d9271,null))[_0x070b('0x2b')](handleError(_0x5d9271,null));};exports['create']=function(_0x113eab,_0x473e9e){var _0x5a3688={'name':_0x113eab['body'][_0x070b('0x3c')],'key':_0x113eab[_0x070b('0x5e')]['key'],'email':_0x113eab[_0x070b('0x5e')][_0x070b('0x6e')],'ListId':_0x113eab[_0x070b('0x5e')][_0x070b('0x6f')],'active':!_[_0x070b('0x70')](_0x113eab[_0x070b('0x5e')][_0x070b('0x71')])?_0x113eab[_0x070b('0x5e')][_0x070b('0x71')]:!![],'description':_0x113eab[_0x070b('0x5e')][_0x070b('0x72')]||null,'Imap':{},'Smtp':{}};if(_[_0x070b('0x70')](_0x113eab[_0x070b('0x5e')][_0x070b('0x73')])){if(_0x113eab['body'][_0x070b('0x74')]){_0x5a3688['Imap']['user']=_0x5a3688[_0x070b('0x41')][_0x070b('0x75')]=_0x113eab[_0x070b('0x5e')]['cuser'];_0x5a3688['Imap'][_0x070b('0x76')]=_0x5a3688[_0x070b('0x41')][_0x070b('0x77')]=_0x113eab[_0x070b('0x5e')][_0x070b('0x78')];}else{_0x5a3688[_0x070b('0x5d')][_0x070b('0x79')]=_0x5a3688['Smtp'][_0x070b('0x79')]=![];}_0x5a3688[_0x070b('0x5d')][_0x070b('0x7a')]=_0x113eab[_0x070b('0x5e')]['Imap'][_0x070b('0x7a')];_0x5a3688[_0x070b('0x5d')][_0x070b('0x7b')]=_0x113eab[_0x070b('0x5e')]['Imap']['port'];_0x5a3688[_0x070b('0x41')]['host']=_0x113eab[_0x070b('0x5e')]['Smtp'][_0x070b('0x7a')];_0x5a3688['Smtp'][_0x070b('0x7b')]=_0x113eab['body'][_0x070b('0x41')][_0x070b('0x7b')];}else{_0x5a3688['Imap'][_0x070b('0x7c')]=_0x5a3688[_0x070b('0x41')][_0x070b('0x7c')]=_0x113eab[_0x070b('0x5e')][_0x070b('0x73')];_0x5a3688['Imap'][_0x070b('0x75')]=_0x5a3688[_0x070b('0x41')]['user']=_0x113eab[_0x070b('0x5e')][_0x070b('0x7d')];_0x5a3688[_0x070b('0x5d')][_0x070b('0x76')]=_0x5a3688['Smtp'][_0x070b('0x77')]=_0x113eab['body']['cpassword'];}return db['MailAccount'][_0x070b('0x63')](_0x5a3688,{'include':[{'model':db[_0x070b('0x40')],'as':_0x070b('0x41')},{'model':db['MailServerIn'],'as':_0x070b('0x5d')}]})[_0x070b('0x22')](function(_0x2e4e49){var _0x1a7fe1=_0x113eab['user'][_0x070b('0x38')]({'plain':!![]});if(!_0x1a7fe1)throw new Error(_0x070b('0x7e'));if(_0x1a7fe1[_0x070b('0x7f')]==='user'){var _0x4f82c4=_0x2e4e49[_0x070b('0x38')]({'plain':!![]});return db[_0x070b('0x80')][_0x070b('0x5f')]({'where':{'name':_0x070b('0x39'),'userProfileId':_0x1a7fe1[_0x070b('0x81')]},'raw':!![]})[_0x070b('0x22')](function(_0x307ee5){if(_0x307ee5&&_0x307ee5['autoAssociation']===0x0){return db['UserProfileResource'][_0x070b('0x63')]({'name':_0x4f82c4[_0x070b('0x3c')],'resourceId':_0x4f82c4['id'],'type':_0x307ee5[_0x070b('0x3c')],'sectionId':_0x307ee5['id']},{})[_0x070b('0x22')](function(){return _0x2e4e49;});}else{return _0x2e4e49;}})[_0x070b('0x2b')](function(_0x2ec851){logger[_0x070b('0x27')](_0x070b('0x82'),_0x2ec851);throw _0x2ec851;});}return _0x2e4e49;})['then'](respondWithResult(_0x473e9e,0xc9))[_0x070b('0x2b')](handleError(_0x473e9e,null));};exports[_0x070b('0x83')]=function(_0x5a13d1,_0x2cf524,_0x2e7701){return db[_0x070b('0x45')][_0x070b('0x64')]({'where':{'id':_0x5a13d1[_0x070b('0x5c')]['id']}})[_0x070b('0x22')](handleEntityNotFound(_0x2cf524,null))[_0x070b('0x22')](function(_0x3bb8b9){if(_0x3bb8b9){return _0x3bb8b9[_0x070b('0x83')]();}return null;})['then'](respondWithResult(_0x2cf524,null))[_0x070b('0x2b')](handleError(_0x2cf524,null));};exports['addImap']=function(_0x35d156,_0x447c96,_0x5311f7){if(_0x35d156[_0x070b('0x5e')]['id']){delete _0x35d156[_0x070b('0x5e')]['id'];}return db[_0x070b('0x45')]['find']({'where':{'id':_0x35d156['params']['id']}})[_0x070b('0x22')](handleEntityNotFound(_0x447c96,null))[_0x070b('0x22')](function(_0x218632){if(_0x218632){_0x35d156[_0x070b('0x5e')][_0x070b('0x66')]=_0x218632['id'];return db[_0x070b('0x3f')]['create'](_0x35d156['body']);}})[_0x070b('0x22')](respondWithResult(_0x447c96,null))[_0x070b('0x2b')](handleError(_0x447c96,null));};exports['removeImap']=function(_0x333610,_0x1fc6ad,_0x44bb4e){return db[_0x070b('0x45')][_0x070b('0x64')]({'where':{'id':_0x333610[_0x070b('0x5c')]['id']}})[_0x070b('0x22')](handleEntityNotFound(_0x1fc6ad,null))[_0x070b('0x22')](function(_0x22f55e){if(_0x22f55e){return _0x22f55e[_0x070b('0x84')](null);}return null;})['then'](respondWithStatusCode(_0x1fc6ad,null))[_0x070b('0x2b')](handleError(_0x1fc6ad,null));};exports[_0x070b('0x85')]=function(_0xc38e53,_0x3f4d49,_0x2c12cc){return db[_0x070b('0x45')][_0x070b('0x64')]({'where':{'id':_0xc38e53[_0x070b('0x5c')]['id']}})[_0x070b('0x22')](handleEntityNotFound(_0x3f4d49,null))[_0x070b('0x22')](function(_0x4cc336){if(_0x4cc336){return _0x4cc336[_0x070b('0x85')]();}return null;})[_0x070b('0x22')](respondWithResult(_0x3f4d49,null))['catch'](handleError(_0x3f4d49,null));};exports[_0x070b('0x86')]=function(_0x134e6b,_0x1b26ba,_0x56b2f4){if(_0x134e6b['body']['id']){delete _0x134e6b[_0x070b('0x5e')]['id'];}return db['MailAccount'][_0x070b('0x5f')]({'where':{'id':_0x134e6b['params']['id']}})[_0x070b('0x22')](handleEntityNotFound(_0x1b26ba,null))[_0x070b('0x22')](function(_0x21a2d6){if(_0x21a2d6){_0x134e6b[_0x070b('0x5e')][_0x070b('0x66')]=_0x21a2d6['id'];return db[_0x070b('0x40')][_0x070b('0x63')](_0x134e6b[_0x070b('0x5e')]);}})['then'](respondWithResult(_0x1b26ba,null))['catch'](handleError(_0x1b26ba,null));};exports[_0x070b('0x87')]=function(_0x43f704,_0x369099,_0x2e5c50){return db[_0x070b('0x45')][_0x070b('0x64')]({'where':{'id':_0x43f704[_0x070b('0x5c')]['id']}})[_0x070b('0x22')](handleEntityNotFound(_0x369099,null))[_0x070b('0x22')](function(_0x588ac8){if(_0x588ac8){return _0x588ac8[_0x070b('0x88')](null);}return null;})[_0x070b('0x22')](respondWithStatusCode(_0x369099,null))['catch'](handleError(_0x369099,null));};exports[_0x070b('0x89')]=function(_0x1c45b9,_0x34d16e,_0x5dd444){return db[_0x070b('0x8a')][_0x070b('0x5f')]({'where':{'id':_0x1c45b9[_0x070b('0x5c')]['id']}})[_0x070b('0x22')](handleEntityNotFound(_0x34d16e,null))[_0x070b('0x22')](function(_0x5e50ae){if(_0x5e50ae){return _0x5e50ae['addInteraction'](_0x1c45b9['body'][_0x070b('0x6d')],_[_0x070b('0x8b')](_0x1c45b9[_0x070b('0x5e')],[_0x070b('0x6d'),'id'])||{});}})['then'](respondWithResult(_0x34d16e,null))[_0x070b('0x2b')](handleError(_0x34d16e,null));};exports[_0x070b('0x8c')]=function(_0xebd02b,_0x85483e,_0x70c1a9){var _0x2092ad={'raw':![],'where':{}};var _0xce3112={};var _0x3e9bf1={'count':0x0,'rows':[]};return db[_0x070b('0x45')][_0x070b('0x64')]({'where':{'id':_0xebd02b[_0x070b('0x5c')]['id']}})[_0x070b('0x22')](handleEntityNotFound(_0x85483e,null))[_0x070b('0x22')](function(_0x35f5d7){if(_0x35f5d7){_0xce3112[_0x070b('0x4b')]=_[_0x070b('0x48')](db['MailInteraction'][_0x070b('0x8d')]);_0xce3112[_0x070b('0x47')]=_[_0x070b('0x48')](_0xebd02b['query']);_0xce3112[_0x070b('0x53')]=_[_0x070b('0x49')](_0xce3112[_0x070b('0x4b')],_0xce3112[_0x070b('0x47')]);_0x2092ad[_0x070b('0x4a')]=_[_0x070b('0x49')](_0xce3112[_0x070b('0x4b')],qs[_0x070b('0x4c')](_0xebd02b[_0x070b('0x47')][_0x070b('0x4c')]));_0x2092ad[_0x070b('0x4a')]=_0x2092ad[_0x070b('0x4a')][_0x070b('0x4d')]?_0x2092ad[_0x070b('0x4a')]:_0xce3112[_0x070b('0x4b')];if(!_0xebd02b['query'][_0x070b('0x4e')](_0x070b('0x65'))){_0x2092ad[_0x070b('0x31')]=qs[_0x070b('0x31')](_0xebd02b[_0x070b('0x47')][_0x070b('0x31')]);_0x2092ad[_0x070b('0x30')]=qs[_0x070b('0x30')](_0xebd02b['query'][_0x070b('0x30')]);}_0x2092ad[_0x070b('0x4f')]=qs[_0x070b('0x50')](_0xebd02b[_0x070b('0x47')][_0x070b('0x50')]);_0x2092ad['where']=qs[_0x070b('0x53')](_[_0x070b('0x52')](_0xebd02b[_0x070b('0x47')],_0xce3112['filters']));_0x2092ad[_0x070b('0x51')][_0x070b('0x66')]=_0x35f5d7['id'];if(_0xebd02b['query'][_0x070b('0x54')]){_0x2092ad[_0x070b('0x51')]=_[_0x070b('0x55')](_0x2092ad[_0x070b('0x51')],{'$or':_['map'](_0x2092ad[_0x070b('0x4a')],function(_0x4dd4fb){var _0x7a6e40={};_0x7a6e40[_0x4dd4fb]={'$like':'%'+_0xebd02b[_0x070b('0x47')]['filter']+'%'};return _0x7a6e40;})});}_0x2092ad=_[_0x070b('0x55')]({},_0x2092ad,_0xebd02b[_0x070b('0x6b')]);return db['MailInteraction'][_0x070b('0x2f')]({'where':_0x2092ad[_0x070b('0x51')]})[_0x070b('0x22')](function(_0x404508){_0x3e9bf1[_0x070b('0x2f')]=_0x404508;if(_0xebd02b['query'][_0x070b('0x58')]){_0x2092ad[_0x070b('0x59')]=[{'model':db['CmContact'],'as':_0x070b('0x8e'),'required':![]},{'model':db[_0x070b('0x8f')],'as':'Owner','attributes':['name',_0x070b('0x90'),_0x070b('0x91')],'required':![]},{'model':db[_0x070b('0x92')],'as':_0x070b('0x93'),'attributes':['id',_0x070b('0x3c'),_0x070b('0x94')],'where':_0xebd02b['query'][_0x070b('0x95')]?{'id':_0xebd02b[_0x070b('0x47')][_0x070b('0x95')]}:undefined,'required':_0xebd02b[_0x070b('0x47')]['tag']?!![]:![]}];}return db[_0x070b('0x8a')][_0x070b('0x67')](_0x2092ad);})[_0x070b('0x22')](function(_0x2acd0b){_0x3e9bf1[_0x070b('0x5a')]=_0x2acd0b;return _0x3e9bf1;});}})['then'](respondWithFilteredResult(_0x85483e,_0x2092ad))[_0x070b('0x2b')](handleError(_0x85483e,null));};exports[_0x070b('0x96')]=function(_0x19c921,_0x584654,_0x5ef8e1){return db[_0x070b('0x45')][_0x070b('0x64')]({'where':{'id':_0x19c921[_0x070b('0x5c')]['id']}})[_0x070b('0x22')](handleEntityNotFound(_0x584654,null))[_0x070b('0x22')](function(_0x2133d8){if(_0x2133d8){return db[_0x070b('0x97')][_0x070b('0x98')](function(_0x2e72fd){return db['MailApplication']['destroy']({'where':{'MailAccountId':_0x19c921[_0x070b('0x5c')]['id']},'transaction':_0x2e72fd})[_0x070b('0x22')](function(_0x33d341){var _0x35271a=_['map'](_0x19c921['body'],function(_0x29ca76){_0x29ca76[_0x070b('0x66')]=_0x19c921[_0x070b('0x5c')]['id'];return _0x29ca76;});return db[_0x070b('0x99')][_0x070b('0x9a')](_0x35271a,{'transaction':_0x2e72fd});});})[_0x070b('0x22')](function(){return db[_0x070b('0x99')][_0x070b('0x9b')]({'where':{'MailAccountId':_0x19c921['params']['id']},'order':_0x070b('0x9c')});});}})[_0x070b('0x22')](respondWithResult(_0x584654,null))[_0x070b('0x2b')](handleError(_0x584654,null));};exports[_0x070b('0x9d')]=function(_0x31d882,_0x4e374d,_0x510977){var _0x7196a0={};var _0x51136a={};var _0x2c9191;var _0x40c4ae;return db[_0x070b('0x45')]['findOne']({'where':{'id':_0x31d882[_0x070b('0x5c')]['id']}})[_0x070b('0x22')](handleEntityNotFound(_0x4e374d,null))[_0x070b('0x22')](function(_0x13870f){if(_0x13870f){_0x2c9191=_0x13870f;_0x51136a['model']=_['keys'](db[_0x070b('0x99')][_0x070b('0x8d')]);_0x51136a['query']=_['keys'](_0x31d882[_0x070b('0x47')]);_0x51136a[_0x070b('0x53')]=_[_0x070b('0x49')](_0x51136a[_0x070b('0x4b')],_0x51136a[_0x070b('0x47')]);_0x7196a0[_0x070b('0x4a')]=_['intersection'](_0x51136a[_0x070b('0x4b')],qs['fields'](_0x31d882[_0x070b('0x47')][_0x070b('0x4c')]));_0x7196a0[_0x070b('0x4a')]=_0x7196a0['attributes']['length']?_0x7196a0[_0x070b('0x4a')]:_0x51136a[_0x070b('0x4b')];_0x7196a0[_0x070b('0x4f')]=qs['sort'](_0x31d882[_0x070b('0x47')]['sort']);_0x7196a0['where']=qs[_0x070b('0x53')](_[_0x070b('0x52')](_0x31d882['query'],_0x51136a[_0x070b('0x53')]));if(_0x31d882['query'][_0x070b('0x54')]){_0x7196a0[_0x070b('0x51')]=_['merge'](_0x7196a0['where'],{'$or':_['map'](_0x7196a0['attributes'],function(_0x4ffc2e){var _0x42eea5={};_0x42eea5[_0x4ffc2e]={'$like':'%'+_0x31d882[_0x070b('0x47')][_0x070b('0x54')]+'%'};return _0x42eea5;})});}_0x7196a0=_[_0x070b('0x55')]({},_0x7196a0,_0x31d882[_0x070b('0x6b')]);return _0x2c9191['getApplications'](_0x7196a0);}})['then'](function(_0x1591ea){if(_0x1591ea){_0x40c4ae=_0x1591ea[_0x070b('0x4d')];if(!_0x31d882[_0x070b('0x47')][_0x070b('0x4e')](_0x070b('0x65'))){_0x7196a0[_0x070b('0x31')]=qs[_0x070b('0x31')](_0x31d882[_0x070b('0x47')][_0x070b('0x31')]);_0x7196a0[_0x070b('0x30')]=qs[_0x070b('0x30')](_0x31d882[_0x070b('0x47')][_0x070b('0x30')]);}return _0x2c9191['getApplications'](_0x7196a0);}})[_0x070b('0x22')](function(_0x39b7af){if(_0x39b7af){return _0x39b7af?{'count':_0x40c4ae,'rows':_0x39b7af}:null;}})[_0x070b('0x22')](respondWithResult(_0x4e374d,null))['catch'](handleError(_0x4e374d,null));};exports[_0x070b('0x9e')]=function(_0xa7eb31,_0x5874ce,_0x5b6730){var _0x5ea0e9={'raw':!![],'where':{}};var _0xeb1c32={};var _0x581fe5={'count':0x0,'rows':[]};return db[_0x070b('0x45')][_0x070b('0x64')]({'where':{'id':_0xa7eb31['params']['id']}})[_0x070b('0x22')](handleEntityNotFound(_0x5874ce,null))[_0x070b('0x22')](function(_0x443159){if(_0x443159){_0xeb1c32[_0x070b('0x4b')]=_[_0x070b('0x48')](db[_0x070b('0x9f')]['rawAttributes']);_0xeb1c32[_0x070b('0x47')]=_['keys'](_0xa7eb31[_0x070b('0x47')]);_0xeb1c32['filters']=_['intersection'](_0xeb1c32[_0x070b('0x4b')],_0xeb1c32[_0x070b('0x47')]);_0x5ea0e9[_0x070b('0x4a')]=_[_0x070b('0x49')](_0xeb1c32[_0x070b('0x4b')],qs[_0x070b('0x4c')](_0xa7eb31['query'][_0x070b('0x4c')]));_0x5ea0e9[_0x070b('0x4a')]=_0x5ea0e9[_0x070b('0x4a')]['length']?_0x5ea0e9[_0x070b('0x4a')]:_0xeb1c32['model'];if(!_0xa7eb31[_0x070b('0x47')][_0x070b('0x4e')](_0x070b('0x65'))){_0x5ea0e9[_0x070b('0x31')]=qs[_0x070b('0x31')](_0xa7eb31[_0x070b('0x47')][_0x070b('0x31')]);_0x5ea0e9[_0x070b('0x30')]=qs[_0x070b('0x30')](_0xa7eb31[_0x070b('0x47')][_0x070b('0x30')]);}_0x5ea0e9[_0x070b('0x4f')]=qs[_0x070b('0x50')](_0xa7eb31[_0x070b('0x47')][_0x070b('0x50')]);_0x5ea0e9[_0x070b('0x51')]=qs[_0x070b('0x53')](_[_0x070b('0x52')](_0xa7eb31[_0x070b('0x47')],_0xeb1c32[_0x070b('0x53')]));_0x5ea0e9[_0x070b('0x51')][_0x070b('0x66')]=_0x443159['id'];if(_0xa7eb31[_0x070b('0x47')]['filter']){_0x5ea0e9['where']=_[_0x070b('0x55')](_0x5ea0e9[_0x070b('0x51')],{'$or':_[_0x070b('0x44')](_0x5ea0e9[_0x070b('0x4a')],function(_0x4246cb){var _0x4fd140={};_0x4fd140[_0x4246cb]={'$like':'%'+_0xa7eb31[_0x070b('0x47')][_0x070b('0x54')]+'%'};return _0x4fd140;})});}if(_0xa7eb31['query'][_0x070b('0xa0')]){var _0x1022da=_0xa7eb31[_0x070b('0x47')][_0x070b('0xa0')][_0x070b('0xa1')](',');var _0x157b0d={};_0x157b0d[_0x1022da[0x0]]={'$gte':moment(_0x1022da[0x1])[_0x070b('0xa2')](_0x070b('0xa3'))};_0x5ea0e9[_0x070b('0x51')]=_[_0x070b('0x55')](_0x5ea0e9[_0x070b('0x51')],_0x157b0d);}_0x5ea0e9=_[_0x070b('0x55')]({},_0x5ea0e9,_0xa7eb31[_0x070b('0x6b')]);return db[_0x070b('0x9f')][_0x070b('0x2f')]({'where':_0x5ea0e9['where']})[_0x070b('0x22')](function(_0x40036d){_0x581fe5[_0x070b('0x2f')]=_0x40036d;if(_0xa7eb31[_0x070b('0x47')][_0x070b('0x58')]){_0x5ea0e9[_0x070b('0x59')]=[{'all':!![]}];}return db[_0x070b('0x9f')][_0x070b('0x67')](_0x5ea0e9);})[_0x070b('0x22')](function(_0x1c26a9){_0x581fe5[_0x070b('0x5a')]=_0x1c26a9;return _0x581fe5;});}})[_0x070b('0x22')](respondWithFilteredResult(_0x5874ce,_0x5ea0e9))['catch'](handleError(_0x5874ce,null));};exports[_0x070b('0x3d')]=function(_0x1c60a9,_0x3bf372,_0x4e7923){var _0x33c325,_0x2e6d66={},_0x72517d;if(_0x1c60a9['body']['to']){_0x72517d=_0x1c60a9[_0x070b('0x5e')]['to'][_0x070b('0xa1')](',')[0x0];}return db[_0x070b('0x45')][_0x070b('0x5f')]({'where':{'id':_0x1c60a9[_0x070b('0x5c')]['id']},'include':[{'model':db[_0x070b('0xa4')],'as':'List','include':[{'model':db[_0x070b('0xa5')],'as':'Contacts','where':{'email':_0x72517d},'limit':0x1,'order':[[_0x070b('0xa6'),'DESC']]}]},{'model':db[_0x070b('0x40')],'as':_0x070b('0x41'),'raw':!![]}]})['then'](handleEntityNotFound(_0x3bf372,null))['then'](function(_0x3a8c06){if(_0x3a8c06){_0x33c325=_0x3a8c06;if(_0x3a8c06[_0x070b('0x41')]){if(_[_0x070b('0x70')](_0x1c60a9[_0x070b('0x5e')][_0x070b('0xa7')])){_0x1c60a9[_0x070b('0x5e')][_0x070b('0xa7')]=util['format'](_0x070b('0xa8'),_0x3a8c06[_0x070b('0x3c')],_0x3a8c06[_0x070b('0x6e')]||_0x3a8c06[_0x070b('0x41')][_0x070b('0x75')]);}if(_0x1c60a9[_0x070b('0x5e')][_0x070b('0xa9')]&&_0x1c60a9['body']['attachments']['length']){for(var _0x184dbe=0x0;_0x184dbe<_0x1c60a9[_0x070b('0x5e')][_0x070b('0xa9')][_0x070b('0x4d')];_0x184dbe+=0x1){_0x1c60a9[_0x070b('0x5e')][_0x070b('0xa9')][_0x184dbe]={'filename':_0x1c60a9[_0x070b('0x5e')][_0x070b('0xa9')][_0x184dbe][_0x070b('0x3c')],'path':path['join'](config['root'],_0x070b('0xaa'),_0x1c60a9[_0x070b('0x5e')][_0x070b('0xa9')][_0x184dbe][_0x070b('0xab')])};}}var _0x559a2a={'tls':{'rejectUnauthorized':![]}};if(_['isNil'](_0x3a8c06[_0x070b('0x41')][_0x070b('0x7c')])){if(_0x3a8c06['Smtp'][_0x070b('0x79')]){_0x559a2a[_0x070b('0xac')]={'user':_0x3a8c06[_0x070b('0x41')][_0x070b('0x75')],'pass':_0x3a8c06[_0x070b('0x41')][_0x070b('0x77')]};}_0x559a2a[_0x070b('0x7a')]=_0x3a8c06['Smtp'][_0x070b('0x7a')];_0x559a2a[_0x070b('0x7b')]=_0x3a8c06[_0x070b('0x41')][_0x070b('0x7b')];_0x559a2a['secure']=_0x3a8c06[_0x070b('0x41')][_0x070b('0xad')];}else{_0x559a2a[_0x070b('0x7c')]=_0x3a8c06['Smtp']['service'];_0x559a2a[_0x070b('0xac')]={'user':_0x3a8c06['Smtp'][_0x070b('0x75')],'pass':_0x3a8c06[_0x070b('0x41')][_0x070b('0x77')]};}return respondWithRpcPromise(_0x070b('0xae'),_0x070b('0xaf'),{'account':_0x559a2a,'message':_0x1c60a9['body']});}else{throw new Error(_0x070b('0xb0'));}}})[_0x070b('0x22')](function(_0x4d252b){if(_0x4d252b){_0x2e6d66=_0x4d252b;if(_0x33c325['List']){if(_0x33c325[_0x070b('0xb1')][_0x070b('0xb2')][_0x070b('0x4d')]){return _0x33c325['List']['Contacts'][0x0];}else{return db['CmContact'][_0x070b('0x63')](_['defaults'](_0x1c60a9[_0x070b('0x5e')],{'firstName':_0x1c60a9[_0x070b('0x5e')]['to'],'email':_0x1c60a9[_0x070b('0x5e')]['to'],'phone':_0x1c60a9[_0x070b('0x5e')]['to'],'ListId':_0x33c325[_0x070b('0x6f')]}));}}else{throw new Error(_0x070b('0xb0'));}}})[_0x070b('0x22')](function(_0x3f02b3){if(_0x3f02b3){var _0x4e1929={'UserId':_0x1c60a9['user']['id'],'ContactId':_0x3f02b3['id'],'MailAccountId':_0x33c325['id'],'inReplyTo':_0x2e6d66['messageId'],'to':_0x1c60a9['body'][_0x070b('0xa7')],'cc':_0x1c60a9[_0x070b('0x5e')]['cc'],'subject':_0x1c60a9[_0x070b('0x5e')][_0x070b('0xb3')],'attach':_0x1c60a9[_0x070b('0x5e')][_0x070b('0xb4')],'firstMsgDirection':_0x070b('0xb5'),'lastMsgAt':moment()['format']('YYYY-MM-DD\x20HH:mm:ss'),'lastMsgDirection':_0x070b('0xb5'),'lastMsgBody':_0x1c60a9['body'][_0x070b('0x5e')],'Messages':[_['merge'](_0x1c60a9['body'],{'messageId':_0x2e6d66[_0x070b('0xb6')],'sentAt':moment()[_0x070b('0xa2')](_0x070b('0xa3')),'read':!![],'MailAccountId':_0x33c325['id'],'UserId':_0x1c60a9[_0x070b('0x75')]['id'],'ContactId':_0x3f02b3['id']})]};if(_0x1c60a9[_0x070b('0x5e')]['Interaction']){_0x4e1929=_[_0x070b('0x55')](_0x4e1929,_0x1c60a9[_0x070b('0x5e')][_0x070b('0xb7')]);}return db['MailInteraction']['create'](_0x4e1929,{'include':[{'model':db[_0x070b('0x9f')],'as':_0x070b('0xb8')}]});}})[_0x070b('0x22')](respondWithResult(_0x3bf372,null))[_0x070b('0x2b')](handleError(_0x3bf372,null));};exports['verifySmtp']=function(_0x57e4fb,_0x23c63b,_0x418ffe){return db[_0x070b('0x45')][_0x070b('0x5f')]({'where':{'id':_0x57e4fb['params']['id']},'include':[{'model':db[_0x070b('0x40')],'as':_0x070b('0x41'),'raw':!![]}]})[_0x070b('0x22')](handleEntityNotFound(_0x23c63b,null))['then'](function(_0x42d164){if(_0x42d164&&_0x42d164[_0x070b('0x41')]){var _0x149dc4={'id':_0x42d164['id'],'tls':{'rejectUnauthorized':![]}};if(_0x42d164[_0x070b('0x41')][_0x070b('0x7c')]){_0x149dc4[_0x070b('0x7c')]=_0x42d164[_0x070b('0x41')][_0x070b('0x7c')];}else{_0x149dc4[_0x070b('0x7a')]=_0x42d164[_0x070b('0x41')][_0x070b('0x7a')];_0x149dc4['port']=_0x42d164[_0x070b('0x41')][_0x070b('0x7b')];_0x149dc4[_0x070b('0xad')]=_0x42d164[_0x070b('0x41')][_0x070b('0xad')];}if(_0x42d164[_0x070b('0x41')][_0x070b('0x79')]){_0x149dc4[_0x070b('0xac')]={'user':_0x42d164['Smtp'][_0x070b('0x75')],'pass':_0x42d164[_0x070b('0x41')][_0x070b('0x77')]};}return respondWithRpcPromise(_0x070b('0xb9'),_0x070b('0xba'),{'account':_0x149dc4});}})[_0x070b('0x22')](respondWithResult(_0x23c63b,null))['catch'](handleError(_0x23c63b,null));};exports[_0x070b('0x37')]=function(_0x193e2e,_0x335916){return db[_0x070b('0x45')][_0x070b('0x5f')]({'where':{'id':_0x193e2e[_0x070b('0x5c')]['id']}})[_0x070b('0x22')](handleEntityNotFound(_0x335916,null))[_0x070b('0x22')](function(_0x540781){if(_0x540781&&_0x540781[_0x070b('0x7c')]){throw new db['Sequelize'][(_0x070b('0xbb'))](_0x070b('0xbc'));}return _0x540781;})['then'](removeEntity(_0x335916,null))[_0x070b('0x2b')](handleError(_0x335916,null));};exports[_0x070b('0xbd')]=function(_0x4734f2,_0x53da29,_0x522ef7){return db[_0x070b('0x45')][_0x070b('0x5f')]({'where':{'id':_0x4734f2[_0x070b('0x5c')]['id']}})[_0x070b('0x22')](handleEntityNotFound(_0x53da29,null))[_0x070b('0x22')](function(_0xd34671){if(_0xd34671){return _0xd34671[_0x070b('0xbd')](_0x4734f2['body']['ids'],_[_0x070b('0x8b')](_0x4734f2[_0x070b('0x5e')],[_0x070b('0x6d'),'id'])||{})[_0x070b('0xbe')](function(_0x507b4b){for(var _0x5a74d1=0x0;_0x5a74d1<_0x4734f2['body'][_0x070b('0x6d')][_0x070b('0x4d')];_0x5a74d1+=0x1){socket[_0x070b('0xbf')](_0x070b('0xc0'),{'UserId':_0x4734f2['body'][_0x070b('0x6d')][_0x5a74d1],'MailAccountId':_0x4734f2[_0x070b('0x5c')]['id']});}return _0x507b4b;});}})['then'](respondWithResult(_0x53da29,null))[_0x070b('0x2b')](handleError(_0x53da29,null));};exports[_0x070b('0xc1')]=function(_0x5bec77,_0x22a46b,_0x9ba660){return db[_0x070b('0x45')][_0x070b('0x5f')]({'where':{'id':_0x5bec77['params']['id']}})['then'](handleEntityNotFound(_0x22a46b,null))[_0x070b('0x22')](function(_0xd12ddf){if(_0xd12ddf){return _0xd12ddf[_0x070b('0xc1')](_0x5bec77[_0x070b('0x47')][_0x070b('0x6d')])['then'](function(){if(_[_0x070b('0xc2')](_0x5bec77[_0x070b('0x47')]['ids'])){for(var _0x5e3856=0x0;_0x5e3856<_0x5bec77[_0x070b('0x47')][_0x070b('0x6d')][_0x070b('0x4d')];_0x5e3856+=0x1){socket[_0x070b('0xbf')](_0x070b('0xc3'),{'UserId':Number(_0x5bec77[_0x070b('0x47')][_0x070b('0x6d')][_0x5e3856]),'MailAccountId':Number(_0x5bec77['params']['id'])});}}else{socket[_0x070b('0xbf')](_0x070b('0xc3'),{'UserId':Number(_0x5bec77['query'][_0x070b('0x6d')]),'MailAccountId':Number(_0x5bec77['params']['id'])});}});}})[_0x070b('0x22')](respondWithStatusCode(_0x22a46b,null))[_0x070b('0x2b')](handleError(_0x22a46b,null));};exports[_0x070b('0xc4')]=function(_0x334108,_0x3b91f6,_0x1060a7){var _0x1e011d={};var _0x6bf559={};var _0x3c92f1;var _0x410031;return db['MailAccount'][_0x070b('0x64')]({'where':{'id':_0x334108[_0x070b('0x5c')]['id']}})[_0x070b('0x22')](handleEntityNotFound(_0x3b91f6,null))[_0x070b('0x22')](function(_0x16a0c9){if(_0x16a0c9){_0x3c92f1=_0x16a0c9;_0x6bf559[_0x070b('0x4b')]=_[_0x070b('0x48')](db[_0x070b('0x8f')][_0x070b('0x8d')]);_0x6bf559['query']=_[_0x070b('0x48')](_0x334108[_0x070b('0x47')]);_0x6bf559[_0x070b('0x53')]=_[_0x070b('0x49')](_0x6bf559['model'],_0x6bf559[_0x070b('0x47')]);_0x1e011d[_0x070b('0x4a')]=_['intersection'](_0x6bf559[_0x070b('0x4b')],qs[_0x070b('0x4c')](_0x334108[_0x070b('0x47')][_0x070b('0x4c')]));_0x1e011d[_0x070b('0x4a')]=_0x1e011d['attributes'][_0x070b('0x4d')]?_0x1e011d[_0x070b('0x4a')]:_0x6bf559[_0x070b('0x4b')];_0x1e011d['order']=qs[_0x070b('0x50')](_0x334108['query']['sort']);_0x1e011d['where']=qs[_0x070b('0x53')](_[_0x070b('0x52')](_0x334108[_0x070b('0x47')],_0x6bf559[_0x070b('0x53')]));if(_0x334108[_0x070b('0x47')][_0x070b('0x54')]){_0x1e011d[_0x070b('0x51')]=_[_0x070b('0x55')](_0x1e011d[_0x070b('0x51')],{'$or':_[_0x070b('0x44')](_0x1e011d[_0x070b('0x4a')],function(_0x470ae5){var _0x1bfd68={};_0x1bfd68[_0x470ae5]={'$like':'%'+_0x334108[_0x070b('0x47')]['filter']+'%'};return _0x1bfd68;})});}_0x1e011d=_[_0x070b('0x55')]({},_0x1e011d,_0x334108[_0x070b('0x6b')]);return _0x3c92f1[_0x070b('0xc4')](_0x1e011d);}})[_0x070b('0x22')](function(_0x12ae66){if(_0x12ae66){_0x410031=_0x12ae66[_0x070b('0x4d')];if(!_0x334108[_0x070b('0x47')][_0x070b('0x4e')](_0x070b('0x65'))){_0x1e011d[_0x070b('0x31')]=qs['limit'](_0x334108[_0x070b('0x47')]['limit']);_0x1e011d[_0x070b('0x30')]=qs['offset'](_0x334108[_0x070b('0x47')]['offset']);}return _0x3c92f1[_0x070b('0xc4')](_0x1e011d);}})[_0x070b('0x22')](function(_0x158da9){if(_0x158da9){return _0x158da9?{'count':_0x410031,'rows':_0x158da9}:null;}})[_0x070b('0x22')](respondWithResult(_0x3b91f6,null))['catch'](handleError(_0x3b91f6,null));};