Built motion from commit (unavailable).|2.5.28
[motion2.git] / server / api / mailAccount / mailAccount.rpc.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 _0x1b30=['findAll','options','raw','where','attributes','limit','include','map','model','stringify','ShowMailAccount','find','NotifyMailAccount','body','difference','keys','CmContact','rawAttributes','updatedAt','from','from\x20is\x20mandatory','isNil','mapKey','mapKey\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20','includes','mapKey\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20','CmList','List','Contacts','DESC','Applications','MailServerOut','Smtp','get','account','omit','applications','orderBy','priority','asc','autoclose','length','close','*,*,*,*','ListId','create','contact','messageId','generate','subject','attach','format','YYYY-MM-DD\x20HH:mm:ss','MailInteraction','inReplyTo','Contact\x20not\x20found','spread','update','interaction','created','MailMessage','originTo','bcc','ChatWebsiteId','originChannel','ChatOfflineMessageId','Attachment','Attachments','User','name','UserId','unshift','agent','waitForTheAssignedAgent','Start','startRouting','lodash','moment','bluebird','randomstring','ioredis','../../mysqldb','../../config/logger','rpc','../../config/environment','jayson/promise','client','http','redis','defaults','localhost','socket.io-emitter','./mailAccount.socket','request','then','info','request\x20sent','debug','MailAccount,\x20%s,\x20%s,\x20%s','error','code','MailAccount,\x20%s,\x20%s','message','catch','GetMailAccount','MailAccount'];(function(_0x4b801b,_0x3a2c1a){var _0x297777=function(_0x16f4bd){while(--_0x16f4bd){_0x4b801b['push'](_0x4b801b['shift']());}};_0x297777(++_0x3a2c1a);}(_0x1b30,0x1f4));var _0x01b3=function(_0x5611fd,_0x3ec712){_0x5611fd=_0x5611fd-0x0;var _0x2d78b1=_0x1b30[_0x5611fd];return _0x2d78b1;};'use strict';var _=require(_0x01b3('0x0'));var util=require('util');var moment=require(_0x01b3('0x1'));var BPromise=require(_0x01b3('0x2'));var rs=require(_0x01b3('0x3'));var fs=require('fs');var Redis=require(_0x01b3('0x4'));var db=require(_0x01b3('0x5'))['db'];var utils=require('../../config/utils');var logger=require(_0x01b3('0x6'))(_0x01b3('0x7'));var config=require(_0x01b3('0x8'));var jayson=require(_0x01b3('0x9'));var client=jayson[_0x01b3('0xa')][_0x01b3('0xb')]({'port':0x232c});config[_0x01b3('0xc')]=_[_0x01b3('0xd')](config['redis'],{'host':_0x01b3('0xe'),'port':0x18eb});var socket=require(_0x01b3('0xf'))(new Redis(config[_0x01b3('0xc')]));require(_0x01b3('0x10'))['register'](socket);function respondWithRpcPromise(_0x349039,_0x210d88,_0x39f723){return new BPromise(function(_0x251966,_0x560eba){return client[_0x01b3('0x11')](_0x349039,_0x39f723)[_0x01b3('0x12')](function(_0x5d0e76){logger[_0x01b3('0x13')]('MailAccount,\x20%s,\x20%s',_0x210d88,_0x01b3('0x14'));logger[_0x01b3('0x15')](_0x01b3('0x16'),_0x210d88,_0x01b3('0x14'),JSON['stringify'](_0x5d0e76));if(_0x5d0e76['error']){if(_0x5d0e76[_0x01b3('0x17')][_0x01b3('0x18')]===0x1f4){logger[_0x01b3('0x17')](_0x01b3('0x19'),_0x210d88,_0x5d0e76[_0x01b3('0x17')]['message']);return _0x560eba(_0x5d0e76[_0x01b3('0x17')][_0x01b3('0x1a')]);}logger[_0x01b3('0x17')](_0x01b3('0x19'),_0x210d88,_0x5d0e76[_0x01b3('0x17')]['message']);return _0x251966(_0x5d0e76[_0x01b3('0x17')][_0x01b3('0x1a')]);}else{logger['info'](_0x01b3('0x19'),_0x210d88,_0x01b3('0x14'));_0x251966(_0x5d0e76['result'][_0x01b3('0x1a')]);}})[_0x01b3('0x1b')](function(_0x305081){logger[_0x01b3('0x17')]('MailAccount,\x20%s,\x20%s',_0x210d88,_0x305081);_0x560eba(_0x305081);});});}exports[_0x01b3('0x1c')]=function(_0x5bb775){var _0x355701=this;return new Promise(function(_0xa04845,_0x5a40fe){return db[_0x01b3('0x1d')][_0x01b3('0x1e')]({'raw':_0x5bb775[_0x01b3('0x1f')]?_0x5bb775['options'][_0x01b3('0x20')]===undefined?!![]:![]:!![],'where':_0x5bb775[_0x01b3('0x1f')]?_0x5bb775['options'][_0x01b3('0x21')]||null:null,'attributes':_0x5bb775[_0x01b3('0x1f')]?_0x5bb775[_0x01b3('0x1f')][_0x01b3('0x22')]||null:null,'limit':_0x5bb775[_0x01b3('0x1f')]?_0x5bb775[_0x01b3('0x1f')][_0x01b3('0x23')]||null:null,'include':_0x5bb775[_0x01b3('0x1f')]?_0x5bb775[_0x01b3('0x1f')][_0x01b3('0x24')]?_[_0x01b3('0x25')](_0x5bb775[_0x01b3('0x1f')][_0x01b3('0x24')],function(_0x218545){return{'model':db[_0x218545[_0x01b3('0x26')]],'as':_0x218545['as'],'attributes':_0x218545['attributes'],'include':_0x218545[_0x01b3('0x24')]?_[_0x01b3('0x25')](_0x218545[_0x01b3('0x24')],function(_0x1b6543){return{'model':db[_0x1b6543[_0x01b3('0x26')]],'as':_0x1b6543['as'],'attributes':_0x1b6543[_0x01b3('0x22')],'include':_0x1b6543[_0x01b3('0x24')]?_[_0x01b3('0x25')](_0x1b6543['include'],function(_0x862d90){return{'model':db[_0x862d90[_0x01b3('0x26')]],'as':_0x862d90['as'],'attributes':_0x862d90[_0x01b3('0x22')]};}):[]};}):[]};}):[]:[]})[_0x01b3('0x12')](function(_0x363804){logger['info'](_0x01b3('0x1c'),_0x5bb775);logger['debug']('GetMailAccount',_0x5bb775,JSON[_0x01b3('0x27')](_0x363804));_0xa04845(_0x363804);})[_0x01b3('0x1b')](function(_0x2b6ce9){logger[_0x01b3('0x17')]('GetMailAccount',_0x2b6ce9[_0x01b3('0x1a')],_0x5bb775);_0x5a40fe(_0x355701['error'](0x1f4,_0x2b6ce9[_0x01b3('0x1a')]));});});};exports[_0x01b3('0x28')]=function(_0x149f17){var _0x332727=this;return new Promise(function(_0x1351d7,_0x43e787){return db['MailAccount'][_0x01b3('0x29')]({'raw':_0x149f17[_0x01b3('0x1f')]?_0x149f17['options'][_0x01b3('0x20')]===undefined?!![]:![]:!![],'where':_0x149f17[_0x01b3('0x1f')]?_0x149f17[_0x01b3('0x1f')][_0x01b3('0x21')]||null:null,'attributes':_0x149f17[_0x01b3('0x1f')]?_0x149f17['options'][_0x01b3('0x22')]||null:null,'include':_0x149f17['options']?_0x149f17[_0x01b3('0x1f')]['include']?_['map'](_0x149f17['options']['include'],function(_0x4a9651){return{'model':db[_0x4a9651[_0x01b3('0x26')]],'as':_0x4a9651['as'],'attributes':_0x4a9651['attributes'],'include':_0x4a9651[_0x01b3('0x24')]?_[_0x01b3('0x25')](_0x4a9651[_0x01b3('0x24')],function(_0x1015ff){return{'model':db[_0x1015ff['model']],'as':_0x1015ff['as'],'attributes':_0x1015ff[_0x01b3('0x22')],'include':_0x1015ff['include']?_[_0x01b3('0x25')](_0x1015ff[_0x01b3('0x24')],function(_0x2f01d4){return{'model':db[_0x2f01d4['model']],'as':_0x2f01d4['as'],'attributes':_0x2f01d4[_0x01b3('0x22')]};}):[]};}):[]};}):[]:[]})[_0x01b3('0x12')](function(_0x42c75d){logger[_0x01b3('0x13')](_0x01b3('0x28'),_0x149f17);logger['debug'](_0x01b3('0x28'),_0x149f17,JSON['stringify'](_0x42c75d));_0x1351d7(_0x42c75d);})[_0x01b3('0x1b')](function(_0x1517a2){logger[_0x01b3('0x17')](_0x01b3('0x28'),_0x1517a2['message'],_0x149f17);_0x43e787(_0x332727['error'](0x1f4,_0x1517a2[_0x01b3('0x1a')]));});});};exports[_0x01b3('0x2a')]=function(_0x4c2889){var _0x27fe70=this;return new Promise(function(_0x2df9b9,_0x4b3c72){var _0x1dd3be={'body':_0x4c2889[_0x01b3('0x2b')],'channel':'mail'};var _0x28c850=_[_0x01b3('0x2c')](_[_0x01b3('0x2d')](db[_0x01b3('0x2e')][_0x01b3('0x2f')]),['createdAt',_0x01b3('0x30'),'CompanyId','ListId']);var _0x329aab=![];if(_0x4c2889[_0x01b3('0x2b')]['id']){delete _0x4c2889[_0x01b3('0x2b')]['id'];}if(_['isNil'](_0x4c2889[_0x01b3('0x2b')][_0x01b3('0x31')])){return _0x4b3c72(_0x27fe70[_0x01b3('0x17')](0x1f4,_0x01b3('0x32')));}if(_[_0x01b3('0x33')](_0x4c2889[_0x01b3('0x2b')][_0x01b3('0x2b')])||_0x4c2889[_0x01b3('0x2b')][_0x01b3('0x2b')]===''){return _0x4b3c72(_0x27fe70[_0x01b3('0x17')](0x1f4,'body\x20is\x20mandatory\x20and\x20not\x20empty'));}if(_[_0x01b3('0x33')](_0x4c2889[_0x01b3('0x2b')][_0x01b3('0x34')])){return _0x4b3c72(_0x27fe70[_0x01b3('0x17')](0x1f4,_0x01b3('0x35')+_0x28c850));}if(!_[_0x01b3('0x36')](_0x28c850,_0x4c2889[_0x01b3('0x2b')]['mapKey'])){return _0x4b3c72(_0x27fe70[_0x01b3('0x17')](0x1f4,_0x01b3('0x37')+_0x28c850));}var _0x1de18f={};_0x1de18f[_0x4c2889[_0x01b3('0x2b')][_0x01b3('0x34')]]=_0x4c2889[_0x01b3('0x2b')][_0x01b3('0x31')];return db['MailAccount'][_0x01b3('0x29')]({'where':{'id':_0x4c2889['account']['id']},'include':[{'model':db[_0x01b3('0x38')],'as':_0x01b3('0x39'),'include':[{'model':db['CmContact'],'as':_0x01b3('0x3a'),'where':_0x1de18f,'limit':0x1,'order':[['updatedAt',_0x01b3('0x3b')]]}]},{'model':db['MailApplication'],'as':_0x01b3('0x3c')},{'model':db[_0x01b3('0x3d')],'as':_0x01b3('0x3e')}]})[_0x01b3('0x12')](function(_0x2ec43a){if(_0x2ec43a&&_0x2ec43a[_0x01b3('0x39')]){var _0x8632eb=_0x2ec43a[_0x01b3('0x3f')]({'plain':!![]});_0x1dd3be[_0x01b3('0x40')]=_[_0x01b3('0x41')](_0x8632eb,[_0x01b3('0x3c'),_0x01b3('0x39')]);_0x1dd3be[_0x01b3('0x42')]=_0x8632eb[_0x01b3('0x3c')];_0x1dd3be['list']=_0x8632eb['List'];_0x1dd3be[_0x01b3('0x42')]=_[_0x01b3('0x43')](_0x1dd3be[_0x01b3('0x42')],[_0x01b3('0x44')],[_0x01b3('0x45')]);if(_0x1dd3be[_0x01b3('0x40')]&&_0x1dd3be[_0x01b3('0x40')][_0x01b3('0x46')]){_0x1dd3be['applications']['push']({'id':0x0,'priority':_0x1dd3be[_0x01b3('0x42')][_0x01b3('0x47')]+0x1,'app':_0x01b3('0x48'),'appdata':'autoclose','interval':_0x01b3('0x49')});}if(_0x1dd3be[_0x01b3('0x40')][_0x01b3('0x3c')]){delete _0x1dd3be[_0x01b3('0x40')][_0x01b3('0x3c')];}if(_0x1dd3be[_0x01b3('0x40')]['List']){delete _0x1dd3be[_0x01b3('0x40')][_0x01b3('0x39')];}if(_0x8632eb[_0x01b3('0x39')]['Contacts']['length']){return _0x8632eb[_0x01b3('0x39')][_0x01b3('0x3a')][0x0];}var _0x2646c8=_[_0x01b3('0xd')](_0x4c2889[_0x01b3('0x2b')],{'firstName':_0x4c2889[_0x01b3('0x2b')][_0x01b3('0x31')],'ListId':_0x8632eb[_0x01b3('0x4a')]});_0x2646c8[_0x4c2889[_0x01b3('0x2b')][_0x01b3('0x34')]]=_0x4c2889[_0x01b3('0x2b')][_0x01b3('0x31')];return db[_0x01b3('0x2e')][_0x01b3('0x4b')](_0x2646c8);}else{throw new Error('List\x20not\x20found');}})[_0x01b3('0x12')](function(_0x1229f9){_0x1dd3be[_0x01b3('0x4c')]=_0x1229f9;if(_0x1229f9){if(!_0x4c2889[_0x01b3('0x2b')][_0x01b3('0x1a')][_0x01b3('0x4d')]){_0x4c2889[_0x01b3('0x2b')]['message'][_0x01b3('0x4d')]=rs[_0x01b3('0x4e')]()+'\x20'+_0x4c2889[_0x01b3('0x2b')][_0x01b3('0x1a')][_0x01b3('0x31')];}var _0x41b31a={'ContactId':_0x1229f9['id'],'MailAccountId':_0x4c2889[_0x01b3('0x40')]['id'],'inReplyTo':_0x4c2889['body'][_0x01b3('0x1a')][_0x01b3('0x4d')],'to':_0x4c2889[_0x01b3('0x2b')][_0x01b3('0x1a')][_0x01b3('0x31')],'cc':_0x4c2889[_0x01b3('0x2b')]['message']['cc'],'subject':_0x4c2889[_0x01b3('0x2b')][_0x01b3('0x1a')][_0x01b3('0x4f')],'attach':_0x4c2889['body']['message'][_0x01b3('0x50')],'lastMsgAt':moment()[_0x01b3('0x51')](_0x01b3('0x52')),'lastMsgDirection':'in'};return db[_0x01b3('0x53')][_0x01b3('0x29')]({'where':{'closed':![],'MailAccountId':_0x4c2889[_0x01b3('0x40')]['id']},'include':[{'model':db['MailMessage'],'as':'Messages','attributes':[_0x01b3('0x4d')],'where':{'messageId':_0x4c2889['body'][_0x01b3('0x1a')][_0x01b3('0x54')]}}]})['then'](function(_0x15b09d){if(_0x15b09d){return[_0x15b09d,![]];}return db[_0x01b3('0x53')][_0x01b3('0x4b')](_0x41b31a)[_0x01b3('0x12')](function(_0x476a54){return[_0x476a54,!![]];});});}else{throw new Error(_0x01b3('0x55'));}})[_0x01b3('0x56')](function(_0x5ec793,_0xe469f4){if(_0x5ec793){_0x329aab=_0xe469f4;if(!_0xe469f4){return _0x5ec793[_0x01b3('0x57')]({'inReplyTo':_0x4c2889[_0x01b3('0x2b')][_0x01b3('0x1a')]['messageId'],'to':_0x4c2889[_0x01b3('0x2b')][_0x01b3('0x1a')][_0x01b3('0x31')],'cc':_0x4c2889[_0x01b3('0x2b')][_0x01b3('0x1a')]['cc'],'subject':_0x4c2889[_0x01b3('0x2b')][_0x01b3('0x1a')][_0x01b3('0x4f')],'attach':_0x5ec793['attach']?_0x5ec793[_0x01b3('0x50')]:_0x4c2889[_0x01b3('0x2b')]['message']['attach'],'substatus':null,'substatusAt':moment()[_0x01b3('0x51')](_0x01b3('0x52')),'lastMsgAt':moment()['format']('YYYY-MM-DD\x20HH:mm:ss'),'lastMsgDirection':'in'});}else{return _0x5ec793;}}})[_0x01b3('0x12')](function(_0x17a3db){_0x1dd3be[_0x01b3('0x58')]=_0x17a3db[_0x01b3('0x3f')]({'plain':!![]});_0x1dd3be[_0x01b3('0x58')][_0x01b3('0x59')]=_0x329aab;return db[_0x01b3('0x5a')][_0x01b3('0x4b')]({'body':_0x4c2889[_0x01b3('0x2b')]['body'],'MailAccountId':_0x4c2889[_0x01b3('0x40')]['id'],'MailInteractionId':_0x17a3db['id'],'direction':'in','ContactId':_0x1dd3be[_0x01b3('0x4c')]['id'],'messageId':_0x4c2889['body'][_0x01b3('0x1a')][_0x01b3('0x4d')],'from':_0x4c2889[_0x01b3('0x2b')][_0x01b3('0x1a')]['from'],'to':_0x4c2889[_0x01b3('0x2b')][_0x01b3('0x1a')]['to'],'cc':_0x4c2889[_0x01b3('0x2b')][_0x01b3('0x1a')]['cc'],'subject':_0x4c2889['body'][_0x01b3('0x1a')][_0x01b3('0x4f')],'attach':_0x4c2889['body'][_0x01b3('0x1a')][_0x01b3('0x50')],'Attachments':_0x4c2889[_0x01b3('0x2b')]['message']['attachments'],'originTo':_0x4c2889[_0x01b3('0x2b')]['message'][_0x01b3('0x5b')],'originCc':_0x4c2889[_0x01b3('0x2b')][_0x01b3('0x1a')]['originCc'],'bcc':_0x4c2889[_0x01b3('0x2b')][_0x01b3('0x1a')][_0x01b3('0x5c')],'ChatWebsiteId':_0x4c2889[_0x01b3('0x2b')][_0x01b3('0x1a')][_0x01b3('0x5d')]||null,'originChannel':_0x4c2889[_0x01b3('0x2b')][_0x01b3('0x1a')][_0x01b3('0x5e')]||'Email','ChatOfflineMessageId':_0x4c2889['body'][_0x01b3('0x1a')][_0x01b3('0x5f')]||null},{'include':[{'model':db[_0x01b3('0x60')],'as':_0x01b3('0x61')}]});})[_0x01b3('0x12')](function(_0x595828){_0x1dd3be['message']=_0x595828;if(_0x1dd3be[_0x01b3('0x58')]['UserId']){return db[_0x01b3('0x62')][_0x01b3('0x29')]({'attributes':['id',_0x01b3('0x63')],'where':{'id':_0x1dd3be[_0x01b3('0x58')][_0x01b3('0x64')]}})[_0x01b3('0x12')](function(_0x39b57f){if(_0x39b57f){_0x1dd3be[_0x01b3('0x42')][_0x01b3('0x65')]({'id':0x0,'priority':0x0,'app':_0x01b3('0x66'),'appdata':_0x39b57f[_0x01b3('0x63')]+','+(_0x1dd3be[_0x01b3('0x40')][_0x01b3('0x67')]||0xa),'interval':_0x01b3('0x49')});}return respondWithRpcPromise(_0x01b3('0x68'),_0x01b3('0x69'),_0x1dd3be);});}return respondWithRpcPromise('Start',_0x01b3('0x69'),_0x1dd3be);})[_0x01b3('0x12')](function(_0x16c84a){_0x2df9b9(_0x16c84a);})['catch'](function(_0x43c4d7){_0x4b3c72(_0x27fe70['error'](0x1f4,_0x43c4d7['message']));});});};