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

Function update

chirpstack/src/storage/multicast.rs:159–182  ·  view source on GitHub ↗
(mg: MulticastGroup)

Source from the content-addressed store, hash-verified

157}
158
159pub async fn update(mg: MulticastGroup) -> Result<MulticastGroup, Error> {
160 mg.validate()?;
161
162 let mg: MulticastGroup = diesel::update(multicast_group::dsl::multicast_group.find(&mg.id))
163 .set((
164 multicast_group::updated_at.eq(Utc::now()),
165 multicast_group::name.eq(&mg.name),
166 multicast_group::region.eq(&mg.region),
167 multicast_group::mc_addr.eq(&mg.mc_addr),
168 multicast_group::mc_nwk_s_key.eq(&mg.mc_nwk_s_key),
169 multicast_group::mc_app_s_key.eq(&mg.mc_app_s_key),
170 multicast_group::f_cnt.eq(&mg.f_cnt),
171 multicast_group::group_type.eq(&mg.group_type),
172 multicast_group::dr.eq(&mg.dr),
173 multicast_group::frequency.eq(&mg.frequency),
174 multicast_group::class_b_ping_slot_periodicity.eq(&mg.class_b_ping_slot_periodicity),
175 multicast_group::class_c_scheduling_type.eq(&mg.class_c_scheduling_type),
176 ))
177 .get_result(&mut get_async_db_conn().await?)
178 .await
179 .map_err(|e| Error::from_diesel(e, mg.id.to_string()))?;
180 info!(id = %mg.id, "Multicast-group updated");
181 Ok(mg)
182}
183
184pub async fn delete(id: &Uuid) -> Result<(), Error> {
185 let ra = diesel::delete(multicast_group::dsl::multicast_group.find(&fields::Uuid::from(id)))

Callers 4

enqueueFunction · 0.70
test_multicast_groupFunction · 0.70
test_queueFunction · 0.70

Calls 4

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

Tested by 3

test_multicast_groupFunction · 0.56
test_queueFunction · 0.56