feat(admin): GET /admin/belege/{belegnummer}/positions-modified

Neuer Admin-Endpunkt, der zu EINER ERP-Belegnummer das positions_modified-Flag
liefert (Stück-Gutschrift auf einer Belegzeile ODER aktive Geld-Gutschrift) —
gleiche Definition wie in completed-deliveries, aber pro Beleg und ohne
Abschluss-Voraussetzung. 404 bei unbekannter Belegnummer; bei mehreren
Lieferungen gleicher Belegnummer true, sobald eine verändert ist (bool_or).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Dennis Nemec
2026-07-09 21:32:04 +02:00
parent 6378b1101b
commit 865fcfcd23
8 changed files with 146 additions and 2 deletions

View File

@ -38,7 +38,7 @@ use holzleitner_application::usecases::{
DeleteDeliveryNoteUseCase, DeleteDeliveryServiceUseCase, DeletePaymentMethodUseCase,
DeleteServiceUseCase, DevResetDeliveryUseCase, DevResyncToursUseCase,
GenerateDeliveryReportUseCase, GetAccountUseCase,
GetAttachmentPreviewUseCase, GetTourUseCase,
GetAttachmentPreviewUseCase, GetPositionsModifiedUseCase, GetTourUseCase,
ImportErpToursUseCase, ListCompletedDeliveriesUseCase, ListDeliveredBelegnummernUseCase,
ListMyCarsUseCase,
ListMyToursTodayUseCase, ListPaymentMethodsUseCase,
@ -371,6 +371,11 @@ pub(crate) async fn run_app(
let list_completed_deliveries = Arc::new(ListCompletedDeliveriesUseCase::new(
delivery_completion_repository.clone(),
));
// Admin-Lese-Use-Case: Positions-Änderungs-Flag zu einer Belegnummer.
// `.clone()` VOR dem Move in `complete_delivery`.
let get_positions_modified = Arc::new(GetPositionsModifiedUseCase::new(
delivery_completion_repository.clone(),
));
let mark_mail_sent = Arc::new(MarkMailSentUseCase::new(
delivery_completion_repository.clone(),
));
@ -467,6 +472,7 @@ pub(crate) async fn run_app(
push_completion_to_erp,
list_delivered_belegnummern,
list_completed_deliveries,
get_positions_modified,
mark_mail_sent,
list_pending_reviews,
resolve_review,