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

Method remove_device

chirpstack/src/api/relay.rs:102–134  ·  view source on GitHub ↗
(
        &self,
        request: Request<api::RemoveRelayDeviceRequest>,
    )

Source from the content-addressed store, hash-verified

100 }
101
102 async fn remove_device(
103 &self,
104 request: Request<api::RemoveRelayDeviceRequest>,
105 ) -> Result<Response<()>, Status> {
106 let req = request.get_ref();
107 let relay_dev_eui = EUI64::from_str(&req.relay_dev_eui).map_err(|e| e.status())?;
108 let device_dev_eui = EUI64::from_str(&req.device_dev_eui).map_err(|e| e.status())?;
109
110 self.validator
111 .validate(
112 request.extensions(),
113 validator::ValidateDeviceAccess::new(validator::Flag::Update, relay_dev_eui),
114 )
115 .await?;
116 self.validator
117 .validate(
118 request.extensions(),
119 validator::ValidateDeviceAccess::new(validator::Flag::Update, device_dev_eui),
120 )
121 .await?;
122
123 relay::remove_device(relay_dev_eui, device_dev_eui)
124 .await
125 .map_err(|e| e.status())?;
126
127 let mut resp = Response::new(());
128 resp.metadata_mut()
129 .insert("x-log-relay_dev_eui", req.relay_dev_eui.parse().unwrap());
130 resp.metadata_mut()
131 .insert("x-log-device_dev_eui", req.device_dev_eui.parse().unwrap());
132
133 Ok(resp)
134 }
135
136 async fn list_devices(
137 &self,

Callers 1

test_relayFunction · 0.45

Calls 5

statusMethod · 0.80
insertMethod · 0.80
unwrapMethod · 0.80
remove_deviceFunction · 0.50
validateMethod · 0.45

Tested by 1

test_relayFunction · 0.36