| 64 | } |
| 65 | |
| 66 | pub async fn enqueue_item(qi: DeviceQueueItem) -> Result<DeviceQueueItem, Error> { |
| 67 | qi.validate()?; |
| 68 | |
| 69 | let qi: DeviceQueueItem = diesel::insert_into(device_queue_item::table) |
| 70 | .values(&qi) |
| 71 | .get_result(&mut get_async_db_conn().await?) |
| 72 | .await |
| 73 | .map_err(|e| Error::from_diesel(e, qi.id.to_string()))?; |
| 74 | info!(id = %qi.id, dev_eui = %qi.dev_eui, "Device queue-item enqueued"); |
| 75 | Ok(qi) |
| 76 | } |
| 77 | |
| 78 | pub async fn get_item(id: &Uuid) -> Result<DeviceQueueItem, Error> { |
| 79 | let qi = device_queue_item::dsl::device_queue_item |