@@ -278,17 +278,17 @@ func (h *handler) UpdateStreamTopics(
278278 return nil , status .Error (codes .InvalidArgument , "missing stream id" )
279279 }
280280
281- switch req .TopicsChange {
281+ switch topicsChange := req .GetTopicsChange ().( type ) {
282282 case nil :
283283 return nil , status .Error (codes .InvalidArgument , "no topics provided" )
284284 // when overwrite topics is provided, it takes precedence, we will not
285285 // process add/remove topics in this case
286- case req . GetTopicsChange ().( * arkv1.UpdateStreamTopicsRequest_Overwrite ) :
287- if req . GetTopicsChange ().( * arkv1. UpdateStreamTopicsRequest_Overwrite ) .Overwrite == nil {
286+ case * arkv1.UpdateStreamTopicsRequest_Overwrite :
287+ if topicsChange .Overwrite == nil {
288288 return nil , status .Error (codes .InvalidArgument , "overwrite topics is nil" )
289289 }
290290 if err := h .eventsListenerHandler .overwriteTopics (
291- req .GetStreamId (), req . GetTopicsChange ().( * arkv1. UpdateStreamTopicsRequest_Overwrite ) .Overwrite .Topics ,
291+ req .GetStreamId (), topicsChange .Overwrite .Topics ,
292292 ); err != nil {
293293 return nil , status .Errorf (codes .NotFound , "overwrite topics error: %s" , err .Error ())
294294 }
@@ -298,36 +298,32 @@ func (h *handler) UpdateStreamTopics(
298298 TopicsRemoved : []string {},
299299 }, nil
300300 // allow adding/removing topics simultaneously
301- case req .GetTopicsChange ().(* arkv1.UpdateStreamTopicsRequest_Modify ):
302- modify := req .GetTopicsChange ().(* arkv1.UpdateStreamTopicsRequest_Modify ).Modify
303- if modify == nil {
301+ case * arkv1.UpdateStreamTopicsRequest_Modify :
302+ if topicsChange .Modify == nil {
304303 return nil , status .Error (codes .InvalidArgument , "modify topics is nil" )
305304 }
306- if len (modify .AddTopics ) > 0 {
305+ if len (topicsChange . Modify .AddTopics ) > 0 {
307306 if err := h .eventsListenerHandler .addTopics (
308- req .GetStreamId (), modify .AddTopics ,
307+ req .GetStreamId (), topicsChange . Modify .AddTopics ,
309308 ); err != nil {
310309 return nil , status .Errorf (codes .NotFound , "add topics error: %s" , err .Error ())
311310 }
312311 }
313- if len (modify .RemoveTopics ) > 0 {
312+ if len (topicsChange . Modify .RemoveTopics ) > 0 {
314313 if err := h .eventsListenerHandler .removeTopics (
315- req .GetStreamId (), modify .RemoveTopics ,
314+ req .GetStreamId (), topicsChange . Modify .RemoveTopics ,
316315 ); err != nil {
317316 return nil , status .Errorf (codes .NotFound , "remove topics error: %s" , err .Error ())
318317 }
319318 }
319+ return & arkv1.UpdateStreamTopicsResponse {
320+ TopicsAdded : topicsChange .Modify .AddTopics ,
321+ TopicsRemoved : topicsChange .Modify .RemoveTopics ,
322+ AllTopics : h .eventsListenerHandler .getTopics (req .GetStreamId ()),
323+ }, nil
320324 default :
321325 return nil , status .Error (codes .InvalidArgument , "no topics provided" )
322326 }
323-
324- modify := req .GetTopicsChange ().(* arkv1.UpdateStreamTopicsRequest_Modify ).Modify
325- return & arkv1.UpdateStreamTopicsResponse {
326- TopicsAdded : modify .AddTopics ,
327- TopicsRemoved : modify .RemoveTopics ,
328- AllTopics : h .eventsListenerHandler .getTopics (req .GetStreamId ()),
329- }, nil
330-
331327}
332328
333329func (h * handler ) SubmitTx (
0 commit comments