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

Function update

chirpstack/src/storage/device.rs:587–609  ·  view source on GitHub ↗
(d: Device)

Source from the content-addressed store, hash-verified

585}
586
587pub async fn update(d: Device) -> Result<Device, Error> {
588 d.validate()?;
589
590 let d: Device = diesel::update(device::dsl::device.find(&d.dev_eui))
591 .set((
592 device::updated_at.eq(Utc::now()),
593 device::application_id.eq(&d.application_id),
594 device::device_profile_id.eq(&d.device_profile_id),
595 device::name.eq(&d.name),
596 device::description.eq(&d.description),
597 device::skip_fcnt_check.eq(&d.skip_fcnt_check),
598 device::is_disabled.eq(&d.is_disabled),
599 device::tags.eq(&d.tags),
600 device::variables.eq(&d.variables),
601 device::join_eui.eq(&d.join_eui),
602 device::app_layer_params.eq(&d.app_layer_params),
603 ))
604 .get_result(&mut get_async_db_conn().await?)
605 .await
606 .map_err(|e| Error::from_diesel(e, d.dev_eui.to_string()))?;
607 info!(dev_eui = %d.dev_eui, "Device updated");
608 Ok(d)
609}
610
611pub async fn partial_update(dev_eui: EUI64, d: &DeviceChangeset) -> Result<Device, Error> {
612 let d = diesel::update(device::dsl::device.find(&dev_eui))

Callers 3

partial_updateFunction · 0.70
test_deviceFunction · 0.70

Calls 4

setMethod · 0.80
to_stringMethod · 0.80
get_async_db_connFunction · 0.70
validateMethod · 0.45

Tested by 1

test_deviceFunction · 0.56