| 760 | } |
| 761 | |
| 762 | async fn delete_vendor( |
| 763 | &self, |
| 764 | request: Request<api::DeleteDeviceProfileVendorRequest>, |
| 765 | ) -> Result<Response<()>, Status> { |
| 766 | let req = request.get_ref(); |
| 767 | let vendor_id = Uuid::from_str(&req.id).map_err(|e| e.status())?; |
| 768 | |
| 769 | self.validator |
| 770 | .validate( |
| 771 | request.extensions(), |
| 772 | validator::ValidateDeviceProfileVendorAccess::new(validator::Flag::Delete), |
| 773 | ) |
| 774 | .await?; |
| 775 | |
| 776 | let _ = device_profile::delete_vendor(vendor_id) |
| 777 | .await |
| 778 | .map_err(|e| e.status())?; |
| 779 | |
| 780 | let mut resp = Response::new(()); |
| 781 | |
| 782 | resp.metadata_mut() |
| 783 | .insert("x-log-vendor_id", req.id.parse().unwrap()); |
| 784 | |
| 785 | Ok(resp) |
| 786 | } |
| 787 | |
| 788 | async fn get_device( |
| 789 | &self, |