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>
61 lines
2.2 KiB
Rust
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,
|
|
};
|