Built motion from commit (unavailable).|2.2.6
[motion2.git] / server / api / faxAccount / faxAccount.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 _0xde61=['FaxInteraction','spread','push','close','unmanaged','*,*,*,*','created','interaction','FaxMessage','ContactId','AttachmentId','UserId','name','unshift','agent','waitForTheAssignedAgent','Start','startRouting','lodash','util','moment','bluebird','randomstring','ioredis','../../mysqldb','../../config/utils','../../config/environment','jayson/promise','client','http','redis','defaults','localhost','socket.io-emitter','register','request','then','info','FaxAccount,\x20%s,\x20%s','request\x20sent','debug','stringify','error','code','message','result','GetFaxAccount','FaxAccount','options','where','attributes','map','include','model','catch','body','fax','CmContact','describe','Sequelize','ValidationError','no\x20available\x20attributes','difference','keys','createdAt','updatedAt','CompanyId','ListId','isNil','from','from\x20is\x20mandatory','body\x20is\x20mandatory\x20and\x20not\x20empty','mapKey','mapKey\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20','includes','find','CmList','List','Contacts','Applications','get','account','applications','list','orderBy','priority','asc','length','create'];(function(_0x44606e,_0x2bf244){var _0xe68388=function(_0x488a30){while(--_0x488a30){_0x44606e['push'](_0x44606e['shift']());}};_0xe68388(++_0x2bf244);}(_0xde61,0x1cf));var _0x1de6=function(_0x3874ab,_0x1e2dec){_0x3874ab=_0x3874ab-0x0;var _0x3b90e8=_0xde61[_0x3874ab];return _0x3b90e8;};'use strict';var _=require(_0x1de6('0x0'));var util=require(_0x1de6('0x1'));var moment=require(_0x1de6('0x2'));var BPromise=require(_0x1de6('0x3'));var rs=require(_0x1de6('0x4'));var fs=require('fs');var Redis=require(_0x1de6('0x5'));var db=require(_0x1de6('0x6'))['db'];var utils=require(_0x1de6('0x7'));var logger=require('../../config/logger')('rpc');var config=require(_0x1de6('0x8'));var jayson=require(_0x1de6('0x9'));var client=jayson[_0x1de6('0xa')][_0x1de6('0xb')]({'port':0x232c});config[_0x1de6('0xc')]=_[_0x1de6('0xd')](config[_0x1de6('0xc')],{'host':_0x1de6('0xe'),'port':0x18eb});var socket=require(_0x1de6('0xf'))(new Redis(config[_0x1de6('0xc')]));require('./faxAccount.socket')[_0x1de6('0x10')](socket);function respondWithRpcPromise(_0x181213,_0x24ace2,_0x49f105){return new BPromise(function(_0x47fc4d,_0x3a3e57){return client[_0x1de6('0x11')](_0x181213,_0x49f105)[_0x1de6('0x12')](function(_0x2701d4){logger[_0x1de6('0x13')](_0x1de6('0x14'),_0x24ace2,_0x1de6('0x15'));logger[_0x1de6('0x16')]('FaxAccount,\x20%s,\x20%s,\x20%s',_0x24ace2,_0x1de6('0x15'),JSON[_0x1de6('0x17')](_0x2701d4));if(_0x2701d4[_0x1de6('0x18')]){if(_0x2701d4[_0x1de6('0x18')][_0x1de6('0x19')]===0x1f4){logger[_0x1de6('0x18')]('FaxAccount,\x20%s,\x20%s',_0x24ace2,_0x2701d4[_0x1de6('0x18')]['message']);return _0x3a3e57(_0x2701d4['error'][_0x1de6('0x1a')]);}logger[_0x1de6('0x18')](_0x1de6('0x14'),_0x24ace2,_0x2701d4[_0x1de6('0x18')][_0x1de6('0x1a')]);return _0x47fc4d(_0x2701d4[_0x1de6('0x18')][_0x1de6('0x1a')]);}else{logger[_0x1de6('0x13')](_0x1de6('0x14'),_0x24ace2,'request\x20sent');_0x47fc4d(_0x2701d4[_0x1de6('0x1b')][_0x1de6('0x1a')]);}})['catch'](function(_0x525b1a){logger[_0x1de6('0x18')]('FaxAccount,\x20%s,\x20%s',_0x24ace2,_0x525b1a);_0x3a3e57(_0x525b1a);});});}exports[_0x1de6('0x1c')]=function(_0x7ba640){var _0x2533fc=this;return new Promise(function(_0x4cedf7,_0x65c8e6){return db[_0x1de6('0x1d')]['findAll']({'raw':_0x7ba640['options']?_0x7ba640['options']['raw']===undefined?!![]:![]:!![],'where':_0x7ba640[_0x1de6('0x1e')]?_0x7ba640[_0x1de6('0x1e')][_0x1de6('0x1f')]||null:null,'attributes':_0x7ba640[_0x1de6('0x1e')]?_0x7ba640[_0x1de6('0x1e')][_0x1de6('0x20')]||null:null,'limit':_0x7ba640[_0x1de6('0x1e')]?_0x7ba640[_0x1de6('0x1e')]['limit']||null:null,'include':_0x7ba640[_0x1de6('0x1e')]?_0x7ba640[_0x1de6('0x1e')]['include']?_[_0x1de6('0x21')](_0x7ba640[_0x1de6('0x1e')][_0x1de6('0x22')],function(_0x8baf64){return{'model':db[_0x8baf64[_0x1de6('0x23')]],'as':_0x8baf64['as'],'attributes':_0x8baf64['attributes'],'include':_0x8baf64[_0x1de6('0x22')]?_[_0x1de6('0x21')](_0x8baf64['include'],function(_0x45ee35){return{'model':db[_0x45ee35[_0x1de6('0x23')]],'as':_0x45ee35['as'],'attributes':_0x45ee35[_0x1de6('0x20')],'include':_0x45ee35['include']?_[_0x1de6('0x21')](_0x45ee35[_0x1de6('0x22')],function(_0x58d9e2){return{'model':db[_0x58d9e2[_0x1de6('0x23')]],'as':_0x58d9e2['as'],'attributes':_0x58d9e2['attributes']};}):[]};}):[]};}):[]:[]})['then'](function(_0x2e0a84){logger[_0x1de6('0x13')]('GetFaxAccount',_0x7ba640);logger[_0x1de6('0x16')]('GetFaxAccount',_0x7ba640,JSON[_0x1de6('0x17')](_0x2e0a84));_0x4cedf7(_0x2e0a84);})[_0x1de6('0x24')](function(_0x30255e){logger[_0x1de6('0x18')](_0x1de6('0x1c'),_0x30255e[_0x1de6('0x1a')],_0x7ba640);_0x65c8e6(_0x2533fc[_0x1de6('0x18')](0x1f4,_0x30255e['message']));});});};exports['NotifyFaxAccount']=function(_0x52c756,_0xd51d50,_0x3050ed){var _0xf426a2=this;return new Promise(function(_0x49c942,_0x16daba){var _0x168af8={'body':_0x52c756[_0x1de6('0x25')],'channel':_0x1de6('0x26')};var _0x4d3ded=[];var _0x36a604=[];var _0x26115c={};return db[_0x1de6('0x27')][_0x1de6('0x28')]()['then'](function(_0x3228b2){if(!_0x3228b2){throw new db[(_0x1de6('0x29'))][(_0x1de6('0x2a'))](_0x1de6('0x2b'));}_0x4d3ded=_[_0x1de6('0x2c')](_[_0x1de6('0x2d')](_0x3228b2),[_0x1de6('0x2e'),_0x1de6('0x2f')]);_0x36a604=_['difference'](_[_0x1de6('0x2d')](_0x3228b2),[_0x1de6('0x2e'),_0x1de6('0x2f'),_0x1de6('0x30'),_0x1de6('0x31')]);if(_0x52c756[_0x1de6('0x25')]['id']){delete _0x52c756[_0x1de6('0x25')]['id'];}if(_[_0x1de6('0x32')](_0x52c756['body'][_0x1de6('0x33')])){throw new db['Sequelize'][(_0x1de6('0x2a'))](_0x1de6('0x34'));}if(_['isNil'](_0x52c756['body'][_0x1de6('0x25')])||_0x52c756['body']['body']===''){throw new db[(_0x1de6('0x29'))][(_0x1de6('0x2a'))](_0x1de6('0x35'));}if(_[_0x1de6('0x32')](_0x52c756[_0x1de6('0x25')][_0x1de6('0x36')])){throw new db[(_0x1de6('0x29'))][(_0x1de6('0x2a'))](_0x1de6('0x37')+_0x36a604);}if(!_[_0x1de6('0x38')](_0x36a604,_0x52c756[_0x1de6('0x25')][_0x1de6('0x36')])){throw new db[(_0x1de6('0x29'))][(_0x1de6('0x2a'))]('mapKey\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20'+_0x36a604);}_0x26115c[_0x52c756[_0x1de6('0x25')][_0x1de6('0x36')]]=_0x52c756['body'][_0x1de6('0x33')];})['then'](function(){return db[_0x1de6('0x1d')][_0x1de6('0x39')]({'where':{'id':_0x52c756['account']['id']},'include':[{'model':db[_0x1de6('0x3a')],'as':_0x1de6('0x3b'),'include':[{'model':db[_0x1de6('0x27')],'as':_0x1de6('0x3c'),'where':_0x26115c,'limit':0x1,'order':[['updatedAt','DESC']]}]},{'model':db['FaxApplication'],'as':_0x1de6('0x3d')}]});})[_0x1de6('0x12')](function(_0x3a2e22){if(_0x3a2e22&&_0x3a2e22['List']){var _0x7ad244=_0x3a2e22[_0x1de6('0x3e')]({'plain':!![]});_0x168af8[_0x1de6('0x3f')]=_0x7ad244;_0x168af8[_0x1de6('0x40')]=_0x7ad244['Applications'];_0x168af8[_0x1de6('0x41')]=_0x7ad244[_0x1de6('0x3b')];_0x168af8['applications']=_[_0x1de6('0x42')](_0x168af8[_0x1de6('0x40')],[_0x1de6('0x43')],[_0x1de6('0x44')]);if(_0x168af8[_0x1de6('0x3f')][_0x1de6('0x3d')]){delete _0x168af8[_0x1de6('0x3f')][_0x1de6('0x3d')];}if(_0x168af8['account'][_0x1de6('0x3b')]&&_0x168af8[_0x1de6('0x3f')][_0x1de6('0x3b')][_0x1de6('0x3c')][_0x1de6('0x45')]){return _0x168af8[_0x1de6('0x3f')]['List'][_0x1de6('0x3c')][0x0];}var _0x44b2b5=_['defaults'](_0x52c756[_0x1de6('0x25')],{'firstName':_0x52c756[_0x1de6('0x25')][_0x1de6('0x33')],'ListId':_0x7ad244['ListId']});_0x44b2b5[_0x52c756[_0x1de6('0x25')][_0x1de6('0x36')]]=_0x52c756[_0x1de6('0x25')][_0x1de6('0x33')];return db[_0x1de6('0x27')][_0x1de6('0x46')](_0x44b2b5,{'fields':_0x4d3ded,'raw':!![]});}})[_0x1de6('0x12')](function(_0x48d0ef){_0x168af8['contact']=_0x48d0ef;if(_0x48d0ef){var _0x1dedd2={'ContactId':_0x48d0ef['id'],'FaxAccountId':_0x52c756['account']['id'],'fax':_0x48d0ef[_0x1de6('0x26')]};return db[_0x1de6('0x47')]['find']({'where':{'ContactId':_0x48d0ef['id'],'closed':![],'FaxAccountId':_0x52c756[_0x1de6('0x3f')]['id']}})[_0x1de6('0x12')](function(_0x441858){if(_0x441858){return[_0x441858,![]];}return db[_0x1de6('0x47')][_0x1de6('0x46')](_0x1dedd2)[_0x1de6('0x12')](function(_0x346e83){return[_0x346e83,!![]];});});}else{throw new Error('Contact\x20not\x20found');}})[_0x1de6('0x48')](function(_0x2a69a6,_0x45604c){var _0x3ce65f=_0x2a69a6['get']({'plain':!![]});if(_0x45604c){if(_0x168af8[_0x1de6('0x3f')]['autoclose']){_0x168af8['applications'][_0x1de6('0x49')]({'id':0x0,'priority':_0x168af8[_0x1de6('0x40')][_0x1de6('0x45')]+0x1,'app':_0x1de6('0x4a'),'appdata':_0x1de6('0x4b'),'interval':_0x1de6('0x4c')});}_0x3ce65f['created']=!![];}else{_0x3ce65f[_0x1de6('0x4d')]=![];}_0x168af8[_0x1de6('0x4e')]=_0x3ce65f;return db[_0x1de6('0x4f')][_0x1de6('0x46')]({'body':_0x52c756[_0x1de6('0x25')][_0x1de6('0x25')],'FaxAccountId':_0x52c756['account']['id'],'FaxInteractionId':_0x2a69a6['id'],'direction':'in','ContactId':_0x2a69a6[_0x1de6('0x50')],'AttachmentId':_0x52c756[_0x1de6('0x25')][_0x1de6('0x51')]});})['then'](function(_0xff9966){_0x168af8['message']=_0xff9966;if(_0x168af8[_0x1de6('0x4e')][_0x1de6('0x52')]){return db['User'][_0x1de6('0x39')]({'attributes':['id',_0x1de6('0x53')],'where':{'id':_0x168af8[_0x1de6('0x4e')][_0x1de6('0x52')]}})[_0x1de6('0x12')](function(_0x3b74d8){if(_0x3b74d8){_0x168af8['applications'][_0x1de6('0x54')]({'id':0x0,'priority':0x0,'app':_0x1de6('0x55'),'appdata':_0x3b74d8[_0x1de6('0x53')]+','+(_0x168af8[_0x1de6('0x3f')][_0x1de6('0x56')]||0xa),'interval':_0x1de6('0x4c')});}return respondWithRpcPromise(_0x1de6('0x57'),_0x1de6('0x58'),_0x168af8);});}return respondWithRpcPromise(_0x1de6('0x57'),_0x1de6('0x58'),_0x168af8);})[_0x1de6('0x12')](function(_0x11934b){_0x49c942(_0x11934b);})[_0x1de6('0x24')](function(_0x544dac){_0x16daba(_0xf426a2['error'](0x1f4,_0x544dac['message']));});});};