0b2da5e03d0f551069fe8787aacd15e3be18c356
[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 _0x6ac1=['agent','waitForTheAssignedAgent','Start','startRouting','lodash','util','moment','bluebird','randomstring','ioredis','../../mysqldb','../../config/utils','rpc','../../config/environment','jayson/promise','client','http','redis','defaults','localhost','socket.io-emitter','./faxAccount.socket','request','then','info','FaxAccount,\x20%s,\x20%s','stringify','error','code','message','catch','FaxAccount','findAll','options','raw','where','include','model','map','attributes','GetFaxAccount','debug','body','fax','describe','Sequelize','ValidationError','no\x20available\x20attributes','difference','keys','createdAt','updatedAt','ListId','from','isNil','body\x20is\x20mandatory\x20and\x20not\x20empty','mapKey\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20','mapKey','mapKey\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20','account','CmList','CmContact','Contacts','DESC','List','get','applications','Applications','list','orderBy','priority','asc','length','create','contact','FaxInteraction','Contact\x20not\x20found','spread','push','unmanaged','*,*,*,*','created','interaction','ContactId','AttachmentId','User','find','name','unshift'];(function(_0x1fe9e2,_0x4247a3){var _0x16f2f2=function(_0x5e880d){while(--_0x5e880d){_0x1fe9e2['push'](_0x1fe9e2['shift']());}};_0x16f2f2(++_0x4247a3);}(_0x6ac1,0x1c1));var _0x16ac=function(_0x1cc294,_0x5d677d){_0x1cc294=_0x1cc294-0x0;var _0x9af5f=_0x6ac1[_0x1cc294];return _0x9af5f;};'use strict';var _=require(_0x16ac('0x0'));var util=require(_0x16ac('0x1'));var moment=require(_0x16ac('0x2'));var BPromise=require(_0x16ac('0x3'));var rs=require(_0x16ac('0x4'));var fs=require('fs');var Redis=require(_0x16ac('0x5'));var db=require(_0x16ac('0x6'))['db'];var utils=require(_0x16ac('0x7'));var logger=require('../../config/logger')(_0x16ac('0x8'));var config=require(_0x16ac('0x9'));var jayson=require(_0x16ac('0xa'));var client=jayson[_0x16ac('0xb')][_0x16ac('0xc')]({'port':0x232c});config[_0x16ac('0xd')]=_[_0x16ac('0xe')](config[_0x16ac('0xd')],{'host':_0x16ac('0xf'),'port':0x18eb});var socket=require(_0x16ac('0x10'))(new Redis(config[_0x16ac('0xd')]));require(_0x16ac('0x11'))['register'](socket);function respondWithRpcPromise(_0xb862b4,_0x20ad08,_0x205002){return new BPromise(function(_0x2cf89d,_0x4b66d5){return client[_0x16ac('0x12')](_0xb862b4,_0x205002)[_0x16ac('0x13')](function(_0x4053ec){logger[_0x16ac('0x14')](_0x16ac('0x15'),_0x20ad08,'request\x20sent');logger['debug']('FaxAccount,\x20%s,\x20%s,\x20%s',_0x20ad08,'request\x20sent',JSON[_0x16ac('0x16')](_0x4053ec));if(_0x4053ec[_0x16ac('0x17')]){if(_0x4053ec['error'][_0x16ac('0x18')]===0x1f4){logger['error']('FaxAccount,\x20%s,\x20%s',_0x20ad08,_0x4053ec['error']['message']);return _0x4b66d5(_0x4053ec[_0x16ac('0x17')][_0x16ac('0x19')]);}logger[_0x16ac('0x17')]('FaxAccount,\x20%s,\x20%s',_0x20ad08,_0x4053ec[_0x16ac('0x17')][_0x16ac('0x19')]);return _0x2cf89d(_0x4053ec[_0x16ac('0x17')]['message']);}else{logger[_0x16ac('0x14')](_0x16ac('0x15'),_0x20ad08,'request\x20sent');_0x2cf89d(_0x4053ec['result']['message']);}})[_0x16ac('0x1a')](function(_0x2f5a37){logger[_0x16ac('0x17')](_0x16ac('0x15'),_0x20ad08,_0x2f5a37);_0x4b66d5(_0x2f5a37);});});}exports['GetFaxAccount']=function(_0x266962){var _0x26f931=this;return new Promise(function(_0x3a024c,_0x55bf95){return db[_0x16ac('0x1b')][_0x16ac('0x1c')]({'raw':_0x266962[_0x16ac('0x1d')]?_0x266962['options'][_0x16ac('0x1e')]===undefined?!![]:![]:!![],'where':_0x266962['options']?_0x266962['options'][_0x16ac('0x1f')]||null:null,'attributes':_0x266962['options']?_0x266962[_0x16ac('0x1d')]['attributes']||null:null,'limit':_0x266962['options']?_0x266962[_0x16ac('0x1d')]['limit']||null:null,'include':_0x266962[_0x16ac('0x1d')]?_0x266962[_0x16ac('0x1d')][_0x16ac('0x20')]?_['map'](_0x266962[_0x16ac('0x1d')][_0x16ac('0x20')],function(_0x2f6604){return{'model':db[_0x2f6604[_0x16ac('0x21')]],'as':_0x2f6604['as'],'attributes':_0x2f6604['attributes'],'include':_0x2f6604[_0x16ac('0x20')]?_[_0x16ac('0x22')](_0x2f6604[_0x16ac('0x20')],function(_0x24a905){return{'model':db[_0x24a905['model']],'as':_0x24a905['as'],'attributes':_0x24a905[_0x16ac('0x23')],'include':_0x24a905[_0x16ac('0x20')]?_[_0x16ac('0x22')](_0x24a905[_0x16ac('0x20')],function(_0x51c5d0){return{'model':db[_0x51c5d0[_0x16ac('0x21')]],'as':_0x51c5d0['as'],'attributes':_0x51c5d0['attributes']};}):[]};}):[]};}):[]:[]})[_0x16ac('0x13')](function(_0x55f24d){logger[_0x16ac('0x14')](_0x16ac('0x24'),_0x266962);logger[_0x16ac('0x25')]('GetFaxAccount',_0x266962,JSON['stringify'](_0x55f24d));_0x3a024c(_0x55f24d);})[_0x16ac('0x1a')](function(_0x5b7e55){logger[_0x16ac('0x17')](_0x16ac('0x24'),_0x5b7e55['message'],_0x266962);_0x55bf95(_0x26f931[_0x16ac('0x17')](0x1f4,_0x5b7e55[_0x16ac('0x19')]));});});};exports['NotifyFaxAccount']=function(_0x540ed5,_0xf58182,_0xd3eb07){var _0x14618f=this;return new Promise(function(_0x449599,_0x4c1367){var _0x4d5ace={'body':_0x540ed5[_0x16ac('0x26')],'channel':_0x16ac('0x27')};var _0x584c52=[];var _0x4fc24f=[];var _0x19d9b3={};return db['CmContact'][_0x16ac('0x28')]()[_0x16ac('0x13')](function(_0x54b856){if(!_0x54b856){throw new db[(_0x16ac('0x29'))][(_0x16ac('0x2a'))](_0x16ac('0x2b'));}_0x584c52=_[_0x16ac('0x2c')](_['keys'](_0x54b856),['createdAt','updatedAt']);_0x4fc24f=_[_0x16ac('0x2c')](_[_0x16ac('0x2d')](_0x54b856),[_0x16ac('0x2e'),_0x16ac('0x2f'),'CompanyId',_0x16ac('0x30')]);if(_0x540ed5[_0x16ac('0x26')]['id']){delete _0x540ed5['body']['id'];}if(_['isNil'](_0x540ed5[_0x16ac('0x26')][_0x16ac('0x31')])){throw new db[(_0x16ac('0x29'))][(_0x16ac('0x2a'))]('from\x20is\x20mandatory');}if(_[_0x16ac('0x32')](_0x540ed5[_0x16ac('0x26')][_0x16ac('0x26')])||_0x540ed5[_0x16ac('0x26')][_0x16ac('0x26')]===''){throw new db[(_0x16ac('0x29'))]['ValidationError'](_0x16ac('0x33'));}if(_['isNil'](_0x540ed5[_0x16ac('0x26')]['mapKey'])){throw new db['Sequelize']['ValidationError'](_0x16ac('0x34')+_0x4fc24f);}if(!_['includes'](_0x4fc24f,_0x540ed5[_0x16ac('0x26')][_0x16ac('0x35')])){throw new db[(_0x16ac('0x29'))][(_0x16ac('0x2a'))](_0x16ac('0x36')+_0x4fc24f);}_0x19d9b3[_0x540ed5[_0x16ac('0x26')]['mapKey']]=_0x540ed5[_0x16ac('0x26')][_0x16ac('0x31')];})['then'](function(){return db[_0x16ac('0x1b')]['find']({'where':{'id':_0x540ed5[_0x16ac('0x37')]['id']},'include':[{'model':db[_0x16ac('0x38')],'as':'List','include':[{'model':db[_0x16ac('0x39')],'as':_0x16ac('0x3a'),'where':_0x19d9b3,'limit':0x1,'order':[[_0x16ac('0x2f'),_0x16ac('0x3b')]]}]},{'model':db['FaxApplication'],'as':'Applications'}]});})['then'](function(_0x4a54af){if(_0x4a54af&&_0x4a54af[_0x16ac('0x3c')]){var _0x3e2be6=_0x4a54af[_0x16ac('0x3d')]({'plain':!![]});_0x4d5ace['account']=_0x3e2be6;_0x4d5ace[_0x16ac('0x3e')]=_0x3e2be6[_0x16ac('0x3f')];_0x4d5ace[_0x16ac('0x40')]=_0x3e2be6[_0x16ac('0x3c')];_0x4d5ace[_0x16ac('0x3e')]=_[_0x16ac('0x41')](_0x4d5ace[_0x16ac('0x3e')],[_0x16ac('0x42')],[_0x16ac('0x43')]);if(_0x4d5ace[_0x16ac('0x37')][_0x16ac('0x3f')]){delete _0x4d5ace[_0x16ac('0x37')]['Applications'];}if(_0x4d5ace[_0x16ac('0x37')]['List']&&_0x4d5ace[_0x16ac('0x37')][_0x16ac('0x3c')][_0x16ac('0x3a')][_0x16ac('0x44')]){return _0x4d5ace[_0x16ac('0x37')][_0x16ac('0x3c')][_0x16ac('0x3a')][0x0];}var _0x33d72c=_['defaults'](_0x540ed5[_0x16ac('0x26')],{'firstName':_0x540ed5[_0x16ac('0x26')][_0x16ac('0x31')],'ListId':_0x3e2be6[_0x16ac('0x30')]});_0x33d72c[_0x540ed5['body'][_0x16ac('0x35')]]=_0x540ed5[_0x16ac('0x26')][_0x16ac('0x31')];return db[_0x16ac('0x39')][_0x16ac('0x45')](_0x33d72c,{'fields':_0x584c52,'raw':!![]});}})[_0x16ac('0x13')](function(_0x2a5a15){_0x4d5ace[_0x16ac('0x46')]=_0x2a5a15;if(_0x2a5a15){var _0x19e6c4={'ContactId':_0x2a5a15['id'],'FaxAccountId':_0x540ed5[_0x16ac('0x37')]['id'],'fax':_0x2a5a15[_0x16ac('0x27')]};return db[_0x16ac('0x47')]['find']({'where':{'ContactId':_0x2a5a15['id'],'closed':![],'FaxAccountId':_0x540ed5[_0x16ac('0x37')]['id']}})[_0x16ac('0x13')](function(_0x14423c){if(_0x14423c){return[_0x14423c,![]];}return db['FaxInteraction'][_0x16ac('0x45')](_0x19e6c4)[_0x16ac('0x13')](function(_0x3bdcd7){return[_0x3bdcd7,!![]];});});}else{throw new Error(_0x16ac('0x48'));}})[_0x16ac('0x49')](function(_0x35fb6a,_0x12ac24){var _0x5509cc=_0x35fb6a[_0x16ac('0x3d')]({'plain':!![]});if(_0x12ac24){if(_0x4d5ace[_0x16ac('0x37')]['autoclose']){_0x4d5ace[_0x16ac('0x3e')][_0x16ac('0x4a')]({'id':0x0,'priority':_0x4d5ace[_0x16ac('0x3e')][_0x16ac('0x44')]+0x1,'app':'close','appdata':_0x16ac('0x4b'),'interval':_0x16ac('0x4c')});}_0x5509cc[_0x16ac('0x4d')]=!![];}else{_0x5509cc[_0x16ac('0x4d')]=![];}_0x4d5ace[_0x16ac('0x4e')]=_0x5509cc;return db['FaxMessage'][_0x16ac('0x45')]({'body':_0x540ed5[_0x16ac('0x26')][_0x16ac('0x26')],'FaxAccountId':_0x540ed5[_0x16ac('0x37')]['id'],'FaxInteractionId':_0x35fb6a['id'],'direction':'in','ContactId':_0x35fb6a[_0x16ac('0x4f')],'AttachmentId':_0x540ed5[_0x16ac('0x26')][_0x16ac('0x50')]});})[_0x16ac('0x13')](function(_0x5c29bf){_0x4d5ace[_0x16ac('0x19')]=_0x5c29bf;if(_0x4d5ace[_0x16ac('0x4e')]['UserId']){return db[_0x16ac('0x51')][_0x16ac('0x52')]({'attributes':['id',_0x16ac('0x53')],'where':{'id':_0x4d5ace[_0x16ac('0x4e')]['UserId']}})[_0x16ac('0x13')](function(_0x137c0a){if(_0x137c0a){_0x4d5ace[_0x16ac('0x3e')][_0x16ac('0x54')]({'id':0x0,'priority':0x0,'app':_0x16ac('0x55'),'appdata':_0x137c0a[_0x16ac('0x53')]+','+(_0x4d5ace['account'][_0x16ac('0x56')]||0xa),'interval':_0x16ac('0x4c')});}return respondWithRpcPromise(_0x16ac('0x57'),_0x16ac('0x58'),_0x4d5ace);});}return respondWithRpcPromise(_0x16ac('0x57'),'startRouting',_0x4d5ace);})[_0x16ac('0x13')](function(_0xfe984){_0x449599(_0xfe984);})[_0x16ac('0x1a')](function(_0x97d25b){_0x4c1367(_0x14618f[_0x16ac('0x17')](0x1f4,_0x97d25b['message']));});});};