| 85 | } |
| 86 | |
| 87 | pub async fn update_item(qi: DeviceQueueItem) -> Result<DeviceQueueItem, Error> { |
| 88 | let qi: DeviceQueueItem = |
| 89 | diesel::update(device_queue_item::dsl::device_queue_item.find(&qi.id)) |
| 90 | .set(( |
| 91 | device_queue_item::is_pending.eq(&qi.is_pending), |
| 92 | device_queue_item::f_cnt_down.eq(&qi.f_cnt_down), |
| 93 | device_queue_item::timeout_after.eq(&qi.timeout_after), |
| 94 | )) |
| 95 | .get_result(&mut get_async_db_conn().await?) |
| 96 | .await |
| 97 | .map_err(|e| Error::from_diesel(e, qi.id.to_string()))?; |
| 98 | info!(id = %qi.id, dev_eui = %qi.dev_eui, "Device queue-item updated"); |
| 99 | Ok(qi) |
| 100 | } |
| 101 | |
| 102 | pub async fn delete_item(id: &Uuid) -> Result<(), Error> { |
| 103 | let ra = |