| 399 | } |
| 400 | |
| 401 | pub async fn remove_gateway(group_id: &Uuid, gateway_id: &EUI64) -> Result<(), Error> { |
| 402 | let ra = diesel::delete( |
| 403 | multicast_group_gateway::dsl::multicast_group_gateway |
| 404 | .filter(multicast_group_gateway::multicast_group_id.eq(&fields::Uuid::from(group_id))) |
| 405 | .filter(multicast_group_gateway::gateway_id.eq(&gateway_id)), |
| 406 | ) |
| 407 | .execute(&mut get_async_db_conn().await?) |
| 408 | .await?; |
| 409 | if ra == 0 { |
| 410 | return Err(Error::NotFound(format!( |
| 411 | "multicast-group: {}, gateway: {}", |
| 412 | group_id, gateway_id |
| 413 | ))); |
| 414 | } |
| 415 | info!(multicast_group_id = %group_id, gateway_id = %gateway_id, "Gateway removed from multicast-group"); |
| 416 | Ok(()) |
| 417 | } |
| 418 | |
| 419 | pub async fn get_dev_euis(group_id: &Uuid) -> Result<Vec<EUI64>, Error> { |
| 420 | multicast_group_device::dsl::multicast_group_device |