Files
Holzleitner---Backend--aktu…/crates/application/src/dto/mod.rs
Dennis Nemec af034250e7 feat(admin): GET /admin/belege/{belegnummer} - volle Lieferdetails
Neuer Admin-Endpunkt, der zu einer ERP-Belegnummer das komplette Detail-Paket
einer Lieferung liefert (Kopf, Positionen mit Scan-Ständen, Kunde +
Ansprechpartner, referenzierte Artikel/Lager, Notizen, Geld-Gutschrift,
Dienstleistungswerte, Kontakte). Jede Lieferung, unabhaengig vom Status;
404 bei unbekannter Belegnummer.

Umsetzung: TourRepository::find_tour_id_by_belegnummer loest die Belegnummer
auf ihre tour_id auf; der Use Case laedt das bestehende Tour-Aggregat und
destilliert daraus in-memory die eine Lieferung samt referenzierter Stammdaten
(neues DTO DeliveryDetails). Kein neuer grosser Query.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-09 23:42:57 +02:00

61 lines
2.2 KiB
Rust

//! Data Transfer Objects der Application-Schicht.
//!
//! DTOs aggregieren Domänenobjekte zu **Use-Case-Antworten** und
//! beschreiben die Eingaben für Sync-Operationen. Sie bleiben bewusst
//! im Application-Layer (nicht im Domain-Layer), weil sie eine
//! Use-Case-Sicht auf die Daten sind, kein Stück Geschäftslogik —
//! ein anderer Use-Case darf eine andere Projektion liefern.
//!
//! Serde- und (optional) utoipa-Annotationen erlauben, dieselbe
//! Struktur direkt als HTTP-Antwort zu serialisieren — das spart eine
//! zweite Schicht handgeschriebener API-DTOs.
pub mod car;
pub mod complete;
pub mod credit;
pub mod delivery_action;
pub mod delivery_details;
pub mod delivery_report;
pub mod delivery_order;
pub mod note;
pub mod payment_method;
pub mod scan;
pub mod service;
pub mod tour_details;
pub mod tour_summary;
pub mod tour_sync;
pub use car::{
AssignCarRequest, CarResponse, CarsList, CreateCarRequest, UpdateCarRequest,
};
pub use complete::CompleteDeliveryAcknowledgements;
pub use credit::{CreditAction, DeliveryCreditEventRequest, DeliveryCreditResponse};
pub use delivery_report::{
DeliveryReportData, ReportAttachment, ReportCompletion, ReportContact, ReportCreditAudit,
ReportItem, ReportNote, ReportScanAudit, ReportService,
};
pub use delivery_action::{CancelDeliveryRequest, DeliveryResponse, HoldDeliveryRequest};
pub use delivery_details::DeliveryDetails;
pub use delivery_order::{
DeliveryOrderEntry, SetDeliveryOrderRequest, SetDeliveryOrderResponse,
};
pub use note::{
CreateDeliveryNoteRequest, DeliveryNoteResponse, UpdateDeliveryNoteRequest,
};
pub use payment_method::{
CreatePaymentMethodRequest, PaymentMethodResponse, PaymentMethodsList,
UpdatePaymentMethodRequest,
};
pub use scan::{
ApplyScansRequest, ApplyScansResponse, ScanEvent, ScanResult, ScanResultStatus,
};
pub use service::{
CreateServiceRequest, DeliveryServiceResponse, ServiceResponse, ServicesList,
SetDeliveryServiceRequest, UpdateServiceRequest,
};
pub use tour_details::{DeliveryWithItems, TourDetails};
pub use tour_summary::TourSummary;
pub use tour_sync::{
SyncContactChannel, SyncContactSource, SyncDelivery, SyncDeliveryItem, SyncTourRequest,
};