810ddb0a40373042142116feeb63dd56597a6657
[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 _0xdfe8=['info','FaxAccount,\x20%s,\x20%s','request\x20sent','debug','FaxAccount,\x20%s,\x20%s,\x20%s','stringify','error','message','result','catch','FaxAccount','findAll','options','raw','where','attributes','limit','include','map','model','GetFaxAccount','NotifyFaxAccount','body','fax','CmContact','describe','Sequelize','ValidationError','no\x20available\x20attributes','difference','keys','createdAt','updatedAt','CompanyId','ListId','from','isNil','body\x20is\x20mandatory\x20and\x20not\x20empty','mapKey','includes','mapKey\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20','find','account','CmList','List','Contacts','DESC','FaxApplication','Applications','get','applications','list','orderBy','priority','length','create','contact','FaxInteraction','Contact\x20not\x20found','spread','autoclose','close','unmanaged','*,*,*,*','created','interaction','FaxMessage','ContactId','UserId','name','waitForTheAssignedAgent','startRouting','Start','lodash','util','moment','bluebird','ioredis','../../config/utils','rpc','../../config/environment','jayson/promise','client','http','redis','defaults','socket.io-emitter','./faxAccount.socket','request','then'];(function(_0x47a7d0,_0x4e182d){var _0xb9bd08=function(_0x588ee2){while(--_0x588ee2){_0x47a7d0['push'](_0x47a7d0['shift']());}};_0xb9bd08(++_0x4e182d);}(_0xdfe8,0xa3));var _0x8dfe=function(_0x237f8b,_0xc5eddb){_0x237f8b=_0x237f8b-0x0;var _0x423f94=_0xdfe8[_0x237f8b];return _0x423f94;};'use strict';var _=require(_0x8dfe('0x0'));var util=require(_0x8dfe('0x1'));var moment=require(_0x8dfe('0x2'));var BPromise=require(_0x8dfe('0x3'));var rs=require('randomstring');var fs=require('fs');var Redis=require(_0x8dfe('0x4'));var db=require('../../mysqldb')['db'];var utils=require(_0x8dfe('0x5'));var logger=require('../../config/logger')(_0x8dfe('0x6'));var config=require(_0x8dfe('0x7'));var jayson=require(_0x8dfe('0x8'));var client=jayson[_0x8dfe('0x9')][_0x8dfe('0xa')]({'port':0x232c});config[_0x8dfe('0xb')]=_[_0x8dfe('0xc')](config[_0x8dfe('0xb')],{'host':'localhost','port':0x18eb});var socket=require(_0x8dfe('0xd'))(new Redis(config[_0x8dfe('0xb')]));require(_0x8dfe('0xe'))['register'](socket);function respondWithRpcPromise(_0x40a6c9,_0x4ed7ad,_0xbc0606){return new BPromise(function(_0x31db8f,_0x56d049){return client[_0x8dfe('0xf')](_0x40a6c9,_0xbc0606)[_0x8dfe('0x10')](function(_0x3dda51){logger[_0x8dfe('0x11')](_0x8dfe('0x12'),_0x4ed7ad,_0x8dfe('0x13'));logger[_0x8dfe('0x14')](_0x8dfe('0x15'),_0x4ed7ad,'request\x20sent',JSON[_0x8dfe('0x16')](_0x3dda51));if(_0x3dda51[_0x8dfe('0x17')]){if(_0x3dda51['error']['code']===0x1f4){logger[_0x8dfe('0x17')](_0x8dfe('0x12'),_0x4ed7ad,_0x3dda51['error']['message']);return _0x56d049(_0x3dda51['error'][_0x8dfe('0x18')]);}logger['error'](_0x8dfe('0x12'),_0x4ed7ad,_0x3dda51[_0x8dfe('0x17')]['message']);return _0x31db8f(_0x3dda51[_0x8dfe('0x17')][_0x8dfe('0x18')]);}else{logger['info'](_0x8dfe('0x12'),_0x4ed7ad,_0x8dfe('0x13'));_0x31db8f(_0x3dda51[_0x8dfe('0x19')][_0x8dfe('0x18')]);}})[_0x8dfe('0x1a')](function(_0x432eba){logger['error']('FaxAccount,\x20%s,\x20%s',_0x4ed7ad,_0x432eba);_0x56d049(_0x432eba);});});}exports['GetFaxAccount']=function(_0x3a01fd){var _0x120d75=this;return new Promise(function(_0x2b99c9,_0x571482){return db[_0x8dfe('0x1b')][_0x8dfe('0x1c')]({'raw':_0x3a01fd['options']?_0x3a01fd[_0x8dfe('0x1d')][_0x8dfe('0x1e')]===undefined?!![]:![]:!![],'where':_0x3a01fd['options']?_0x3a01fd[_0x8dfe('0x1d')][_0x8dfe('0x1f')]||null:null,'attributes':_0x3a01fd[_0x8dfe('0x1d')]?_0x3a01fd[_0x8dfe('0x1d')][_0x8dfe('0x20')]||null:null,'limit':_0x3a01fd[_0x8dfe('0x1d')]?_0x3a01fd[_0x8dfe('0x1d')][_0x8dfe('0x21')]||null:null,'include':_0x3a01fd[_0x8dfe('0x1d')]?_0x3a01fd[_0x8dfe('0x1d')][_0x8dfe('0x22')]?_['map'](_0x3a01fd[_0x8dfe('0x1d')][_0x8dfe('0x22')],function(_0x25708d){return{'model':db[_0x25708d['model']],'as':_0x25708d['as'],'attributes':_0x25708d[_0x8dfe('0x20')],'include':_0x25708d[_0x8dfe('0x22')]?_[_0x8dfe('0x23')](_0x25708d[_0x8dfe('0x22')],function(_0x379ef1){return{'model':db[_0x379ef1[_0x8dfe('0x24')]],'as':_0x379ef1['as'],'attributes':_0x379ef1[_0x8dfe('0x20')],'include':_0x379ef1[_0x8dfe('0x22')]?_[_0x8dfe('0x23')](_0x379ef1[_0x8dfe('0x22')],function(_0x527ac4){return{'model':db[_0x527ac4[_0x8dfe('0x24')]],'as':_0x527ac4['as'],'attributes':_0x527ac4['attributes']};}):[]};}):[]};}):[]:[]})[_0x8dfe('0x10')](function(_0xc0ea40){logger[_0x8dfe('0x11')]('GetFaxAccount',_0x3a01fd);logger[_0x8dfe('0x14')]('GetFaxAccount',_0x3a01fd,JSON[_0x8dfe('0x16')](_0xc0ea40));_0x2b99c9(_0xc0ea40);})['catch'](function(_0x5e2c8d){logger[_0x8dfe('0x17')](_0x8dfe('0x25'),_0x5e2c8d[_0x8dfe('0x18')],_0x3a01fd);_0x571482(_0x120d75[_0x8dfe('0x17')](0x1f4,_0x5e2c8d[_0x8dfe('0x18')]));});});};exports[_0x8dfe('0x26')]=function(_0x4d0ba3,_0x582793,_0x577dce){var _0xfb8259=this;return new Promise(function(_0x43328f,_0x19a00f){var _0x2e706b={'body':_0x4d0ba3[_0x8dfe('0x27')],'channel':_0x8dfe('0x28')};var _0x4e959a=[];var _0xdcfa24=[];var _0x3c3fbc={};return db[_0x8dfe('0x29')][_0x8dfe('0x2a')]()['then'](function(_0x37cbed){if(!_0x37cbed){throw new db[(_0x8dfe('0x2b'))][(_0x8dfe('0x2c'))](_0x8dfe('0x2d'));}_0x4e959a=_[_0x8dfe('0x2e')](_[_0x8dfe('0x2f')](_0x37cbed),[_0x8dfe('0x30'),_0x8dfe('0x31')]);_0xdcfa24=_[_0x8dfe('0x2e')](_[_0x8dfe('0x2f')](_0x37cbed),['createdAt','updatedAt',_0x8dfe('0x32'),_0x8dfe('0x33')]);if(_0x4d0ba3[_0x8dfe('0x27')]['id']){delete _0x4d0ba3[_0x8dfe('0x27')]['id'];}if(_['isNil'](_0x4d0ba3[_0x8dfe('0x27')][_0x8dfe('0x34')])){throw new db[(_0x8dfe('0x2b'))]['ValidationError']('from\x20is\x20mandatory');}if(_[_0x8dfe('0x35')](_0x4d0ba3[_0x8dfe('0x27')][_0x8dfe('0x27')])||_0x4d0ba3[_0x8dfe('0x27')][_0x8dfe('0x27')]===''){throw new db['Sequelize'][(_0x8dfe('0x2c'))](_0x8dfe('0x36'));}if(_[_0x8dfe('0x35')](_0x4d0ba3[_0x8dfe('0x27')][_0x8dfe('0x37')])){throw new db[(_0x8dfe('0x2b'))][(_0x8dfe('0x2c'))]('mapKey\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20'+_0xdcfa24);}if(!_[_0x8dfe('0x38')](_0xdcfa24,_0x4d0ba3[_0x8dfe('0x27')][_0x8dfe('0x37')])){throw new db[(_0x8dfe('0x2b'))][(_0x8dfe('0x2c'))](_0x8dfe('0x39')+_0xdcfa24);}_0x3c3fbc[_0x4d0ba3[_0x8dfe('0x27')]['mapKey']]=_0x4d0ba3['body'][_0x8dfe('0x34')];})[_0x8dfe('0x10')](function(){return db[_0x8dfe('0x1b')][_0x8dfe('0x3a')]({'where':{'id':_0x4d0ba3[_0x8dfe('0x3b')]['id']},'include':[{'model':db[_0x8dfe('0x3c')],'as':_0x8dfe('0x3d'),'include':[{'model':db[_0x8dfe('0x29')],'as':_0x8dfe('0x3e'),'where':_0x3c3fbc,'limit':0x1,'order':[[_0x8dfe('0x31'),_0x8dfe('0x3f')]]}]},{'model':db[_0x8dfe('0x40')],'as':_0x8dfe('0x41')}]});})['then'](function(_0x69c1fc){if(_0x69c1fc&&_0x69c1fc[_0x8dfe('0x3d')]){var _0x91bb0c=_0x69c1fc[_0x8dfe('0x42')]({'plain':!![]});_0x2e706b[_0x8dfe('0x3b')]=_0x91bb0c;_0x2e706b[_0x8dfe('0x43')]=_0x91bb0c[_0x8dfe('0x41')];_0x2e706b[_0x8dfe('0x44')]=_0x91bb0c[_0x8dfe('0x3d')];_0x2e706b[_0x8dfe('0x43')]=_[_0x8dfe('0x45')](_0x2e706b[_0x8dfe('0x43')],[_0x8dfe('0x46')],['asc']);if(_0x2e706b[_0x8dfe('0x3b')][_0x8dfe('0x41')]){delete _0x2e706b[_0x8dfe('0x3b')]['Applications'];}if(_0x2e706b[_0x8dfe('0x3b')]['List']&&_0x2e706b[_0x8dfe('0x3b')][_0x8dfe('0x3d')]['Contacts'][_0x8dfe('0x47')]){return _0x2e706b[_0x8dfe('0x3b')][_0x8dfe('0x3d')][_0x8dfe('0x3e')][0x0];}var _0x361bd3=_[_0x8dfe('0xc')](_0x4d0ba3[_0x8dfe('0x27')],{'firstName':_0x4d0ba3[_0x8dfe('0x27')]['from'],'ListId':_0x91bb0c[_0x8dfe('0x33')]});_0x361bd3[_0x4d0ba3[_0x8dfe('0x27')][_0x8dfe('0x37')]]=_0x4d0ba3[_0x8dfe('0x27')][_0x8dfe('0x34')];return db[_0x8dfe('0x29')][_0x8dfe('0x48')](_0x361bd3,{'fields':_0x4e959a,'raw':!![]});}})[_0x8dfe('0x10')](function(_0x42ac6f){_0x2e706b[_0x8dfe('0x49')]=_0x42ac6f;if(_0x42ac6f){var _0x1efb02={'ContactId':_0x42ac6f['id'],'FaxAccountId':_0x4d0ba3[_0x8dfe('0x3b')]['id'],'fax':_0x42ac6f[_0x8dfe('0x28')]};return db[_0x8dfe('0x4a')]['find']({'where':{'ContactId':_0x42ac6f['id'],'closed':![],'FaxAccountId':_0x4d0ba3[_0x8dfe('0x3b')]['id']}})[_0x8dfe('0x10')](function(_0x20a3f1){if(_0x20a3f1){return[_0x20a3f1,![]];}return db[_0x8dfe('0x4a')][_0x8dfe('0x48')](_0x1efb02)[_0x8dfe('0x10')](function(_0x1a1c19){return[_0x1a1c19,!![]];});});}else{throw new Error(_0x8dfe('0x4b'));}})[_0x8dfe('0x4c')](function(_0x4002f7,_0x3fb14a){var _0x400e4d=_0x4002f7[_0x8dfe('0x42')]({'plain':!![]});if(_0x3fb14a){if(_0x2e706b[_0x8dfe('0x3b')][_0x8dfe('0x4d')]){_0x2e706b[_0x8dfe('0x43')]['push']({'id':0x0,'priority':_0x2e706b[_0x8dfe('0x43')][_0x8dfe('0x47')]+0x1,'app':_0x8dfe('0x4e'),'appdata':_0x8dfe('0x4f'),'interval':_0x8dfe('0x50')});}_0x400e4d[_0x8dfe('0x51')]=!![];}else{_0x400e4d[_0x8dfe('0x51')]=![];}_0x2e706b[_0x8dfe('0x52')]=_0x400e4d;return db[_0x8dfe('0x53')][_0x8dfe('0x48')]({'body':_0x4d0ba3[_0x8dfe('0x27')][_0x8dfe('0x27')],'FaxAccountId':_0x4d0ba3[_0x8dfe('0x3b')]['id'],'FaxInteractionId':_0x4002f7['id'],'direction':'in','ContactId':_0x4002f7[_0x8dfe('0x54')],'AttachmentId':_0x4d0ba3[_0x8dfe('0x27')]['AttachmentId']});})[_0x8dfe('0x10')](function(_0x36e53d){_0x2e706b[_0x8dfe('0x18')]=_0x36e53d;if(_0x2e706b['interaction'][_0x8dfe('0x55')]){return db['User'][_0x8dfe('0x3a')]({'attributes':['id',_0x8dfe('0x56')],'where':{'id':_0x2e706b['interaction'][_0x8dfe('0x55')]}})[_0x8dfe('0x10')](function(_0x202360){if(_0x202360){_0x2e706b[_0x8dfe('0x43')]['unshift']({'id':0x0,'priority':0x0,'app':'agent','appdata':_0x202360['name']+','+(_0x2e706b[_0x8dfe('0x3b')][_0x8dfe('0x57')]||0xa),'interval':_0x8dfe('0x50')});}return respondWithRpcPromise('Start',_0x8dfe('0x58'),_0x2e706b);});}return respondWithRpcPromise(_0x8dfe('0x59'),'startRouting',_0x2e706b);})['then'](function(_0x1c272f){_0x43328f(_0x1c272f);})['catch'](function(_0x27ed7f){_0x19a00f(_0xfb8259[_0x8dfe('0x17')](0x1f4,_0x27ed7f['message']));});});};