| 331 | } |
| 332 | |
| 333 | pub async fn remove_device(group_id: &Uuid, dev_eui: &EUI64) -> Result<(), Error> { |
| 334 | let ra = diesel::delete( |
| 335 | multicast_group_device::dsl::multicast_group_device |
| 336 | .filter(multicast_group_device::multicast_group_id.eq(&fields::Uuid::from(group_id))) |
| 337 | .filter(multicast_group_device::dev_eui.eq(&dev_eui)), |
| 338 | ) |
| 339 | .execute(&mut get_async_db_conn().await?) |
| 340 | .await?; |
| 341 | if ra == 0 { |
| 342 | return Err(Error::NotFound(format!( |
| 343 | "multicast-group: {}, device: {}", |
| 344 | group_id, dev_eui |
| 345 | ))); |
| 346 | } |
| 347 | info!(multicast_group_id = %group_id, dev_eui = %dev_eui, "Device removed from multicast-group"); |
| 348 | Ok(()) |
| 349 | } |
| 350 | |
| 351 | pub async fn add_gateway(group_id: &Uuid, gateway_id: &EUI64) -> Result<(), Error> { |
| 352 | let mut c = get_async_db_conn().await?; |