15522a782514c4d30a7b1f14d71e8a2a2884eafc
[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 _0x4db8=['error','code','message','result','catch','GetFaxAccount','FaxAccount','findAll','options','raw','where','attributes','limit','include','map','model','NotifyFaxAccount','body','fax','CmContact','Sequelize','ValidationError','no\x20available\x20attributes','difference','keys','createdAt','updatedAt','CompanyId','ListId','isNil','from','body\x20is\x20mandatory\x20and\x20not\x20empty','mapKey\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20','includes','mapKey','mapKey\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20','find','account','List','Contacts','FaxApplication','Applications','applications','list','priority','asc','create','contact','FaxInteraction','Contact\x20not\x20found','autoclose','push','length','close','unmanaged','*,*,*,*','created','interaction','FaxMessage','ContactId','UserId','User','name','unshift','waitForTheAssignedAgent','queueId','waitForTheAssignedQueue','Start','startRouting','lodash','util','moment','bluebird','randomstring','../../config/utils','rpc','jayson/promise','client','redis','defaults','localhost','socket.io-emitter','./faxAccount.socket','request','then','info','FaxAccount,\x20%s,\x20%s','request\x20sent','debug','FaxAccount,\x20%s,\x20%s,\x20%s','stringify'];(function(_0x41c381,_0x1176bd){var _0x427981=function(_0x508843){while(--_0x508843){_0x41c381['push'](_0x41c381['shift']());}};_0x427981(++_0x1176bd);}(_0x4db8,0x156));var _0x84db=function(_0xa0aba3,_0x904fb1){_0xa0aba3=_0xa0aba3-0x0;var _0x2486f0=_0x4db8[_0xa0aba3];return _0x2486f0;};'use strict';var _=require(_0x84db('0x0'));var util=require(_0x84db('0x1'));var moment=require(_0x84db('0x2'));var BPromise=require(_0x84db('0x3'));var rs=require(_0x84db('0x4'));var fs=require('fs');var Redis=require('ioredis');var db=require('../../mysqldb')['db'];var utils=require(_0x84db('0x5'));var logger=require('../../config/logger')(_0x84db('0x6'));var config=require('../../config/environment');var jayson=require(_0x84db('0x7'));var client=jayson[_0x84db('0x8')]['http']({'port':0x232c});config[_0x84db('0x9')]=_[_0x84db('0xa')](config[_0x84db('0x9')],{'host':_0x84db('0xb'),'port':0x18eb});var socket=require(_0x84db('0xc'))(new Redis(config[_0x84db('0x9')]));require(_0x84db('0xd'))['register'](socket);function respondWithRpcPromise(_0x343437,_0xccb61c,_0x34bd8a){return new BPromise(function(_0xf264d,_0x539482){return client[_0x84db('0xe')](_0x343437,_0x34bd8a)[_0x84db('0xf')](function(_0x221ff8){logger[_0x84db('0x10')](_0x84db('0x11'),_0xccb61c,_0x84db('0x12'));logger[_0x84db('0x13')](_0x84db('0x14'),_0xccb61c,_0x84db('0x12'),JSON[_0x84db('0x15')](_0x221ff8));if(_0x221ff8[_0x84db('0x16')]){if(_0x221ff8[_0x84db('0x16')][_0x84db('0x17')]===0x1f4){logger[_0x84db('0x16')](_0x84db('0x11'),_0xccb61c,_0x221ff8['error'][_0x84db('0x18')]);return _0x539482(_0x221ff8['error'][_0x84db('0x18')]);}logger[_0x84db('0x16')](_0x84db('0x11'),_0xccb61c,_0x221ff8[_0x84db('0x16')][_0x84db('0x18')]);return _0xf264d(_0x221ff8[_0x84db('0x16')][_0x84db('0x18')]);}else{logger[_0x84db('0x10')](_0x84db('0x11'),_0xccb61c,_0x84db('0x12'));_0xf264d(_0x221ff8[_0x84db('0x19')][_0x84db('0x18')]);}})[_0x84db('0x1a')](function(_0x16abf6){logger['error']('FaxAccount,\x20%s,\x20%s',_0xccb61c,_0x16abf6);_0x539482(_0x16abf6);});});}exports[_0x84db('0x1b')]=function(_0xedb846){var _0x2fa1df=this;return new Promise(function(_0xf3a98b,_0x4fe4d8){return db[_0x84db('0x1c')][_0x84db('0x1d')]({'raw':_0xedb846[_0x84db('0x1e')]?_0xedb846[_0x84db('0x1e')][_0x84db('0x1f')]===undefined?!![]:![]:!![],'where':_0xedb846[_0x84db('0x1e')]?_0xedb846[_0x84db('0x1e')][_0x84db('0x20')]||null:null,'attributes':_0xedb846[_0x84db('0x1e')]?_0xedb846['options'][_0x84db('0x21')]||null:null,'limit':_0xedb846[_0x84db('0x1e')]?_0xedb846[_0x84db('0x1e')][_0x84db('0x22')]||null:null,'include':_0xedb846[_0x84db('0x1e')]?_0xedb846['options'][_0x84db('0x23')]?_[_0x84db('0x24')](_0xedb846[_0x84db('0x1e')]['include'],function(_0x2252d3){return{'model':db[_0x2252d3[_0x84db('0x25')]],'as':_0x2252d3['as'],'attributes':_0x2252d3[_0x84db('0x21')],'include':_0x2252d3[_0x84db('0x23')]?_['map'](_0x2252d3[_0x84db('0x23')],function(_0x56ff68){return{'model':db[_0x56ff68['model']],'as':_0x56ff68['as'],'attributes':_0x56ff68[_0x84db('0x21')],'include':_0x56ff68[_0x84db('0x23')]?_['map'](_0x56ff68['include'],function(_0x3a0e00){return{'model':db[_0x3a0e00[_0x84db('0x25')]],'as':_0x3a0e00['as'],'attributes':_0x3a0e00[_0x84db('0x21')]};}):[]};}):[]};}):[]:[]})[_0x84db('0xf')](function(_0x559857){logger[_0x84db('0x10')](_0x84db('0x1b'),_0xedb846);logger['debug']('GetFaxAccount',_0xedb846,JSON[_0x84db('0x15')](_0x559857));_0xf3a98b(_0x559857);})['catch'](function(_0x400eea){logger[_0x84db('0x16')](_0x84db('0x1b'),_0x400eea[_0x84db('0x18')],_0xedb846);_0x4fe4d8(_0x2fa1df[_0x84db('0x16')](0x1f4,_0x400eea[_0x84db('0x18')]));});});};exports[_0x84db('0x26')]=function(_0xd0a4c4,_0x353b98,_0x3a330e){var _0x3e10c3=this;return new Promise(function(_0x1b1352,_0x1309c2){var _0x15839b={'body':_0xd0a4c4[_0x84db('0x27')],'channel':_0x84db('0x28')};var _0x187ed8=[];var _0x55e58f=[];var _0x59fb95={};return db[_0x84db('0x29')]['describe']()['then'](function(_0x44475d){if(!_0x44475d){throw new db[(_0x84db('0x2a'))][(_0x84db('0x2b'))](_0x84db('0x2c'));}_0x187ed8=_[_0x84db('0x2d')](_[_0x84db('0x2e')](_0x44475d),[_0x84db('0x2f'),_0x84db('0x30')]);_0x55e58f=_['difference'](_[_0x84db('0x2e')](_0x44475d),[_0x84db('0x2f'),_0x84db('0x30'),_0x84db('0x31'),_0x84db('0x32')]);if(_0xd0a4c4[_0x84db('0x27')]['id']){delete _0xd0a4c4[_0x84db('0x27')]['id'];}if(_[_0x84db('0x33')](_0xd0a4c4['body'][_0x84db('0x34')])){throw new db['Sequelize']['ValidationError']('from\x20is\x20mandatory');}if(_[_0x84db('0x33')](_0xd0a4c4[_0x84db('0x27')][_0x84db('0x27')])||_0xd0a4c4[_0x84db('0x27')][_0x84db('0x27')]===''){throw new db[(_0x84db('0x2a'))][(_0x84db('0x2b'))](_0x84db('0x35'));}if(_[_0x84db('0x33')](_0xd0a4c4[_0x84db('0x27')]['mapKey'])){throw new db[(_0x84db('0x2a'))][(_0x84db('0x2b'))](_0x84db('0x36')+_0x55e58f);}if(!_[_0x84db('0x37')](_0x55e58f,_0xd0a4c4[_0x84db('0x27')][_0x84db('0x38')])){throw new db[(_0x84db('0x2a'))]['ValidationError'](_0x84db('0x39')+_0x55e58f);}_0x59fb95[_0xd0a4c4[_0x84db('0x27')][_0x84db('0x38')]]=_0xd0a4c4['body'][_0x84db('0x34')];})['then'](function(){return db[_0x84db('0x1c')][_0x84db('0x3a')]({'where':{'id':_0xd0a4c4[_0x84db('0x3b')]['id']},'include':[{'model':db['CmList'],'as':_0x84db('0x3c'),'include':[{'model':db[_0x84db('0x29')],'as':_0x84db('0x3d'),'where':_0x59fb95,'limit':0x1,'order':[[_0x84db('0x30'),'DESC']]}]},{'model':db[_0x84db('0x3e')],'as':_0x84db('0x3f')}]});})[_0x84db('0xf')](function(_0x2de6f9){if(_0x2de6f9&&_0x2de6f9[_0x84db('0x3c')]){var _0xdb1cad=_0x2de6f9['get']({'plain':!![]});_0x15839b[_0x84db('0x3b')]=_0xdb1cad;_0x15839b[_0x84db('0x40')]=_0xdb1cad[_0x84db('0x3f')];_0x15839b[_0x84db('0x41')]=_0xdb1cad['List'];_0x15839b[_0x84db('0x40')]=_['orderBy'](_0x15839b[_0x84db('0x40')],[_0x84db('0x42')],[_0x84db('0x43')]);if(_0x15839b['account']['Applications']){delete _0x15839b[_0x84db('0x3b')][_0x84db('0x3f')];}if(_0x15839b[_0x84db('0x3b')]['List']&&_0x15839b[_0x84db('0x3b')][_0x84db('0x3c')]['Contacts']['length']){return _0x15839b[_0x84db('0x3b')][_0x84db('0x3c')][_0x84db('0x3d')][0x0];}var _0x3ff9b9=_[_0x84db('0xa')](_0xd0a4c4[_0x84db('0x27')],{'firstName':_0xd0a4c4[_0x84db('0x27')][_0x84db('0x34')],'ListId':_0xdb1cad[_0x84db('0x32')]});_0x3ff9b9[_0xd0a4c4[_0x84db('0x27')][_0x84db('0x38')]]=_0xd0a4c4[_0x84db('0x27')][_0x84db('0x34')];return db['CmContact'][_0x84db('0x44')](_0x3ff9b9,{'fields':_0x187ed8,'raw':!![]});}})[_0x84db('0xf')](function(_0x213c12){_0x15839b[_0x84db('0x45')]=_0x213c12;if(_0x213c12){var _0x26a046={'ContactId':_0x213c12['id'],'FaxAccountId':_0xd0a4c4[_0x84db('0x3b')]['id'],'fax':_0x213c12[_0x84db('0x28')]};return db[_0x84db('0x46')][_0x84db('0x3a')]({'where':{'ContactId':_0x213c12['id'],'closed':![],'FaxAccountId':_0xd0a4c4[_0x84db('0x3b')]['id']}})[_0x84db('0xf')](function(_0x1bf9f0){if(_0x1bf9f0){return[_0x1bf9f0,![]];}return db['FaxInteraction'][_0x84db('0x44')](_0x26a046)[_0x84db('0xf')](function(_0x22ea42){return[_0x22ea42,!![]];});});}else{throw new Error(_0x84db('0x47'));}})['spread'](function(_0x46c268,_0x57cbe1){var _0x22198e=_0x46c268['get']({'plain':!![]});if(_0x57cbe1){if(_0x15839b[_0x84db('0x3b')][_0x84db('0x48')]){_0x15839b[_0x84db('0x40')][_0x84db('0x49')]({'id':0x0,'priority':_0x15839b[_0x84db('0x40')][_0x84db('0x4a')]+0x1,'app':_0x84db('0x4b'),'appdata':_0x84db('0x4c'),'interval':_0x84db('0x4d')});}_0x22198e[_0x84db('0x4e')]=!![];}else{_0x22198e['created']=![];}_0x15839b[_0x84db('0x4f')]=_0x22198e;return db[_0x84db('0x50')][_0x84db('0x44')]({'body':_0xd0a4c4[_0x84db('0x27')][_0x84db('0x27')],'FaxAccountId':_0xd0a4c4[_0x84db('0x3b')]['id'],'FaxInteractionId':_0x46c268['id'],'direction':'in','ContactId':_0x46c268[_0x84db('0x51')],'AttachmentId':_0xd0a4c4[_0x84db('0x27')]['AttachmentId']});})[_0x84db('0xf')](function(_0x3cedfa){_0x15839b[_0x84db('0x18')]=_0x3cedfa;if(!_0x15839b[_0x84db('0x4f')][_0x84db('0x52')])return;return db[_0x84db('0x53')][_0x84db('0x3a')]({'attributes':['id',_0x84db('0x54')],'where':{'id':_0x15839b[_0x84db('0x4f')][_0x84db('0x52')]}});})[_0x84db('0xf')](function(_0x2859f8){if(_0x2859f8){_0x15839b[_0x84db('0x40')][_0x84db('0x55')]({'id':0x0,'priority':0x0,'app':'agent','appdata':_0x2859f8[_0x84db('0x54')]+','+(_0x15839b[_0x84db('0x3b')][_0x84db('0x56')]||0xa),'interval':_0x84db('0x4d')});}if(!_0x15839b[_0x84db('0x4f')][_0x84db('0x57')])return;return db['FaxQueue'][_0x84db('0x3a')]({'attributes':['id',_0x84db('0x54')],'where':{'id':_0x15839b[_0x84db('0x4f')][_0x84db('0x57')]}});})[_0x84db('0xf')](function(_0x18620e){if(_0x18620e){_0x15839b['applications'][_0x84db('0x55')]({'id':0x0,'priority':0x1,'app':'queue','appdata':_0x18620e[_0x84db('0x54')]+','+(_0x15839b[_0x84db('0x3b')][_0x84db('0x58')]||0x12c),'interval':'*,*,*,*'});}return respondWithRpcPromise(_0x84db('0x59'),_0x84db('0x5a'),_0x15839b);})[_0x84db('0xf')](function(_0x3136b6){_0x1b1352(_0x3136b6);})[_0x84db('0x1a')](function(_0x2002fe){_0x1309c2(_0x3e10c3['error'](0x1f4,_0x2002fe[_0x84db('0x18')]));});});};