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

Method delete_relay_gateway

chirpstack/src/api/gateway.rs:873–900  ·  view source on GitHub ↗
(
        &self,
        request: Request<api::DeleteRelayGatewayRequest>,
    )

Source from the content-addressed store, hash-verified

871 }
872
873 async fn delete_relay_gateway(
874 &self,
875 request: Request<api::DeleteRelayGatewayRequest>,
876 ) -> Result<Response<()>, Status> {
877 let req = request.get_ref();
878 let tenant_id = Uuid::from_str(&req.tenant_id).map_err(|e| e.status())?;
879 let relay_id = RelayId::from_str(&req.relay_id).map_err(|e| e.status())?;
880
881 // The tenant_id is part of the relay PK.
882 self.validator
883 .validate(
884 request.extensions(),
885 validator::ValidateGatewaysAccess::new(validator::Flag::List, tenant_id),
886 )
887 .await?;
888
889 gateway::delete_relay_gateway(tenant_id, relay_id)
890 .await
891 .map_err(|e| e.status())?;
892
893 let mut resp = Response::new(());
894 resp.metadata_mut()
895 .insert("x-log-tenant_id", req.tenant_id.parse().unwrap());
896 resp.metadata_mut()
897 .insert("x-log-relay_id", req.relay_id.parse().unwrap());
898
899 Ok(resp)
900 }
901
902 async fn list_relay_gateways(
903 &self,

Callers 1

Calls 5

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

Tested by 1