Built motion from commit (unavailable).|2.5.10
[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 _0xb4a7=['defaults','./faxAccount.socket','request','then','info','request\x20sent','FaxAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','FaxAccount,\x20%s,\x20%s','message','result','catch','options','attributes','include','model','map','GetFaxAccount','debug','NotifyFaxAccount','body','fax','CmContact','describe','Sequelize','ValidationError','no\x20available\x20attributes','difference','keys','createdAt','updatedAt','ListId','isNil','from','body\x20is\x20mandatory\x20and\x20not\x20empty','mapKey','mapKey\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20','find','account','CmList','List','Contacts','FaxApplication','get','Applications','list','applications','orderBy','priority','asc','length','create','contact','FaxInteraction','spread','autoclose','push','close','unmanaged','created','interaction','FaxMessage','ContactId','AttachmentId','UserId','User','name','agent','waitForTheAssignedAgent','*,*,*,*','Start','startRouting','lodash','moment','randomstring','ioredis','../../mysqldb','../../config/utils','../../config/logger','rpc','../../config/environment','jayson/promise','client','http','redis'];(function(_0x4d0a70,_0x135d8a){var _0x5f0be6=function(_0x4918d6){while(--_0x4918d6){_0x4d0a70['push'](_0x4d0a70['shift']());}};_0x5f0be6(++_0x135d8a);}(_0xb4a7,0x1a6));var _0x7b4a=function(_0x298a13,_0x407596){_0x298a13=_0x298a13-0x0;var _0x2db5a3=_0xb4a7[_0x298a13];return _0x2db5a3;};'use strict';var _=require(_0x7b4a('0x0'));var util=require('util');var moment=require(_0x7b4a('0x1'));var BPromise=require('bluebird');var rs=require(_0x7b4a('0x2'));var fs=require('fs');var Redis=require(_0x7b4a('0x3'));var db=require(_0x7b4a('0x4'))['db'];var utils=require(_0x7b4a('0x5'));var logger=require(_0x7b4a('0x6'))(_0x7b4a('0x7'));var config=require(_0x7b4a('0x8'));var jayson=require(_0x7b4a('0x9'));var client=jayson[_0x7b4a('0xa')][_0x7b4a('0xb')]({'port':0x232c});config[_0x7b4a('0xc')]=_[_0x7b4a('0xd')](config[_0x7b4a('0xc')],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x7b4a('0xc')]));require(_0x7b4a('0xe'))['register'](socket);function respondWithRpcPromise(_0x12b3ac,_0x3357ac,_0x2aa0b9){return new BPromise(function(_0x52e112,_0x5d8afa){return client[_0x7b4a('0xf')](_0x12b3ac,_0x2aa0b9)[_0x7b4a('0x10')](function(_0x4bf7cc){logger[_0x7b4a('0x11')]('FaxAccount,\x20%s,\x20%s',_0x3357ac,_0x7b4a('0x12'));logger['debug'](_0x7b4a('0x13'),_0x3357ac,_0x7b4a('0x12'),JSON[_0x7b4a('0x14')](_0x4bf7cc));if(_0x4bf7cc[_0x7b4a('0x15')]){if(_0x4bf7cc['error'][_0x7b4a('0x16')]===0x1f4){logger['error'](_0x7b4a('0x17'),_0x3357ac,_0x4bf7cc[_0x7b4a('0x15')][_0x7b4a('0x18')]);return _0x5d8afa(_0x4bf7cc[_0x7b4a('0x15')][_0x7b4a('0x18')]);}logger[_0x7b4a('0x15')](_0x7b4a('0x17'),_0x3357ac,_0x4bf7cc[_0x7b4a('0x15')]['message']);return _0x52e112(_0x4bf7cc[_0x7b4a('0x15')][_0x7b4a('0x18')]);}else{logger[_0x7b4a('0x11')](_0x7b4a('0x17'),_0x3357ac,_0x7b4a('0x12'));_0x52e112(_0x4bf7cc[_0x7b4a('0x19')][_0x7b4a('0x18')]);}})[_0x7b4a('0x1a')](function(_0xe40a56){logger[_0x7b4a('0x15')](_0x7b4a('0x17'),_0x3357ac,_0xe40a56);_0x5d8afa(_0xe40a56);});});}exports['GetFaxAccount']=function(_0x536dd5){var _0x4ad395=this;return new Promise(function(_0x24bf26,_0x55d1fb){return db['FaxAccount']['findAll']({'raw':_0x536dd5[_0x7b4a('0x1b')]?_0x536dd5[_0x7b4a('0x1b')]['raw']===undefined?!![]:![]:!![],'where':_0x536dd5[_0x7b4a('0x1b')]?_0x536dd5['options']['where']||null:null,'attributes':_0x536dd5[_0x7b4a('0x1b')]?_0x536dd5['options'][_0x7b4a('0x1c')]||null:null,'limit':_0x536dd5[_0x7b4a('0x1b')]?_0x536dd5[_0x7b4a('0x1b')]['limit']||null:null,'include':_0x536dd5[_0x7b4a('0x1b')]?_0x536dd5[_0x7b4a('0x1b')][_0x7b4a('0x1d')]?_['map'](_0x536dd5[_0x7b4a('0x1b')][_0x7b4a('0x1d')],function(_0x56238d){return{'model':db[_0x56238d[_0x7b4a('0x1e')]],'as':_0x56238d['as'],'attributes':_0x56238d[_0x7b4a('0x1c')],'include':_0x56238d[_0x7b4a('0x1d')]?_[_0x7b4a('0x1f')](_0x56238d[_0x7b4a('0x1d')],function(_0x1c25fa){return{'model':db[_0x1c25fa[_0x7b4a('0x1e')]],'as':_0x1c25fa['as'],'attributes':_0x1c25fa[_0x7b4a('0x1c')],'include':_0x1c25fa['include']?_[_0x7b4a('0x1f')](_0x1c25fa[_0x7b4a('0x1d')],function(_0x2b59ff){return{'model':db[_0x2b59ff[_0x7b4a('0x1e')]],'as':_0x2b59ff['as'],'attributes':_0x2b59ff[_0x7b4a('0x1c')]};}):[]};}):[]};}):[]:[]})[_0x7b4a('0x10')](function(_0xf5c859){logger[_0x7b4a('0x11')](_0x7b4a('0x20'),_0x536dd5);logger[_0x7b4a('0x21')](_0x7b4a('0x20'),_0x536dd5,JSON[_0x7b4a('0x14')](_0xf5c859));_0x24bf26(_0xf5c859);})[_0x7b4a('0x1a')](function(_0x31bee2){logger[_0x7b4a('0x15')](_0x7b4a('0x20'),_0x31bee2[_0x7b4a('0x18')],_0x536dd5);_0x55d1fb(_0x4ad395[_0x7b4a('0x15')](0x1f4,_0x31bee2['message']));});});};exports[_0x7b4a('0x22')]=function(_0x1bbec8,_0x4f22e7,_0x5033be){var _0x4a4126=this;return new Promise(function(_0x147daa,_0x4bb63d){var _0x508460={'body':_0x1bbec8[_0x7b4a('0x23')],'channel':_0x7b4a('0x24')};var _0x390088=[];var _0x3698be=[];var _0x473032={};return db[_0x7b4a('0x25')][_0x7b4a('0x26')]()[_0x7b4a('0x10')](function(_0x476842){if(!_0x476842){throw new db[(_0x7b4a('0x27'))][(_0x7b4a('0x28'))](_0x7b4a('0x29'));}_0x390088=_[_0x7b4a('0x2a')](_['keys'](_0x476842),['createdAt','updatedAt']);_0x3698be=_['difference'](_[_0x7b4a('0x2b')](_0x476842),[_0x7b4a('0x2c'),_0x7b4a('0x2d'),'CompanyId',_0x7b4a('0x2e')]);if(_0x1bbec8[_0x7b4a('0x23')]['id']){delete _0x1bbec8[_0x7b4a('0x23')]['id'];}if(_[_0x7b4a('0x2f')](_0x1bbec8['body'][_0x7b4a('0x30')])){throw new db[(_0x7b4a('0x27'))][(_0x7b4a('0x28'))]('from\x20is\x20mandatory');}if(_[_0x7b4a('0x2f')](_0x1bbec8[_0x7b4a('0x23')]['body'])||_0x1bbec8[_0x7b4a('0x23')]['body']===''){throw new db['Sequelize'][(_0x7b4a('0x28'))](_0x7b4a('0x31'));}if(_['isNil'](_0x1bbec8[_0x7b4a('0x23')][_0x7b4a('0x32')])){throw new db[(_0x7b4a('0x27'))]['ValidationError']('mapKey\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20'+_0x3698be);}if(!_['includes'](_0x3698be,_0x1bbec8['body'][_0x7b4a('0x32')])){throw new db[(_0x7b4a('0x27'))][(_0x7b4a('0x28'))](_0x7b4a('0x33')+_0x3698be);}_0x473032[_0x1bbec8['body']['mapKey']]=_0x1bbec8[_0x7b4a('0x23')][_0x7b4a('0x30')];})[_0x7b4a('0x10')](function(){return db['FaxAccount'][_0x7b4a('0x34')]({'where':{'id':_0x1bbec8[_0x7b4a('0x35')]['id']},'include':[{'model':db[_0x7b4a('0x36')],'as':_0x7b4a('0x37'),'include':[{'model':db[_0x7b4a('0x25')],'as':_0x7b4a('0x38'),'where':_0x473032,'limit':0x1,'order':[[_0x7b4a('0x2d'),'DESC']]}]},{'model':db[_0x7b4a('0x39')],'as':'Applications'}]});})[_0x7b4a('0x10')](function(_0x4af901){if(_0x4af901&&_0x4af901[_0x7b4a('0x37')]){var _0x2e8f14=_0x4af901[_0x7b4a('0x3a')]({'plain':!![]});_0x508460[_0x7b4a('0x35')]=_0x2e8f14;_0x508460['applications']=_0x2e8f14[_0x7b4a('0x3b')];_0x508460[_0x7b4a('0x3c')]=_0x2e8f14[_0x7b4a('0x37')];_0x508460[_0x7b4a('0x3d')]=_[_0x7b4a('0x3e')](_0x508460['applications'],[_0x7b4a('0x3f')],[_0x7b4a('0x40')]);if(_0x508460[_0x7b4a('0x35')][_0x7b4a('0x3b')]){delete _0x508460['account']['Applications'];}if(_0x508460['account'][_0x7b4a('0x37')]&&_0x508460[_0x7b4a('0x35')][_0x7b4a('0x37')][_0x7b4a('0x38')][_0x7b4a('0x41')]){return _0x508460['account'][_0x7b4a('0x37')][_0x7b4a('0x38')][0x0];}var _0x67c9cb=_[_0x7b4a('0xd')](_0x1bbec8[_0x7b4a('0x23')],{'firstName':_0x1bbec8[_0x7b4a('0x23')][_0x7b4a('0x30')],'ListId':_0x2e8f14[_0x7b4a('0x2e')]});_0x67c9cb[_0x1bbec8[_0x7b4a('0x23')][_0x7b4a('0x32')]]=_0x1bbec8[_0x7b4a('0x23')][_0x7b4a('0x30')];return db[_0x7b4a('0x25')][_0x7b4a('0x42')](_0x67c9cb,{'fields':_0x390088,'raw':!![]});}})[_0x7b4a('0x10')](function(_0xd3e81b){_0x508460[_0x7b4a('0x43')]=_0xd3e81b;if(_0xd3e81b){var _0x3d7648={'ContactId':_0xd3e81b['id'],'FaxAccountId':_0x1bbec8[_0x7b4a('0x35')]['id'],'fax':_0xd3e81b[_0x7b4a('0x24')]};return db[_0x7b4a('0x44')][_0x7b4a('0x34')]({'where':{'ContactId':_0xd3e81b['id'],'closed':![],'FaxAccountId':_0x1bbec8[_0x7b4a('0x35')]['id']}})['then'](function(_0x11fcea){if(_0x11fcea){return[_0x11fcea,![]];}return db[_0x7b4a('0x44')][_0x7b4a('0x42')](_0x3d7648)['then'](function(_0x446d2d){return[_0x446d2d,!![]];});});}else{throw new Error('Contact\x20not\x20found');}})[_0x7b4a('0x45')](function(_0x513711,_0x334683){var _0x414c11=_0x513711['get']({'plain':!![]});if(_0x334683){if(_0x508460['account'][_0x7b4a('0x46')]){_0x508460[_0x7b4a('0x3d')][_0x7b4a('0x47')]({'id':0x0,'priority':_0x508460[_0x7b4a('0x3d')]['length']+0x1,'app':_0x7b4a('0x48'),'appdata':_0x7b4a('0x49'),'interval':'*,*,*,*'});}_0x414c11[_0x7b4a('0x4a')]=!![];}else{_0x414c11['created']=![];}_0x508460[_0x7b4a('0x4b')]=_0x414c11;return db[_0x7b4a('0x4c')]['create']({'body':_0x1bbec8[_0x7b4a('0x23')]['body'],'FaxAccountId':_0x1bbec8[_0x7b4a('0x35')]['id'],'FaxInteractionId':_0x513711['id'],'direction':'in','ContactId':_0x513711[_0x7b4a('0x4d')],'AttachmentId':_0x1bbec8[_0x7b4a('0x23')][_0x7b4a('0x4e')]});})['then'](function(_0x54954d){_0x508460[_0x7b4a('0x18')]=_0x54954d;if(_0x508460[_0x7b4a('0x4b')][_0x7b4a('0x4f')]){return db[_0x7b4a('0x50')][_0x7b4a('0x34')]({'attributes':['id',_0x7b4a('0x51')],'where':{'id':_0x508460[_0x7b4a('0x4b')][_0x7b4a('0x4f')]}})[_0x7b4a('0x10')](function(_0x598f65){if(_0x598f65){_0x508460[_0x7b4a('0x3d')]['unshift']({'id':0x0,'priority':0x0,'app':_0x7b4a('0x52'),'appdata':_0x598f65[_0x7b4a('0x51')]+','+(_0x508460[_0x7b4a('0x35')][_0x7b4a('0x53')]||0xa),'interval':_0x7b4a('0x54')});}return respondWithRpcPromise(_0x7b4a('0x55'),'startRouting',_0x508460);});}return respondWithRpcPromise(_0x7b4a('0x55'),_0x7b4a('0x56'),_0x508460);})[_0x7b4a('0x10')](function(_0x33cb6c){_0x147daa(_0x33cb6c);})[_0x7b4a('0x1a')](function(_0x48e30d){_0x4bb63d(_0x4a4126[_0x7b4a('0x15')](0x1f4,_0x48e30d[_0x7b4a('0x18')]));});});};