937c729a23838c203bfd454bec89bd999c942396
[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 _0x0ff7=['CmList','List','Contacts','DESC','Applications','get','list','applications','priority','defaults','create','contact','FaxInteraction','Contact\x20not\x20found','spread','autoclose','push','length','close','created','interaction','FaxMessage','AttachmentId','UserId','User','name','unshift','agent','waitForTheAssignedAgent','*,*,*,*','queueId','FaxQueue','queue','waitForTheAssignedQueue','startRouting','moment','bluebird','randomstring','ioredis','../../mysqldb','../../config/utils','rpc','../../config/environment','jayson/promise','client','http','redis','localhost','register','request','info','request\x20sent','debug','FaxAccount,\x20%s,\x20%s,\x20%s','stringify','code','FaxAccount,\x20%s,\x20%s','error','message','catch','GetFaxAccount','FaxAccount','findAll','options','raw','where','include','map','model','attributes','then','NotifyFaxAccount','body','fax','CmContact','describe','Sequelize','ValidationError','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','mapKey\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20','find','account'];(function(_0x407d38,_0x3f0578){var _0x5d0978=function(_0x265fef){while(--_0x265fef){_0x407d38['push'](_0x407d38['shift']());}};_0x5d0978(++_0x3f0578);}(_0x0ff7,0xdf));var _0x70ff=function(_0x4fbfd9,_0x3ab91a){_0x4fbfd9=_0x4fbfd9-0x0;var _0x31dc94=_0x0ff7[_0x4fbfd9];return _0x31dc94;};'use strict';var _=require('lodash');var util=require('util');var moment=require(_0x70ff('0x0'));var BPromise=require(_0x70ff('0x1'));var rs=require(_0x70ff('0x2'));var fs=require('fs');var Redis=require(_0x70ff('0x3'));var db=require(_0x70ff('0x4'))['db'];var utils=require(_0x70ff('0x5'));var logger=require('../../config/logger')(_0x70ff('0x6'));var config=require(_0x70ff('0x7'));var jayson=require(_0x70ff('0x8'));var client=jayson[_0x70ff('0x9')][_0x70ff('0xa')]({'port':0x232c});config[_0x70ff('0xb')]=_['defaults'](config[_0x70ff('0xb')],{'host':_0x70ff('0xc'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require('./faxAccount.socket')[_0x70ff('0xd')](socket);function respondWithRpcPromise(_0x442755,_0x56d48e,_0x484283){return new BPromise(function(_0x456497,_0xb84664){return client[_0x70ff('0xe')](_0x442755,_0x484283)['then'](function(_0x541a04){logger[_0x70ff('0xf')]('FaxAccount,\x20%s,\x20%s',_0x56d48e,_0x70ff('0x10'));logger[_0x70ff('0x11')](_0x70ff('0x12'),_0x56d48e,_0x70ff('0x10'),JSON[_0x70ff('0x13')](_0x541a04));if(_0x541a04['error']){if(_0x541a04['error'][_0x70ff('0x14')]===0x1f4){logger['error'](_0x70ff('0x15'),_0x56d48e,_0x541a04[_0x70ff('0x16')][_0x70ff('0x17')]);return _0xb84664(_0x541a04[_0x70ff('0x16')][_0x70ff('0x17')]);}logger[_0x70ff('0x16')]('FaxAccount,\x20%s,\x20%s',_0x56d48e,_0x541a04[_0x70ff('0x16')]['message']);return _0x456497(_0x541a04[_0x70ff('0x16')][_0x70ff('0x17')]);}else{logger[_0x70ff('0xf')]('FaxAccount,\x20%s,\x20%s',_0x56d48e,_0x70ff('0x10'));_0x456497(_0x541a04['result']['message']);}})[_0x70ff('0x18')](function(_0x49bc82){logger[_0x70ff('0x16')]('FaxAccount,\x20%s,\x20%s',_0x56d48e,_0x49bc82);_0xb84664(_0x49bc82);});});}exports[_0x70ff('0x19')]=function(_0x3e7fdd){var _0x44584f=this;return new Promise(function(_0x332d00,_0x44624a){return db[_0x70ff('0x1a')][_0x70ff('0x1b')]({'raw':_0x3e7fdd[_0x70ff('0x1c')]?_0x3e7fdd[_0x70ff('0x1c')][_0x70ff('0x1d')]===undefined?!![]:![]:!![],'where':_0x3e7fdd[_0x70ff('0x1c')]?_0x3e7fdd[_0x70ff('0x1c')][_0x70ff('0x1e')]||null:null,'attributes':_0x3e7fdd[_0x70ff('0x1c')]?_0x3e7fdd[_0x70ff('0x1c')]['attributes']||null:null,'limit':_0x3e7fdd[_0x70ff('0x1c')]?_0x3e7fdd[_0x70ff('0x1c')]['limit']||null:null,'include':_0x3e7fdd[_0x70ff('0x1c')]?_0x3e7fdd[_0x70ff('0x1c')][_0x70ff('0x1f')]?_[_0x70ff('0x20')](_0x3e7fdd[_0x70ff('0x1c')][_0x70ff('0x1f')],function(_0xc52964){return{'model':db[_0xc52964[_0x70ff('0x21')]],'as':_0xc52964['as'],'attributes':_0xc52964[_0x70ff('0x22')],'include':_0xc52964[_0x70ff('0x1f')]?_[_0x70ff('0x20')](_0xc52964[_0x70ff('0x1f')],function(_0x227fe4){return{'model':db[_0x227fe4[_0x70ff('0x21')]],'as':_0x227fe4['as'],'attributes':_0x227fe4[_0x70ff('0x22')],'include':_0x227fe4['include']?_['map'](_0x227fe4[_0x70ff('0x1f')],function(_0x5ee1a1){return{'model':db[_0x5ee1a1['model']],'as':_0x5ee1a1['as'],'attributes':_0x5ee1a1[_0x70ff('0x22')]};}):[]};}):[]};}):[]:[]})[_0x70ff('0x23')](function(_0x39876f){logger[_0x70ff('0xf')](_0x70ff('0x19'),_0x3e7fdd);logger[_0x70ff('0x11')](_0x70ff('0x19'),_0x3e7fdd,JSON[_0x70ff('0x13')](_0x39876f));_0x332d00(_0x39876f);})['catch'](function(_0x168035){logger[_0x70ff('0x16')](_0x70ff('0x19'),_0x168035[_0x70ff('0x17')],_0x3e7fdd);_0x44624a(_0x44584f[_0x70ff('0x16')](0x1f4,_0x168035['message']));});});};exports[_0x70ff('0x24')]=function(_0x10bfad,_0x25a349,_0xdd2d56){var _0x40a0ec=this;return new Promise(function(_0x16f29c,_0x428b1e){var _0x484cf4={'body':_0x10bfad[_0x70ff('0x25')],'channel':_0x70ff('0x26')};var _0x5dd9e7=[];var _0x28731=[];var _0x190a5b={};return db[_0x70ff('0x27')][_0x70ff('0x28')]()['then'](function(_0xf60ca9){if(!_0xf60ca9){throw new db[(_0x70ff('0x29'))][(_0x70ff('0x2a'))]('no\x20available\x20attributes');}_0x5dd9e7=_[_0x70ff('0x2b')](_[_0x70ff('0x2c')](_0xf60ca9),[_0x70ff('0x2d'),_0x70ff('0x2e')]);_0x28731=_[_0x70ff('0x2b')](_[_0x70ff('0x2c')](_0xf60ca9),['createdAt',_0x70ff('0x2e'),_0x70ff('0x2f'),_0x70ff('0x30')]);if(_0x10bfad[_0x70ff('0x25')]['id']){delete _0x10bfad[_0x70ff('0x25')]['id'];}if(_[_0x70ff('0x31')](_0x10bfad['body'][_0x70ff('0x32')])){throw new db[(_0x70ff('0x29'))][(_0x70ff('0x2a'))](_0x70ff('0x33'));}if(_['isNil'](_0x10bfad['body'][_0x70ff('0x25')])||_0x10bfad['body'][_0x70ff('0x25')]===''){throw new db['Sequelize'][(_0x70ff('0x2a'))](_0x70ff('0x34'));}if(_['isNil'](_0x10bfad[_0x70ff('0x25')][_0x70ff('0x35')])){throw new db[(_0x70ff('0x29'))][(_0x70ff('0x2a'))](_0x70ff('0x36')+_0x28731);}if(!_[_0x70ff('0x37')](_0x28731,_0x10bfad[_0x70ff('0x25')]['mapKey'])){throw new db[(_0x70ff('0x29'))][(_0x70ff('0x2a'))](_0x70ff('0x38')+_0x28731);}_0x190a5b[_0x10bfad[_0x70ff('0x25')][_0x70ff('0x35')]]=_0x10bfad['body'][_0x70ff('0x32')];})['then'](function(){return db[_0x70ff('0x1a')][_0x70ff('0x39')]({'where':{'id':_0x10bfad[_0x70ff('0x3a')]['id']},'include':[{'model':db[_0x70ff('0x3b')],'as':_0x70ff('0x3c'),'include':[{'model':db['CmContact'],'as':_0x70ff('0x3d'),'where':_0x190a5b,'limit':0x1,'order':[[_0x70ff('0x2e'),_0x70ff('0x3e')]]}]},{'model':db['FaxApplication'],'as':_0x70ff('0x3f')}]});})[_0x70ff('0x23')](function(_0x12c23e){if(_0x12c23e&&_0x12c23e['List']){var _0x38145b=_0x12c23e[_0x70ff('0x40')]({'plain':!![]});_0x484cf4[_0x70ff('0x3a')]=_0x38145b;_0x484cf4['applications']=_0x38145b[_0x70ff('0x3f')];_0x484cf4[_0x70ff('0x41')]=_0x38145b[_0x70ff('0x3c')];_0x484cf4[_0x70ff('0x42')]=_['orderBy'](_0x484cf4[_0x70ff('0x42')],[_0x70ff('0x43')],['asc']);if(_0x484cf4[_0x70ff('0x3a')]['Applications']){delete _0x484cf4['account'][_0x70ff('0x3f')];}if(_0x484cf4[_0x70ff('0x3a')]['List']&&_0x484cf4[_0x70ff('0x3a')]['List'][_0x70ff('0x3d')]['length']){return _0x484cf4['account'][_0x70ff('0x3c')][_0x70ff('0x3d')][0x0];}var _0x3fa118=_[_0x70ff('0x44')](_0x10bfad[_0x70ff('0x25')],{'firstName':_0x10bfad[_0x70ff('0x25')][_0x70ff('0x32')],'ListId':_0x38145b['ListId']});_0x3fa118[_0x10bfad['body'][_0x70ff('0x35')]]=_0x10bfad['body'][_0x70ff('0x32')];return db[_0x70ff('0x27')][_0x70ff('0x45')](_0x3fa118,{'fields':_0x5dd9e7,'raw':!![]});}})[_0x70ff('0x23')](function(_0x319ff7){_0x484cf4[_0x70ff('0x46')]=_0x319ff7;if(_0x319ff7){var _0x4f71aa={'ContactId':_0x319ff7['id'],'FaxAccountId':_0x10bfad[_0x70ff('0x3a')]['id'],'fax':_0x319ff7[_0x70ff('0x26')]};return db[_0x70ff('0x47')][_0x70ff('0x39')]({'where':{'ContactId':_0x319ff7['id'],'closed':![],'FaxAccountId':_0x10bfad[_0x70ff('0x3a')]['id']}})[_0x70ff('0x23')](function(_0x1a452f){if(_0x1a452f){return[_0x1a452f,![]];}return db[_0x70ff('0x47')]['create'](_0x4f71aa)[_0x70ff('0x23')](function(_0xe89631){return[_0xe89631,!![]];});});}else{throw new Error(_0x70ff('0x48'));}})[_0x70ff('0x49')](function(_0x51cbf9,_0x2e448b){var _0x2deb67=_0x51cbf9[_0x70ff('0x40')]({'plain':!![]});if(_0x2e448b){if(_0x484cf4[_0x70ff('0x3a')][_0x70ff('0x4a')]){_0x484cf4[_0x70ff('0x42')][_0x70ff('0x4b')]({'id':0x0,'priority':_0x484cf4['applications'][_0x70ff('0x4c')]+0x1,'app':_0x70ff('0x4d'),'appdata':'unmanaged','interval':'*,*,*,*'});}_0x2deb67[_0x70ff('0x4e')]=!![];}else{_0x2deb67[_0x70ff('0x4e')]=![];}_0x484cf4[_0x70ff('0x4f')]=_0x2deb67;return db[_0x70ff('0x50')][_0x70ff('0x45')]({'body':_0x10bfad[_0x70ff('0x25')]['body'],'FaxAccountId':_0x10bfad[_0x70ff('0x3a')]['id'],'FaxInteractionId':_0x51cbf9['id'],'direction':'in','ContactId':_0x51cbf9['ContactId'],'AttachmentId':_0x10bfad[_0x70ff('0x25')][_0x70ff('0x51')]});})[_0x70ff('0x23')](function(_0x27d56f){_0x484cf4[_0x70ff('0x17')]=_0x27d56f;if(!_0x484cf4['interaction'][_0x70ff('0x52')])return;return db[_0x70ff('0x53')][_0x70ff('0x39')]({'attributes':['id',_0x70ff('0x54')],'where':{'id':_0x484cf4[_0x70ff('0x4f')]['UserId']}});})[_0x70ff('0x23')](function(_0x2a7f50){if(_0x2a7f50){_0x484cf4[_0x70ff('0x42')][_0x70ff('0x55')]({'id':0x0,'priority':0x0,'app':_0x70ff('0x56'),'appdata':_0x2a7f50[_0x70ff('0x54')]+','+(_0x484cf4[_0x70ff('0x3a')][_0x70ff('0x57')]||0xa),'interval':_0x70ff('0x58')});}if(!_0x484cf4[_0x70ff('0x4f')][_0x70ff('0x59')])return;return db[_0x70ff('0x5a')][_0x70ff('0x39')]({'attributes':['id',_0x70ff('0x54')],'where':{'id':_0x484cf4[_0x70ff('0x4f')][_0x70ff('0x59')]}});})[_0x70ff('0x23')](function(_0x4266b8){if(_0x4266b8){_0x484cf4[_0x70ff('0x42')][_0x70ff('0x55')]({'id':0x0,'priority':0x1,'app':_0x70ff('0x5b'),'appdata':_0x4266b8[_0x70ff('0x54')]+','+(_0x484cf4[_0x70ff('0x3a')][_0x70ff('0x5c')]||0x12c),'interval':_0x70ff('0x58')});}return respondWithRpcPromise('Start',_0x70ff('0x5d'),_0x484cf4);})[_0x70ff('0x23')](function(_0x23c895){_0x16f29c(_0x23c895);})['catch'](function(_0xe88f42){_0x428b1e(_0x40a0ec[_0x70ff('0x16')](0x1f4,_0xe88f42[_0x70ff('0x17')]));});});};