Built motion from commit (unavailable).|2.5.5
[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 _0x8d62=['error','code','message','result','GetFaxAccount','FaxAccount','findAll','options','raw','where','limit','map','attributes','include','debug','stringify','catch','NotifyFaxAccount','body','fax','CmContact','then','ValidationError','no\x20available\x20attributes','difference','updatedAt','keys','createdAt','CompanyId','ListId','isNil','from','Sequelize','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','DESC','FaxApplication','Applications','get','list','orderBy','applications','priority','asc','Contacts','create','contact','FaxInteraction','spread','autoclose','push','length','close','unmanaged','created','interaction','ContactId','AttachmentId','User','UserId','unshift','agent','waitForTheAssignedAgent','*,*,*,*','Start','startRouting','lodash','util','bluebird','randomstring','ioredis','../../mysqldb','../../config/utils','rpc','../../config/environment','jayson/promise','client','redis','defaults','socket.io-emitter','./faxAccount.socket','register','request','info','FaxAccount,\x20%s,\x20%s','request\x20sent','FaxAccount,\x20%s,\x20%s,\x20%s'];(function(_0x3f6e26,_0x811a34){var _0x474345=function(_0x4a0cbe){while(--_0x4a0cbe){_0x3f6e26['push'](_0x3f6e26['shift']());}};_0x474345(++_0x811a34);}(_0x8d62,0x15f));var _0x28d6=function(_0x4382e4,_0x21a1b7){_0x4382e4=_0x4382e4-0x0;var _0x442c40=_0x8d62[_0x4382e4];return _0x442c40;};'use strict';var _=require(_0x28d6('0x0'));var util=require(_0x28d6('0x1'));var moment=require('moment');var BPromise=require(_0x28d6('0x2'));var rs=require(_0x28d6('0x3'));var fs=require('fs');var Redis=require(_0x28d6('0x4'));var db=require(_0x28d6('0x5'))['db'];var utils=require(_0x28d6('0x6'));var logger=require('../../config/logger')(_0x28d6('0x7'));var config=require(_0x28d6('0x8'));var jayson=require(_0x28d6('0x9'));var client=jayson[_0x28d6('0xa')]['http']({'port':0x232c});config[_0x28d6('0xb')]=_[_0x28d6('0xc')](config[_0x28d6('0xb')],{'host':'localhost','port':0x18eb});var socket=require(_0x28d6('0xd'))(new Redis(config[_0x28d6('0xb')]));require(_0x28d6('0xe'))[_0x28d6('0xf')](socket);function respondWithRpcPromise(_0x85b47b,_0x4760f1,_0x3e93d9){return new BPromise(function(_0x40871e,_0x2e5731){return client[_0x28d6('0x10')](_0x85b47b,_0x3e93d9)['then'](function(_0x487856){logger[_0x28d6('0x11')](_0x28d6('0x12'),_0x4760f1,_0x28d6('0x13'));logger['debug'](_0x28d6('0x14'),_0x4760f1,'request\x20sent',JSON['stringify'](_0x487856));if(_0x487856[_0x28d6('0x15')]){if(_0x487856['error'][_0x28d6('0x16')]===0x1f4){logger[_0x28d6('0x15')](_0x28d6('0x12'),_0x4760f1,_0x487856[_0x28d6('0x15')][_0x28d6('0x17')]);return _0x2e5731(_0x487856[_0x28d6('0x15')][_0x28d6('0x17')]);}logger[_0x28d6('0x15')](_0x28d6('0x12'),_0x4760f1,_0x487856[_0x28d6('0x15')][_0x28d6('0x17')]);return _0x40871e(_0x487856['error'][_0x28d6('0x17')]);}else{logger[_0x28d6('0x11')]('FaxAccount,\x20%s,\x20%s',_0x4760f1,'request\x20sent');_0x40871e(_0x487856[_0x28d6('0x18')][_0x28d6('0x17')]);}})['catch'](function(_0x157dbd){logger['error']('FaxAccount,\x20%s,\x20%s',_0x4760f1,_0x157dbd);_0x2e5731(_0x157dbd);});});}exports[_0x28d6('0x19')]=function(_0x29fac8){var _0x142560=this;return new Promise(function(_0x9420e4,_0x1a901a){return db[_0x28d6('0x1a')][_0x28d6('0x1b')]({'raw':_0x29fac8[_0x28d6('0x1c')]?_0x29fac8['options'][_0x28d6('0x1d')]===undefined?!![]:![]:!![],'where':_0x29fac8[_0x28d6('0x1c')]?_0x29fac8[_0x28d6('0x1c')][_0x28d6('0x1e')]||null:null,'attributes':_0x29fac8[_0x28d6('0x1c')]?_0x29fac8['options']['attributes']||null:null,'limit':_0x29fac8[_0x28d6('0x1c')]?_0x29fac8[_0x28d6('0x1c')][_0x28d6('0x1f')]||null:null,'include':_0x29fac8['options']?_0x29fac8[_0x28d6('0x1c')]['include']?_[_0x28d6('0x20')](_0x29fac8['options']['include'],function(_0x32cfee){return{'model':db[_0x32cfee['model']],'as':_0x32cfee['as'],'attributes':_0x32cfee[_0x28d6('0x21')],'include':_0x32cfee[_0x28d6('0x22')]?_[_0x28d6('0x20')](_0x32cfee[_0x28d6('0x22')],function(_0x5df3e9){return{'model':db[_0x5df3e9['model']],'as':_0x5df3e9['as'],'attributes':_0x5df3e9['attributes'],'include':_0x5df3e9[_0x28d6('0x22')]?_[_0x28d6('0x20')](_0x5df3e9[_0x28d6('0x22')],function(_0x4c8e03){return{'model':db[_0x4c8e03['model']],'as':_0x4c8e03['as'],'attributes':_0x4c8e03[_0x28d6('0x21')]};}):[]};}):[]};}):[]:[]})['then'](function(_0x3c496f){logger[_0x28d6('0x11')]('GetFaxAccount',_0x29fac8);logger[_0x28d6('0x23')](_0x28d6('0x19'),_0x29fac8,JSON[_0x28d6('0x24')](_0x3c496f));_0x9420e4(_0x3c496f);})[_0x28d6('0x25')](function(_0x41dae0){logger[_0x28d6('0x15')](_0x28d6('0x19'),_0x41dae0['message'],_0x29fac8);_0x1a901a(_0x142560[_0x28d6('0x15')](0x1f4,_0x41dae0[_0x28d6('0x17')]));});});};exports[_0x28d6('0x26')]=function(_0x31f859,_0x26eff1,_0x5ec38b){var _0x5ca7c1=this;return new Promise(function(_0x3d1dbc,_0x108c54){var _0xe899fe={'body':_0x31f859[_0x28d6('0x27')],'channel':_0x28d6('0x28')};var _0x23998a=[];var _0x49e9d8=[];var _0x53bf4b={};return db[_0x28d6('0x29')]['describe']()[_0x28d6('0x2a')](function(_0x47b55e){if(!_0x47b55e){throw new db['Sequelize'][(_0x28d6('0x2b'))](_0x28d6('0x2c'));}_0x23998a=_[_0x28d6('0x2d')](_['keys'](_0x47b55e),['createdAt',_0x28d6('0x2e')]);_0x49e9d8=_[_0x28d6('0x2d')](_[_0x28d6('0x2f')](_0x47b55e),[_0x28d6('0x30'),_0x28d6('0x2e'),_0x28d6('0x31'),_0x28d6('0x32')]);if(_0x31f859[_0x28d6('0x27')]['id']){delete _0x31f859['body']['id'];}if(_[_0x28d6('0x33')](_0x31f859['body'][_0x28d6('0x34')])){throw new db[(_0x28d6('0x35'))]['ValidationError']('from\x20is\x20mandatory');}if(_[_0x28d6('0x33')](_0x31f859['body'][_0x28d6('0x27')])||_0x31f859[_0x28d6('0x27')][_0x28d6('0x27')]===''){throw new db['Sequelize'][(_0x28d6('0x2b'))](_0x28d6('0x36'));}if(_[_0x28d6('0x33')](_0x31f859[_0x28d6('0x27')]['mapKey'])){throw new db[(_0x28d6('0x35'))][(_0x28d6('0x2b'))](_0x28d6('0x37')+_0x49e9d8);}if(!_[_0x28d6('0x38')](_0x49e9d8,_0x31f859[_0x28d6('0x27')][_0x28d6('0x39')])){throw new db[(_0x28d6('0x35'))][(_0x28d6('0x2b'))](_0x28d6('0x3a')+_0x49e9d8);}_0x53bf4b[_0x31f859['body'][_0x28d6('0x39')]]=_0x31f859[_0x28d6('0x27')][_0x28d6('0x34')];})[_0x28d6('0x2a')](function(){return db[_0x28d6('0x1a')][_0x28d6('0x3b')]({'where':{'id':_0x31f859[_0x28d6('0x3c')]['id']},'include':[{'model':db['CmList'],'as':_0x28d6('0x3d'),'include':[{'model':db['CmContact'],'as':'Contacts','where':_0x53bf4b,'limit':0x1,'order':[['updatedAt',_0x28d6('0x3e')]]}]},{'model':db[_0x28d6('0x3f')],'as':_0x28d6('0x40')}]});})[_0x28d6('0x2a')](function(_0xefcbf4){if(_0xefcbf4&&_0xefcbf4[_0x28d6('0x3d')]){var _0x4504d1=_0xefcbf4[_0x28d6('0x41')]({'plain':!![]});_0xe899fe[_0x28d6('0x3c')]=_0x4504d1;_0xe899fe['applications']=_0x4504d1[_0x28d6('0x40')];_0xe899fe[_0x28d6('0x42')]=_0x4504d1[_0x28d6('0x3d')];_0xe899fe['applications']=_[_0x28d6('0x43')](_0xe899fe[_0x28d6('0x44')],[_0x28d6('0x45')],[_0x28d6('0x46')]);if(_0xe899fe[_0x28d6('0x3c')][_0x28d6('0x40')]){delete _0xe899fe[_0x28d6('0x3c')][_0x28d6('0x40')];}if(_0xe899fe[_0x28d6('0x3c')][_0x28d6('0x3d')]&&_0xe899fe[_0x28d6('0x3c')]['List'][_0x28d6('0x47')]['length']){return _0xe899fe[_0x28d6('0x3c')][_0x28d6('0x3d')]['Contacts'][0x0];}var _0x5137f9=_[_0x28d6('0xc')](_0x31f859[_0x28d6('0x27')],{'firstName':_0x31f859['body'][_0x28d6('0x34')],'ListId':_0x4504d1[_0x28d6('0x32')]});_0x5137f9[_0x31f859[_0x28d6('0x27')][_0x28d6('0x39')]]=_0x31f859[_0x28d6('0x27')][_0x28d6('0x34')];return db['CmContact'][_0x28d6('0x48')](_0x5137f9,{'fields':_0x23998a,'raw':!![]});}})[_0x28d6('0x2a')](function(_0xfa89ab){_0xe899fe[_0x28d6('0x49')]=_0xfa89ab;if(_0xfa89ab){var _0x185ecb={'ContactId':_0xfa89ab['id'],'FaxAccountId':_0x31f859[_0x28d6('0x3c')]['id'],'fax':_0xfa89ab[_0x28d6('0x28')]};return db[_0x28d6('0x4a')][_0x28d6('0x3b')]({'where':{'ContactId':_0xfa89ab['id'],'closed':![],'FaxAccountId':_0x31f859[_0x28d6('0x3c')]['id']}})[_0x28d6('0x2a')](function(_0x1a78c0){if(_0x1a78c0){return[_0x1a78c0,![]];}return db['FaxInteraction'][_0x28d6('0x48')](_0x185ecb)[_0x28d6('0x2a')](function(_0x7de5b4){return[_0x7de5b4,!![]];});});}else{throw new Error('Contact\x20not\x20found');}})[_0x28d6('0x4b')](function(_0x25bd4d,_0x1f1f50){var _0x2ca49=_0x25bd4d['get']({'plain':!![]});if(_0x1f1f50){if(_0xe899fe['account'][_0x28d6('0x4c')]){_0xe899fe['applications'][_0x28d6('0x4d')]({'id':0x0,'priority':_0xe899fe[_0x28d6('0x44')][_0x28d6('0x4e')]+0x1,'app':_0x28d6('0x4f'),'appdata':_0x28d6('0x50'),'interval':'*,*,*,*'});}_0x2ca49[_0x28d6('0x51')]=!![];}else{_0x2ca49[_0x28d6('0x51')]=![];}_0xe899fe[_0x28d6('0x52')]=_0x2ca49;return db['FaxMessage'][_0x28d6('0x48')]({'body':_0x31f859[_0x28d6('0x27')]['body'],'FaxAccountId':_0x31f859['account']['id'],'FaxInteractionId':_0x25bd4d['id'],'direction':'in','ContactId':_0x25bd4d[_0x28d6('0x53')],'AttachmentId':_0x31f859[_0x28d6('0x27')][_0x28d6('0x54')]});})[_0x28d6('0x2a')](function(_0x484ecb){_0xe899fe[_0x28d6('0x17')]=_0x484ecb;if(_0xe899fe[_0x28d6('0x52')]['UserId']){return db[_0x28d6('0x55')]['find']({'attributes':['id','name'],'where':{'id':_0xe899fe[_0x28d6('0x52')][_0x28d6('0x56')]}})[_0x28d6('0x2a')](function(_0xeb4d5f){if(_0xeb4d5f){_0xe899fe['applications'][_0x28d6('0x57')]({'id':0x0,'priority':0x0,'app':_0x28d6('0x58'),'appdata':_0xeb4d5f['name']+','+(_0xe899fe[_0x28d6('0x3c')][_0x28d6('0x59')]||0xa),'interval':_0x28d6('0x5a')});}return respondWithRpcPromise(_0x28d6('0x5b'),_0x28d6('0x5c'),_0xe899fe);});}return respondWithRpcPromise(_0x28d6('0x5b'),_0x28d6('0x5c'),_0xe899fe);})[_0x28d6('0x2a')](function(_0x529fec){_0x3d1dbc(_0x529fec);})['catch'](function(_0x3d9037){_0x108c54(_0x5ca7c1['error'](0x1f4,_0x3d9037[_0x28d6('0x17')]));});});};