use std::sync::Arc; use uuid::Uuid; use crate::error::ApplicationError; use crate::ports::DeliveryNoteRepository; /// Löscht eine Notiz. `NotFound`, wenn keine Zeile betroffen war. /// /// Berechtigung: keine Autor-Prüfung (geteilter Account) — analog zu /// [`super::update_delivery_note::UpdateDeliveryNoteUseCase`]. pub struct DeleteDeliveryNoteUseCase { repository: Arc, } impl DeleteDeliveryNoteUseCase { pub fn new(repository: Arc) -> Self { Self { repository } } pub async fn execute(&self, note_id: Uuid) -> Result<(), ApplicationError> { self.repository.delete(note_id).await } }