1
1
/**
2
2
* BUS Event Handlers
3
3
*/
4
- import {
5
- CONNECT_NOTIFICATION_EVENT ,
6
- BUS_API_EVENT ,
7
- RESOURCES ,
8
- } from '../constants' ;
4
+ import { CONNECT_NOTIFICATION_EVENT , BUS_API_EVENT , RESOURCES } from '../constants' ;
9
5
import {
10
6
projectCreatedKafkaHandler ,
11
- projectUpdatedKafkaHandler ,
12
- } from './projects' ;
7
+ projectUpdatedKafkaHandler } from './projects' ;
8
+ import { projectPhaseAddedKafkaHandler , projectPhaseRemovedKafkaHandler ,
9
+ projectPhaseUpdatedKafkaHandler } from './projectPhases' ;
10
+ import {
11
+ timelineAdjustedKafkaHandler ,
12
+ } from './timelines' ;
13
13
import {
14
- projectPhaseAddedKafkaHandler ,
15
- projectPhaseRemovedKafkaHandler ,
16
- projectPhaseUpdatedKafkaHandler ,
17
- } from './projectPhases' ;
18
- import { timelineAdjustedKafkaHandler } from './timelines' ;
19
- import { milestoneUpdatedKafkaHandler } from './milestones' ;
14
+ milestoneUpdatedKafkaHandler ,
15
+ } from './milestones' ;
20
16
21
17
const kafkaHandlers = {
22
18
/**
@@ -37,64 +33,22 @@ const kafkaHandlers = {
37
33
// Events coming from timeline/milestones (considering it as a separate module/service in future)
38
34
[ CONNECT_NOTIFICATION_EVENT . MILESTONE_TRANSITION_COMPLETED ] : milestoneUpdatedKafkaHandler ,
39
35
[ CONNECT_NOTIFICATION_EVENT . TIMELINE_ADJUSTED ] : timelineAdjustedKafkaHandler ,
40
- } ;
41
-
42
- /**
43
- * Register New Unified Bus Event Handlers
44
- *
45
- * We need this special method so it would properly merge topics with the same names
46
- * but different resources.
47
- *
48
- * @param {String } topic Kafka topic name
49
- * @param {String } resource resource name
50
- * @param {Function } handler handler method
51
- *
52
- * @returns {void }
53
- */
54
- const registerKafkaHandler = ( topic , resource , handler ) => {
55
- let topicConfig = kafkaHandlers [ topic ] ;
56
-
57
- // if config for topic is not yet initialized, create it
58
- if ( ! topicConfig ) {
59
- topicConfig = { } ;
60
- kafkaHandlers [ topic ] = topicConfig ;
61
- }
62
36
63
- if ( typeof topicConfig !== 'object' ) {
64
- throw new Error (
65
- `Topic "${ topic } " should be defined as object with resource names as keys.` ,
66
- ) ;
67
- }
68
-
69
- if ( topicConfig [ resource ] ) {
70
- throw new Error (
71
- `Handler for topic "${ topic } " with resource ${ resource } has been already registered.` ,
72
- ) ;
73
- }
74
-
75
- topicConfig [ resource ] = handler ;
37
+ /**
38
+ * New Unified Bus Events
39
+ */
40
+ [ BUS_API_EVENT . PROJECT_CREATED ] : {
41
+ [ RESOURCES . PROJECT ] : projectCreatedKafkaHandler ,
42
+ } ,
43
+ [ BUS_API_EVENT . PROJECT_PHASE_CREATED ] : {
44
+ [ RESOURCES . PHASE ] : projectPhaseAddedKafkaHandler ,
45
+ } ,
46
+ [ BUS_API_EVENT . PROJECT_PHASE_UPDATED ] : {
47
+ [ RESOURCES . PHASE ] : projectPhaseUpdatedKafkaHandler ,
48
+ } ,
49
+ [ BUS_API_EVENT . PROJECT_PHASE_DELETED ] : {
50
+ [ RESOURCES . PHASE ] : projectPhaseRemovedKafkaHandler ,
51
+ } ,
76
52
} ;
77
53
78
- registerKafkaHandler (
79
- BUS_API_EVENT . PROJECT_CREATED ,
80
- RESOURCES . PROJECT ,
81
- projectCreatedKafkaHandler ,
82
- ) ;
83
- registerKafkaHandler (
84
- BUS_API_EVENT . PROJECT_PHASE_CREATED ,
85
- RESOURCES . PHASE ,
86
- projectPhaseAddedKafkaHandler ,
87
- ) ;
88
- registerKafkaHandler (
89
- BUS_API_EVENT . PROJECT_PHASE_UPDATED ,
90
- RESOURCES . PHASE ,
91
- projectPhaseUpdatedKafkaHandler ,
92
- ) ;
93
- registerKafkaHandler (
94
- BUS_API_EVENT . PROJECT_PHASE_DELETED ,
95
- RESOURCES . PHASE ,
96
- projectPhaseRemovedKafkaHandler ,
97
- ) ;
98
-
99
-
100
54
export default kafkaHandlers ;
0 commit comments