@@ -2,37 +2,39 @@ import { Socket } from 'socket.io-client';
22import JobsRepository from '../../contribution/common/JobsRepository' ;
33import SlaveP2PConnectionsHub from '../../p2p/hubs/SlaveP2PConnectionsHub' ;
44import BrokerServiceChannels from '../BrokerServiceChannels' ;
5+ import DeviceType from '../DeviceType' ;
56
67export default function applyOnRecruitmentBroadcastHandler (
78 brokerServiceSocket : Socket ,
89 interconnectedNodeId : string ,
910 slaveP2PConnectionsHub : SlaveP2PConnectionsHub ,
10- jobsRepository : JobsRepository
11+ jobsRepository : JobsRepository ,
12+ deviceType : DeviceType
1113) : void {
1214 brokerServiceSocket . on (
1315 BrokerServiceChannels . RECRUITMENT_BROADCAST ,
1416 ( payload : any ) => {
15- // TODO check requirements
1617 if (
17- payload . masterId !== interconnectedNodeId &&
18- slaveP2PConnectionsHub . getByMasterId ( payload . masterId ) === undefined &&
19- jobsRepository . get ( payload . operationId ) === undefined
18+ payload . deviceTypes === undefined ||
19+ payload . deviceTypes . includes ( deviceType )
2020 ) {
21- const recruitmentAcceptPayload = {
22- masterId : payload . masterId ,
23- masterRole : payload . masterRole ,
24- operationId : payload . operationId ,
25- slaveId : interconnectedNodeId ,
26- } ;
27- brokerServiceSocket . emit (
28- BrokerServiceChannels . RECRUITMENT_ACCEPT ,
29- recruitmentAcceptPayload
30- ) ;
31- } else {
32- brokerServiceSocket . emit (
33- BrokerServiceChannels . RECRUITMENT_BROADCAST ,
34- 'ERROR'
35- ) ;
21+ if (
22+ payload . masterId !== interconnectedNodeId &&
23+ slaveP2PConnectionsHub . getByMasterId ( payload . masterId ) ===
24+ undefined &&
25+ jobsRepository . get ( payload . operationId ) === undefined
26+ ) {
27+ const recruitmentAcceptPayload = {
28+ masterId : payload . masterId ,
29+ masterRole : payload . masterRole ,
30+ operationId : payload . operationId ,
31+ slaveId : interconnectedNodeId ,
32+ } ;
33+ brokerServiceSocket . emit (
34+ BrokerServiceChannels . RECRUITMENT_ACCEPT ,
35+ recruitmentAcceptPayload
36+ ) ;
37+ }
3638 }
3739 }
3840 ) ;
0 commit comments