Built motion from commit (unavailable).|2.5.21
[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 _0xb69e=['Sequelize','ValidationError','no\x20available\x20attributes','difference','createdAt','updatedAt','keys','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','Contacts','DESC','FaxApplication','Applications','get','applications','list','List','orderBy','priority','asc','FaxInteraction','create','Contact\x20not\x20found','spread','push','length','close','*,*,*,*','created','interaction','FaxMessage','ContactId','AttachmentId','UserId','User','name','agent','waitForTheAssignedAgent','Start','startRouting','lodash','util','moment','bluebird','randomstring','../../mysqldb','../../config/logger','rpc','../../config/environment','jayson/promise','client','http','defaults','redis','localhost','./faxAccount.socket','register','request','info','FaxAccount,\x20%s,\x20%s','request\x20sent','debug','error','code','message','result','catch','GetFaxAccount','FaxAccount','options','raw','attributes','limit','map','include','model','then','NotifyFaxAccount','body','CmContact','describe'];(function(_0x10d224,_0x54ec2a){var _0x10968b=function(_0x4d51e8){while(--_0x4d51e8){_0x10d224['push'](_0x10d224['shift']());}};_0x10968b(++_0x54ec2a);}(_0xb69e,0xe8));var _0xeb69=function(_0x2a0835,_0x468405){_0x2a0835=_0x2a0835-0x0;var _0x266684=_0xb69e[_0x2a0835];return _0x266684;};'use strict';var _=require(_0xeb69('0x0'));var util=require(_0xeb69('0x1'));var moment=require(_0xeb69('0x2'));var BPromise=require(_0xeb69('0x3'));var rs=require(_0xeb69('0x4'));var fs=require('fs');var Redis=require('ioredis');var db=require(_0xeb69('0x5'))['db'];var utils=require('../../config/utils');var logger=require(_0xeb69('0x6'))(_0xeb69('0x7'));var config=require(_0xeb69('0x8'));var jayson=require(_0xeb69('0x9'));var client=jayson[_0xeb69('0xa')][_0xeb69('0xb')]({'port':0x232c});config['redis']=_[_0xeb69('0xc')](config[_0xeb69('0xd')],{'host':_0xeb69('0xe'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0xeb69('0xf'))[_0xeb69('0x10')](socket);function respondWithRpcPromise(_0x15eebc,_0x437fcc,_0x339811){return new BPromise(function(_0x4b8cec,_0x391721){return client[_0xeb69('0x11')](_0x15eebc,_0x339811)['then'](function(_0x4b57fd){logger[_0xeb69('0x12')](_0xeb69('0x13'),_0x437fcc,_0xeb69('0x14'));logger[_0xeb69('0x15')]('FaxAccount,\x20%s,\x20%s,\x20%s',_0x437fcc,'request\x20sent',JSON['stringify'](_0x4b57fd));if(_0x4b57fd[_0xeb69('0x16')]){if(_0x4b57fd['error'][_0xeb69('0x17')]===0x1f4){logger[_0xeb69('0x16')]('FaxAccount,\x20%s,\x20%s',_0x437fcc,_0x4b57fd[_0xeb69('0x16')][_0xeb69('0x18')]);return _0x391721(_0x4b57fd[_0xeb69('0x16')][_0xeb69('0x18')]);}logger[_0xeb69('0x16')](_0xeb69('0x13'),_0x437fcc,_0x4b57fd[_0xeb69('0x16')][_0xeb69('0x18')]);return _0x4b8cec(_0x4b57fd[_0xeb69('0x16')][_0xeb69('0x18')]);}else{logger[_0xeb69('0x12')](_0xeb69('0x13'),_0x437fcc,_0xeb69('0x14'));_0x4b8cec(_0x4b57fd[_0xeb69('0x19')]['message']);}})[_0xeb69('0x1a')](function(_0x180013){logger[_0xeb69('0x16')](_0xeb69('0x13'),_0x437fcc,_0x180013);_0x391721(_0x180013);});});}exports[_0xeb69('0x1b')]=function(_0x4655fa){var _0x151b56=this;return new Promise(function(_0x42307b,_0x75f138){return db[_0xeb69('0x1c')]['findAll']({'raw':_0x4655fa['options']?_0x4655fa[_0xeb69('0x1d')][_0xeb69('0x1e')]===undefined?!![]:![]:!![],'where':_0x4655fa['options']?_0x4655fa[_0xeb69('0x1d')]['where']||null:null,'attributes':_0x4655fa[_0xeb69('0x1d')]?_0x4655fa[_0xeb69('0x1d')][_0xeb69('0x1f')]||null:null,'limit':_0x4655fa['options']?_0x4655fa[_0xeb69('0x1d')][_0xeb69('0x20')]||null:null,'include':_0x4655fa[_0xeb69('0x1d')]?_0x4655fa[_0xeb69('0x1d')]['include']?_[_0xeb69('0x21')](_0x4655fa[_0xeb69('0x1d')][_0xeb69('0x22')],function(_0x47e17e){return{'model':db[_0x47e17e[_0xeb69('0x23')]],'as':_0x47e17e['as'],'attributes':_0x47e17e['attributes'],'include':_0x47e17e['include']?_[_0xeb69('0x21')](_0x47e17e['include'],function(_0x572e83){return{'model':db[_0x572e83['model']],'as':_0x572e83['as'],'attributes':_0x572e83[_0xeb69('0x1f')],'include':_0x572e83[_0xeb69('0x22')]?_[_0xeb69('0x21')](_0x572e83['include'],function(_0x2df8ff){return{'model':db[_0x2df8ff[_0xeb69('0x23')]],'as':_0x2df8ff['as'],'attributes':_0x2df8ff[_0xeb69('0x1f')]};}):[]};}):[]};}):[]:[]})[_0xeb69('0x24')](function(_0x563584){logger[_0xeb69('0x12')](_0xeb69('0x1b'),_0x4655fa);logger['debug'](_0xeb69('0x1b'),_0x4655fa,JSON['stringify'](_0x563584));_0x42307b(_0x563584);})[_0xeb69('0x1a')](function(_0x237fb7){logger[_0xeb69('0x16')](_0xeb69('0x1b'),_0x237fb7['message'],_0x4655fa);_0x75f138(_0x151b56[_0xeb69('0x16')](0x1f4,_0x237fb7[_0xeb69('0x18')]));});});};exports[_0xeb69('0x25')]=function(_0x123313,_0xf2e8c5,_0x5e5947){var _0x4297e5=this;return new Promise(function(_0x52ce8e,_0x3ecf84){var _0x2f9104={'body':_0x123313[_0xeb69('0x26')],'channel':'fax'};var _0xd6e402=[];var _0xf5c69=[];var _0x450427={};return db[_0xeb69('0x27')][_0xeb69('0x28')]()[_0xeb69('0x24')](function(_0x4f750e){if(!_0x4f750e){throw new db[(_0xeb69('0x29'))][(_0xeb69('0x2a'))](_0xeb69('0x2b'));}_0xd6e402=_[_0xeb69('0x2c')](_['keys'](_0x4f750e),[_0xeb69('0x2d'),_0xeb69('0x2e')]);_0xf5c69=_[_0xeb69('0x2c')](_[_0xeb69('0x2f')](_0x4f750e),[_0xeb69('0x2d'),_0xeb69('0x2e'),_0xeb69('0x30'),_0xeb69('0x31')]);if(_0x123313[_0xeb69('0x26')]['id']){delete _0x123313[_0xeb69('0x26')]['id'];}if(_[_0xeb69('0x32')](_0x123313[_0xeb69('0x26')][_0xeb69('0x33')])){throw new db[(_0xeb69('0x29'))][(_0xeb69('0x2a'))](_0xeb69('0x34'));}if(_[_0xeb69('0x32')](_0x123313[_0xeb69('0x26')]['body'])||_0x123313['body'][_0xeb69('0x26')]===''){throw new db[(_0xeb69('0x29'))][(_0xeb69('0x2a'))](_0xeb69('0x35'));}if(_[_0xeb69('0x32')](_0x123313[_0xeb69('0x26')][_0xeb69('0x36')])){throw new db[(_0xeb69('0x29'))][(_0xeb69('0x2a'))](_0xeb69('0x37')+_0xf5c69);}if(!_[_0xeb69('0x38')](_0xf5c69,_0x123313[_0xeb69('0x26')][_0xeb69('0x36')])){throw new db[(_0xeb69('0x29'))]['ValidationError'](_0xeb69('0x39')+_0xf5c69);}_0x450427[_0x123313[_0xeb69('0x26')]['mapKey']]=_0x123313['body'][_0xeb69('0x33')];})[_0xeb69('0x24')](function(){return db[_0xeb69('0x1c')][_0xeb69('0x3a')]({'where':{'id':_0x123313[_0xeb69('0x3b')]['id']},'include':[{'model':db['CmList'],'as':'List','include':[{'model':db[_0xeb69('0x27')],'as':_0xeb69('0x3c'),'where':_0x450427,'limit':0x1,'order':[[_0xeb69('0x2e'),_0xeb69('0x3d')]]}]},{'model':db[_0xeb69('0x3e')],'as':_0xeb69('0x3f')}]});})[_0xeb69('0x24')](function(_0x2b1ad6){if(_0x2b1ad6&&_0x2b1ad6['List']){var _0x199a6d=_0x2b1ad6[_0xeb69('0x40')]({'plain':!![]});_0x2f9104['account']=_0x199a6d;_0x2f9104[_0xeb69('0x41')]=_0x199a6d[_0xeb69('0x3f')];_0x2f9104[_0xeb69('0x42')]=_0x199a6d[_0xeb69('0x43')];_0x2f9104[_0xeb69('0x41')]=_[_0xeb69('0x44')](_0x2f9104[_0xeb69('0x41')],[_0xeb69('0x45')],[_0xeb69('0x46')]);if(_0x2f9104[_0xeb69('0x3b')][_0xeb69('0x3f')]){delete _0x2f9104[_0xeb69('0x3b')][_0xeb69('0x3f')];}if(_0x2f9104[_0xeb69('0x3b')][_0xeb69('0x43')]&&_0x2f9104['account'][_0xeb69('0x43')]['Contacts']['length']){return _0x2f9104['account'][_0xeb69('0x43')]['Contacts'][0x0];}var _0x39ac39=_[_0xeb69('0xc')](_0x123313[_0xeb69('0x26')],{'firstName':_0x123313[_0xeb69('0x26')][_0xeb69('0x33')],'ListId':_0x199a6d[_0xeb69('0x31')]});_0x39ac39[_0x123313[_0xeb69('0x26')]['mapKey']]=_0x123313[_0xeb69('0x26')][_0xeb69('0x33')];return db[_0xeb69('0x27')]['create'](_0x39ac39,{'fields':_0xd6e402,'raw':!![]});}})[_0xeb69('0x24')](function(_0x139cd0){_0x2f9104['contact']=_0x139cd0;if(_0x139cd0){var _0x2136eb={'ContactId':_0x139cd0['id'],'FaxAccountId':_0x123313[_0xeb69('0x3b')]['id'],'fax':_0x139cd0['fax']};return db[_0xeb69('0x47')][_0xeb69('0x3a')]({'where':{'ContactId':_0x139cd0['id'],'closed':![],'FaxAccountId':_0x123313[_0xeb69('0x3b')]['id']}})[_0xeb69('0x24')](function(_0xadd98d){if(_0xadd98d){return[_0xadd98d,![]];}return db[_0xeb69('0x47')][_0xeb69('0x48')](_0x2136eb)[_0xeb69('0x24')](function(_0x380c84){return[_0x380c84,!![]];});});}else{throw new Error(_0xeb69('0x49'));}})[_0xeb69('0x4a')](function(_0x4600b1,_0x51ff70){var _0x188bd6=_0x4600b1[_0xeb69('0x40')]({'plain':!![]});if(_0x51ff70){if(_0x2f9104[_0xeb69('0x3b')]['autoclose']){_0x2f9104[_0xeb69('0x41')][_0xeb69('0x4b')]({'id':0x0,'priority':_0x2f9104[_0xeb69('0x41')][_0xeb69('0x4c')]+0x1,'app':_0xeb69('0x4d'),'appdata':'unmanaged','interval':_0xeb69('0x4e')});}_0x188bd6[_0xeb69('0x4f')]=!![];}else{_0x188bd6['created']=![];}_0x2f9104[_0xeb69('0x50')]=_0x188bd6;return db[_0xeb69('0x51')][_0xeb69('0x48')]({'body':_0x123313['body']['body'],'FaxAccountId':_0x123313['account']['id'],'FaxInteractionId':_0x4600b1['id'],'direction':'in','ContactId':_0x4600b1[_0xeb69('0x52')],'AttachmentId':_0x123313[_0xeb69('0x26')][_0xeb69('0x53')]});})['then'](function(_0x38c11a){_0x2f9104['message']=_0x38c11a;if(_0x2f9104[_0xeb69('0x50')][_0xeb69('0x54')]){return db[_0xeb69('0x55')][_0xeb69('0x3a')]({'attributes':['id',_0xeb69('0x56')],'where':{'id':_0x2f9104[_0xeb69('0x50')][_0xeb69('0x54')]}})[_0xeb69('0x24')](function(_0xa201e2){if(_0xa201e2){_0x2f9104[_0xeb69('0x41')]['unshift']({'id':0x0,'priority':0x0,'app':_0xeb69('0x57'),'appdata':_0xa201e2[_0xeb69('0x56')]+','+(_0x2f9104[_0xeb69('0x3b')][_0xeb69('0x58')]||0xa),'interval':_0xeb69('0x4e')});}return respondWithRpcPromise(_0xeb69('0x59'),_0xeb69('0x5a'),_0x2f9104);});}return respondWithRpcPromise(_0xeb69('0x59'),_0xeb69('0x5a'),_0x2f9104);})[_0xeb69('0x24')](function(_0xc03671){_0x52ce8e(_0xc03671);})[_0xeb69('0x1a')](function(_0x43a19d){_0x3ecf84(_0x4297e5['error'](0x1f4,_0x43a19d[_0xeb69('0x18')]));});});};