MCPcopy Create free account
hub / github.com/chirpstack/chirpstack / remove_gateway

Method remove_gateway

chirpstack/src/api/multicast.rs:370–398  ·  view source on GitHub ↗
(
        &self,
        request: Request<api::RemoveGatewayFromMulticastGroupRequest>,
    )

Source from the content-addressed store, hash-verified

368 }
369
370 async fn remove_gateway(
371 &self,
372 request: Request<api::RemoveGatewayFromMulticastGroupRequest>,
373 ) -> Result<Response<()>, Status> {
374 let req = request.get_ref();
375 let mg_id = Uuid::from_str(&req.multicast_group_id).map_err(|e| e.status())?;
376 let gateway_id = EUI64::from_str(&req.gateway_id).map_err(|e| e.status())?;
377
378 self.validator
379 .validate(
380 request.extensions(),
381 validator::ValidateMulticastGroupAccess::new(validator::Flag::Update, mg_id),
382 )
383 .await?;
384
385 multicast::remove_gateway(&mg_id, &gateway_id)
386 .await
387 .map_err(|e| e.status())?;
388
389 let mut resp = Response::new(());
390 resp.metadata_mut().insert(
391 "x-log-multicast_group_id",
392 req.multicast_group_id.parse().unwrap(),
393 );
394 resp.metadata_mut()
395 .insert("x-log-gateway_id", req.gateway_id.parse().unwrap());
396
397 Ok(resp)
398 }
399
400 async fn enqueue(
401 &self,

Callers 1

test_multicast_groupFunction · 0.80

Calls 5

remove_gatewayFunction · 0.85
statusMethod · 0.80
insertMethod · 0.80
unwrapMethod · 0.80
validateMethod · 0.45

Tested by 1

test_multicast_groupFunction · 0.64