@@ -483,7 +483,9 @@ Baton AdminClient::CreatePartitions(
483483
484484Baton AdminClient::ListGroups (
485485 bool is_match_states_set,
486- std::vector<rd_kafka_consumer_group_state_t > &match_states, int timeout_ms,
486+ std::vector<rd_kafka_consumer_group_state_t > &match_states,
487+ bool is_match_types_set,
488+ std::vector<rd_kafka_consumer_group_type_t > &match_types, int timeout_ms,
487489 /* out */ rd_kafka_event_t **event_response) {
488490 if (!IsConnected ()) {
489491 return Baton (RdKafka::ERR__STATE);
@@ -515,6 +517,15 @@ Baton AdminClient::ListGroups(
515517 }
516518 }
517519
520+ if (is_match_types_set) {
521+ rd_kafka_error_t *error =
522+ rd_kafka_AdminOptions_set_match_consumer_group_types (
523+ options, &match_types[0 ], match_types.size ());
524+ if (error) {
525+ return Baton::BatonFromErrorAndDestroy (error);
526+ }
527+ }
528+
518529 // Create queue just for this operation.
519530 rd_kafka_queue_t *rkqu = rd_kafka_queue_new (m_client->c_ptr ());
520531
@@ -1195,9 +1206,25 @@ NAN_METHOD(AdminClient::NodeListGroups) {
11951206 }
11961207 }
11971208
1209+ std::vector<rd_kafka_consumer_group_type_t > match_types;
1210+ v8::Local<v8::String> match_consumer_group_types_key =
1211+ Nan::New (" matchConsumerGroupTypes" ).ToLocalChecked ();
1212+ bool is_match_types_set =
1213+ Nan::Has (config, match_consumer_group_types_key).FromMaybe (false );
1214+ v8::Local<v8::Array> match_types_array = Nan::New<v8::Array>();
1215+
1216+ if (is_match_types_set) {
1217+ match_types_array = GetParameter<v8::Local<v8::Array>>(
1218+ config, " matchConsumerGroupTypes" , match_types_array);
1219+ if (match_types_array->Length ()) {
1220+ match_types = Conversion::Admin::FromV8GroupTypeArray (
1221+ match_types_array);
1222+ }
1223+ }
1224+
11981225 // Queue the work.
11991226 Nan::AsyncQueueWorker (new Workers::AdminClientListGroups (
1200- callback, client, is_match_states_set, match_states, timeout_ms));
1227+ callback, client, is_match_states_set, match_states, is_match_types_set, match_types, timeout_ms));
12011228}
12021229
12031230/* *
0 commit comments