feat(zahlung): eigener Step "Zahlung" vor der Uebersicht
- Neuer Workflow-Step "Zahlung" zeigt ausgelieferte Artikel mit Menge und Preis, Betragsaufstellung, Zahlungsstatus und einen grossen Button "Zahlung abwickeln" (fest unten) - Zahlungs-Modal: grosser offener Betrag, Methoden als Cards aus den Backend-Stammdaten, bei EC-Karte gross die Kundennummer; schliesst nur ueber Abbrechen, "Zahlung erhalten" oder "Lieferung abbrechen" (mit Grund) - Bestaetigung wird am Server protokolliert (RecordDeliveryPayment); bis dahin sind "Weiter" und die Uebersicht gesperrt, ausser es ist nichts offen (bereits bezahlt). Aendert sich der Betrag danach, wird die Zahlung als veraltet markiert und muss erneut abgewickelt werden - Uebersicht zeigt die abgewickelte Zahlung statt eigener Methodenauswahl; Unterschrift-Flow ohne doppelte Inkasso-Stufe; Abschluss sendet Methode und Inkasso-Flag der gueltigen Zahlung - DeliveryPaymentStatus als einzige Quelle fuer offenen Betrag (gleiche Formel wie Backend); Artikelliste/Betragskarte als geteilte Widgets; Begruendungs-Dialog geteilt mit Info-Step - API-Client aus aktueller Backend-Spec neu generiert - Tests fuer Zahlungsstatus und Modal Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@ -17,6 +17,8 @@ doc/CarResponse.md
|
||||
doc/CarsApi.md
|
||||
doc/CarsList.md
|
||||
doc/CompleteDeliveryAcknowledgements.md
|
||||
doc/CompletedDeliveriesResponse.md
|
||||
doc/CompletedDeliveryItem.md
|
||||
doc/ContactChannel.md
|
||||
doc/ContactKind.md
|
||||
doc/ContactRole.md
|
||||
@ -34,10 +36,13 @@ doc/Delivery.md
|
||||
doc/DeliveryCredit.md
|
||||
doc/DeliveryCreditEventRequest.md
|
||||
doc/DeliveryCreditResponse.md
|
||||
doc/DeliveryDetails.md
|
||||
doc/DeliveryItem.md
|
||||
doc/DeliveryNote.md
|
||||
doc/DeliveryNoteResponse.md
|
||||
doc/DeliveryOrderEntry.md
|
||||
doc/DeliveryPayment.md
|
||||
doc/DeliveryPaymentResponse.md
|
||||
doc/DeliveryResponse.md
|
||||
doc/DeliveryServiceResponse.md
|
||||
doc/DeliveryServiceValue.md
|
||||
@ -52,6 +57,11 @@ doc/PaymentMethod.md
|
||||
doc/PaymentMethodResponse.md
|
||||
doc/PaymentMethodsApi.md
|
||||
doc/PaymentMethodsList.md
|
||||
doc/PendingReviewResponse.md
|
||||
doc/PositionsModifiedResponse.md
|
||||
doc/RecordDeliveryPaymentRequest.md
|
||||
doc/ResolveReviewRequest.md
|
||||
doc/ReviewedItemResponse.md
|
||||
doc/ScanEvent.md
|
||||
doc/ScanResult.md
|
||||
doc/ScanResultStatus.md
|
||||
@ -115,6 +125,8 @@ lib/src/model/car.dart
|
||||
lib/src/model/car_response.dart
|
||||
lib/src/model/cars_list.dart
|
||||
lib/src/model/complete_delivery_acknowledgements.dart
|
||||
lib/src/model/completed_deliveries_response.dart
|
||||
lib/src/model/completed_delivery_item.dart
|
||||
lib/src/model/contact_channel.dart
|
||||
lib/src/model/contact_kind.dart
|
||||
lib/src/model/contact_role.dart
|
||||
@ -132,10 +144,13 @@ lib/src/model/delivery.dart
|
||||
lib/src/model/delivery_credit.dart
|
||||
lib/src/model/delivery_credit_event_request.dart
|
||||
lib/src/model/delivery_credit_response.dart
|
||||
lib/src/model/delivery_details.dart
|
||||
lib/src/model/delivery_item.dart
|
||||
lib/src/model/delivery_note.dart
|
||||
lib/src/model/delivery_note_response.dart
|
||||
lib/src/model/delivery_order_entry.dart
|
||||
lib/src/model/delivery_payment.dart
|
||||
lib/src/model/delivery_payment_response.dart
|
||||
lib/src/model/delivery_response.dart
|
||||
lib/src/model/delivery_service_response.dart
|
||||
lib/src/model/delivery_service_value.dart
|
||||
@ -148,6 +163,11 @@ lib/src/model/mark_mail_sent_response.dart
|
||||
lib/src/model/payment_method.dart
|
||||
lib/src/model/payment_method_response.dart
|
||||
lib/src/model/payment_methods_list.dart
|
||||
lib/src/model/pending_review_response.dart
|
||||
lib/src/model/positions_modified_response.dart
|
||||
lib/src/model/record_delivery_payment_request.dart
|
||||
lib/src/model/resolve_review_request.dart
|
||||
lib/src/model/reviewed_item_response.dart
|
||||
lib/src/model/scan_event.dart
|
||||
lib/src/model/scan_result.dart
|
||||
lib/src/model/scan_result_status.dart
|
||||
@ -177,12 +197,13 @@ lib/src/model/update_service_request.dart
|
||||
lib/src/model/warehouse.dart
|
||||
lib/src/serializers.dart
|
||||
pubspec.yaml
|
||||
test/contact_channel_test.dart
|
||||
test/contact_kind_test.dart
|
||||
test/contact_role_test.dart
|
||||
test/contact_source_test.dart
|
||||
test/delivered_belegnummern_response_test.dart
|
||||
test/mark_mail_sent_request_test.dart
|
||||
test/mark_mail_sent_response_test.dart
|
||||
test/sync_contact_channel_test.dart
|
||||
test/sync_contact_source_test.dart
|
||||
test/completed_deliveries_response_test.dart
|
||||
test/completed_delivery_item_test.dart
|
||||
test/delivery_details_test.dart
|
||||
test/delivery_payment_response_test.dart
|
||||
test/delivery_payment_test.dart
|
||||
test/pending_review_response_test.dart
|
||||
test/positions_modified_response_test.dart
|
||||
test/record_delivery_payment_request_test.dart
|
||||
test/resolve_review_request_test.dart
|
||||
test/reviewed_item_response_test.dart
|
||||
|
||||
@ -66,10 +66,15 @@ All URIs are relative to *http://localhost*
|
||||
Class | Method | HTTP request | Description
|
||||
------------ | ------------- | ------------- | -------------
|
||||
[*AccountsApi*](doc/AccountsApi.md) | [**getAccount**](doc/AccountsApi.md#getaccount) | **GET** /accounts/{personalnummer} | Liest den Account zu einer Personalnummer.
|
||||
[*AdminApi*](doc/AdminApi.md) | [**belegeDetails**](doc/AdminApi.md#belegedetails) | **GET** /admin/belege/{belegnummer} | Liefert das **volle Detail-Paket** zu einer ERP-Belegnummer: die Lieferung mit Positionen (inkl. Scan-Ständen), Kunde + Ansprechpartner, referenzierte Artikel/Lager, Notizen, Geld-Gutschrift, Dienstleistungswerte und Kontakte — destilliert aus dem Tour-Aggregat. Jede Lieferung, unabhängig vom Status. `404`, wenn die Belegnummer unbekannt ist.
|
||||
[*AdminApi*](doc/AdminApi.md) | [**completedDeliveries**](doc/AdminApi.md#completeddeliveries) | **GET** /admin/completed-deliveries | Liefert **alle** abgeschlossenen (ausgelieferten) Lieferungen — optional auf einen Datumsbereich eingegrenzt, unabhängig vom Mail-Versand-Status. Gefiltert wird über den **Berliner** Kalendertag des Abschluss-Zeitpunkts (`completed_at`).
|
||||
[*AdminApi*](doc/AdminApi.md) | [**deliveredBelegnummern**](doc/AdminApi.md#deliveredbelegnummern) | **GET** /admin/delivered-belegnummern | Liefert die Belegnummern ausgelieferter (abgeschlossener) Lieferungen, **deren Liefermail noch nicht versendet wurde** (`mail_sent_at IS NULL`). „Ausgeliefert\" = es existiert ein Abschluss. Mit `day` (DD-MM-YYYY) nur Abschlüsse dieses Berliner Kalendertages; **ohne `day` alle offenen** (über alle Tage) — so bleiben Belege über Mitternacht nicht hängen.
|
||||
[*AdminApi*](doc/AdminApi.md) | [**importErp**](doc/AdminApi.md#importerp) | **POST** /admin/import-erp | Stößt den ERP-Import für ein Datum an und liefert die Zusammenfassung.
|
||||
[*AdminApi*](doc/AdminApi.md) | [**listReviews**](doc/AdminApi.md#listreviews) | **GET** /admin/reviews | Listet alle geänderten Lieferscheine, die noch auf eine manuelle Bestätigung (Vier-Augen) warten — Entfernungen und/oder Geld-Gutschriften.
|
||||
[*AdminApi*](doc/AdminApi.md) | [**markMailSent**](doc/AdminApi.md#markmailsent) | **POST** /admin/mark-mail-sent | Markiert die Liefermails der angegebenen Belegnummern als **versendet** (`mail_sent_at = now()`, nur wo noch offen). Vom Mailclient aufzurufen, NACHDEM ERPframe die Mails erfolgreich verschickt hat — danach erscheinen die Belege nicht mehr in `GET /admin/delivered-belegnummern`.
|
||||
[*AdminApi*](doc/AdminApi.md) | [**positionsModified**](doc/AdminApi.md#positionsmodified) | **GET** /admin/belege/{belegnummer}/positions-modified | Liefert zu **einer** ERP-Belegnummer, ob an der Lieferung Positionen verändert wurden (Menge reduziert/Zeile entfernt oder Geld-Gutschrift) — unabhängig vom Zustand der Lieferung. `404`, wenn die Belegnummer unbekannt ist. Gibt es mehrere Lieferungen mit derselben Belegnummer, ist das Flag `true`, sobald **eine** davon verändert ist.
|
||||
[*AdminApi*](doc/AdminApi.md) | [**pushCompletion**](doc/AdminApi.md#pushcompletion) | **POST** /admin/push-completion | Stößt das ERP-Rückschreiben eines bereits lokal abgeschlossenen Lieferabschlusses erneut an (idempotenter Retry, falls der automatische Push beim Abschluss fehlschlug).
|
||||
[*AdminApi*](doc/AdminApi.md) | [**resolveReview**](doc/AdminApi.md#resolvereview) | **POST** /admin/reviews/{delivery_id}/resolve | Bestätigt die Prüfung einer geänderten Lieferung (Vier-Augen) — die Lieferung verschwindet danach aus `GET /admin/reviews` (sofern nicht erneut geändert).
|
||||
[*AttachmentsApi*](doc/AttachmentsApi.md) | [**getAttachment**](doc/AttachmentsApi.md#getattachment) | **GET** /attachments/{id} | Liefert ein gerendertes Vorschaubild des Attachments (Bytes), geladen aus DOCUframe. Auflösung/Format über Query-Parameter steuerbar (`?w=&h=&q=&ext=&page=`).
|
||||
[*CarsApi*](doc/CarsApi.md) | [**createMyCar**](doc/CarsApi.md#createmycar) | **POST** /me/cars | Legt ein neues Fahrzeug für den angemeldeten Fahrer an.
|
||||
[*CarsApi*](doc/CarsApi.md) | [**listMyCars**](doc/CarsApi.md#listmycars) | **GET** /me/cars | Listet die Fahrzeuge des angemeldeten Fahrers.
|
||||
@ -82,6 +87,7 @@ Class | Method | HTTP request | Description
|
||||
[*DeliveriesApi*](doc/DeliveriesApi.md) | [**deleteNote**](doc/DeliveriesApi.md#deletenote) | **DELETE** /deliveries/{delivery_id}/notes/{note_id} | Löscht eine Notiz. Antwortet mit `204 No Content`.
|
||||
[*DeliveriesApi*](doc/DeliveriesApi.md) | [**deleteServiceValue**](doc/DeliveriesApi.md#deleteservicevalue) | **DELETE** /deliveries/{delivery_id}/services/{service_id} | Entfernt den Service-Wert einer Lieferung (Service „nicht gesetzt\"). Nur bei aktiver Lieferung. Antwort `204`.
|
||||
[*DeliveriesApi*](doc/DeliveriesApi.md) | [**hold**](doc/DeliveriesApi.md#hold) | **POST** /deliveries/{delivery_id}/hold | Setzt die Lieferung auf `held`. Nur aus `active` zulässig.
|
||||
[*DeliveriesApi*](doc/DeliveriesApi.md) | [**recordPayment**](doc/DeliveriesApi.md#recordpayment) | **POST** /deliveries/{delivery_id}/payment | Protokolliert die Zahlungsabwicklung („Abkassieren\") einer Lieferung. Append-only, idempotent über `clientEventId`. Der Server berechnet den offenen Betrag selbst; er muss > 0 sein und `expectedAmountCents` entsprechen. Nur bei aktiver Lieferung und aktiver Zahlungsmethode.
|
||||
[*DeliveriesApi*](doc/DeliveriesApi.md) | [**resume**](doc/DeliveriesApi.md#resume) | **POST** /deliveries/{delivery_id}/resume | Setzt die Lieferung zurück auf `active`. Nur aus `held` zulässig.
|
||||
[*DeliveriesApi*](doc/DeliveriesApi.md) | [**setService**](doc/DeliveriesApi.md#setservice) | **PUT** /deliveries/{delivery_id}/services/{service_id} | Setzt (Upsert) den Wert eines Service für eine Lieferung. Genau das zum Service-Typ passende Feld (`boolValue`/`numericValue`) muss gesetzt sein; numerische Werte werden gegen min/max geprüft. Nur bei aktiver Lieferung.
|
||||
[*DeliveriesApi*](doc/DeliveriesApi.md) | [**updateNote**](doc/DeliveriesApi.md#updatenote) | **PATCH** /deliveries/{delivery_id}/notes/{note_id} | Ändert Text/Bild einer Notiz. Innerhalb des (geteilten) Accounts darf jeder Fahrer Notizen pflegen — kein Autor-Check. `delivery_id` ist Teil des Pfads (REST-Konsistenz), die Notiz wird über `note_id` adressiert.
|
||||
@ -98,7 +104,7 @@ Class | Method | HTTP request | Description
|
||||
[*ServicesApi*](doc/ServicesApi.md) | [**updateService**](doc/ServicesApi.md#updateservice) | **PATCH** /services/{id} | Patcht Name/Grenzen/Aktiv-Flag/Sortierung. `kind` ist nicht änderbar.
|
||||
[*SyncApi*](doc/SyncApi.md) | [**syncTour**](doc/SyncApi.md#synctour) | **POST** /sync/tour | Sync-Endpoint für das ERP: legt eine Tagestour samt Lieferungen und Positionen idempotent an. Identität pro Tour `(driver_personalnummer, tour_date)`, pro Lieferung `(belegart_id, belegnummer)`.
|
||||
[*ToursApi*](doc/ToursApi.md) | [**getTour**](doc/ToursApi.md#gettour) | **GET** /tours/{tour_id} | Lädt eine Tour mit allen Lieferungen, Positionen und referenzierten Stammdaten — die App nutzt das als einzigen großen Read.
|
||||
[*ToursApi*](doc/ToursApi.md) | [**listMyToursToday**](doc/ToursApi.md#listmytourstoday) | **GET** /me/tours/today | Listet heutige Touren des angemeldeten Fahrers (Filter aus dem JWT).
|
||||
[*ToursApi*](doc/ToursApi.md) | [**listMyTours**](doc/ToursApi.md#listmytours) | **GET** /me/tours | Listet die Touren des angemeldeten Fahrers (Filter aus dem JWT) für ein Ziel-Datum. Ohne `?date=` gilt „heute\". Der Fahrer wählt das Datum aktiv im Kopf-Kalender der App (z. B. um die Tour von morgen vorab zu sehen).
|
||||
[*ToursApi*](doc/ToursApi.md) | [**setDeliveryOrder**](doc/ToursApi.md#setdeliveryorder) | **PUT** /tours/{tour_id}/delivery-order | Schreibt die Sortier-Reihenfolge aller Lieferungen einer Tour neu. Der Client schickt die **vollständige** neue Reihenfolge; fehlende oder fremde Lieferungs-Ids werden mit `400 validation` abgelehnt.
|
||||
|
||||
|
||||
@ -116,6 +122,8 @@ Class | Method | HTTP request | Description
|
||||
- [CarResponse](doc/CarResponse.md)
|
||||
- [CarsList](doc/CarsList.md)
|
||||
- [CompleteDeliveryAcknowledgements](doc/CompleteDeliveryAcknowledgements.md)
|
||||
- [CompletedDeliveriesResponse](doc/CompletedDeliveriesResponse.md)
|
||||
- [CompletedDeliveryItem](doc/CompletedDeliveryItem.md)
|
||||
- [ContactChannel](doc/ContactChannel.md)
|
||||
- [ContactKind](doc/ContactKind.md)
|
||||
- [ContactRole](doc/ContactRole.md)
|
||||
@ -132,10 +140,13 @@ Class | Method | HTTP request | Description
|
||||
- [DeliveryCredit](doc/DeliveryCredit.md)
|
||||
- [DeliveryCreditEventRequest](doc/DeliveryCreditEventRequest.md)
|
||||
- [DeliveryCreditResponse](doc/DeliveryCreditResponse.md)
|
||||
- [DeliveryDetails](doc/DeliveryDetails.md)
|
||||
- [DeliveryItem](doc/DeliveryItem.md)
|
||||
- [DeliveryNote](doc/DeliveryNote.md)
|
||||
- [DeliveryNoteResponse](doc/DeliveryNoteResponse.md)
|
||||
- [DeliveryOrderEntry](doc/DeliveryOrderEntry.md)
|
||||
- [DeliveryPayment](doc/DeliveryPayment.md)
|
||||
- [DeliveryPaymentResponse](doc/DeliveryPaymentResponse.md)
|
||||
- [DeliveryResponse](doc/DeliveryResponse.md)
|
||||
- [DeliveryServiceResponse](doc/DeliveryServiceResponse.md)
|
||||
- [DeliveryServiceValue](doc/DeliveryServiceValue.md)
|
||||
@ -148,6 +159,11 @@ Class | Method | HTTP request | Description
|
||||
- [PaymentMethod](doc/PaymentMethod.md)
|
||||
- [PaymentMethodResponse](doc/PaymentMethodResponse.md)
|
||||
- [PaymentMethodsList](doc/PaymentMethodsList.md)
|
||||
- [PendingReviewResponse](doc/PendingReviewResponse.md)
|
||||
- [PositionsModifiedResponse](doc/PositionsModifiedResponse.md)
|
||||
- [RecordDeliveryPaymentRequest](doc/RecordDeliveryPaymentRequest.md)
|
||||
- [ResolveReviewRequest](doc/ResolveReviewRequest.md)
|
||||
- [ReviewedItemResponse](doc/ReviewedItemResponse.md)
|
||||
- [ScanEvent](doc/ScanEvent.md)
|
||||
- [ScanResult](doc/ScanResult.md)
|
||||
- [ScanResultStatus](doc/ScanResultStatus.md)
|
||||
|
||||
@ -9,12 +9,113 @@ All URIs are relative to *http://localhost*
|
||||
|
||||
Method | HTTP request | Description
|
||||
------------- | ------------- | -------------
|
||||
[**belegeDetails**](AdminApi.md#belegedetails) | **GET** /admin/belege/{belegnummer} | Liefert das **volle Detail-Paket** zu einer ERP-Belegnummer: die Lieferung mit Positionen (inkl. Scan-Ständen), Kunde + Ansprechpartner, referenzierte Artikel/Lager, Notizen, Geld-Gutschrift, Dienstleistungswerte und Kontakte — destilliert aus dem Tour-Aggregat. Jede Lieferung, unabhängig vom Status. `404`, wenn die Belegnummer unbekannt ist.
|
||||
[**completedDeliveries**](AdminApi.md#completeddeliveries) | **GET** /admin/completed-deliveries | Liefert **alle** abgeschlossenen (ausgelieferten) Lieferungen — optional auf einen Datumsbereich eingegrenzt, unabhängig vom Mail-Versand-Status. Gefiltert wird über den **Berliner** Kalendertag des Abschluss-Zeitpunkts (`completed_at`).
|
||||
[**deliveredBelegnummern**](AdminApi.md#deliveredbelegnummern) | **GET** /admin/delivered-belegnummern | Liefert die Belegnummern ausgelieferter (abgeschlossener) Lieferungen, **deren Liefermail noch nicht versendet wurde** (`mail_sent_at IS NULL`). „Ausgeliefert\" = es existiert ein Abschluss. Mit `day` (DD-MM-YYYY) nur Abschlüsse dieses Berliner Kalendertages; **ohne `day` alle offenen** (über alle Tage) — so bleiben Belege über Mitternacht nicht hängen.
|
||||
[**importErp**](AdminApi.md#importerp) | **POST** /admin/import-erp | Stößt den ERP-Import für ein Datum an und liefert die Zusammenfassung.
|
||||
[**listReviews**](AdminApi.md#listreviews) | **GET** /admin/reviews | Listet alle geänderten Lieferscheine, die noch auf eine manuelle Bestätigung (Vier-Augen) warten — Entfernungen und/oder Geld-Gutschriften.
|
||||
[**markMailSent**](AdminApi.md#markmailsent) | **POST** /admin/mark-mail-sent | Markiert die Liefermails der angegebenen Belegnummern als **versendet** (`mail_sent_at = now()`, nur wo noch offen). Vom Mailclient aufzurufen, NACHDEM ERPframe die Mails erfolgreich verschickt hat — danach erscheinen die Belege nicht mehr in `GET /admin/delivered-belegnummern`.
|
||||
[**positionsModified**](AdminApi.md#positionsmodified) | **GET** /admin/belege/{belegnummer}/positions-modified | Liefert zu **einer** ERP-Belegnummer, ob an der Lieferung Positionen verändert wurden (Menge reduziert/Zeile entfernt oder Geld-Gutschrift) — unabhängig vom Zustand der Lieferung. `404`, wenn die Belegnummer unbekannt ist. Gibt es mehrere Lieferungen mit derselben Belegnummer, ist das Flag `true`, sobald **eine** davon verändert ist.
|
||||
[**pushCompletion**](AdminApi.md#pushcompletion) | **POST** /admin/push-completion | Stößt das ERP-Rückschreiben eines bereits lokal abgeschlossenen Lieferabschlusses erneut an (idempotenter Retry, falls der automatische Push beim Abschluss fehlschlug).
|
||||
[**resolveReview**](AdminApi.md#resolvereview) | **POST** /admin/reviews/{delivery_id}/resolve | Bestätigt die Prüfung einer geänderten Lieferung (Vier-Augen) — die Lieferung verschwindet danach aus `GET /admin/reviews` (sofern nicht erneut geändert).
|
||||
|
||||
|
||||
# **belegeDetails**
|
||||
> DeliveryDetails belegeDetails(belegnummer)
|
||||
|
||||
Liefert das **volle Detail-Paket** zu einer ERP-Belegnummer: die Lieferung mit Positionen (inkl. Scan-Ständen), Kunde + Ansprechpartner, referenzierte Artikel/Lager, Notizen, Geld-Gutschrift, Dienstleistungswerte und Kontakte — destilliert aus dem Tour-Aggregat. Jede Lieferung, unabhängig vom Status. `404`, wenn die Belegnummer unbekannt ist.
|
||||
|
||||
### Example
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
// TODO Configure API key authorization: admin_api_key
|
||||
//defaultApiClient.getAuthentication<ApiKeyAuth>('admin_api_key').apiKey = 'YOUR_API_KEY';
|
||||
// uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||
//defaultApiClient.getAuthentication<ApiKeyAuth>('admin_api_key').apiKeyPrefix = 'Bearer';
|
||||
|
||||
final api = HolzleitnerApi().getAdminApi();
|
||||
final String belegnummer = belegnummer_example; // String | ERP-Belegnummer, z. B. V-30690291
|
||||
|
||||
try {
|
||||
final response = api.belegeDetails(belegnummer);
|
||||
print(response);
|
||||
} catch on DioException (e) {
|
||||
print('Exception when calling AdminApi->belegeDetails: $e\n');
|
||||
}
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**belegnummer** | **String**| ERP-Belegnummer, z. B. V-30690291 |
|
||||
|
||||
### Return type
|
||||
|
||||
[**DeliveryDetails**](DeliveryDetails.md)
|
||||
|
||||
### Authorization
|
||||
|
||||
[admin_api_key](../README.md#admin_api_key)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: Not defined
|
||||
- **Accept**: application/json
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **completedDeliveries**
|
||||
> CompletedDeliveriesResponse completedDeliveries(day, from, to)
|
||||
|
||||
Liefert **alle** abgeschlossenen (ausgelieferten) Lieferungen — optional auf einen Datumsbereich eingegrenzt, unabhängig vom Mail-Versand-Status. Gefiltert wird über den **Berliner** Kalendertag des Abschluss-Zeitpunkts (`completed_at`).
|
||||
|
||||
Parameter (alle `DD-MM-YYYY`, alle optional): `day` = Einzeltag (Kurzform `from=to=day`), sonst `from`/`to` als **inklusive** Bereichsgrenzen (je offen). **Ohne jeden Parameter → ALLE ausgelieferten Belege** (kein Datumsfilter). Pro Lieferung: Belegnummer + `positions_modified` (Menge reduziert/Zeile entfernt oder Geld-Gutschrift). Die Halb-Grenzen-Variante ist für Range-Filter gedacht: `?from=…` und `?to=…` liefern je eine Menge, deren SQL-`AND`-Schnitt den Zeitraum ergibt.
|
||||
|
||||
### Example
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
// TODO Configure API key authorization: admin_api_key
|
||||
//defaultApiClient.getAuthentication<ApiKeyAuth>('admin_api_key').apiKey = 'YOUR_API_KEY';
|
||||
// uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||
//defaultApiClient.getAuthentication<ApiKeyAuth>('admin_api_key').apiKeyPrefix = 'Bearer';
|
||||
|
||||
final api = HolzleitnerApi().getAdminApi();
|
||||
final String day = day_example; // String | Einzeltag DD-MM-YYYY (Kurzform from=to)
|
||||
final String from = from_example; // String | Untere Grenze DD-MM-YYYY (inklusive)
|
||||
final String to = to_example; // String | Obere Grenze DD-MM-YYYY (inklusive)
|
||||
|
||||
try {
|
||||
final response = api.completedDeliveries(day, from, to);
|
||||
print(response);
|
||||
} catch on DioException (e) {
|
||||
print('Exception when calling AdminApi->completedDeliveries: $e\n');
|
||||
}
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**day** | **String**| Einzeltag DD-MM-YYYY (Kurzform from=to) | [optional]
|
||||
**from** | **String**| Untere Grenze DD-MM-YYYY (inklusive) | [optional]
|
||||
**to** | **String**| Obere Grenze DD-MM-YYYY (inklusive) | [optional]
|
||||
|
||||
### Return type
|
||||
|
||||
[**CompletedDeliveriesResponse**](CompletedDeliveriesResponse.md)
|
||||
|
||||
### Authorization
|
||||
|
||||
[admin_api_key](../README.md#admin_api_key)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: Not defined
|
||||
- **Accept**: application/json
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **deliveredBelegnummern**
|
||||
> DeliveredBelegnummernResponse deliveredBelegnummern(day)
|
||||
|
||||
@ -105,6 +206,47 @@ Name | Type | Description | Notes
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **listReviews**
|
||||
> BuiltList<PendingReviewResponse> listReviews()
|
||||
|
||||
Listet alle geänderten Lieferscheine, die noch auf eine manuelle Bestätigung (Vier-Augen) warten — Entfernungen und/oder Geld-Gutschriften.
|
||||
|
||||
### Example
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
// TODO Configure API key authorization: admin_api_key
|
||||
//defaultApiClient.getAuthentication<ApiKeyAuth>('admin_api_key').apiKey = 'YOUR_API_KEY';
|
||||
// uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||
//defaultApiClient.getAuthentication<ApiKeyAuth>('admin_api_key').apiKeyPrefix = 'Bearer';
|
||||
|
||||
final api = HolzleitnerApi().getAdminApi();
|
||||
|
||||
try {
|
||||
final response = api.listReviews();
|
||||
print(response);
|
||||
} catch on DioException (e) {
|
||||
print('Exception when calling AdminApi->listReviews: $e\n');
|
||||
}
|
||||
```
|
||||
|
||||
### Parameters
|
||||
This endpoint does not need any parameter.
|
||||
|
||||
### Return type
|
||||
|
||||
[**BuiltList<PendingReviewResponse>**](PendingReviewResponse.md)
|
||||
|
||||
### Authorization
|
||||
|
||||
[admin_api_key](../README.md#admin_api_key)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: Not defined
|
||||
- **Accept**: application/json
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **markMailSent**
|
||||
> MarkMailSentResponse markMailSent(markMailSentRequest)
|
||||
|
||||
@ -150,6 +292,51 @@ Name | Type | Description | Notes
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **positionsModified**
|
||||
> PositionsModifiedResponse positionsModified(belegnummer)
|
||||
|
||||
Liefert zu **einer** ERP-Belegnummer, ob an der Lieferung Positionen verändert wurden (Menge reduziert/Zeile entfernt oder Geld-Gutschrift) — unabhängig vom Zustand der Lieferung. `404`, wenn die Belegnummer unbekannt ist. Gibt es mehrere Lieferungen mit derselben Belegnummer, ist das Flag `true`, sobald **eine** davon verändert ist.
|
||||
|
||||
### Example
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
// TODO Configure API key authorization: admin_api_key
|
||||
//defaultApiClient.getAuthentication<ApiKeyAuth>('admin_api_key').apiKey = 'YOUR_API_KEY';
|
||||
// uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||
//defaultApiClient.getAuthentication<ApiKeyAuth>('admin_api_key').apiKeyPrefix = 'Bearer';
|
||||
|
||||
final api = HolzleitnerApi().getAdminApi();
|
||||
final String belegnummer = belegnummer_example; // String | ERP-Belegnummer, z. B. V-30690291
|
||||
|
||||
try {
|
||||
final response = api.positionsModified(belegnummer);
|
||||
print(response);
|
||||
} catch on DioException (e) {
|
||||
print('Exception when calling AdminApi->positionsModified: $e\n');
|
||||
}
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**belegnummer** | **String**| ERP-Belegnummer, z. B. V-30690291 |
|
||||
|
||||
### Return type
|
||||
|
||||
[**PositionsModifiedResponse**](PositionsModifiedResponse.md)
|
||||
|
||||
### Authorization
|
||||
|
||||
[admin_api_key](../README.md#admin_api_key)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: Not defined
|
||||
- **Accept**: application/json
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **pushCompletion**
|
||||
> pushCompletion(deliveryId)
|
||||
|
||||
@ -194,3 +381,49 @@ void (empty response body)
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **resolveReview**
|
||||
> resolveReview(deliveryId, resolveReviewRequest)
|
||||
|
||||
Bestätigt die Prüfung einer geänderten Lieferung (Vier-Augen) — die Lieferung verschwindet danach aus `GET /admin/reviews` (sofern nicht erneut geändert).
|
||||
|
||||
### Example
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
// TODO Configure API key authorization: admin_api_key
|
||||
//defaultApiClient.getAuthentication<ApiKeyAuth>('admin_api_key').apiKey = 'YOUR_API_KEY';
|
||||
// uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||
//defaultApiClient.getAuthentication<ApiKeyAuth>('admin_api_key').apiKeyPrefix = 'Bearer';
|
||||
|
||||
final api = HolzleitnerApi().getAdminApi();
|
||||
final String deliveryId = deliveryId_example; // String | UUID der Lieferung
|
||||
final ResolveReviewRequest resolveReviewRequest = ; // ResolveReviewRequest |
|
||||
|
||||
try {
|
||||
api.resolveReview(deliveryId, resolveReviewRequest);
|
||||
} catch on DioException (e) {
|
||||
print('Exception when calling AdminApi->resolveReview: $e\n');
|
||||
}
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**deliveryId** | **String**| UUID der Lieferung |
|
||||
**resolveReviewRequest** | [**ResolveReviewRequest**](ResolveReviewRequest.md)| |
|
||||
|
||||
### Return type
|
||||
|
||||
void (empty response body)
|
||||
|
||||
### Authorization
|
||||
|
||||
[admin_api_key](../README.md#admin_api_key)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: application/json
|
||||
- **Accept**: Not defined
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
|
||||
18
packages/holzleitner_api/doc/CompletedDeliveriesResponse.md
Normal file
18
packages/holzleitner_api/doc/CompletedDeliveriesResponse.md
Normal file
@ -0,0 +1,18 @@
|
||||
# holzleitner_api.model.CompletedDeliveriesResponse
|
||||
|
||||
## Load the model package
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
```
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**count** | **int** | Anzahl der abgeschlossenen Lieferungen im Bereich. |
|
||||
**deliveries** | [**BuiltList<CompletedDeliveryItem>**](CompletedDeliveryItem.md) | Die abgeschlossenen Lieferungen, aufsteigend nach Abschluss-Zeitpunkt. |
|
||||
**from** | **String** | Wirksame untere Grenze (ISO `YYYY-MM-DD`) oder `null` (offen). | [optional]
|
||||
**to** | **String** | Wirksame obere Grenze (ISO `YYYY-MM-DD`) oder `null` (offen). | [optional]
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
||||
16
packages/holzleitner_api/doc/CompletedDeliveryItem.md
Normal file
16
packages/holzleitner_api/doc/CompletedDeliveryItem.md
Normal file
@ -0,0 +1,16 @@
|
||||
# holzleitner_api.model.CompletedDeliveryItem
|
||||
|
||||
## Load the model package
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
```
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**belegnummer** | **String** | ERP-Belegnummer der Lieferung. |
|
||||
**positionsModified** | **bool** | `true`, wenn an der Lieferung Positionen verändert wurden — eine Zeile wurde entfernt oder in der Menge reduziert (Stück-Gutschrift) **oder** es liegt eine aktive Geld-Gutschrift vor. |
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
||||
@ -17,6 +17,7 @@ Method | HTTP request | Description
|
||||
[**deleteNote**](DeliveriesApi.md#deletenote) | **DELETE** /deliveries/{delivery_id}/notes/{note_id} | Löscht eine Notiz. Antwortet mit `204 No Content`.
|
||||
[**deleteServiceValue**](DeliveriesApi.md#deleteservicevalue) | **DELETE** /deliveries/{delivery_id}/services/{service_id} | Entfernt den Service-Wert einer Lieferung (Service „nicht gesetzt\"). Nur bei aktiver Lieferung. Antwort `204`.
|
||||
[**hold**](DeliveriesApi.md#hold) | **POST** /deliveries/{delivery_id}/hold | Setzt die Lieferung auf `held`. Nur aus `active` zulässig.
|
||||
[**recordPayment**](DeliveriesApi.md#recordpayment) | **POST** /deliveries/{delivery_id}/payment | Protokolliert die Zahlungsabwicklung („Abkassieren\") einer Lieferung. Append-only, idempotent über `clientEventId`. Der Server berechnet den offenen Betrag selbst; er muss > 0 sein und `expectedAmountCents` entsprechen. Nur bei aktiver Lieferung und aktiver Zahlungsmethode.
|
||||
[**resume**](DeliveriesApi.md#resume) | **POST** /deliveries/{delivery_id}/resume | Setzt die Lieferung zurück auf `active`. Nur aus `held` zulässig.
|
||||
[**setService**](DeliveriesApi.md#setservice) | **PUT** /deliveries/{delivery_id}/services/{service_id} | Setzt (Upsert) den Wert eines Service für eine Lieferung. Genau das zum Service-Typ passende Feld (`boolValue`/`numericValue`) muss gesetzt sein; numerische Werte werden gegen min/max geprüft. Nur bei aktiver Lieferung.
|
||||
[**updateNote**](DeliveriesApi.md#updatenote) | **PATCH** /deliveries/{delivery_id}/notes/{note_id} | Ändert Text/Bild einer Notiz. Innerhalb des (geteilten) Accounts darf jeder Fahrer Notizen pflegen — kein Autor-Check. `delivery_id` ist Teil des Pfads (REST-Konsistenz), die Notiz wird über `note_id` adressiert.
|
||||
@ -365,6 +366,49 @@ Name | Type | Description | Notes
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **recordPayment**
|
||||
> DeliveryPaymentResponse recordPayment(deliveryId, recordDeliveryPaymentRequest)
|
||||
|
||||
Protokolliert die Zahlungsabwicklung („Abkassieren\") einer Lieferung. Append-only, idempotent über `clientEventId`. Der Server berechnet den offenen Betrag selbst; er muss > 0 sein und `expectedAmountCents` entsprechen. Nur bei aktiver Lieferung und aktiver Zahlungsmethode.
|
||||
|
||||
### Example
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
|
||||
final api = HolzleitnerApi().getDeliveriesApi();
|
||||
final String deliveryId = 38400000-8cf0-11bd-b23e-10b96e4ef00d; // String |
|
||||
final RecordDeliveryPaymentRequest recordDeliveryPaymentRequest = ; // RecordDeliveryPaymentRequest |
|
||||
|
||||
try {
|
||||
final response = api.recordPayment(deliveryId, recordDeliveryPaymentRequest);
|
||||
print(response);
|
||||
} catch on DioException (e) {
|
||||
print('Exception when calling DeliveriesApi->recordPayment: $e\n');
|
||||
}
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**deliveryId** | **String**| |
|
||||
**recordDeliveryPaymentRequest** | [**RecordDeliveryPaymentRequest**](RecordDeliveryPaymentRequest.md)| |
|
||||
|
||||
### Return type
|
||||
|
||||
[**DeliveryPaymentResponse**](DeliveryPaymentResponse.md)
|
||||
|
||||
### Authorization
|
||||
|
||||
[bearer_auth](../README.md#bearer_auth)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: application/json
|
||||
- **Accept**: application/json
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **resume**
|
||||
> DeliveryResponse resume(deliveryId)
|
||||
|
||||
|
||||
27
packages/holzleitner_api/doc/DeliveryDetails.md
Normal file
27
packages/holzleitner_api/doc/DeliveryDetails.md
Normal file
@ -0,0 +1,27 @@
|
||||
# holzleitner_api.model.DeliveryDetails
|
||||
|
||||
## Load the model package
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
```
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**articles** | [**BuiltList<Article>**](Article.md) | Nur die von den Positionen referenzierten Artikel. |
|
||||
**contactChannels** | [**BuiltList<ContactChannel>**](ContactChannel.md) | Die zu `contactSources` gehörenden Einzel-Kanäle. Join per `sourceId`. |
|
||||
**contactSources** | [**BuiltList<ContactSource>**](ContactSource.md) | Kontaktquellen der Lieferung (Liefer-/Rechnungsadresse, Ansprechpartner …). |
|
||||
**credit** | [**DeliveryCredit**](DeliveryCredit.md) | Aktuelle Betrags-Gutschrift (`null`, wenn keine aktiv). | [optional]
|
||||
**customer** | [**Customer**](Customer.md) | Der Kunde der Lieferung (`null`, falls unauffindbar — sollte nicht vorkommen). | [optional]
|
||||
**customerContacts** | [**BuiltList<CustomerContact>**](CustomerContact.md) | Ansprechpartner des Kunden. |
|
||||
**delivery** | [**DeliveryWithItems**](DeliveryWithItems.md) | Die Lieferung selbst inkl. Positionen (mit Scan-Ständen) und `sortOrder`. |
|
||||
**deliveryServices** | [**BuiltList<DeliveryServiceValue>**](DeliveryServiceValue.md) | Für diese Lieferung gesetzte Service-Werte. |
|
||||
**notes** | [**BuiltList<DeliveryNote>**](DeliveryNote.md) | Notizen der Lieferung, aufsteigend nach `createdAt`. |
|
||||
**payment** | [**DeliveryPayment**](DeliveryPayment.md) | Jüngste protokollierte Zahlungsabwicklung (`None` = keine). | [optional]
|
||||
**services** | [**BuiltList<Service>**](Service.md) | Aktive Service-Definitionen (Stammdaten). |
|
||||
**tour** | [**Tour**](Tour.md) | Die Tour, zu der die Lieferung gehört. |
|
||||
**warehouses** | [**BuiltList<Warehouse>**](Warehouse.md) | Nur die von den Positionen referenzierten Lager. |
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
||||
22
packages/holzleitner_api/doc/DeliveryPayment.md
Normal file
22
packages/holzleitner_api/doc/DeliveryPayment.md
Normal file
@ -0,0 +1,22 @@
|
||||
# holzleitner_api.model.DeliveryPayment
|
||||
|
||||
## Load the model package
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
```
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**amountCents** | **int** | Abgewickelter Betrag in Cent (offener Betrag bei Bestätigung). |
|
||||
**deliveryId** | **String** | |
|
||||
**id** | **String** | |
|
||||
**paymentMethodCode** | **String** | Snapshot des Methoden-Codes (`cash`, `ec_card`, `invoice`, …). |
|
||||
**paymentMethodId** | **String** | |
|
||||
**recordedAt** | [**DateTime**](DateTime.md) | |
|
||||
**recordedByCarId** | **String** | | [optional]
|
||||
**recordedByPersonalnummer** | **int** | |
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
||||
15
packages/holzleitner_api/doc/DeliveryPaymentResponse.md
Normal file
15
packages/holzleitner_api/doc/DeliveryPaymentResponse.md
Normal file
@ -0,0 +1,15 @@
|
||||
# holzleitner_api.model.DeliveryPaymentResponse
|
||||
|
||||
## Load the model package
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
```
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**payment** | [**DeliveryPayment**](DeliveryPayment.md) | |
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
||||
23
packages/holzleitner_api/doc/PendingReviewResponse.md
Normal file
23
packages/holzleitner_api/doc/PendingReviewResponse.md
Normal file
@ -0,0 +1,23 @@
|
||||
# holzleitner_api.model.PendingReviewResponse
|
||||
|
||||
## Load the model package
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
```
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**creditedItems** | [**BuiltList<ReviewedItemResponse>**](ReviewedItemResponse.md) | Entfernte/teil-gutgeschriebene Positionen. |
|
||||
**customerName** | **String** | |
|
||||
**deliveryId** | **String** | |
|
||||
**erpBelegartId** | **int** | |
|
||||
**erpBelegnummer** | **String** | |
|
||||
**lastChangeAt** | **String** | Zeitpunkt der letzten beleg-ändernden Aktion (RFC 3339). |
|
||||
**moneyCreditCents** | **int** | Geld-Gutschrift in Cent (0 = keine). |
|
||||
**moneyCreditReason** | **String** | | [optional]
|
||||
**tourDate** | **String** | Tourdatum (ISO `YYYY-MM-DD`). |
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
||||
16
packages/holzleitner_api/doc/PositionsModifiedResponse.md
Normal file
16
packages/holzleitner_api/doc/PositionsModifiedResponse.md
Normal file
@ -0,0 +1,16 @@
|
||||
# holzleitner_api.model.PositionsModifiedResponse
|
||||
|
||||
## Load the model package
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
```
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**belegnummer** | **String** | ERP-Belegnummer, nach der gefragt wurde. |
|
||||
**positionsModified** | **bool** | `true`, wenn an der Lieferung Positionen verändert wurden — eine Zeile wurde entfernt oder in der Menge reduziert (Stück-Gutschrift) **oder** es liegt eine aktive Geld-Gutschrift vor. |
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
||||
18
packages/holzleitner_api/doc/RecordDeliveryPaymentRequest.md
Normal file
18
packages/holzleitner_api/doc/RecordDeliveryPaymentRequest.md
Normal file
@ -0,0 +1,18 @@
|
||||
# holzleitner_api.model.RecordDeliveryPaymentRequest
|
||||
|
||||
## Load the model package
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
```
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**authorCarId** | **String** | Fahrzeug des Akteurs (Audit-Spur). Muss zum Account gehören. | [optional]
|
||||
**clientEventId** | **String** | Idempotenz-Schlüssel — pro Bestätigung genau einmal vergeben. |
|
||||
**expectedAmountCents** | **int** | Betrag in Cent, den der Fahrer in der App gesehen und bestätigt hat. Der Server berechnet den offenen Betrag selbst und lehnt ab, wenn er davon abweicht — so landet nie ein Betrag im Protokoll, den der Fahrer nicht gesehen hat. |
|
||||
**paymentMethodId** | **String** | Gewählte Zahlungsmethode. Muss existieren und aktiv sein. |
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
||||
16
packages/holzleitner_api/doc/ResolveReviewRequest.md
Normal file
16
packages/holzleitner_api/doc/ResolveReviewRequest.md
Normal file
@ -0,0 +1,16 @@
|
||||
# holzleitner_api.model.ResolveReviewRequest
|
||||
|
||||
## Load the model package
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
```
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**note** | **String** | Optionale Notiz zur getroffenen Entscheidung. | [optional]
|
||||
**resolvedBy** | **String** | Bearbeiter (Name/Kürzel), der die Prüfung bestätigt. |
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
||||
20
packages/holzleitner_api/doc/ReviewedItemResponse.md
Normal file
20
packages/holzleitner_api/doc/ReviewedItemResponse.md
Normal file
@ -0,0 +1,20 @@
|
||||
# holzleitner_api.model.ReviewedItemResponse
|
||||
|
||||
## Load the model package
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
```
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**articleName** | **String** | |
|
||||
**artikelNr** | **String** | |
|
||||
**belegzeilenNr** | **int** | |
|
||||
**creditedQuantity** | **int** | |
|
||||
**reason** | **String** | | [optional]
|
||||
**requiredQuantity** | **int** | |
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
||||
@ -17,6 +17,7 @@ Name | Type | Description | Notes
|
||||
**deliveries** | [**BuiltList<DeliveryWithItems>**](DeliveryWithItems.md) | |
|
||||
**deliveryServices** | [**BuiltList<DeliveryServiceValue>**](DeliveryServiceValue.md) | Pro-Lieferung gesetzte Service-Werte. Join per `delivery_id` + `service_id`. |
|
||||
**notes** | [**BuiltList<DeliveryNote>**](DeliveryNote.md) | Alle Notizen aller Lieferungen dieser Tour, in einer Liste. Die App joint clientseitig per `delivery_id`. Reihenfolge: pro Lieferung aufsteigend nach `created_at`. |
|
||||
**payments** | [**BuiltList<DeliveryPayment>**](DeliveryPayment.md) | Jüngste protokollierte Zahlungsabwicklung pro Lieferung (nur Lieferungen mit mindestens einem Eintrag). Join per `delivery_id`. |
|
||||
**services** | [**BuiltList<Service>**](Service.md) | Aktive Service-Definitionen (Stammdaten) — die App rendert daraus Phase 4. Bewusst hier mitgeliefert, damit die Detailseite alles aus dem Tour-Aggregat hat. |
|
||||
**tour** | [**Tour**](Tour.md) | |
|
||||
**warehouses** | [**BuiltList<Warehouse>**](Warehouse.md) | |
|
||||
|
||||
@ -10,7 +10,7 @@ All URIs are relative to *http://localhost*
|
||||
Method | HTTP request | Description
|
||||
------------- | ------------- | -------------
|
||||
[**getTour**](ToursApi.md#gettour) | **GET** /tours/{tour_id} | Lädt eine Tour mit allen Lieferungen, Positionen und referenzierten Stammdaten — die App nutzt das als einzigen großen Read.
|
||||
[**listMyToursToday**](ToursApi.md#listmytourstoday) | **GET** /me/tours/today | Listet heutige Touren des angemeldeten Fahrers (Filter aus dem JWT).
|
||||
[**listMyTours**](ToursApi.md#listmytours) | **GET** /me/tours | Listet die Touren des angemeldeten Fahrers (Filter aus dem JWT) für ein Ziel-Datum. Ohne `?date=` gilt „heute\". Der Fahrer wählt das Datum aktiv im Kopf-Kalender der App (z. B. um die Tour von morgen vorab zu sehen).
|
||||
[**setDeliveryOrder**](ToursApi.md#setdeliveryorder) | **PUT** /tours/{tour_id}/delivery-order | Schreibt die Sortier-Reihenfolge aller Lieferungen einer Tour neu. Der Client schickt die **vollständige** neue Reihenfolge; fehlende oder fremde Lieferungs-Ids werden mit `400 validation` abgelehnt.
|
||||
|
||||
|
||||
@ -55,27 +55,31 @@ Name | Type | Description | Notes
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **listMyToursToday**
|
||||
> TourSummaryList listMyToursToday()
|
||||
# **listMyTours**
|
||||
> TourSummaryList listMyTours(date)
|
||||
|
||||
Listet heutige Touren des angemeldeten Fahrers (Filter aus dem JWT).
|
||||
Listet die Touren des angemeldeten Fahrers (Filter aus dem JWT) für ein Ziel-Datum. Ohne `?date=` gilt „heute\". Der Fahrer wählt das Datum aktiv im Kopf-Kalender der App (z. B. um die Tour von morgen vorab zu sehen).
|
||||
|
||||
### Example
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
|
||||
final api = HolzleitnerApi().getToursApi();
|
||||
final String date = date_example; // String | Ziel-Tourdatum YYYY-MM-DD (Default: heute)
|
||||
|
||||
try {
|
||||
final response = api.listMyToursToday();
|
||||
final response = api.listMyTours(date);
|
||||
print(response);
|
||||
} catch on DioException (e) {
|
||||
print('Exception when calling ToursApi->listMyToursToday: $e\n');
|
||||
print('Exception when calling ToursApi->listMyTours: $e\n');
|
||||
}
|
||||
```
|
||||
|
||||
### Parameters
|
||||
This endpoint does not need any parameter.
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**date** | **String**| Ziel-Tourdatum YYYY-MM-DD (Default: heute) | [optional]
|
||||
|
||||
### Return type
|
||||
|
||||
|
||||
@ -34,6 +34,8 @@ export 'package:holzleitner_api/src/model/car.dart';
|
||||
export 'package:holzleitner_api/src/model/car_response.dart';
|
||||
export 'package:holzleitner_api/src/model/cars_list.dart';
|
||||
export 'package:holzleitner_api/src/model/complete_delivery_acknowledgements.dart';
|
||||
export 'package:holzleitner_api/src/model/completed_deliveries_response.dart';
|
||||
export 'package:holzleitner_api/src/model/completed_delivery_item.dart';
|
||||
export 'package:holzleitner_api/src/model/contact_channel.dart';
|
||||
export 'package:holzleitner_api/src/model/contact_kind.dart';
|
||||
export 'package:holzleitner_api/src/model/contact_role.dart';
|
||||
@ -50,10 +52,13 @@ export 'package:holzleitner_api/src/model/delivery.dart';
|
||||
export 'package:holzleitner_api/src/model/delivery_credit.dart';
|
||||
export 'package:holzleitner_api/src/model/delivery_credit_event_request.dart';
|
||||
export 'package:holzleitner_api/src/model/delivery_credit_response.dart';
|
||||
export 'package:holzleitner_api/src/model/delivery_details.dart';
|
||||
export 'package:holzleitner_api/src/model/delivery_item.dart';
|
||||
export 'package:holzleitner_api/src/model/delivery_note.dart';
|
||||
export 'package:holzleitner_api/src/model/delivery_note_response.dart';
|
||||
export 'package:holzleitner_api/src/model/delivery_order_entry.dart';
|
||||
export 'package:holzleitner_api/src/model/delivery_payment.dart';
|
||||
export 'package:holzleitner_api/src/model/delivery_payment_response.dart';
|
||||
export 'package:holzleitner_api/src/model/delivery_response.dart';
|
||||
export 'package:holzleitner_api/src/model/delivery_service_response.dart';
|
||||
export 'package:holzleitner_api/src/model/delivery_service_value.dart';
|
||||
@ -66,6 +71,11 @@ export 'package:holzleitner_api/src/model/mark_mail_sent_response.dart';
|
||||
export 'package:holzleitner_api/src/model/payment_method.dart';
|
||||
export 'package:holzleitner_api/src/model/payment_method_response.dart';
|
||||
export 'package:holzleitner_api/src/model/payment_methods_list.dart';
|
||||
export 'package:holzleitner_api/src/model/pending_review_response.dart';
|
||||
export 'package:holzleitner_api/src/model/positions_modified_response.dart';
|
||||
export 'package:holzleitner_api/src/model/record_delivery_payment_request.dart';
|
||||
export 'package:holzleitner_api/src/model/resolve_review_request.dart';
|
||||
export 'package:holzleitner_api/src/model/reviewed_item_response.dart';
|
||||
export 'package:holzleitner_api/src/model/scan_event.dart';
|
||||
export 'package:holzleitner_api/src/model/scan_result.dart';
|
||||
export 'package:holzleitner_api/src/model/scan_result_status.dart';
|
||||
|
||||
@ -8,11 +8,17 @@ import 'package:built_value/json_object.dart';
|
||||
import 'package:built_value/serializer.dart';
|
||||
import 'package:dio/dio.dart';
|
||||
|
||||
import 'package:built_collection/built_collection.dart';
|
||||
import 'package:holzleitner_api/src/api_util.dart';
|
||||
import 'package:holzleitner_api/src/model/completed_deliveries_response.dart';
|
||||
import 'package:holzleitner_api/src/model/delivered_belegnummern_response.dart';
|
||||
import 'package:holzleitner_api/src/model/delivery_details.dart';
|
||||
import 'package:holzleitner_api/src/model/import_summary.dart';
|
||||
import 'package:holzleitner_api/src/model/mark_mail_sent_request.dart';
|
||||
import 'package:holzleitner_api/src/model/mark_mail_sent_response.dart';
|
||||
import 'package:holzleitner_api/src/model/pending_review_response.dart';
|
||||
import 'package:holzleitner_api/src/model/positions_modified_response.dart';
|
||||
import 'package:holzleitner_api/src/model/resolve_review_request.dart';
|
||||
|
||||
class AdminApi {
|
||||
|
||||
@ -22,6 +28,181 @@ class AdminApi {
|
||||
|
||||
const AdminApi(this._dio, this._serializers);
|
||||
|
||||
/// Liefert das **volle Detail-Paket** zu einer ERP-Belegnummer: die Lieferung mit Positionen (inkl. Scan-Ständen), Kunde + Ansprechpartner, referenzierte Artikel/Lager, Notizen, Geld-Gutschrift, Dienstleistungswerte und Kontakte — destilliert aus dem Tour-Aggregat. Jede Lieferung, unabhängig vom Status. `404`, wenn die Belegnummer unbekannt ist.
|
||||
///
|
||||
///
|
||||
/// Parameters:
|
||||
/// * [belegnummer] - ERP-Belegnummer, z. B. V-30690291
|
||||
/// * [cancelToken] - A [CancelToken] that can be used to cancel the operation
|
||||
/// * [headers] - Can be used to add additional headers to the request
|
||||
/// * [extras] - Can be used to add flags to the request
|
||||
/// * [validateStatus] - A [ValidateStatus] callback that can be used to determine request success based on the HTTP status of the response
|
||||
/// * [onSendProgress] - A [ProgressCallback] that can be used to get the send progress
|
||||
/// * [onReceiveProgress] - A [ProgressCallback] that can be used to get the receive progress
|
||||
///
|
||||
/// Returns a [Future] containing a [Response] with a [DeliveryDetails] as data
|
||||
/// Throws [DioException] if API call or serialization fails
|
||||
Future<Response<DeliveryDetails>> belegeDetails({
|
||||
required String belegnummer,
|
||||
CancelToken? cancelToken,
|
||||
Map<String, dynamic>? headers,
|
||||
Map<String, dynamic>? extra,
|
||||
ValidateStatus? validateStatus,
|
||||
ProgressCallback? onSendProgress,
|
||||
ProgressCallback? onReceiveProgress,
|
||||
}) async {
|
||||
final _path = r'/admin/belege/{belegnummer}'.replaceAll('{' r'belegnummer' '}', encodeQueryParameter(_serializers, belegnummer, const FullType(String)).toString());
|
||||
final _options = Options(
|
||||
method: r'GET',
|
||||
headers: <String, dynamic>{
|
||||
...?headers,
|
||||
},
|
||||
extra: <String, dynamic>{
|
||||
'secure': <Map<String, String>>[
|
||||
{
|
||||
'type': 'apiKey',
|
||||
'name': 'admin_api_key',
|
||||
'keyName': 'X-Admin-Api-Key',
|
||||
'where': 'header',
|
||||
},
|
||||
],
|
||||
...?extra,
|
||||
},
|
||||
validateStatus: validateStatus,
|
||||
);
|
||||
|
||||
final _response = await _dio.request<Object>(
|
||||
_path,
|
||||
options: _options,
|
||||
cancelToken: cancelToken,
|
||||
onSendProgress: onSendProgress,
|
||||
onReceiveProgress: onReceiveProgress,
|
||||
);
|
||||
|
||||
DeliveryDetails? _responseData;
|
||||
|
||||
try {
|
||||
final rawResponse = _response.data;
|
||||
_responseData = rawResponse == null ? null : _serializers.deserialize(
|
||||
rawResponse,
|
||||
specifiedType: const FullType(DeliveryDetails),
|
||||
) as DeliveryDetails;
|
||||
|
||||
} catch (error, stackTrace) {
|
||||
throw DioException(
|
||||
requestOptions: _response.requestOptions,
|
||||
response: _response,
|
||||
type: DioExceptionType.unknown,
|
||||
error: error,
|
||||
stackTrace: stackTrace,
|
||||
);
|
||||
}
|
||||
|
||||
return Response<DeliveryDetails>(
|
||||
data: _responseData,
|
||||
headers: _response.headers,
|
||||
isRedirect: _response.isRedirect,
|
||||
requestOptions: _response.requestOptions,
|
||||
redirects: _response.redirects,
|
||||
statusCode: _response.statusCode,
|
||||
statusMessage: _response.statusMessage,
|
||||
extra: _response.extra,
|
||||
);
|
||||
}
|
||||
|
||||
/// Liefert **alle** abgeschlossenen (ausgelieferten) Lieferungen — optional auf einen Datumsbereich eingegrenzt, unabhängig vom Mail-Versand-Status. Gefiltert wird über den **Berliner** Kalendertag des Abschluss-Zeitpunkts (`completed_at`).
|
||||
/// Parameter (alle `DD-MM-YYYY`, alle optional): `day` = Einzeltag (Kurzform `from=to=day`), sonst `from`/`to` als **inklusive** Bereichsgrenzen (je offen). **Ohne jeden Parameter → ALLE ausgelieferten Belege** (kein Datumsfilter). Pro Lieferung: Belegnummer + `positions_modified` (Menge reduziert/Zeile entfernt oder Geld-Gutschrift). Die Halb-Grenzen-Variante ist für Range-Filter gedacht: `?from=…` und `?to=…` liefern je eine Menge, deren SQL-`AND`-Schnitt den Zeitraum ergibt.
|
||||
///
|
||||
/// Parameters:
|
||||
/// * [day] - Einzeltag DD-MM-YYYY (Kurzform from=to)
|
||||
/// * [from] - Untere Grenze DD-MM-YYYY (inklusive)
|
||||
/// * [to] - Obere Grenze DD-MM-YYYY (inklusive)
|
||||
/// * [cancelToken] - A [CancelToken] that can be used to cancel the operation
|
||||
/// * [headers] - Can be used to add additional headers to the request
|
||||
/// * [extras] - Can be used to add flags to the request
|
||||
/// * [validateStatus] - A [ValidateStatus] callback that can be used to determine request success based on the HTTP status of the response
|
||||
/// * [onSendProgress] - A [ProgressCallback] that can be used to get the send progress
|
||||
/// * [onReceiveProgress] - A [ProgressCallback] that can be used to get the receive progress
|
||||
///
|
||||
/// Returns a [Future] containing a [Response] with a [CompletedDeliveriesResponse] as data
|
||||
/// Throws [DioException] if API call or serialization fails
|
||||
Future<Response<CompletedDeliveriesResponse>> completedDeliveries({
|
||||
String? day,
|
||||
String? from,
|
||||
String? to,
|
||||
CancelToken? cancelToken,
|
||||
Map<String, dynamic>? headers,
|
||||
Map<String, dynamic>? extra,
|
||||
ValidateStatus? validateStatus,
|
||||
ProgressCallback? onSendProgress,
|
||||
ProgressCallback? onReceiveProgress,
|
||||
}) async {
|
||||
final _path = r'/admin/completed-deliveries';
|
||||
final _options = Options(
|
||||
method: r'GET',
|
||||
headers: <String, dynamic>{
|
||||
...?headers,
|
||||
},
|
||||
extra: <String, dynamic>{
|
||||
'secure': <Map<String, String>>[
|
||||
{
|
||||
'type': 'apiKey',
|
||||
'name': 'admin_api_key',
|
||||
'keyName': 'X-Admin-Api-Key',
|
||||
'where': 'header',
|
||||
},
|
||||
],
|
||||
...?extra,
|
||||
},
|
||||
validateStatus: validateStatus,
|
||||
);
|
||||
|
||||
final _queryParameters = <String, dynamic>{
|
||||
if (day != null) r'day': encodeQueryParameter(_serializers, day, const FullType(String)),
|
||||
if (from != null) r'from': encodeQueryParameter(_serializers, from, const FullType(String)),
|
||||
if (to != null) r'to': encodeQueryParameter(_serializers, to, const FullType(String)),
|
||||
};
|
||||
|
||||
final _response = await _dio.request<Object>(
|
||||
_path,
|
||||
options: _options,
|
||||
queryParameters: _queryParameters,
|
||||
cancelToken: cancelToken,
|
||||
onSendProgress: onSendProgress,
|
||||
onReceiveProgress: onReceiveProgress,
|
||||
);
|
||||
|
||||
CompletedDeliveriesResponse? _responseData;
|
||||
|
||||
try {
|
||||
final rawResponse = _response.data;
|
||||
_responseData = rawResponse == null ? null : _serializers.deserialize(
|
||||
rawResponse,
|
||||
specifiedType: const FullType(CompletedDeliveriesResponse),
|
||||
) as CompletedDeliveriesResponse;
|
||||
|
||||
} catch (error, stackTrace) {
|
||||
throw DioException(
|
||||
requestOptions: _response.requestOptions,
|
||||
response: _response,
|
||||
type: DioExceptionType.unknown,
|
||||
error: error,
|
||||
stackTrace: stackTrace,
|
||||
);
|
||||
}
|
||||
|
||||
return Response<CompletedDeliveriesResponse>(
|
||||
data: _responseData,
|
||||
headers: _response.headers,
|
||||
isRedirect: _response.isRedirect,
|
||||
requestOptions: _response.requestOptions,
|
||||
redirects: _response.redirects,
|
||||
statusCode: _response.statusCode,
|
||||
statusMessage: _response.statusMessage,
|
||||
extra: _response.extra,
|
||||
);
|
||||
}
|
||||
|
||||
/// Liefert die Belegnummern ausgelieferter (abgeschlossener) Lieferungen, **deren Liefermail noch nicht versendet wurde** (`mail_sent_at IS NULL`). „Ausgeliefert\" = es existiert ein Abschluss. Mit `day` (DD-MM-YYYY) nur Abschlüsse dieses Berliner Kalendertages; **ohne `day` alle offenen** (über alle Tage) — so bleiben Belege über Mitternacht nicht hängen.
|
||||
///
|
||||
///
|
||||
@ -196,6 +377,86 @@ class AdminApi {
|
||||
);
|
||||
}
|
||||
|
||||
/// Listet alle geänderten Lieferscheine, die noch auf eine manuelle Bestätigung (Vier-Augen) warten — Entfernungen und/oder Geld-Gutschriften.
|
||||
///
|
||||
///
|
||||
/// Parameters:
|
||||
/// * [cancelToken] - A [CancelToken] that can be used to cancel the operation
|
||||
/// * [headers] - Can be used to add additional headers to the request
|
||||
/// * [extras] - Can be used to add flags to the request
|
||||
/// * [validateStatus] - A [ValidateStatus] callback that can be used to determine request success based on the HTTP status of the response
|
||||
/// * [onSendProgress] - A [ProgressCallback] that can be used to get the send progress
|
||||
/// * [onReceiveProgress] - A [ProgressCallback] that can be used to get the receive progress
|
||||
///
|
||||
/// Returns a [Future] containing a [Response] with a [BuiltList<PendingReviewResponse>] as data
|
||||
/// Throws [DioException] if API call or serialization fails
|
||||
Future<Response<BuiltList<PendingReviewResponse>>> listReviews({
|
||||
CancelToken? cancelToken,
|
||||
Map<String, dynamic>? headers,
|
||||
Map<String, dynamic>? extra,
|
||||
ValidateStatus? validateStatus,
|
||||
ProgressCallback? onSendProgress,
|
||||
ProgressCallback? onReceiveProgress,
|
||||
}) async {
|
||||
final _path = r'/admin/reviews';
|
||||
final _options = Options(
|
||||
method: r'GET',
|
||||
headers: <String, dynamic>{
|
||||
...?headers,
|
||||
},
|
||||
extra: <String, dynamic>{
|
||||
'secure': <Map<String, String>>[
|
||||
{
|
||||
'type': 'apiKey',
|
||||
'name': 'admin_api_key',
|
||||
'keyName': 'X-Admin-Api-Key',
|
||||
'where': 'header',
|
||||
},
|
||||
],
|
||||
...?extra,
|
||||
},
|
||||
validateStatus: validateStatus,
|
||||
);
|
||||
|
||||
final _response = await _dio.request<Object>(
|
||||
_path,
|
||||
options: _options,
|
||||
cancelToken: cancelToken,
|
||||
onSendProgress: onSendProgress,
|
||||
onReceiveProgress: onReceiveProgress,
|
||||
);
|
||||
|
||||
BuiltList<PendingReviewResponse>? _responseData;
|
||||
|
||||
try {
|
||||
final rawResponse = _response.data;
|
||||
_responseData = rawResponse == null ? null : _serializers.deserialize(
|
||||
rawResponse,
|
||||
specifiedType: const FullType(BuiltList, [FullType(PendingReviewResponse)]),
|
||||
) as BuiltList<PendingReviewResponse>;
|
||||
|
||||
} catch (error, stackTrace) {
|
||||
throw DioException(
|
||||
requestOptions: _response.requestOptions,
|
||||
response: _response,
|
||||
type: DioExceptionType.unknown,
|
||||
error: error,
|
||||
stackTrace: stackTrace,
|
||||
);
|
||||
}
|
||||
|
||||
return Response<BuiltList<PendingReviewResponse>>(
|
||||
data: _responseData,
|
||||
headers: _response.headers,
|
||||
isRedirect: _response.isRedirect,
|
||||
requestOptions: _response.requestOptions,
|
||||
redirects: _response.redirects,
|
||||
statusCode: _response.statusCode,
|
||||
statusMessage: _response.statusMessage,
|
||||
extra: _response.extra,
|
||||
);
|
||||
}
|
||||
|
||||
/// Markiert die Liefermails der angegebenen Belegnummern als **versendet** (`mail_sent_at = now()`, nur wo noch offen). Vom Mailclient aufzurufen, NACHDEM ERPframe die Mails erfolgreich verschickt hat — danach erscheinen die Belege nicht mehr in `GET /admin/delivered-belegnummern`.
|
||||
///
|
||||
///
|
||||
@ -298,6 +559,88 @@ class AdminApi {
|
||||
);
|
||||
}
|
||||
|
||||
/// Liefert zu **einer** ERP-Belegnummer, ob an der Lieferung Positionen verändert wurden (Menge reduziert/Zeile entfernt oder Geld-Gutschrift) — unabhängig vom Zustand der Lieferung. `404`, wenn die Belegnummer unbekannt ist. Gibt es mehrere Lieferungen mit derselben Belegnummer, ist das Flag `true`, sobald **eine** davon verändert ist.
|
||||
///
|
||||
///
|
||||
/// Parameters:
|
||||
/// * [belegnummer] - ERP-Belegnummer, z. B. V-30690291
|
||||
/// * [cancelToken] - A [CancelToken] that can be used to cancel the operation
|
||||
/// * [headers] - Can be used to add additional headers to the request
|
||||
/// * [extras] - Can be used to add flags to the request
|
||||
/// * [validateStatus] - A [ValidateStatus] callback that can be used to determine request success based on the HTTP status of the response
|
||||
/// * [onSendProgress] - A [ProgressCallback] that can be used to get the send progress
|
||||
/// * [onReceiveProgress] - A [ProgressCallback] that can be used to get the receive progress
|
||||
///
|
||||
/// Returns a [Future] containing a [Response] with a [PositionsModifiedResponse] as data
|
||||
/// Throws [DioException] if API call or serialization fails
|
||||
Future<Response<PositionsModifiedResponse>> positionsModified({
|
||||
required String belegnummer,
|
||||
CancelToken? cancelToken,
|
||||
Map<String, dynamic>? headers,
|
||||
Map<String, dynamic>? extra,
|
||||
ValidateStatus? validateStatus,
|
||||
ProgressCallback? onSendProgress,
|
||||
ProgressCallback? onReceiveProgress,
|
||||
}) async {
|
||||
final _path = r'/admin/belege/{belegnummer}/positions-modified'.replaceAll('{' r'belegnummer' '}', encodeQueryParameter(_serializers, belegnummer, const FullType(String)).toString());
|
||||
final _options = Options(
|
||||
method: r'GET',
|
||||
headers: <String, dynamic>{
|
||||
...?headers,
|
||||
},
|
||||
extra: <String, dynamic>{
|
||||
'secure': <Map<String, String>>[
|
||||
{
|
||||
'type': 'apiKey',
|
||||
'name': 'admin_api_key',
|
||||
'keyName': 'X-Admin-Api-Key',
|
||||
'where': 'header',
|
||||
},
|
||||
],
|
||||
...?extra,
|
||||
},
|
||||
validateStatus: validateStatus,
|
||||
);
|
||||
|
||||
final _response = await _dio.request<Object>(
|
||||
_path,
|
||||
options: _options,
|
||||
cancelToken: cancelToken,
|
||||
onSendProgress: onSendProgress,
|
||||
onReceiveProgress: onReceiveProgress,
|
||||
);
|
||||
|
||||
PositionsModifiedResponse? _responseData;
|
||||
|
||||
try {
|
||||
final rawResponse = _response.data;
|
||||
_responseData = rawResponse == null ? null : _serializers.deserialize(
|
||||
rawResponse,
|
||||
specifiedType: const FullType(PositionsModifiedResponse),
|
||||
) as PositionsModifiedResponse;
|
||||
|
||||
} catch (error, stackTrace) {
|
||||
throw DioException(
|
||||
requestOptions: _response.requestOptions,
|
||||
response: _response,
|
||||
type: DioExceptionType.unknown,
|
||||
error: error,
|
||||
stackTrace: stackTrace,
|
||||
);
|
||||
}
|
||||
|
||||
return Response<PositionsModifiedResponse>(
|
||||
data: _responseData,
|
||||
headers: _response.headers,
|
||||
isRedirect: _response.isRedirect,
|
||||
requestOptions: _response.requestOptions,
|
||||
redirects: _response.redirects,
|
||||
statusCode: _response.statusCode,
|
||||
statusMessage: _response.statusMessage,
|
||||
extra: _response.extra,
|
||||
);
|
||||
}
|
||||
|
||||
/// Stößt das ERP-Rückschreiben eines bereits lokal abgeschlossenen Lieferabschlusses erneut an (idempotenter Retry, falls der automatische Push beim Abschluss fehlschlug).
|
||||
///
|
||||
///
|
||||
@ -357,4 +700,80 @@ class AdminApi {
|
||||
return _response;
|
||||
}
|
||||
|
||||
/// Bestätigt die Prüfung einer geänderten Lieferung (Vier-Augen) — die Lieferung verschwindet danach aus `GET /admin/reviews` (sofern nicht erneut geändert).
|
||||
///
|
||||
///
|
||||
/// Parameters:
|
||||
/// * [deliveryId] - UUID der Lieferung
|
||||
/// * [resolveReviewRequest]
|
||||
/// * [cancelToken] - A [CancelToken] that can be used to cancel the operation
|
||||
/// * [headers] - Can be used to add additional headers to the request
|
||||
/// * [extras] - Can be used to add flags to the request
|
||||
/// * [validateStatus] - A [ValidateStatus] callback that can be used to determine request success based on the HTTP status of the response
|
||||
/// * [onSendProgress] - A [ProgressCallback] that can be used to get the send progress
|
||||
/// * [onReceiveProgress] - A [ProgressCallback] that can be used to get the receive progress
|
||||
///
|
||||
/// Returns a [Future]
|
||||
/// Throws [DioException] if API call or serialization fails
|
||||
Future<Response<void>> resolveReview({
|
||||
required String deliveryId,
|
||||
required ResolveReviewRequest resolveReviewRequest,
|
||||
CancelToken? cancelToken,
|
||||
Map<String, dynamic>? headers,
|
||||
Map<String, dynamic>? extra,
|
||||
ValidateStatus? validateStatus,
|
||||
ProgressCallback? onSendProgress,
|
||||
ProgressCallback? onReceiveProgress,
|
||||
}) async {
|
||||
final _path = r'/admin/reviews/{delivery_id}/resolve'.replaceAll('{' r'delivery_id' '}', encodeQueryParameter(_serializers, deliveryId, const FullType(String)).toString());
|
||||
final _options = Options(
|
||||
method: r'POST',
|
||||
headers: <String, dynamic>{
|
||||
...?headers,
|
||||
},
|
||||
extra: <String, dynamic>{
|
||||
'secure': <Map<String, String>>[
|
||||
{
|
||||
'type': 'apiKey',
|
||||
'name': 'admin_api_key',
|
||||
'keyName': 'X-Admin-Api-Key',
|
||||
'where': 'header',
|
||||
},
|
||||
],
|
||||
...?extra,
|
||||
},
|
||||
contentType: 'application/json',
|
||||
validateStatus: validateStatus,
|
||||
);
|
||||
|
||||
dynamic _bodyData;
|
||||
|
||||
try {
|
||||
const _type = FullType(ResolveReviewRequest);
|
||||
_bodyData = _serializers.serialize(resolveReviewRequest, specifiedType: _type);
|
||||
|
||||
} catch(error, stackTrace) {
|
||||
throw DioException(
|
||||
requestOptions: _options.compose(
|
||||
_dio.options,
|
||||
_path,
|
||||
),
|
||||
type: DioExceptionType.unknown,
|
||||
error: error,
|
||||
stackTrace: stackTrace,
|
||||
);
|
||||
}
|
||||
|
||||
final _response = await _dio.request<Object>(
|
||||
_path,
|
||||
data: _bodyData,
|
||||
options: _options,
|
||||
cancelToken: cancelToken,
|
||||
onSendProgress: onSendProgress,
|
||||
onReceiveProgress: onReceiveProgress,
|
||||
);
|
||||
|
||||
return _response;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -15,9 +15,11 @@ import 'package:holzleitner_api/src/model/create_delivery_note_request.dart';
|
||||
import 'package:holzleitner_api/src/model/delivery_credit_event_request.dart';
|
||||
import 'package:holzleitner_api/src/model/delivery_credit_response.dart';
|
||||
import 'package:holzleitner_api/src/model/delivery_note_response.dart';
|
||||
import 'package:holzleitner_api/src/model/delivery_payment_response.dart';
|
||||
import 'package:holzleitner_api/src/model/delivery_response.dart';
|
||||
import 'package:holzleitner_api/src/model/delivery_service_response.dart';
|
||||
import 'package:holzleitner_api/src/model/hold_delivery_request.dart';
|
||||
import 'package:holzleitner_api/src/model/record_delivery_payment_request.dart';
|
||||
import 'package:holzleitner_api/src/model/set_delivery_service_request.dart';
|
||||
import 'package:holzleitner_api/src/model/update_delivery_note_request.dart';
|
||||
|
||||
@ -736,6 +738,109 @@ class DeliveriesApi {
|
||||
);
|
||||
}
|
||||
|
||||
/// Protokolliert die Zahlungsabwicklung („Abkassieren\") einer Lieferung. Append-only, idempotent über `clientEventId`. Der Server berechnet den offenen Betrag selbst; er muss > 0 sein und `expectedAmountCents` entsprechen. Nur bei aktiver Lieferung und aktiver Zahlungsmethode.
|
||||
///
|
||||
///
|
||||
/// Parameters:
|
||||
/// * [deliveryId]
|
||||
/// * [recordDeliveryPaymentRequest]
|
||||
/// * [cancelToken] - A [CancelToken] that can be used to cancel the operation
|
||||
/// * [headers] - Can be used to add additional headers to the request
|
||||
/// * [extras] - Can be used to add flags to the request
|
||||
/// * [validateStatus] - A [ValidateStatus] callback that can be used to determine request success based on the HTTP status of the response
|
||||
/// * [onSendProgress] - A [ProgressCallback] that can be used to get the send progress
|
||||
/// * [onReceiveProgress] - A [ProgressCallback] that can be used to get the receive progress
|
||||
///
|
||||
/// Returns a [Future] containing a [Response] with a [DeliveryPaymentResponse] as data
|
||||
/// Throws [DioException] if API call or serialization fails
|
||||
Future<Response<DeliveryPaymentResponse>> recordPayment({
|
||||
required String deliveryId,
|
||||
required RecordDeliveryPaymentRequest recordDeliveryPaymentRequest,
|
||||
CancelToken? cancelToken,
|
||||
Map<String, dynamic>? headers,
|
||||
Map<String, dynamic>? extra,
|
||||
ValidateStatus? validateStatus,
|
||||
ProgressCallback? onSendProgress,
|
||||
ProgressCallback? onReceiveProgress,
|
||||
}) async {
|
||||
final _path = r'/deliveries/{delivery_id}/payment'.replaceAll('{' r'delivery_id' '}', encodeQueryParameter(_serializers, deliveryId, const FullType(String)).toString());
|
||||
final _options = Options(
|
||||
method: r'POST',
|
||||
headers: <String, dynamic>{
|
||||
...?headers,
|
||||
},
|
||||
extra: <String, dynamic>{
|
||||
'secure': <Map<String, String>>[
|
||||
{
|
||||
'type': 'http',
|
||||
'scheme': 'bearer',
|
||||
'name': 'bearer_auth',
|
||||
},
|
||||
],
|
||||
...?extra,
|
||||
},
|
||||
contentType: 'application/json',
|
||||
validateStatus: validateStatus,
|
||||
);
|
||||
|
||||
dynamic _bodyData;
|
||||
|
||||
try {
|
||||
const _type = FullType(RecordDeliveryPaymentRequest);
|
||||
_bodyData = _serializers.serialize(recordDeliveryPaymentRequest, specifiedType: _type);
|
||||
|
||||
} catch(error, stackTrace) {
|
||||
throw DioException(
|
||||
requestOptions: _options.compose(
|
||||
_dio.options,
|
||||
_path,
|
||||
),
|
||||
type: DioExceptionType.unknown,
|
||||
error: error,
|
||||
stackTrace: stackTrace,
|
||||
);
|
||||
}
|
||||
|
||||
final _response = await _dio.request<Object>(
|
||||
_path,
|
||||
data: _bodyData,
|
||||
options: _options,
|
||||
cancelToken: cancelToken,
|
||||
onSendProgress: onSendProgress,
|
||||
onReceiveProgress: onReceiveProgress,
|
||||
);
|
||||
|
||||
DeliveryPaymentResponse? _responseData;
|
||||
|
||||
try {
|
||||
final rawResponse = _response.data;
|
||||
_responseData = rawResponse == null ? null : _serializers.deserialize(
|
||||
rawResponse,
|
||||
specifiedType: const FullType(DeliveryPaymentResponse),
|
||||
) as DeliveryPaymentResponse;
|
||||
|
||||
} catch (error, stackTrace) {
|
||||
throw DioException(
|
||||
requestOptions: _response.requestOptions,
|
||||
response: _response,
|
||||
type: DioExceptionType.unknown,
|
||||
error: error,
|
||||
stackTrace: stackTrace,
|
||||
);
|
||||
}
|
||||
|
||||
return Response<DeliveryPaymentResponse>(
|
||||
data: _responseData,
|
||||
headers: _response.headers,
|
||||
isRedirect: _response.isRedirect,
|
||||
requestOptions: _response.requestOptions,
|
||||
redirects: _response.redirects,
|
||||
statusCode: _response.statusCode,
|
||||
statusMessage: _response.statusMessage,
|
||||
extra: _response.extra,
|
||||
);
|
||||
}
|
||||
|
||||
/// Setzt die Lieferung zurück auf `active`. Nur aus `held` zulässig.
|
||||
///
|
||||
///
|
||||
|
||||
@ -103,11 +103,11 @@ class ToursApi {
|
||||
);
|
||||
}
|
||||
|
||||
/// Listet die Touren des angemeldeten Fahrers (Filter aus dem JWT) für ein
|
||||
/// Ziel-Datum. Ohne [date] gilt serverseitig „heute".
|
||||
/// Listet die Touren des angemeldeten Fahrers (Filter aus dem JWT) für ein Ziel-Datum. Ohne `?date=` gilt „heute\". Der Fahrer wählt das Datum aktiv im Kopf-Kalender der App (z. B. um die Tour von morgen vorab zu sehen).
|
||||
///
|
||||
///
|
||||
/// Parameters:
|
||||
/// * [date] - Ziel-Tourdatum im Format YYYY-MM-DD (Default: heute)
|
||||
/// * [date] - Ziel-Tourdatum YYYY-MM-DD (Default: heute)
|
||||
/// * [cancelToken] - A [CancelToken] that can be used to cancel the operation
|
||||
/// * [headers] - Can be used to add additional headers to the request
|
||||
/// * [extras] - Can be used to add flags to the request
|
||||
@ -117,7 +117,7 @@ class ToursApi {
|
||||
///
|
||||
/// Returns a [Future] containing a [Response] with a [TourSummaryList] as data
|
||||
/// Throws [DioException] if API call or serialization fails
|
||||
Future<Response<TourSummaryList>> listMyTours({
|
||||
Future<Response<TourSummaryList>> listMyTours({
|
||||
String? date,
|
||||
CancelToken? cancelToken,
|
||||
Map<String, dynamic>? headers,
|
||||
@ -146,7 +146,7 @@ class ToursApi {
|
||||
);
|
||||
|
||||
final _queryParameters = <String, dynamic>{
|
||||
if (date != null) r'date': date,
|
||||
if (date != null) r'date': encodeQueryParameter(_serializers, date, const FullType(String)),
|
||||
};
|
||||
|
||||
final _response = await _dio.request<Object>(
|
||||
|
||||
@ -0,0 +1,166 @@
|
||||
//
|
||||
// AUTO-GENERATED FILE, DO NOT MODIFY!
|
||||
//
|
||||
|
||||
// ignore_for_file: unused_element
|
||||
import 'package:holzleitner_api/src/model/completed_delivery_item.dart';
|
||||
import 'package:built_collection/built_collection.dart';
|
||||
import 'package:built_value/built_value.dart';
|
||||
import 'package:built_value/serializer.dart';
|
||||
|
||||
part 'completed_deliveries_response.g.dart';
|
||||
|
||||
/// CompletedDeliveriesResponse
|
||||
///
|
||||
/// Properties:
|
||||
/// * [count] - Anzahl der abgeschlossenen Lieferungen im Bereich.
|
||||
/// * [deliveries] - Die abgeschlossenen Lieferungen, aufsteigend nach Abschluss-Zeitpunkt.
|
||||
/// * [from] - Wirksame untere Grenze (ISO `YYYY-MM-DD`) oder `null` (offen).
|
||||
/// * [to] - Wirksame obere Grenze (ISO `YYYY-MM-DD`) oder `null` (offen).
|
||||
@BuiltValue()
|
||||
abstract class CompletedDeliveriesResponse implements Built<CompletedDeliveriesResponse, CompletedDeliveriesResponseBuilder> {
|
||||
/// Anzahl der abgeschlossenen Lieferungen im Bereich.
|
||||
@BuiltValueField(wireName: r'count')
|
||||
int get count;
|
||||
|
||||
/// Die abgeschlossenen Lieferungen, aufsteigend nach Abschluss-Zeitpunkt.
|
||||
@BuiltValueField(wireName: r'deliveries')
|
||||
BuiltList<CompletedDeliveryItem> get deliveries;
|
||||
|
||||
/// Wirksame untere Grenze (ISO `YYYY-MM-DD`) oder `null` (offen).
|
||||
@BuiltValueField(wireName: r'from')
|
||||
String? get from;
|
||||
|
||||
/// Wirksame obere Grenze (ISO `YYYY-MM-DD`) oder `null` (offen).
|
||||
@BuiltValueField(wireName: r'to')
|
||||
String? get to;
|
||||
|
||||
CompletedDeliveriesResponse._();
|
||||
|
||||
factory CompletedDeliveriesResponse([void updates(CompletedDeliveriesResponseBuilder b)]) = _$CompletedDeliveriesResponse;
|
||||
|
||||
@BuiltValueHook(initializeBuilder: true)
|
||||
static void _defaults(CompletedDeliveriesResponseBuilder b) => b;
|
||||
|
||||
@BuiltValueSerializer(custom: true)
|
||||
static Serializer<CompletedDeliveriesResponse> get serializer => _$CompletedDeliveriesResponseSerializer();
|
||||
}
|
||||
|
||||
class _$CompletedDeliveriesResponseSerializer implements PrimitiveSerializer<CompletedDeliveriesResponse> {
|
||||
@override
|
||||
final Iterable<Type> types = const [CompletedDeliveriesResponse, _$CompletedDeliveriesResponse];
|
||||
|
||||
@override
|
||||
final String wireName = r'CompletedDeliveriesResponse';
|
||||
|
||||
Iterable<Object?> _serializeProperties(
|
||||
Serializers serializers,
|
||||
CompletedDeliveriesResponse object, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) sync* {
|
||||
yield r'count';
|
||||
yield serializers.serialize(
|
||||
object.count,
|
||||
specifiedType: const FullType(int),
|
||||
);
|
||||
yield r'deliveries';
|
||||
yield serializers.serialize(
|
||||
object.deliveries,
|
||||
specifiedType: const FullType(BuiltList, [FullType(CompletedDeliveryItem)]),
|
||||
);
|
||||
if (object.from != null) {
|
||||
yield r'from';
|
||||
yield serializers.serialize(
|
||||
object.from,
|
||||
specifiedType: const FullType.nullable(String),
|
||||
);
|
||||
}
|
||||
if (object.to != null) {
|
||||
yield r'to';
|
||||
yield serializers.serialize(
|
||||
object.to,
|
||||
specifiedType: const FullType.nullable(String),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Object serialize(
|
||||
Serializers serializers,
|
||||
CompletedDeliveriesResponse object, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) {
|
||||
return _serializeProperties(serializers, object, specifiedType: specifiedType).toList();
|
||||
}
|
||||
|
||||
void _deserializeProperties(
|
||||
Serializers serializers,
|
||||
Object serialized, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
required List<Object?> serializedList,
|
||||
required CompletedDeliveriesResponseBuilder result,
|
||||
required List<Object?> unhandled,
|
||||
}) {
|
||||
for (var i = 0; i < serializedList.length; i += 2) {
|
||||
final key = serializedList[i] as String;
|
||||
final value = serializedList[i + 1];
|
||||
switch (key) {
|
||||
case r'count':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(int),
|
||||
) as int;
|
||||
result.count = valueDes;
|
||||
break;
|
||||
case r'deliveries':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(BuiltList, [FullType(CompletedDeliveryItem)]),
|
||||
) as BuiltList<CompletedDeliveryItem>;
|
||||
result.deliveries.replace(valueDes);
|
||||
break;
|
||||
case r'from':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType.nullable(String),
|
||||
) as String?;
|
||||
if (valueDes == null) continue;
|
||||
result.from = valueDes;
|
||||
break;
|
||||
case r'to':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType.nullable(String),
|
||||
) as String?;
|
||||
if (valueDes == null) continue;
|
||||
result.to = valueDes;
|
||||
break;
|
||||
default:
|
||||
unhandled.add(key);
|
||||
unhandled.add(value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
CompletedDeliveriesResponse deserialize(
|
||||
Serializers serializers,
|
||||
Object serialized, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) {
|
||||
final result = CompletedDeliveriesResponseBuilder();
|
||||
final serializedList = (serialized as Iterable<Object?>).toList();
|
||||
final unhandled = <Object?>[];
|
||||
_deserializeProperties(
|
||||
serializers,
|
||||
serialized,
|
||||
specifiedType: specifiedType,
|
||||
serializedList: serializedList,
|
||||
unhandled: unhandled,
|
||||
result: result,
|
||||
);
|
||||
return result.build();
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,147 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'completed_deliveries_response.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// BuiltValueGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class _$CompletedDeliveriesResponse extends CompletedDeliveriesResponse {
|
||||
@override
|
||||
final int count;
|
||||
@override
|
||||
final BuiltList<CompletedDeliveryItem> deliveries;
|
||||
@override
|
||||
final String? from;
|
||||
@override
|
||||
final String? to;
|
||||
|
||||
factory _$CompletedDeliveriesResponse(
|
||||
[void Function(CompletedDeliveriesResponseBuilder)? updates]) =>
|
||||
(CompletedDeliveriesResponseBuilder()..update(updates))._build();
|
||||
|
||||
_$CompletedDeliveriesResponse._(
|
||||
{required this.count, required this.deliveries, this.from, this.to})
|
||||
: super._();
|
||||
@override
|
||||
CompletedDeliveriesResponse rebuild(
|
||||
void Function(CompletedDeliveriesResponseBuilder) updates) =>
|
||||
(toBuilder()..update(updates)).build();
|
||||
|
||||
@override
|
||||
CompletedDeliveriesResponseBuilder toBuilder() =>
|
||||
CompletedDeliveriesResponseBuilder()..replace(this);
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
if (identical(other, this)) return true;
|
||||
return other is CompletedDeliveriesResponse &&
|
||||
count == other.count &&
|
||||
deliveries == other.deliveries &&
|
||||
from == other.from &&
|
||||
to == other.to;
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode {
|
||||
var _$hash = 0;
|
||||
_$hash = $jc(_$hash, count.hashCode);
|
||||
_$hash = $jc(_$hash, deliveries.hashCode);
|
||||
_$hash = $jc(_$hash, from.hashCode);
|
||||
_$hash = $jc(_$hash, to.hashCode);
|
||||
_$hash = $jf(_$hash);
|
||||
return _$hash;
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return (newBuiltValueToStringHelper(r'CompletedDeliveriesResponse')
|
||||
..add('count', count)
|
||||
..add('deliveries', deliveries)
|
||||
..add('from', from)
|
||||
..add('to', to))
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
||||
class CompletedDeliveriesResponseBuilder
|
||||
implements
|
||||
Builder<CompletedDeliveriesResponse,
|
||||
CompletedDeliveriesResponseBuilder> {
|
||||
_$CompletedDeliveriesResponse? _$v;
|
||||
|
||||
int? _count;
|
||||
int? get count => _$this._count;
|
||||
set count(int? count) => _$this._count = count;
|
||||
|
||||
ListBuilder<CompletedDeliveryItem>? _deliveries;
|
||||
ListBuilder<CompletedDeliveryItem> get deliveries =>
|
||||
_$this._deliveries ??= ListBuilder<CompletedDeliveryItem>();
|
||||
set deliveries(ListBuilder<CompletedDeliveryItem>? deliveries) =>
|
||||
_$this._deliveries = deliveries;
|
||||
|
||||
String? _from;
|
||||
String? get from => _$this._from;
|
||||
set from(String? from) => _$this._from = from;
|
||||
|
||||
String? _to;
|
||||
String? get to => _$this._to;
|
||||
set to(String? to) => _$this._to = to;
|
||||
|
||||
CompletedDeliveriesResponseBuilder() {
|
||||
CompletedDeliveriesResponse._defaults(this);
|
||||
}
|
||||
|
||||
CompletedDeliveriesResponseBuilder get _$this {
|
||||
final $v = _$v;
|
||||
if ($v != null) {
|
||||
_count = $v.count;
|
||||
_deliveries = $v.deliveries.toBuilder();
|
||||
_from = $v.from;
|
||||
_to = $v.to;
|
||||
_$v = null;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
@override
|
||||
void replace(CompletedDeliveriesResponse other) {
|
||||
_$v = other as _$CompletedDeliveriesResponse;
|
||||
}
|
||||
|
||||
@override
|
||||
void update(void Function(CompletedDeliveriesResponseBuilder)? updates) {
|
||||
if (updates != null) updates(this);
|
||||
}
|
||||
|
||||
@override
|
||||
CompletedDeliveriesResponse build() => _build();
|
||||
|
||||
_$CompletedDeliveriesResponse _build() {
|
||||
_$CompletedDeliveriesResponse _$result;
|
||||
try {
|
||||
_$result = _$v ??
|
||||
_$CompletedDeliveriesResponse._(
|
||||
count: BuiltValueNullFieldError.checkNotNull(
|
||||
count, r'CompletedDeliveriesResponse', 'count'),
|
||||
deliveries: deliveries.build(),
|
||||
from: from,
|
||||
to: to,
|
||||
);
|
||||
} catch (_) {
|
||||
late String _$failedField;
|
||||
try {
|
||||
_$failedField = 'deliveries';
|
||||
deliveries.build();
|
||||
} catch (e) {
|
||||
throw BuiltValueNestedFieldError(
|
||||
r'CompletedDeliveriesResponse', _$failedField, e.toString());
|
||||
}
|
||||
rethrow;
|
||||
}
|
||||
replace(_$result);
|
||||
return _$result;
|
||||
}
|
||||
}
|
||||
|
||||
// ignore_for_file: deprecated_member_use_from_same_package,type=lint
|
||||
@ -0,0 +1,124 @@
|
||||
//
|
||||
// AUTO-GENERATED FILE, DO NOT MODIFY!
|
||||
//
|
||||
|
||||
// ignore_for_file: unused_element
|
||||
import 'package:built_value/built_value.dart';
|
||||
import 'package:built_value/serializer.dart';
|
||||
|
||||
part 'completed_delivery_item.g.dart';
|
||||
|
||||
/// Eine abgeschlossene Lieferung im Tagesabruf.
|
||||
///
|
||||
/// Properties:
|
||||
/// * [belegnummer] - ERP-Belegnummer der Lieferung.
|
||||
/// * [positionsModified] - `true`, wenn an der Lieferung Positionen verändert wurden — eine Zeile wurde entfernt oder in der Menge reduziert (Stück-Gutschrift) **oder** es liegt eine aktive Geld-Gutschrift vor.
|
||||
@BuiltValue()
|
||||
abstract class CompletedDeliveryItem implements Built<CompletedDeliveryItem, CompletedDeliveryItemBuilder> {
|
||||
/// ERP-Belegnummer der Lieferung.
|
||||
@BuiltValueField(wireName: r'belegnummer')
|
||||
String get belegnummer;
|
||||
|
||||
/// `true`, wenn an der Lieferung Positionen verändert wurden — eine Zeile wurde entfernt oder in der Menge reduziert (Stück-Gutschrift) **oder** es liegt eine aktive Geld-Gutschrift vor.
|
||||
@BuiltValueField(wireName: r'positions_modified')
|
||||
bool get positionsModified;
|
||||
|
||||
CompletedDeliveryItem._();
|
||||
|
||||
factory CompletedDeliveryItem([void updates(CompletedDeliveryItemBuilder b)]) = _$CompletedDeliveryItem;
|
||||
|
||||
@BuiltValueHook(initializeBuilder: true)
|
||||
static void _defaults(CompletedDeliveryItemBuilder b) => b;
|
||||
|
||||
@BuiltValueSerializer(custom: true)
|
||||
static Serializer<CompletedDeliveryItem> get serializer => _$CompletedDeliveryItemSerializer();
|
||||
}
|
||||
|
||||
class _$CompletedDeliveryItemSerializer implements PrimitiveSerializer<CompletedDeliveryItem> {
|
||||
@override
|
||||
final Iterable<Type> types = const [CompletedDeliveryItem, _$CompletedDeliveryItem];
|
||||
|
||||
@override
|
||||
final String wireName = r'CompletedDeliveryItem';
|
||||
|
||||
Iterable<Object?> _serializeProperties(
|
||||
Serializers serializers,
|
||||
CompletedDeliveryItem object, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) sync* {
|
||||
yield r'belegnummer';
|
||||
yield serializers.serialize(
|
||||
object.belegnummer,
|
||||
specifiedType: const FullType(String),
|
||||
);
|
||||
yield r'positions_modified';
|
||||
yield serializers.serialize(
|
||||
object.positionsModified,
|
||||
specifiedType: const FullType(bool),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Object serialize(
|
||||
Serializers serializers,
|
||||
CompletedDeliveryItem object, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) {
|
||||
return _serializeProperties(serializers, object, specifiedType: specifiedType).toList();
|
||||
}
|
||||
|
||||
void _deserializeProperties(
|
||||
Serializers serializers,
|
||||
Object serialized, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
required List<Object?> serializedList,
|
||||
required CompletedDeliveryItemBuilder result,
|
||||
required List<Object?> unhandled,
|
||||
}) {
|
||||
for (var i = 0; i < serializedList.length; i += 2) {
|
||||
final key = serializedList[i] as String;
|
||||
final value = serializedList[i + 1];
|
||||
switch (key) {
|
||||
case r'belegnummer':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(String),
|
||||
) as String;
|
||||
result.belegnummer = valueDes;
|
||||
break;
|
||||
case r'positions_modified':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(bool),
|
||||
) as bool;
|
||||
result.positionsModified = valueDes;
|
||||
break;
|
||||
default:
|
||||
unhandled.add(key);
|
||||
unhandled.add(value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
CompletedDeliveryItem deserialize(
|
||||
Serializers serializers,
|
||||
Object serialized, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) {
|
||||
final result = CompletedDeliveryItemBuilder();
|
||||
final serializedList = (serialized as Iterable<Object?>).toList();
|
||||
final unhandled = <Object?>[];
|
||||
_deserializeProperties(
|
||||
serializers,
|
||||
serialized,
|
||||
specifiedType: specifiedType,
|
||||
serializedList: serializedList,
|
||||
unhandled: unhandled,
|
||||
result: result,
|
||||
);
|
||||
return result.build();
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,110 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'completed_delivery_item.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// BuiltValueGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class _$CompletedDeliveryItem extends CompletedDeliveryItem {
|
||||
@override
|
||||
final String belegnummer;
|
||||
@override
|
||||
final bool positionsModified;
|
||||
|
||||
factory _$CompletedDeliveryItem(
|
||||
[void Function(CompletedDeliveryItemBuilder)? updates]) =>
|
||||
(CompletedDeliveryItemBuilder()..update(updates))._build();
|
||||
|
||||
_$CompletedDeliveryItem._(
|
||||
{required this.belegnummer, required this.positionsModified})
|
||||
: super._();
|
||||
@override
|
||||
CompletedDeliveryItem rebuild(
|
||||
void Function(CompletedDeliveryItemBuilder) updates) =>
|
||||
(toBuilder()..update(updates)).build();
|
||||
|
||||
@override
|
||||
CompletedDeliveryItemBuilder toBuilder() =>
|
||||
CompletedDeliveryItemBuilder()..replace(this);
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
if (identical(other, this)) return true;
|
||||
return other is CompletedDeliveryItem &&
|
||||
belegnummer == other.belegnummer &&
|
||||
positionsModified == other.positionsModified;
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode {
|
||||
var _$hash = 0;
|
||||
_$hash = $jc(_$hash, belegnummer.hashCode);
|
||||
_$hash = $jc(_$hash, positionsModified.hashCode);
|
||||
_$hash = $jf(_$hash);
|
||||
return _$hash;
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return (newBuiltValueToStringHelper(r'CompletedDeliveryItem')
|
||||
..add('belegnummer', belegnummer)
|
||||
..add('positionsModified', positionsModified))
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
||||
class CompletedDeliveryItemBuilder
|
||||
implements Builder<CompletedDeliveryItem, CompletedDeliveryItemBuilder> {
|
||||
_$CompletedDeliveryItem? _$v;
|
||||
|
||||
String? _belegnummer;
|
||||
String? get belegnummer => _$this._belegnummer;
|
||||
set belegnummer(String? belegnummer) => _$this._belegnummer = belegnummer;
|
||||
|
||||
bool? _positionsModified;
|
||||
bool? get positionsModified => _$this._positionsModified;
|
||||
set positionsModified(bool? positionsModified) =>
|
||||
_$this._positionsModified = positionsModified;
|
||||
|
||||
CompletedDeliveryItemBuilder() {
|
||||
CompletedDeliveryItem._defaults(this);
|
||||
}
|
||||
|
||||
CompletedDeliveryItemBuilder get _$this {
|
||||
final $v = _$v;
|
||||
if ($v != null) {
|
||||
_belegnummer = $v.belegnummer;
|
||||
_positionsModified = $v.positionsModified;
|
||||
_$v = null;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
@override
|
||||
void replace(CompletedDeliveryItem other) {
|
||||
_$v = other as _$CompletedDeliveryItem;
|
||||
}
|
||||
|
||||
@override
|
||||
void update(void Function(CompletedDeliveryItemBuilder)? updates) {
|
||||
if (updates != null) updates(this);
|
||||
}
|
||||
|
||||
@override
|
||||
CompletedDeliveryItem build() => _build();
|
||||
|
||||
_$CompletedDeliveryItem _build() {
|
||||
final _$result = _$v ??
|
||||
_$CompletedDeliveryItem._(
|
||||
belegnummer: BuiltValueNullFieldError.checkNotNull(
|
||||
belegnummer, r'CompletedDeliveryItem', 'belegnummer'),
|
||||
positionsModified: BuiltValueNullFieldError.checkNotNull(
|
||||
positionsModified, r'CompletedDeliveryItem', 'positionsModified'),
|
||||
);
|
||||
replace(_$result);
|
||||
return _$result;
|
||||
}
|
||||
}
|
||||
|
||||
// ignore_for_file: deprecated_member_use_from_same_package,type=lint
|
||||
334
packages/holzleitner_api/lib/src/model/delivery_details.dart
Normal file
334
packages/holzleitner_api/lib/src/model/delivery_details.dart
Normal file
@ -0,0 +1,334 @@
|
||||
//
|
||||
// AUTO-GENERATED FILE, DO NOT MODIFY!
|
||||
//
|
||||
|
||||
// ignore_for_file: unused_element
|
||||
import 'package:holzleitner_api/src/model/delivery_credit.dart';
|
||||
import 'package:holzleitner_api/src/model/delivery_note.dart';
|
||||
import 'package:holzleitner_api/src/model/delivery_with_items.dart';
|
||||
import 'package:holzleitner_api/src/model/delivery_payment.dart';
|
||||
import 'package:holzleitner_api/src/model/article.dart';
|
||||
import 'package:holzleitner_api/src/model/contact_channel.dart';
|
||||
import 'package:holzleitner_api/src/model/customer.dart';
|
||||
import 'package:holzleitner_api/src/model/contact_source.dart';
|
||||
import 'package:holzleitner_api/src/model/tour.dart';
|
||||
import 'package:holzleitner_api/src/model/warehouse.dart';
|
||||
import 'package:built_collection/built_collection.dart';
|
||||
import 'package:holzleitner_api/src/model/customer_contact.dart';
|
||||
import 'package:holzleitner_api/src/model/service.dart';
|
||||
import 'package:holzleitner_api/src/model/delivery_service_value.dart';
|
||||
import 'package:built_value/built_value.dart';
|
||||
import 'package:built_value/serializer.dart';
|
||||
|
||||
part 'delivery_details.g.dart';
|
||||
|
||||
/// DeliveryDetails
|
||||
///
|
||||
/// Properties:
|
||||
/// * [articles] - Nur die von den Positionen referenzierten Artikel.
|
||||
/// * [contactChannels] - Die zu `contactSources` gehörenden Einzel-Kanäle. Join per `sourceId`.
|
||||
/// * [contactSources] - Kontaktquellen der Lieferung (Liefer-/Rechnungsadresse, Ansprechpartner …).
|
||||
/// * [credit] - Aktuelle Betrags-Gutschrift (`null`, wenn keine aktiv).
|
||||
/// * [customer] - Der Kunde der Lieferung (`null`, falls unauffindbar — sollte nicht vorkommen).
|
||||
/// * [customerContacts] - Ansprechpartner des Kunden.
|
||||
/// * [delivery] - Die Lieferung selbst inkl. Positionen (mit Scan-Ständen) und `sortOrder`.
|
||||
/// * [deliveryServices] - Für diese Lieferung gesetzte Service-Werte.
|
||||
/// * [notes] - Notizen der Lieferung, aufsteigend nach `createdAt`.
|
||||
/// * [payment] - Jüngste protokollierte Zahlungsabwicklung (`None` = keine).
|
||||
/// * [services] - Aktive Service-Definitionen (Stammdaten).
|
||||
/// * [tour] - Die Tour, zu der die Lieferung gehört.
|
||||
/// * [warehouses] - Nur die von den Positionen referenzierten Lager.
|
||||
@BuiltValue()
|
||||
abstract class DeliveryDetails implements Built<DeliveryDetails, DeliveryDetailsBuilder> {
|
||||
/// Nur die von den Positionen referenzierten Artikel.
|
||||
@BuiltValueField(wireName: r'articles')
|
||||
BuiltList<Article> get articles;
|
||||
|
||||
/// Die zu `contactSources` gehörenden Einzel-Kanäle. Join per `sourceId`.
|
||||
@BuiltValueField(wireName: r'contactChannels')
|
||||
BuiltList<ContactChannel> get contactChannels;
|
||||
|
||||
/// Kontaktquellen der Lieferung (Liefer-/Rechnungsadresse, Ansprechpartner …).
|
||||
@BuiltValueField(wireName: r'contactSources')
|
||||
BuiltList<ContactSource> get contactSources;
|
||||
|
||||
/// Aktuelle Betrags-Gutschrift (`null`, wenn keine aktiv).
|
||||
@BuiltValueField(wireName: r'credit')
|
||||
DeliveryCredit? get credit;
|
||||
|
||||
/// Der Kunde der Lieferung (`null`, falls unauffindbar — sollte nicht vorkommen).
|
||||
@BuiltValueField(wireName: r'customer')
|
||||
Customer? get customer;
|
||||
|
||||
/// Ansprechpartner des Kunden.
|
||||
@BuiltValueField(wireName: r'customerContacts')
|
||||
BuiltList<CustomerContact> get customerContacts;
|
||||
|
||||
/// Die Lieferung selbst inkl. Positionen (mit Scan-Ständen) und `sortOrder`.
|
||||
@BuiltValueField(wireName: r'delivery')
|
||||
DeliveryWithItems get delivery;
|
||||
|
||||
/// Für diese Lieferung gesetzte Service-Werte.
|
||||
@BuiltValueField(wireName: r'deliveryServices')
|
||||
BuiltList<DeliveryServiceValue> get deliveryServices;
|
||||
|
||||
/// Notizen der Lieferung, aufsteigend nach `createdAt`.
|
||||
@BuiltValueField(wireName: r'notes')
|
||||
BuiltList<DeliveryNote> get notes;
|
||||
|
||||
/// Jüngste protokollierte Zahlungsabwicklung (`None` = keine).
|
||||
@BuiltValueField(wireName: r'payment')
|
||||
DeliveryPayment? get payment;
|
||||
|
||||
/// Aktive Service-Definitionen (Stammdaten).
|
||||
@BuiltValueField(wireName: r'services')
|
||||
BuiltList<Service> get services;
|
||||
|
||||
/// Die Tour, zu der die Lieferung gehört.
|
||||
@BuiltValueField(wireName: r'tour')
|
||||
Tour get tour;
|
||||
|
||||
/// Nur die von den Positionen referenzierten Lager.
|
||||
@BuiltValueField(wireName: r'warehouses')
|
||||
BuiltList<Warehouse> get warehouses;
|
||||
|
||||
DeliveryDetails._();
|
||||
|
||||
factory DeliveryDetails([void updates(DeliveryDetailsBuilder b)]) = _$DeliveryDetails;
|
||||
|
||||
@BuiltValueHook(initializeBuilder: true)
|
||||
static void _defaults(DeliveryDetailsBuilder b) => b;
|
||||
|
||||
@BuiltValueSerializer(custom: true)
|
||||
static Serializer<DeliveryDetails> get serializer => _$DeliveryDetailsSerializer();
|
||||
}
|
||||
|
||||
class _$DeliveryDetailsSerializer implements PrimitiveSerializer<DeliveryDetails> {
|
||||
@override
|
||||
final Iterable<Type> types = const [DeliveryDetails, _$DeliveryDetails];
|
||||
|
||||
@override
|
||||
final String wireName = r'DeliveryDetails';
|
||||
|
||||
Iterable<Object?> _serializeProperties(
|
||||
Serializers serializers,
|
||||
DeliveryDetails object, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) sync* {
|
||||
yield r'articles';
|
||||
yield serializers.serialize(
|
||||
object.articles,
|
||||
specifiedType: const FullType(BuiltList, [FullType(Article)]),
|
||||
);
|
||||
yield r'contactChannels';
|
||||
yield serializers.serialize(
|
||||
object.contactChannels,
|
||||
specifiedType: const FullType(BuiltList, [FullType(ContactChannel)]),
|
||||
);
|
||||
yield r'contactSources';
|
||||
yield serializers.serialize(
|
||||
object.contactSources,
|
||||
specifiedType: const FullType(BuiltList, [FullType(ContactSource)]),
|
||||
);
|
||||
if (object.credit != null) {
|
||||
yield r'credit';
|
||||
yield serializers.serialize(
|
||||
object.credit,
|
||||
specifiedType: const FullType.nullable(DeliveryCredit),
|
||||
);
|
||||
}
|
||||
if (object.customer != null) {
|
||||
yield r'customer';
|
||||
yield serializers.serialize(
|
||||
object.customer,
|
||||
specifiedType: const FullType.nullable(Customer),
|
||||
);
|
||||
}
|
||||
yield r'customerContacts';
|
||||
yield serializers.serialize(
|
||||
object.customerContacts,
|
||||
specifiedType: const FullType(BuiltList, [FullType(CustomerContact)]),
|
||||
);
|
||||
yield r'delivery';
|
||||
yield serializers.serialize(
|
||||
object.delivery,
|
||||
specifiedType: const FullType(DeliveryWithItems),
|
||||
);
|
||||
yield r'deliveryServices';
|
||||
yield serializers.serialize(
|
||||
object.deliveryServices,
|
||||
specifiedType: const FullType(BuiltList, [FullType(DeliveryServiceValue)]),
|
||||
);
|
||||
yield r'notes';
|
||||
yield serializers.serialize(
|
||||
object.notes,
|
||||
specifiedType: const FullType(BuiltList, [FullType(DeliveryNote)]),
|
||||
);
|
||||
if (object.payment != null) {
|
||||
yield r'payment';
|
||||
yield serializers.serialize(
|
||||
object.payment,
|
||||
specifiedType: const FullType.nullable(DeliveryPayment),
|
||||
);
|
||||
}
|
||||
yield r'services';
|
||||
yield serializers.serialize(
|
||||
object.services,
|
||||
specifiedType: const FullType(BuiltList, [FullType(Service)]),
|
||||
);
|
||||
yield r'tour';
|
||||
yield serializers.serialize(
|
||||
object.tour,
|
||||
specifiedType: const FullType(Tour),
|
||||
);
|
||||
yield r'warehouses';
|
||||
yield serializers.serialize(
|
||||
object.warehouses,
|
||||
specifiedType: const FullType(BuiltList, [FullType(Warehouse)]),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Object serialize(
|
||||
Serializers serializers,
|
||||
DeliveryDetails object, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) {
|
||||
return _serializeProperties(serializers, object, specifiedType: specifiedType).toList();
|
||||
}
|
||||
|
||||
void _deserializeProperties(
|
||||
Serializers serializers,
|
||||
Object serialized, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
required List<Object?> serializedList,
|
||||
required DeliveryDetailsBuilder result,
|
||||
required List<Object?> unhandled,
|
||||
}) {
|
||||
for (var i = 0; i < serializedList.length; i += 2) {
|
||||
final key = serializedList[i] as String;
|
||||
final value = serializedList[i + 1];
|
||||
switch (key) {
|
||||
case r'articles':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(BuiltList, [FullType(Article)]),
|
||||
) as BuiltList<Article>;
|
||||
result.articles.replace(valueDes);
|
||||
break;
|
||||
case r'contactChannels':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(BuiltList, [FullType(ContactChannel)]),
|
||||
) as BuiltList<ContactChannel>;
|
||||
result.contactChannels.replace(valueDes);
|
||||
break;
|
||||
case r'contactSources':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(BuiltList, [FullType(ContactSource)]),
|
||||
) as BuiltList<ContactSource>;
|
||||
result.contactSources.replace(valueDes);
|
||||
break;
|
||||
case r'credit':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType.nullable(DeliveryCredit),
|
||||
) as DeliveryCredit?;
|
||||
if (valueDes == null) continue;
|
||||
result.credit.replace(valueDes);
|
||||
break;
|
||||
case r'customer':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType.nullable(Customer),
|
||||
) as Customer?;
|
||||
if (valueDes == null) continue;
|
||||
result.customer.replace(valueDes);
|
||||
break;
|
||||
case r'customerContacts':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(BuiltList, [FullType(CustomerContact)]),
|
||||
) as BuiltList<CustomerContact>;
|
||||
result.customerContacts.replace(valueDes);
|
||||
break;
|
||||
case r'delivery':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(DeliveryWithItems),
|
||||
) as DeliveryWithItems;
|
||||
result.delivery.replace(valueDes);
|
||||
break;
|
||||
case r'deliveryServices':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(BuiltList, [FullType(DeliveryServiceValue)]),
|
||||
) as BuiltList<DeliveryServiceValue>;
|
||||
result.deliveryServices.replace(valueDes);
|
||||
break;
|
||||
case r'notes':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(BuiltList, [FullType(DeliveryNote)]),
|
||||
) as BuiltList<DeliveryNote>;
|
||||
result.notes.replace(valueDes);
|
||||
break;
|
||||
case r'payment':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType.nullable(DeliveryPayment),
|
||||
) as DeliveryPayment?;
|
||||
if (valueDes == null) continue;
|
||||
result.payment.replace(valueDes);
|
||||
break;
|
||||
case r'services':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(BuiltList, [FullType(Service)]),
|
||||
) as BuiltList<Service>;
|
||||
result.services.replace(valueDes);
|
||||
break;
|
||||
case r'tour':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(Tour),
|
||||
) as Tour;
|
||||
result.tour.replace(valueDes);
|
||||
break;
|
||||
case r'warehouses':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(BuiltList, [FullType(Warehouse)]),
|
||||
) as BuiltList<Warehouse>;
|
||||
result.warehouses.replace(valueDes);
|
||||
break;
|
||||
default:
|
||||
unhandled.add(key);
|
||||
unhandled.add(value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
DeliveryDetails deserialize(
|
||||
Serializers serializers,
|
||||
Object serialized, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) {
|
||||
final result = DeliveryDetailsBuilder();
|
||||
final serializedList = (serialized as Iterable<Object?>).toList();
|
||||
final unhandled = <Object?>[];
|
||||
_deserializeProperties(
|
||||
serializers,
|
||||
serialized,
|
||||
specifiedType: specifiedType,
|
||||
serializedList: serializedList,
|
||||
unhandled: unhandled,
|
||||
result: result,
|
||||
);
|
||||
return result.build();
|
||||
}
|
||||
}
|
||||
|
||||
291
packages/holzleitner_api/lib/src/model/delivery_details.g.dart
Normal file
291
packages/holzleitner_api/lib/src/model/delivery_details.g.dart
Normal file
@ -0,0 +1,291 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'delivery_details.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// BuiltValueGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class _$DeliveryDetails extends DeliveryDetails {
|
||||
@override
|
||||
final BuiltList<Article> articles;
|
||||
@override
|
||||
final BuiltList<ContactChannel> contactChannels;
|
||||
@override
|
||||
final BuiltList<ContactSource> contactSources;
|
||||
@override
|
||||
final DeliveryCredit? credit;
|
||||
@override
|
||||
final Customer? customer;
|
||||
@override
|
||||
final BuiltList<CustomerContact> customerContacts;
|
||||
@override
|
||||
final DeliveryWithItems delivery;
|
||||
@override
|
||||
final BuiltList<DeliveryServiceValue> deliveryServices;
|
||||
@override
|
||||
final BuiltList<DeliveryNote> notes;
|
||||
@override
|
||||
final DeliveryPayment? payment;
|
||||
@override
|
||||
final BuiltList<Service> services;
|
||||
@override
|
||||
final Tour tour;
|
||||
@override
|
||||
final BuiltList<Warehouse> warehouses;
|
||||
|
||||
factory _$DeliveryDetails([void Function(DeliveryDetailsBuilder)? updates]) =>
|
||||
(DeliveryDetailsBuilder()..update(updates))._build();
|
||||
|
||||
_$DeliveryDetails._(
|
||||
{required this.articles,
|
||||
required this.contactChannels,
|
||||
required this.contactSources,
|
||||
this.credit,
|
||||
this.customer,
|
||||
required this.customerContacts,
|
||||
required this.delivery,
|
||||
required this.deliveryServices,
|
||||
required this.notes,
|
||||
this.payment,
|
||||
required this.services,
|
||||
required this.tour,
|
||||
required this.warehouses})
|
||||
: super._();
|
||||
@override
|
||||
DeliveryDetails rebuild(void Function(DeliveryDetailsBuilder) updates) =>
|
||||
(toBuilder()..update(updates)).build();
|
||||
|
||||
@override
|
||||
DeliveryDetailsBuilder toBuilder() => DeliveryDetailsBuilder()..replace(this);
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
if (identical(other, this)) return true;
|
||||
return other is DeliveryDetails &&
|
||||
articles == other.articles &&
|
||||
contactChannels == other.contactChannels &&
|
||||
contactSources == other.contactSources &&
|
||||
credit == other.credit &&
|
||||
customer == other.customer &&
|
||||
customerContacts == other.customerContacts &&
|
||||
delivery == other.delivery &&
|
||||
deliveryServices == other.deliveryServices &&
|
||||
notes == other.notes &&
|
||||
payment == other.payment &&
|
||||
services == other.services &&
|
||||
tour == other.tour &&
|
||||
warehouses == other.warehouses;
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode {
|
||||
var _$hash = 0;
|
||||
_$hash = $jc(_$hash, articles.hashCode);
|
||||
_$hash = $jc(_$hash, contactChannels.hashCode);
|
||||
_$hash = $jc(_$hash, contactSources.hashCode);
|
||||
_$hash = $jc(_$hash, credit.hashCode);
|
||||
_$hash = $jc(_$hash, customer.hashCode);
|
||||
_$hash = $jc(_$hash, customerContacts.hashCode);
|
||||
_$hash = $jc(_$hash, delivery.hashCode);
|
||||
_$hash = $jc(_$hash, deliveryServices.hashCode);
|
||||
_$hash = $jc(_$hash, notes.hashCode);
|
||||
_$hash = $jc(_$hash, payment.hashCode);
|
||||
_$hash = $jc(_$hash, services.hashCode);
|
||||
_$hash = $jc(_$hash, tour.hashCode);
|
||||
_$hash = $jc(_$hash, warehouses.hashCode);
|
||||
_$hash = $jf(_$hash);
|
||||
return _$hash;
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return (newBuiltValueToStringHelper(r'DeliveryDetails')
|
||||
..add('articles', articles)
|
||||
..add('contactChannels', contactChannels)
|
||||
..add('contactSources', contactSources)
|
||||
..add('credit', credit)
|
||||
..add('customer', customer)
|
||||
..add('customerContacts', customerContacts)
|
||||
..add('delivery', delivery)
|
||||
..add('deliveryServices', deliveryServices)
|
||||
..add('notes', notes)
|
||||
..add('payment', payment)
|
||||
..add('services', services)
|
||||
..add('tour', tour)
|
||||
..add('warehouses', warehouses))
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
||||
class DeliveryDetailsBuilder
|
||||
implements Builder<DeliveryDetails, DeliveryDetailsBuilder> {
|
||||
_$DeliveryDetails? _$v;
|
||||
|
||||
ListBuilder<Article>? _articles;
|
||||
ListBuilder<Article> get articles =>
|
||||
_$this._articles ??= ListBuilder<Article>();
|
||||
set articles(ListBuilder<Article>? articles) => _$this._articles = articles;
|
||||
|
||||
ListBuilder<ContactChannel>? _contactChannels;
|
||||
ListBuilder<ContactChannel> get contactChannels =>
|
||||
_$this._contactChannels ??= ListBuilder<ContactChannel>();
|
||||
set contactChannels(ListBuilder<ContactChannel>? contactChannels) =>
|
||||
_$this._contactChannels = contactChannels;
|
||||
|
||||
ListBuilder<ContactSource>? _contactSources;
|
||||
ListBuilder<ContactSource> get contactSources =>
|
||||
_$this._contactSources ??= ListBuilder<ContactSource>();
|
||||
set contactSources(ListBuilder<ContactSource>? contactSources) =>
|
||||
_$this._contactSources = contactSources;
|
||||
|
||||
DeliveryCreditBuilder? _credit;
|
||||
DeliveryCreditBuilder get credit =>
|
||||
_$this._credit ??= DeliveryCreditBuilder();
|
||||
set credit(DeliveryCreditBuilder? credit) => _$this._credit = credit;
|
||||
|
||||
CustomerBuilder? _customer;
|
||||
CustomerBuilder get customer => _$this._customer ??= CustomerBuilder();
|
||||
set customer(CustomerBuilder? customer) => _$this._customer = customer;
|
||||
|
||||
ListBuilder<CustomerContact>? _customerContacts;
|
||||
ListBuilder<CustomerContact> get customerContacts =>
|
||||
_$this._customerContacts ??= ListBuilder<CustomerContact>();
|
||||
set customerContacts(ListBuilder<CustomerContact>? customerContacts) =>
|
||||
_$this._customerContacts = customerContacts;
|
||||
|
||||
DeliveryWithItemsBuilder? _delivery;
|
||||
DeliveryWithItemsBuilder get delivery =>
|
||||
_$this._delivery ??= DeliveryWithItemsBuilder();
|
||||
set delivery(DeliveryWithItemsBuilder? delivery) =>
|
||||
_$this._delivery = delivery;
|
||||
|
||||
ListBuilder<DeliveryServiceValue>? _deliveryServices;
|
||||
ListBuilder<DeliveryServiceValue> get deliveryServices =>
|
||||
_$this._deliveryServices ??= ListBuilder<DeliveryServiceValue>();
|
||||
set deliveryServices(ListBuilder<DeliveryServiceValue>? deliveryServices) =>
|
||||
_$this._deliveryServices = deliveryServices;
|
||||
|
||||
ListBuilder<DeliveryNote>? _notes;
|
||||
ListBuilder<DeliveryNote> get notes =>
|
||||
_$this._notes ??= ListBuilder<DeliveryNote>();
|
||||
set notes(ListBuilder<DeliveryNote>? notes) => _$this._notes = notes;
|
||||
|
||||
DeliveryPaymentBuilder? _payment;
|
||||
DeliveryPaymentBuilder get payment =>
|
||||
_$this._payment ??= DeliveryPaymentBuilder();
|
||||
set payment(DeliveryPaymentBuilder? payment) => _$this._payment = payment;
|
||||
|
||||
ListBuilder<Service>? _services;
|
||||
ListBuilder<Service> get services =>
|
||||
_$this._services ??= ListBuilder<Service>();
|
||||
set services(ListBuilder<Service>? services) => _$this._services = services;
|
||||
|
||||
TourBuilder? _tour;
|
||||
TourBuilder get tour => _$this._tour ??= TourBuilder();
|
||||
set tour(TourBuilder? tour) => _$this._tour = tour;
|
||||
|
||||
ListBuilder<Warehouse>? _warehouses;
|
||||
ListBuilder<Warehouse> get warehouses =>
|
||||
_$this._warehouses ??= ListBuilder<Warehouse>();
|
||||
set warehouses(ListBuilder<Warehouse>? warehouses) =>
|
||||
_$this._warehouses = warehouses;
|
||||
|
||||
DeliveryDetailsBuilder() {
|
||||
DeliveryDetails._defaults(this);
|
||||
}
|
||||
|
||||
DeliveryDetailsBuilder get _$this {
|
||||
final $v = _$v;
|
||||
if ($v != null) {
|
||||
_articles = $v.articles.toBuilder();
|
||||
_contactChannels = $v.contactChannels.toBuilder();
|
||||
_contactSources = $v.contactSources.toBuilder();
|
||||
_credit = $v.credit?.toBuilder();
|
||||
_customer = $v.customer?.toBuilder();
|
||||
_customerContacts = $v.customerContacts.toBuilder();
|
||||
_delivery = $v.delivery.toBuilder();
|
||||
_deliveryServices = $v.deliveryServices.toBuilder();
|
||||
_notes = $v.notes.toBuilder();
|
||||
_payment = $v.payment?.toBuilder();
|
||||
_services = $v.services.toBuilder();
|
||||
_tour = $v.tour.toBuilder();
|
||||
_warehouses = $v.warehouses.toBuilder();
|
||||
_$v = null;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
@override
|
||||
void replace(DeliveryDetails other) {
|
||||
_$v = other as _$DeliveryDetails;
|
||||
}
|
||||
|
||||
@override
|
||||
void update(void Function(DeliveryDetailsBuilder)? updates) {
|
||||
if (updates != null) updates(this);
|
||||
}
|
||||
|
||||
@override
|
||||
DeliveryDetails build() => _build();
|
||||
|
||||
_$DeliveryDetails _build() {
|
||||
_$DeliveryDetails _$result;
|
||||
try {
|
||||
_$result = _$v ??
|
||||
_$DeliveryDetails._(
|
||||
articles: articles.build(),
|
||||
contactChannels: contactChannels.build(),
|
||||
contactSources: contactSources.build(),
|
||||
credit: _credit?.build(),
|
||||
customer: _customer?.build(),
|
||||
customerContacts: customerContacts.build(),
|
||||
delivery: delivery.build(),
|
||||
deliveryServices: deliveryServices.build(),
|
||||
notes: notes.build(),
|
||||
payment: _payment?.build(),
|
||||
services: services.build(),
|
||||
tour: tour.build(),
|
||||
warehouses: warehouses.build(),
|
||||
);
|
||||
} catch (_) {
|
||||
late String _$failedField;
|
||||
try {
|
||||
_$failedField = 'articles';
|
||||
articles.build();
|
||||
_$failedField = 'contactChannels';
|
||||
contactChannels.build();
|
||||
_$failedField = 'contactSources';
|
||||
contactSources.build();
|
||||
_$failedField = 'credit';
|
||||
_credit?.build();
|
||||
_$failedField = 'customer';
|
||||
_customer?.build();
|
||||
_$failedField = 'customerContacts';
|
||||
customerContacts.build();
|
||||
_$failedField = 'delivery';
|
||||
delivery.build();
|
||||
_$failedField = 'deliveryServices';
|
||||
deliveryServices.build();
|
||||
_$failedField = 'notes';
|
||||
notes.build();
|
||||
_$failedField = 'payment';
|
||||
_payment?.build();
|
||||
_$failedField = 'services';
|
||||
services.build();
|
||||
_$failedField = 'tour';
|
||||
tour.build();
|
||||
_$failedField = 'warehouses';
|
||||
warehouses.build();
|
||||
} catch (e) {
|
||||
throw BuiltValueNestedFieldError(
|
||||
r'DeliveryDetails', _$failedField, e.toString());
|
||||
}
|
||||
rethrow;
|
||||
}
|
||||
replace(_$result);
|
||||
return _$result;
|
||||
}
|
||||
}
|
||||
|
||||
// ignore_for_file: deprecated_member_use_from_same_package,type=lint
|
||||
223
packages/holzleitner_api/lib/src/model/delivery_payment.dart
Normal file
223
packages/holzleitner_api/lib/src/model/delivery_payment.dart
Normal file
@ -0,0 +1,223 @@
|
||||
//
|
||||
// AUTO-GENERATED FILE, DO NOT MODIFY!
|
||||
//
|
||||
|
||||
// ignore_for_file: unused_element
|
||||
import 'package:built_value/built_value.dart';
|
||||
import 'package:built_value/serializer.dart';
|
||||
|
||||
part 'delivery_payment.g.dart';
|
||||
|
||||
/// Protokollierte Zahlungsabwicklung („Abkassieren\") einer Lieferung. Append-only: jede Bestätigung des Fahrers ist ein eigener Eintrag; im Tour-Aggregat wird pro Lieferung nur der jüngste mitgeliefert. Der Betrag ist der server-seitig berechnete offene Betrag zum Zeitpunkt der Bestätigung. Weicht der aktuelle offene Betrag davon ab (z. B. nach einer neuen Gutschrift), ist der Eintrag veraltet und muss erneuert werden.
|
||||
///
|
||||
/// Properties:
|
||||
/// * [amountCents] - Abgewickelter Betrag in Cent (offener Betrag bei Bestätigung).
|
||||
/// * [deliveryId]
|
||||
/// * [id]
|
||||
/// * [paymentMethodCode] - Snapshot des Methoden-Codes (`cash`, `ec_card`, `invoice`, …).
|
||||
/// * [paymentMethodId]
|
||||
/// * [recordedAt]
|
||||
/// * [recordedByCarId]
|
||||
/// * [recordedByPersonalnummer]
|
||||
@BuiltValue()
|
||||
abstract class DeliveryPayment implements Built<DeliveryPayment, DeliveryPaymentBuilder> {
|
||||
/// Abgewickelter Betrag in Cent (offener Betrag bei Bestätigung).
|
||||
@BuiltValueField(wireName: r'amountCents')
|
||||
int get amountCents;
|
||||
|
||||
@BuiltValueField(wireName: r'deliveryId')
|
||||
String get deliveryId;
|
||||
|
||||
@BuiltValueField(wireName: r'id')
|
||||
String get id;
|
||||
|
||||
/// Snapshot des Methoden-Codes (`cash`, `ec_card`, `invoice`, …).
|
||||
@BuiltValueField(wireName: r'paymentMethodCode')
|
||||
String get paymentMethodCode;
|
||||
|
||||
@BuiltValueField(wireName: r'paymentMethodId')
|
||||
String get paymentMethodId;
|
||||
|
||||
@BuiltValueField(wireName: r'recordedAt')
|
||||
DateTime get recordedAt;
|
||||
|
||||
@BuiltValueField(wireName: r'recordedByCarId')
|
||||
String? get recordedByCarId;
|
||||
|
||||
@BuiltValueField(wireName: r'recordedByPersonalnummer')
|
||||
int get recordedByPersonalnummer;
|
||||
|
||||
DeliveryPayment._();
|
||||
|
||||
factory DeliveryPayment([void updates(DeliveryPaymentBuilder b)]) = _$DeliveryPayment;
|
||||
|
||||
@BuiltValueHook(initializeBuilder: true)
|
||||
static void _defaults(DeliveryPaymentBuilder b) => b;
|
||||
|
||||
@BuiltValueSerializer(custom: true)
|
||||
static Serializer<DeliveryPayment> get serializer => _$DeliveryPaymentSerializer();
|
||||
}
|
||||
|
||||
class _$DeliveryPaymentSerializer implements PrimitiveSerializer<DeliveryPayment> {
|
||||
@override
|
||||
final Iterable<Type> types = const [DeliveryPayment, _$DeliveryPayment];
|
||||
|
||||
@override
|
||||
final String wireName = r'DeliveryPayment';
|
||||
|
||||
Iterable<Object?> _serializeProperties(
|
||||
Serializers serializers,
|
||||
DeliveryPayment object, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) sync* {
|
||||
yield r'amountCents';
|
||||
yield serializers.serialize(
|
||||
object.amountCents,
|
||||
specifiedType: const FullType(int),
|
||||
);
|
||||
yield r'deliveryId';
|
||||
yield serializers.serialize(
|
||||
object.deliveryId,
|
||||
specifiedType: const FullType(String),
|
||||
);
|
||||
yield r'id';
|
||||
yield serializers.serialize(
|
||||
object.id,
|
||||
specifiedType: const FullType(String),
|
||||
);
|
||||
yield r'paymentMethodCode';
|
||||
yield serializers.serialize(
|
||||
object.paymentMethodCode,
|
||||
specifiedType: const FullType(String),
|
||||
);
|
||||
yield r'paymentMethodId';
|
||||
yield serializers.serialize(
|
||||
object.paymentMethodId,
|
||||
specifiedType: const FullType(String),
|
||||
);
|
||||
yield r'recordedAt';
|
||||
yield serializers.serialize(
|
||||
object.recordedAt,
|
||||
specifiedType: const FullType(DateTime),
|
||||
);
|
||||
if (object.recordedByCarId != null) {
|
||||
yield r'recordedByCarId';
|
||||
yield serializers.serialize(
|
||||
object.recordedByCarId,
|
||||
specifiedType: const FullType.nullable(String),
|
||||
);
|
||||
}
|
||||
yield r'recordedByPersonalnummer';
|
||||
yield serializers.serialize(
|
||||
object.recordedByPersonalnummer,
|
||||
specifiedType: const FullType(int),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Object serialize(
|
||||
Serializers serializers,
|
||||
DeliveryPayment object, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) {
|
||||
return _serializeProperties(serializers, object, specifiedType: specifiedType).toList();
|
||||
}
|
||||
|
||||
void _deserializeProperties(
|
||||
Serializers serializers,
|
||||
Object serialized, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
required List<Object?> serializedList,
|
||||
required DeliveryPaymentBuilder result,
|
||||
required List<Object?> unhandled,
|
||||
}) {
|
||||
for (var i = 0; i < serializedList.length; i += 2) {
|
||||
final key = serializedList[i] as String;
|
||||
final value = serializedList[i + 1];
|
||||
switch (key) {
|
||||
case r'amountCents':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(int),
|
||||
) as int;
|
||||
result.amountCents = valueDes;
|
||||
break;
|
||||
case r'deliveryId':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(String),
|
||||
) as String;
|
||||
result.deliveryId = valueDes;
|
||||
break;
|
||||
case r'id':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(String),
|
||||
) as String;
|
||||
result.id = valueDes;
|
||||
break;
|
||||
case r'paymentMethodCode':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(String),
|
||||
) as String;
|
||||
result.paymentMethodCode = valueDes;
|
||||
break;
|
||||
case r'paymentMethodId':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(String),
|
||||
) as String;
|
||||
result.paymentMethodId = valueDes;
|
||||
break;
|
||||
case r'recordedAt':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(DateTime),
|
||||
) as DateTime;
|
||||
result.recordedAt = valueDes;
|
||||
break;
|
||||
case r'recordedByCarId':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType.nullable(String),
|
||||
) as String?;
|
||||
if (valueDes == null) continue;
|
||||
result.recordedByCarId = valueDes;
|
||||
break;
|
||||
case r'recordedByPersonalnummer':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(int),
|
||||
) as int;
|
||||
result.recordedByPersonalnummer = valueDes;
|
||||
break;
|
||||
default:
|
||||
unhandled.add(key);
|
||||
unhandled.add(value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
DeliveryPayment deserialize(
|
||||
Serializers serializers,
|
||||
Object serialized, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) {
|
||||
final result = DeliveryPaymentBuilder();
|
||||
final serializedList = (serialized as Iterable<Object?>).toList();
|
||||
final unhandled = <Object?>[];
|
||||
_deserializeProperties(
|
||||
serializers,
|
||||
serialized,
|
||||
specifiedType: specifiedType,
|
||||
serializedList: serializedList,
|
||||
unhandled: unhandled,
|
||||
result: result,
|
||||
);
|
||||
return result.build();
|
||||
}
|
||||
}
|
||||
|
||||
190
packages/holzleitner_api/lib/src/model/delivery_payment.g.dart
Normal file
190
packages/holzleitner_api/lib/src/model/delivery_payment.g.dart
Normal file
@ -0,0 +1,190 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'delivery_payment.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// BuiltValueGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class _$DeliveryPayment extends DeliveryPayment {
|
||||
@override
|
||||
final int amountCents;
|
||||
@override
|
||||
final String deliveryId;
|
||||
@override
|
||||
final String id;
|
||||
@override
|
||||
final String paymentMethodCode;
|
||||
@override
|
||||
final String paymentMethodId;
|
||||
@override
|
||||
final DateTime recordedAt;
|
||||
@override
|
||||
final String? recordedByCarId;
|
||||
@override
|
||||
final int recordedByPersonalnummer;
|
||||
|
||||
factory _$DeliveryPayment([void Function(DeliveryPaymentBuilder)? updates]) =>
|
||||
(DeliveryPaymentBuilder()..update(updates))._build();
|
||||
|
||||
_$DeliveryPayment._(
|
||||
{required this.amountCents,
|
||||
required this.deliveryId,
|
||||
required this.id,
|
||||
required this.paymentMethodCode,
|
||||
required this.paymentMethodId,
|
||||
required this.recordedAt,
|
||||
this.recordedByCarId,
|
||||
required this.recordedByPersonalnummer})
|
||||
: super._();
|
||||
@override
|
||||
DeliveryPayment rebuild(void Function(DeliveryPaymentBuilder) updates) =>
|
||||
(toBuilder()..update(updates)).build();
|
||||
|
||||
@override
|
||||
DeliveryPaymentBuilder toBuilder() => DeliveryPaymentBuilder()..replace(this);
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
if (identical(other, this)) return true;
|
||||
return other is DeliveryPayment &&
|
||||
amountCents == other.amountCents &&
|
||||
deliveryId == other.deliveryId &&
|
||||
id == other.id &&
|
||||
paymentMethodCode == other.paymentMethodCode &&
|
||||
paymentMethodId == other.paymentMethodId &&
|
||||
recordedAt == other.recordedAt &&
|
||||
recordedByCarId == other.recordedByCarId &&
|
||||
recordedByPersonalnummer == other.recordedByPersonalnummer;
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode {
|
||||
var _$hash = 0;
|
||||
_$hash = $jc(_$hash, amountCents.hashCode);
|
||||
_$hash = $jc(_$hash, deliveryId.hashCode);
|
||||
_$hash = $jc(_$hash, id.hashCode);
|
||||
_$hash = $jc(_$hash, paymentMethodCode.hashCode);
|
||||
_$hash = $jc(_$hash, paymentMethodId.hashCode);
|
||||
_$hash = $jc(_$hash, recordedAt.hashCode);
|
||||
_$hash = $jc(_$hash, recordedByCarId.hashCode);
|
||||
_$hash = $jc(_$hash, recordedByPersonalnummer.hashCode);
|
||||
_$hash = $jf(_$hash);
|
||||
return _$hash;
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return (newBuiltValueToStringHelper(r'DeliveryPayment')
|
||||
..add('amountCents', amountCents)
|
||||
..add('deliveryId', deliveryId)
|
||||
..add('id', id)
|
||||
..add('paymentMethodCode', paymentMethodCode)
|
||||
..add('paymentMethodId', paymentMethodId)
|
||||
..add('recordedAt', recordedAt)
|
||||
..add('recordedByCarId', recordedByCarId)
|
||||
..add('recordedByPersonalnummer', recordedByPersonalnummer))
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
||||
class DeliveryPaymentBuilder
|
||||
implements Builder<DeliveryPayment, DeliveryPaymentBuilder> {
|
||||
_$DeliveryPayment? _$v;
|
||||
|
||||
int? _amountCents;
|
||||
int? get amountCents => _$this._amountCents;
|
||||
set amountCents(int? amountCents) => _$this._amountCents = amountCents;
|
||||
|
||||
String? _deliveryId;
|
||||
String? get deliveryId => _$this._deliveryId;
|
||||
set deliveryId(String? deliveryId) => _$this._deliveryId = deliveryId;
|
||||
|
||||
String? _id;
|
||||
String? get id => _$this._id;
|
||||
set id(String? id) => _$this._id = id;
|
||||
|
||||
String? _paymentMethodCode;
|
||||
String? get paymentMethodCode => _$this._paymentMethodCode;
|
||||
set paymentMethodCode(String? paymentMethodCode) =>
|
||||
_$this._paymentMethodCode = paymentMethodCode;
|
||||
|
||||
String? _paymentMethodId;
|
||||
String? get paymentMethodId => _$this._paymentMethodId;
|
||||
set paymentMethodId(String? paymentMethodId) =>
|
||||
_$this._paymentMethodId = paymentMethodId;
|
||||
|
||||
DateTime? _recordedAt;
|
||||
DateTime? get recordedAt => _$this._recordedAt;
|
||||
set recordedAt(DateTime? recordedAt) => _$this._recordedAt = recordedAt;
|
||||
|
||||
String? _recordedByCarId;
|
||||
String? get recordedByCarId => _$this._recordedByCarId;
|
||||
set recordedByCarId(String? recordedByCarId) =>
|
||||
_$this._recordedByCarId = recordedByCarId;
|
||||
|
||||
int? _recordedByPersonalnummer;
|
||||
int? get recordedByPersonalnummer => _$this._recordedByPersonalnummer;
|
||||
set recordedByPersonalnummer(int? recordedByPersonalnummer) =>
|
||||
_$this._recordedByPersonalnummer = recordedByPersonalnummer;
|
||||
|
||||
DeliveryPaymentBuilder() {
|
||||
DeliveryPayment._defaults(this);
|
||||
}
|
||||
|
||||
DeliveryPaymentBuilder get _$this {
|
||||
final $v = _$v;
|
||||
if ($v != null) {
|
||||
_amountCents = $v.amountCents;
|
||||
_deliveryId = $v.deliveryId;
|
||||
_id = $v.id;
|
||||
_paymentMethodCode = $v.paymentMethodCode;
|
||||
_paymentMethodId = $v.paymentMethodId;
|
||||
_recordedAt = $v.recordedAt;
|
||||
_recordedByCarId = $v.recordedByCarId;
|
||||
_recordedByPersonalnummer = $v.recordedByPersonalnummer;
|
||||
_$v = null;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
@override
|
||||
void replace(DeliveryPayment other) {
|
||||
_$v = other as _$DeliveryPayment;
|
||||
}
|
||||
|
||||
@override
|
||||
void update(void Function(DeliveryPaymentBuilder)? updates) {
|
||||
if (updates != null) updates(this);
|
||||
}
|
||||
|
||||
@override
|
||||
DeliveryPayment build() => _build();
|
||||
|
||||
_$DeliveryPayment _build() {
|
||||
final _$result = _$v ??
|
||||
_$DeliveryPayment._(
|
||||
amountCents: BuiltValueNullFieldError.checkNotNull(
|
||||
amountCents, r'DeliveryPayment', 'amountCents'),
|
||||
deliveryId: BuiltValueNullFieldError.checkNotNull(
|
||||
deliveryId, r'DeliveryPayment', 'deliveryId'),
|
||||
id: BuiltValueNullFieldError.checkNotNull(
|
||||
id, r'DeliveryPayment', 'id'),
|
||||
paymentMethodCode: BuiltValueNullFieldError.checkNotNull(
|
||||
paymentMethodCode, r'DeliveryPayment', 'paymentMethodCode'),
|
||||
paymentMethodId: BuiltValueNullFieldError.checkNotNull(
|
||||
paymentMethodId, r'DeliveryPayment', 'paymentMethodId'),
|
||||
recordedAt: BuiltValueNullFieldError.checkNotNull(
|
||||
recordedAt, r'DeliveryPayment', 'recordedAt'),
|
||||
recordedByCarId: recordedByCarId,
|
||||
recordedByPersonalnummer: BuiltValueNullFieldError.checkNotNull(
|
||||
recordedByPersonalnummer,
|
||||
r'DeliveryPayment',
|
||||
'recordedByPersonalnummer'),
|
||||
);
|
||||
replace(_$result);
|
||||
return _$result;
|
||||
}
|
||||
}
|
||||
|
||||
// ignore_for_file: deprecated_member_use_from_same_package,type=lint
|
||||
@ -0,0 +1,107 @@
|
||||
//
|
||||
// AUTO-GENERATED FILE, DO NOT MODIFY!
|
||||
//
|
||||
|
||||
// ignore_for_file: unused_element
|
||||
import 'package:holzleitner_api/src/model/delivery_payment.dart';
|
||||
import 'package:built_value/built_value.dart';
|
||||
import 'package:built_value/serializer.dart';
|
||||
|
||||
part 'delivery_payment_response.g.dart';
|
||||
|
||||
/// DeliveryPaymentResponse
|
||||
///
|
||||
/// Properties:
|
||||
/// * [payment]
|
||||
@BuiltValue()
|
||||
abstract class DeliveryPaymentResponse implements Built<DeliveryPaymentResponse, DeliveryPaymentResponseBuilder> {
|
||||
@BuiltValueField(wireName: r'payment')
|
||||
DeliveryPayment get payment;
|
||||
|
||||
DeliveryPaymentResponse._();
|
||||
|
||||
factory DeliveryPaymentResponse([void updates(DeliveryPaymentResponseBuilder b)]) = _$DeliveryPaymentResponse;
|
||||
|
||||
@BuiltValueHook(initializeBuilder: true)
|
||||
static void _defaults(DeliveryPaymentResponseBuilder b) => b;
|
||||
|
||||
@BuiltValueSerializer(custom: true)
|
||||
static Serializer<DeliveryPaymentResponse> get serializer => _$DeliveryPaymentResponseSerializer();
|
||||
}
|
||||
|
||||
class _$DeliveryPaymentResponseSerializer implements PrimitiveSerializer<DeliveryPaymentResponse> {
|
||||
@override
|
||||
final Iterable<Type> types = const [DeliveryPaymentResponse, _$DeliveryPaymentResponse];
|
||||
|
||||
@override
|
||||
final String wireName = r'DeliveryPaymentResponse';
|
||||
|
||||
Iterable<Object?> _serializeProperties(
|
||||
Serializers serializers,
|
||||
DeliveryPaymentResponse object, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) sync* {
|
||||
yield r'payment';
|
||||
yield serializers.serialize(
|
||||
object.payment,
|
||||
specifiedType: const FullType(DeliveryPayment),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Object serialize(
|
||||
Serializers serializers,
|
||||
DeliveryPaymentResponse object, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) {
|
||||
return _serializeProperties(serializers, object, specifiedType: specifiedType).toList();
|
||||
}
|
||||
|
||||
void _deserializeProperties(
|
||||
Serializers serializers,
|
||||
Object serialized, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
required List<Object?> serializedList,
|
||||
required DeliveryPaymentResponseBuilder result,
|
||||
required List<Object?> unhandled,
|
||||
}) {
|
||||
for (var i = 0; i < serializedList.length; i += 2) {
|
||||
final key = serializedList[i] as String;
|
||||
final value = serializedList[i + 1];
|
||||
switch (key) {
|
||||
case r'payment':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(DeliveryPayment),
|
||||
) as DeliveryPayment;
|
||||
result.payment.replace(valueDes);
|
||||
break;
|
||||
default:
|
||||
unhandled.add(key);
|
||||
unhandled.add(value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
DeliveryPaymentResponse deserialize(
|
||||
Serializers serializers,
|
||||
Object serialized, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) {
|
||||
final result = DeliveryPaymentResponseBuilder();
|
||||
final serializedList = (serialized as Iterable<Object?>).toList();
|
||||
final unhandled = <Object?>[];
|
||||
_deserializeProperties(
|
||||
serializers,
|
||||
serialized,
|
||||
specifiedType: specifiedType,
|
||||
serializedList: serializedList,
|
||||
unhandled: unhandled,
|
||||
result: result,
|
||||
);
|
||||
return result.build();
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,108 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'delivery_payment_response.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// BuiltValueGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class _$DeliveryPaymentResponse extends DeliveryPaymentResponse {
|
||||
@override
|
||||
final DeliveryPayment payment;
|
||||
|
||||
factory _$DeliveryPaymentResponse(
|
||||
[void Function(DeliveryPaymentResponseBuilder)? updates]) =>
|
||||
(DeliveryPaymentResponseBuilder()..update(updates))._build();
|
||||
|
||||
_$DeliveryPaymentResponse._({required this.payment}) : super._();
|
||||
@override
|
||||
DeliveryPaymentResponse rebuild(
|
||||
void Function(DeliveryPaymentResponseBuilder) updates) =>
|
||||
(toBuilder()..update(updates)).build();
|
||||
|
||||
@override
|
||||
DeliveryPaymentResponseBuilder toBuilder() =>
|
||||
DeliveryPaymentResponseBuilder()..replace(this);
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
if (identical(other, this)) return true;
|
||||
return other is DeliveryPaymentResponse && payment == other.payment;
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode {
|
||||
var _$hash = 0;
|
||||
_$hash = $jc(_$hash, payment.hashCode);
|
||||
_$hash = $jf(_$hash);
|
||||
return _$hash;
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return (newBuiltValueToStringHelper(r'DeliveryPaymentResponse')
|
||||
..add('payment', payment))
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
||||
class DeliveryPaymentResponseBuilder
|
||||
implements
|
||||
Builder<DeliveryPaymentResponse, DeliveryPaymentResponseBuilder> {
|
||||
_$DeliveryPaymentResponse? _$v;
|
||||
|
||||
DeliveryPaymentBuilder? _payment;
|
||||
DeliveryPaymentBuilder get payment =>
|
||||
_$this._payment ??= DeliveryPaymentBuilder();
|
||||
set payment(DeliveryPaymentBuilder? payment) => _$this._payment = payment;
|
||||
|
||||
DeliveryPaymentResponseBuilder() {
|
||||
DeliveryPaymentResponse._defaults(this);
|
||||
}
|
||||
|
||||
DeliveryPaymentResponseBuilder get _$this {
|
||||
final $v = _$v;
|
||||
if ($v != null) {
|
||||
_payment = $v.payment.toBuilder();
|
||||
_$v = null;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
@override
|
||||
void replace(DeliveryPaymentResponse other) {
|
||||
_$v = other as _$DeliveryPaymentResponse;
|
||||
}
|
||||
|
||||
@override
|
||||
void update(void Function(DeliveryPaymentResponseBuilder)? updates) {
|
||||
if (updates != null) updates(this);
|
||||
}
|
||||
|
||||
@override
|
||||
DeliveryPaymentResponse build() => _build();
|
||||
|
||||
_$DeliveryPaymentResponse _build() {
|
||||
_$DeliveryPaymentResponse _$result;
|
||||
try {
|
||||
_$result = _$v ??
|
||||
_$DeliveryPaymentResponse._(
|
||||
payment: payment.build(),
|
||||
);
|
||||
} catch (_) {
|
||||
late String _$failedField;
|
||||
try {
|
||||
_$failedField = 'payment';
|
||||
payment.build();
|
||||
} catch (e) {
|
||||
throw BuiltValueNestedFieldError(
|
||||
r'DeliveryPaymentResponse', _$failedField, e.toString());
|
||||
}
|
||||
rethrow;
|
||||
}
|
||||
replace(_$result);
|
||||
return _$result;
|
||||
}
|
||||
}
|
||||
|
||||
// ignore_for_file: deprecated_member_use_from_same_package,type=lint
|
||||
@ -0,0 +1,243 @@
|
||||
//
|
||||
// AUTO-GENERATED FILE, DO NOT MODIFY!
|
||||
//
|
||||
|
||||
// ignore_for_file: unused_element
|
||||
import 'package:holzleitner_api/src/model/reviewed_item_response.dart';
|
||||
import 'package:built_collection/built_collection.dart';
|
||||
import 'package:built_value/built_value.dart';
|
||||
import 'package:built_value/serializer.dart';
|
||||
|
||||
part 'pending_review_response.g.dart';
|
||||
|
||||
/// PendingReviewResponse
|
||||
///
|
||||
/// Properties:
|
||||
/// * [creditedItems] - Entfernte/teil-gutgeschriebene Positionen.
|
||||
/// * [customerName]
|
||||
/// * [deliveryId]
|
||||
/// * [erpBelegartId]
|
||||
/// * [erpBelegnummer]
|
||||
/// * [lastChangeAt] - Zeitpunkt der letzten beleg-ändernden Aktion (RFC 3339).
|
||||
/// * [moneyCreditCents] - Geld-Gutschrift in Cent (0 = keine).
|
||||
/// * [moneyCreditReason]
|
||||
/// * [tourDate] - Tourdatum (ISO `YYYY-MM-DD`).
|
||||
@BuiltValue()
|
||||
abstract class PendingReviewResponse implements Built<PendingReviewResponse, PendingReviewResponseBuilder> {
|
||||
/// Entfernte/teil-gutgeschriebene Positionen.
|
||||
@BuiltValueField(wireName: r'credited_items')
|
||||
BuiltList<ReviewedItemResponse> get creditedItems;
|
||||
|
||||
@BuiltValueField(wireName: r'customer_name')
|
||||
String get customerName;
|
||||
|
||||
@BuiltValueField(wireName: r'delivery_id')
|
||||
String get deliveryId;
|
||||
|
||||
@BuiltValueField(wireName: r'erp_belegart_id')
|
||||
int get erpBelegartId;
|
||||
|
||||
@BuiltValueField(wireName: r'erp_belegnummer')
|
||||
String get erpBelegnummer;
|
||||
|
||||
/// Zeitpunkt der letzten beleg-ändernden Aktion (RFC 3339).
|
||||
@BuiltValueField(wireName: r'last_change_at')
|
||||
String get lastChangeAt;
|
||||
|
||||
/// Geld-Gutschrift in Cent (0 = keine).
|
||||
@BuiltValueField(wireName: r'money_credit_cents')
|
||||
int get moneyCreditCents;
|
||||
|
||||
@BuiltValueField(wireName: r'money_credit_reason')
|
||||
String? get moneyCreditReason;
|
||||
|
||||
/// Tourdatum (ISO `YYYY-MM-DD`).
|
||||
@BuiltValueField(wireName: r'tour_date')
|
||||
String get tourDate;
|
||||
|
||||
PendingReviewResponse._();
|
||||
|
||||
factory PendingReviewResponse([void updates(PendingReviewResponseBuilder b)]) = _$PendingReviewResponse;
|
||||
|
||||
@BuiltValueHook(initializeBuilder: true)
|
||||
static void _defaults(PendingReviewResponseBuilder b) => b;
|
||||
|
||||
@BuiltValueSerializer(custom: true)
|
||||
static Serializer<PendingReviewResponse> get serializer => _$PendingReviewResponseSerializer();
|
||||
}
|
||||
|
||||
class _$PendingReviewResponseSerializer implements PrimitiveSerializer<PendingReviewResponse> {
|
||||
@override
|
||||
final Iterable<Type> types = const [PendingReviewResponse, _$PendingReviewResponse];
|
||||
|
||||
@override
|
||||
final String wireName = r'PendingReviewResponse';
|
||||
|
||||
Iterable<Object?> _serializeProperties(
|
||||
Serializers serializers,
|
||||
PendingReviewResponse object, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) sync* {
|
||||
yield r'credited_items';
|
||||
yield serializers.serialize(
|
||||
object.creditedItems,
|
||||
specifiedType: const FullType(BuiltList, [FullType(ReviewedItemResponse)]),
|
||||
);
|
||||
yield r'customer_name';
|
||||
yield serializers.serialize(
|
||||
object.customerName,
|
||||
specifiedType: const FullType(String),
|
||||
);
|
||||
yield r'delivery_id';
|
||||
yield serializers.serialize(
|
||||
object.deliveryId,
|
||||
specifiedType: const FullType(String),
|
||||
);
|
||||
yield r'erp_belegart_id';
|
||||
yield serializers.serialize(
|
||||
object.erpBelegartId,
|
||||
specifiedType: const FullType(int),
|
||||
);
|
||||
yield r'erp_belegnummer';
|
||||
yield serializers.serialize(
|
||||
object.erpBelegnummer,
|
||||
specifiedType: const FullType(String),
|
||||
);
|
||||
yield r'last_change_at';
|
||||
yield serializers.serialize(
|
||||
object.lastChangeAt,
|
||||
specifiedType: const FullType(String),
|
||||
);
|
||||
yield r'money_credit_cents';
|
||||
yield serializers.serialize(
|
||||
object.moneyCreditCents,
|
||||
specifiedType: const FullType(int),
|
||||
);
|
||||
if (object.moneyCreditReason != null) {
|
||||
yield r'money_credit_reason';
|
||||
yield serializers.serialize(
|
||||
object.moneyCreditReason,
|
||||
specifiedType: const FullType.nullable(String),
|
||||
);
|
||||
}
|
||||
yield r'tour_date';
|
||||
yield serializers.serialize(
|
||||
object.tourDate,
|
||||
specifiedType: const FullType(String),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Object serialize(
|
||||
Serializers serializers,
|
||||
PendingReviewResponse object, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) {
|
||||
return _serializeProperties(serializers, object, specifiedType: specifiedType).toList();
|
||||
}
|
||||
|
||||
void _deserializeProperties(
|
||||
Serializers serializers,
|
||||
Object serialized, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
required List<Object?> serializedList,
|
||||
required PendingReviewResponseBuilder result,
|
||||
required List<Object?> unhandled,
|
||||
}) {
|
||||
for (var i = 0; i < serializedList.length; i += 2) {
|
||||
final key = serializedList[i] as String;
|
||||
final value = serializedList[i + 1];
|
||||
switch (key) {
|
||||
case r'credited_items':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(BuiltList, [FullType(ReviewedItemResponse)]),
|
||||
) as BuiltList<ReviewedItemResponse>;
|
||||
result.creditedItems.replace(valueDes);
|
||||
break;
|
||||
case r'customer_name':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(String),
|
||||
) as String;
|
||||
result.customerName = valueDes;
|
||||
break;
|
||||
case r'delivery_id':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(String),
|
||||
) as String;
|
||||
result.deliveryId = valueDes;
|
||||
break;
|
||||
case r'erp_belegart_id':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(int),
|
||||
) as int;
|
||||
result.erpBelegartId = valueDes;
|
||||
break;
|
||||
case r'erp_belegnummer':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(String),
|
||||
) as String;
|
||||
result.erpBelegnummer = valueDes;
|
||||
break;
|
||||
case r'last_change_at':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(String),
|
||||
) as String;
|
||||
result.lastChangeAt = valueDes;
|
||||
break;
|
||||
case r'money_credit_cents':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(int),
|
||||
) as int;
|
||||
result.moneyCreditCents = valueDes;
|
||||
break;
|
||||
case r'money_credit_reason':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType.nullable(String),
|
||||
) as String?;
|
||||
if (valueDes == null) continue;
|
||||
result.moneyCreditReason = valueDes;
|
||||
break;
|
||||
case r'tour_date':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(String),
|
||||
) as String;
|
||||
result.tourDate = valueDes;
|
||||
break;
|
||||
default:
|
||||
unhandled.add(key);
|
||||
unhandled.add(value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
PendingReviewResponse deserialize(
|
||||
Serializers serializers,
|
||||
Object serialized, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) {
|
||||
final result = PendingReviewResponseBuilder();
|
||||
final serializedList = (serialized as Iterable<Object?>).toList();
|
||||
final unhandled = <Object?>[];
|
||||
_deserializeProperties(
|
||||
serializers,
|
||||
serialized,
|
||||
specifiedType: specifiedType,
|
||||
serializedList: serializedList,
|
||||
unhandled: unhandled,
|
||||
result: result,
|
||||
);
|
||||
return result.build();
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,218 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'pending_review_response.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// BuiltValueGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class _$PendingReviewResponse extends PendingReviewResponse {
|
||||
@override
|
||||
final BuiltList<ReviewedItemResponse> creditedItems;
|
||||
@override
|
||||
final String customerName;
|
||||
@override
|
||||
final String deliveryId;
|
||||
@override
|
||||
final int erpBelegartId;
|
||||
@override
|
||||
final String erpBelegnummer;
|
||||
@override
|
||||
final String lastChangeAt;
|
||||
@override
|
||||
final int moneyCreditCents;
|
||||
@override
|
||||
final String? moneyCreditReason;
|
||||
@override
|
||||
final String tourDate;
|
||||
|
||||
factory _$PendingReviewResponse(
|
||||
[void Function(PendingReviewResponseBuilder)? updates]) =>
|
||||
(PendingReviewResponseBuilder()..update(updates))._build();
|
||||
|
||||
_$PendingReviewResponse._(
|
||||
{required this.creditedItems,
|
||||
required this.customerName,
|
||||
required this.deliveryId,
|
||||
required this.erpBelegartId,
|
||||
required this.erpBelegnummer,
|
||||
required this.lastChangeAt,
|
||||
required this.moneyCreditCents,
|
||||
this.moneyCreditReason,
|
||||
required this.tourDate})
|
||||
: super._();
|
||||
@override
|
||||
PendingReviewResponse rebuild(
|
||||
void Function(PendingReviewResponseBuilder) updates) =>
|
||||
(toBuilder()..update(updates)).build();
|
||||
|
||||
@override
|
||||
PendingReviewResponseBuilder toBuilder() =>
|
||||
PendingReviewResponseBuilder()..replace(this);
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
if (identical(other, this)) return true;
|
||||
return other is PendingReviewResponse &&
|
||||
creditedItems == other.creditedItems &&
|
||||
customerName == other.customerName &&
|
||||
deliveryId == other.deliveryId &&
|
||||
erpBelegartId == other.erpBelegartId &&
|
||||
erpBelegnummer == other.erpBelegnummer &&
|
||||
lastChangeAt == other.lastChangeAt &&
|
||||
moneyCreditCents == other.moneyCreditCents &&
|
||||
moneyCreditReason == other.moneyCreditReason &&
|
||||
tourDate == other.tourDate;
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode {
|
||||
var _$hash = 0;
|
||||
_$hash = $jc(_$hash, creditedItems.hashCode);
|
||||
_$hash = $jc(_$hash, customerName.hashCode);
|
||||
_$hash = $jc(_$hash, deliveryId.hashCode);
|
||||
_$hash = $jc(_$hash, erpBelegartId.hashCode);
|
||||
_$hash = $jc(_$hash, erpBelegnummer.hashCode);
|
||||
_$hash = $jc(_$hash, lastChangeAt.hashCode);
|
||||
_$hash = $jc(_$hash, moneyCreditCents.hashCode);
|
||||
_$hash = $jc(_$hash, moneyCreditReason.hashCode);
|
||||
_$hash = $jc(_$hash, tourDate.hashCode);
|
||||
_$hash = $jf(_$hash);
|
||||
return _$hash;
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return (newBuiltValueToStringHelper(r'PendingReviewResponse')
|
||||
..add('creditedItems', creditedItems)
|
||||
..add('customerName', customerName)
|
||||
..add('deliveryId', deliveryId)
|
||||
..add('erpBelegartId', erpBelegartId)
|
||||
..add('erpBelegnummer', erpBelegnummer)
|
||||
..add('lastChangeAt', lastChangeAt)
|
||||
..add('moneyCreditCents', moneyCreditCents)
|
||||
..add('moneyCreditReason', moneyCreditReason)
|
||||
..add('tourDate', tourDate))
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
||||
class PendingReviewResponseBuilder
|
||||
implements Builder<PendingReviewResponse, PendingReviewResponseBuilder> {
|
||||
_$PendingReviewResponse? _$v;
|
||||
|
||||
ListBuilder<ReviewedItemResponse>? _creditedItems;
|
||||
ListBuilder<ReviewedItemResponse> get creditedItems =>
|
||||
_$this._creditedItems ??= ListBuilder<ReviewedItemResponse>();
|
||||
set creditedItems(ListBuilder<ReviewedItemResponse>? creditedItems) =>
|
||||
_$this._creditedItems = creditedItems;
|
||||
|
||||
String? _customerName;
|
||||
String? get customerName => _$this._customerName;
|
||||
set customerName(String? customerName) => _$this._customerName = customerName;
|
||||
|
||||
String? _deliveryId;
|
||||
String? get deliveryId => _$this._deliveryId;
|
||||
set deliveryId(String? deliveryId) => _$this._deliveryId = deliveryId;
|
||||
|
||||
int? _erpBelegartId;
|
||||
int? get erpBelegartId => _$this._erpBelegartId;
|
||||
set erpBelegartId(int? erpBelegartId) =>
|
||||
_$this._erpBelegartId = erpBelegartId;
|
||||
|
||||
String? _erpBelegnummer;
|
||||
String? get erpBelegnummer => _$this._erpBelegnummer;
|
||||
set erpBelegnummer(String? erpBelegnummer) =>
|
||||
_$this._erpBelegnummer = erpBelegnummer;
|
||||
|
||||
String? _lastChangeAt;
|
||||
String? get lastChangeAt => _$this._lastChangeAt;
|
||||
set lastChangeAt(String? lastChangeAt) => _$this._lastChangeAt = lastChangeAt;
|
||||
|
||||
int? _moneyCreditCents;
|
||||
int? get moneyCreditCents => _$this._moneyCreditCents;
|
||||
set moneyCreditCents(int? moneyCreditCents) =>
|
||||
_$this._moneyCreditCents = moneyCreditCents;
|
||||
|
||||
String? _moneyCreditReason;
|
||||
String? get moneyCreditReason => _$this._moneyCreditReason;
|
||||
set moneyCreditReason(String? moneyCreditReason) =>
|
||||
_$this._moneyCreditReason = moneyCreditReason;
|
||||
|
||||
String? _tourDate;
|
||||
String? get tourDate => _$this._tourDate;
|
||||
set tourDate(String? tourDate) => _$this._tourDate = tourDate;
|
||||
|
||||
PendingReviewResponseBuilder() {
|
||||
PendingReviewResponse._defaults(this);
|
||||
}
|
||||
|
||||
PendingReviewResponseBuilder get _$this {
|
||||
final $v = _$v;
|
||||
if ($v != null) {
|
||||
_creditedItems = $v.creditedItems.toBuilder();
|
||||
_customerName = $v.customerName;
|
||||
_deliveryId = $v.deliveryId;
|
||||
_erpBelegartId = $v.erpBelegartId;
|
||||
_erpBelegnummer = $v.erpBelegnummer;
|
||||
_lastChangeAt = $v.lastChangeAt;
|
||||
_moneyCreditCents = $v.moneyCreditCents;
|
||||
_moneyCreditReason = $v.moneyCreditReason;
|
||||
_tourDate = $v.tourDate;
|
||||
_$v = null;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
@override
|
||||
void replace(PendingReviewResponse other) {
|
||||
_$v = other as _$PendingReviewResponse;
|
||||
}
|
||||
|
||||
@override
|
||||
void update(void Function(PendingReviewResponseBuilder)? updates) {
|
||||
if (updates != null) updates(this);
|
||||
}
|
||||
|
||||
@override
|
||||
PendingReviewResponse build() => _build();
|
||||
|
||||
_$PendingReviewResponse _build() {
|
||||
_$PendingReviewResponse _$result;
|
||||
try {
|
||||
_$result = _$v ??
|
||||
_$PendingReviewResponse._(
|
||||
creditedItems: creditedItems.build(),
|
||||
customerName: BuiltValueNullFieldError.checkNotNull(
|
||||
customerName, r'PendingReviewResponse', 'customerName'),
|
||||
deliveryId: BuiltValueNullFieldError.checkNotNull(
|
||||
deliveryId, r'PendingReviewResponse', 'deliveryId'),
|
||||
erpBelegartId: BuiltValueNullFieldError.checkNotNull(
|
||||
erpBelegartId, r'PendingReviewResponse', 'erpBelegartId'),
|
||||
erpBelegnummer: BuiltValueNullFieldError.checkNotNull(
|
||||
erpBelegnummer, r'PendingReviewResponse', 'erpBelegnummer'),
|
||||
lastChangeAt: BuiltValueNullFieldError.checkNotNull(
|
||||
lastChangeAt, r'PendingReviewResponse', 'lastChangeAt'),
|
||||
moneyCreditCents: BuiltValueNullFieldError.checkNotNull(
|
||||
moneyCreditCents, r'PendingReviewResponse', 'moneyCreditCents'),
|
||||
moneyCreditReason: moneyCreditReason,
|
||||
tourDate: BuiltValueNullFieldError.checkNotNull(
|
||||
tourDate, r'PendingReviewResponse', 'tourDate'),
|
||||
);
|
||||
} catch (_) {
|
||||
late String _$failedField;
|
||||
try {
|
||||
_$failedField = 'creditedItems';
|
||||
creditedItems.build();
|
||||
} catch (e) {
|
||||
throw BuiltValueNestedFieldError(
|
||||
r'PendingReviewResponse', _$failedField, e.toString());
|
||||
}
|
||||
rethrow;
|
||||
}
|
||||
replace(_$result);
|
||||
return _$result;
|
||||
}
|
||||
}
|
||||
|
||||
// ignore_for_file: deprecated_member_use_from_same_package,type=lint
|
||||
@ -0,0 +1,124 @@
|
||||
//
|
||||
// AUTO-GENERATED FILE, DO NOT MODIFY!
|
||||
//
|
||||
|
||||
// ignore_for_file: unused_element
|
||||
import 'package:built_value/built_value.dart';
|
||||
import 'package:built_value/serializer.dart';
|
||||
|
||||
part 'positions_modified_response.g.dart';
|
||||
|
||||
/// PositionsModifiedResponse
|
||||
///
|
||||
/// Properties:
|
||||
/// * [belegnummer] - ERP-Belegnummer, nach der gefragt wurde.
|
||||
/// * [positionsModified] - `true`, wenn an der Lieferung Positionen verändert wurden — eine Zeile wurde entfernt oder in der Menge reduziert (Stück-Gutschrift) **oder** es liegt eine aktive Geld-Gutschrift vor.
|
||||
@BuiltValue()
|
||||
abstract class PositionsModifiedResponse implements Built<PositionsModifiedResponse, PositionsModifiedResponseBuilder> {
|
||||
/// ERP-Belegnummer, nach der gefragt wurde.
|
||||
@BuiltValueField(wireName: r'belegnummer')
|
||||
String get belegnummer;
|
||||
|
||||
/// `true`, wenn an der Lieferung Positionen verändert wurden — eine Zeile wurde entfernt oder in der Menge reduziert (Stück-Gutschrift) **oder** es liegt eine aktive Geld-Gutschrift vor.
|
||||
@BuiltValueField(wireName: r'positions_modified')
|
||||
bool get positionsModified;
|
||||
|
||||
PositionsModifiedResponse._();
|
||||
|
||||
factory PositionsModifiedResponse([void updates(PositionsModifiedResponseBuilder b)]) = _$PositionsModifiedResponse;
|
||||
|
||||
@BuiltValueHook(initializeBuilder: true)
|
||||
static void _defaults(PositionsModifiedResponseBuilder b) => b;
|
||||
|
||||
@BuiltValueSerializer(custom: true)
|
||||
static Serializer<PositionsModifiedResponse> get serializer => _$PositionsModifiedResponseSerializer();
|
||||
}
|
||||
|
||||
class _$PositionsModifiedResponseSerializer implements PrimitiveSerializer<PositionsModifiedResponse> {
|
||||
@override
|
||||
final Iterable<Type> types = const [PositionsModifiedResponse, _$PositionsModifiedResponse];
|
||||
|
||||
@override
|
||||
final String wireName = r'PositionsModifiedResponse';
|
||||
|
||||
Iterable<Object?> _serializeProperties(
|
||||
Serializers serializers,
|
||||
PositionsModifiedResponse object, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) sync* {
|
||||
yield r'belegnummer';
|
||||
yield serializers.serialize(
|
||||
object.belegnummer,
|
||||
specifiedType: const FullType(String),
|
||||
);
|
||||
yield r'positions_modified';
|
||||
yield serializers.serialize(
|
||||
object.positionsModified,
|
||||
specifiedType: const FullType(bool),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Object serialize(
|
||||
Serializers serializers,
|
||||
PositionsModifiedResponse object, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) {
|
||||
return _serializeProperties(serializers, object, specifiedType: specifiedType).toList();
|
||||
}
|
||||
|
||||
void _deserializeProperties(
|
||||
Serializers serializers,
|
||||
Object serialized, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
required List<Object?> serializedList,
|
||||
required PositionsModifiedResponseBuilder result,
|
||||
required List<Object?> unhandled,
|
||||
}) {
|
||||
for (var i = 0; i < serializedList.length; i += 2) {
|
||||
final key = serializedList[i] as String;
|
||||
final value = serializedList[i + 1];
|
||||
switch (key) {
|
||||
case r'belegnummer':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(String),
|
||||
) as String;
|
||||
result.belegnummer = valueDes;
|
||||
break;
|
||||
case r'positions_modified':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(bool),
|
||||
) as bool;
|
||||
result.positionsModified = valueDes;
|
||||
break;
|
||||
default:
|
||||
unhandled.add(key);
|
||||
unhandled.add(value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
PositionsModifiedResponse deserialize(
|
||||
Serializers serializers,
|
||||
Object serialized, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) {
|
||||
final result = PositionsModifiedResponseBuilder();
|
||||
final serializedList = (serialized as Iterable<Object?>).toList();
|
||||
final unhandled = <Object?>[];
|
||||
_deserializeProperties(
|
||||
serializers,
|
||||
serialized,
|
||||
specifiedType: specifiedType,
|
||||
serializedList: serializedList,
|
||||
unhandled: unhandled,
|
||||
result: result,
|
||||
);
|
||||
return result.build();
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,113 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'positions_modified_response.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// BuiltValueGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class _$PositionsModifiedResponse extends PositionsModifiedResponse {
|
||||
@override
|
||||
final String belegnummer;
|
||||
@override
|
||||
final bool positionsModified;
|
||||
|
||||
factory _$PositionsModifiedResponse(
|
||||
[void Function(PositionsModifiedResponseBuilder)? updates]) =>
|
||||
(PositionsModifiedResponseBuilder()..update(updates))._build();
|
||||
|
||||
_$PositionsModifiedResponse._(
|
||||
{required this.belegnummer, required this.positionsModified})
|
||||
: super._();
|
||||
@override
|
||||
PositionsModifiedResponse rebuild(
|
||||
void Function(PositionsModifiedResponseBuilder) updates) =>
|
||||
(toBuilder()..update(updates)).build();
|
||||
|
||||
@override
|
||||
PositionsModifiedResponseBuilder toBuilder() =>
|
||||
PositionsModifiedResponseBuilder()..replace(this);
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
if (identical(other, this)) return true;
|
||||
return other is PositionsModifiedResponse &&
|
||||
belegnummer == other.belegnummer &&
|
||||
positionsModified == other.positionsModified;
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode {
|
||||
var _$hash = 0;
|
||||
_$hash = $jc(_$hash, belegnummer.hashCode);
|
||||
_$hash = $jc(_$hash, positionsModified.hashCode);
|
||||
_$hash = $jf(_$hash);
|
||||
return _$hash;
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return (newBuiltValueToStringHelper(r'PositionsModifiedResponse')
|
||||
..add('belegnummer', belegnummer)
|
||||
..add('positionsModified', positionsModified))
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
||||
class PositionsModifiedResponseBuilder
|
||||
implements
|
||||
Builder<PositionsModifiedResponse, PositionsModifiedResponseBuilder> {
|
||||
_$PositionsModifiedResponse? _$v;
|
||||
|
||||
String? _belegnummer;
|
||||
String? get belegnummer => _$this._belegnummer;
|
||||
set belegnummer(String? belegnummer) => _$this._belegnummer = belegnummer;
|
||||
|
||||
bool? _positionsModified;
|
||||
bool? get positionsModified => _$this._positionsModified;
|
||||
set positionsModified(bool? positionsModified) =>
|
||||
_$this._positionsModified = positionsModified;
|
||||
|
||||
PositionsModifiedResponseBuilder() {
|
||||
PositionsModifiedResponse._defaults(this);
|
||||
}
|
||||
|
||||
PositionsModifiedResponseBuilder get _$this {
|
||||
final $v = _$v;
|
||||
if ($v != null) {
|
||||
_belegnummer = $v.belegnummer;
|
||||
_positionsModified = $v.positionsModified;
|
||||
_$v = null;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
@override
|
||||
void replace(PositionsModifiedResponse other) {
|
||||
_$v = other as _$PositionsModifiedResponse;
|
||||
}
|
||||
|
||||
@override
|
||||
void update(void Function(PositionsModifiedResponseBuilder)? updates) {
|
||||
if (updates != null) updates(this);
|
||||
}
|
||||
|
||||
@override
|
||||
PositionsModifiedResponse build() => _build();
|
||||
|
||||
_$PositionsModifiedResponse _build() {
|
||||
final _$result = _$v ??
|
||||
_$PositionsModifiedResponse._(
|
||||
belegnummer: BuiltValueNullFieldError.checkNotNull(
|
||||
belegnummer, r'PositionsModifiedResponse', 'belegnummer'),
|
||||
positionsModified: BuiltValueNullFieldError.checkNotNull(
|
||||
positionsModified,
|
||||
r'PositionsModifiedResponse',
|
||||
'positionsModified'),
|
||||
);
|
||||
replace(_$result);
|
||||
return _$result;
|
||||
}
|
||||
}
|
||||
|
||||
// ignore_for_file: deprecated_member_use_from_same_package,type=lint
|
||||
@ -0,0 +1,161 @@
|
||||
//
|
||||
// AUTO-GENERATED FILE, DO NOT MODIFY!
|
||||
//
|
||||
|
||||
// ignore_for_file: unused_element
|
||||
import 'package:built_value/built_value.dart';
|
||||
import 'package:built_value/serializer.dart';
|
||||
|
||||
part 'record_delivery_payment_request.g.dart';
|
||||
|
||||
/// RecordDeliveryPaymentRequest
|
||||
///
|
||||
/// Properties:
|
||||
/// * [authorCarId] - Fahrzeug des Akteurs (Audit-Spur). Muss zum Account gehören.
|
||||
/// * [clientEventId] - Idempotenz-Schlüssel — pro Bestätigung genau einmal vergeben.
|
||||
/// * [expectedAmountCents] - Betrag in Cent, den der Fahrer in der App gesehen und bestätigt hat. Der Server berechnet den offenen Betrag selbst und lehnt ab, wenn er davon abweicht — so landet nie ein Betrag im Protokoll, den der Fahrer nicht gesehen hat.
|
||||
/// * [paymentMethodId] - Gewählte Zahlungsmethode. Muss existieren und aktiv sein.
|
||||
@BuiltValue()
|
||||
abstract class RecordDeliveryPaymentRequest implements Built<RecordDeliveryPaymentRequest, RecordDeliveryPaymentRequestBuilder> {
|
||||
/// Fahrzeug des Akteurs (Audit-Spur). Muss zum Account gehören.
|
||||
@BuiltValueField(wireName: r'authorCarId')
|
||||
String? get authorCarId;
|
||||
|
||||
/// Idempotenz-Schlüssel — pro Bestätigung genau einmal vergeben.
|
||||
@BuiltValueField(wireName: r'clientEventId')
|
||||
String get clientEventId;
|
||||
|
||||
/// Betrag in Cent, den der Fahrer in der App gesehen und bestätigt hat. Der Server berechnet den offenen Betrag selbst und lehnt ab, wenn er davon abweicht — so landet nie ein Betrag im Protokoll, den der Fahrer nicht gesehen hat.
|
||||
@BuiltValueField(wireName: r'expectedAmountCents')
|
||||
int get expectedAmountCents;
|
||||
|
||||
/// Gewählte Zahlungsmethode. Muss existieren und aktiv sein.
|
||||
@BuiltValueField(wireName: r'paymentMethodId')
|
||||
String get paymentMethodId;
|
||||
|
||||
RecordDeliveryPaymentRequest._();
|
||||
|
||||
factory RecordDeliveryPaymentRequest([void updates(RecordDeliveryPaymentRequestBuilder b)]) = _$RecordDeliveryPaymentRequest;
|
||||
|
||||
@BuiltValueHook(initializeBuilder: true)
|
||||
static void _defaults(RecordDeliveryPaymentRequestBuilder b) => b;
|
||||
|
||||
@BuiltValueSerializer(custom: true)
|
||||
static Serializer<RecordDeliveryPaymentRequest> get serializer => _$RecordDeliveryPaymentRequestSerializer();
|
||||
}
|
||||
|
||||
class _$RecordDeliveryPaymentRequestSerializer implements PrimitiveSerializer<RecordDeliveryPaymentRequest> {
|
||||
@override
|
||||
final Iterable<Type> types = const [RecordDeliveryPaymentRequest, _$RecordDeliveryPaymentRequest];
|
||||
|
||||
@override
|
||||
final String wireName = r'RecordDeliveryPaymentRequest';
|
||||
|
||||
Iterable<Object?> _serializeProperties(
|
||||
Serializers serializers,
|
||||
RecordDeliveryPaymentRequest object, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) sync* {
|
||||
if (object.authorCarId != null) {
|
||||
yield r'authorCarId';
|
||||
yield serializers.serialize(
|
||||
object.authorCarId,
|
||||
specifiedType: const FullType.nullable(String),
|
||||
);
|
||||
}
|
||||
yield r'clientEventId';
|
||||
yield serializers.serialize(
|
||||
object.clientEventId,
|
||||
specifiedType: const FullType(String),
|
||||
);
|
||||
yield r'expectedAmountCents';
|
||||
yield serializers.serialize(
|
||||
object.expectedAmountCents,
|
||||
specifiedType: const FullType(int),
|
||||
);
|
||||
yield r'paymentMethodId';
|
||||
yield serializers.serialize(
|
||||
object.paymentMethodId,
|
||||
specifiedType: const FullType(String),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Object serialize(
|
||||
Serializers serializers,
|
||||
RecordDeliveryPaymentRequest object, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) {
|
||||
return _serializeProperties(serializers, object, specifiedType: specifiedType).toList();
|
||||
}
|
||||
|
||||
void _deserializeProperties(
|
||||
Serializers serializers,
|
||||
Object serialized, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
required List<Object?> serializedList,
|
||||
required RecordDeliveryPaymentRequestBuilder result,
|
||||
required List<Object?> unhandled,
|
||||
}) {
|
||||
for (var i = 0; i < serializedList.length; i += 2) {
|
||||
final key = serializedList[i] as String;
|
||||
final value = serializedList[i + 1];
|
||||
switch (key) {
|
||||
case r'authorCarId':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType.nullable(String),
|
||||
) as String?;
|
||||
if (valueDes == null) continue;
|
||||
result.authorCarId = valueDes;
|
||||
break;
|
||||
case r'clientEventId':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(String),
|
||||
) as String;
|
||||
result.clientEventId = valueDes;
|
||||
break;
|
||||
case r'expectedAmountCents':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(int),
|
||||
) as int;
|
||||
result.expectedAmountCents = valueDes;
|
||||
break;
|
||||
case r'paymentMethodId':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(String),
|
||||
) as String;
|
||||
result.paymentMethodId = valueDes;
|
||||
break;
|
||||
default:
|
||||
unhandled.add(key);
|
||||
unhandled.add(value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
RecordDeliveryPaymentRequest deserialize(
|
||||
Serializers serializers,
|
||||
Object serialized, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) {
|
||||
final result = RecordDeliveryPaymentRequestBuilder();
|
||||
final serializedList = (serialized as Iterable<Object?>).toList();
|
||||
final unhandled = <Object?>[];
|
||||
_deserializeProperties(
|
||||
serializers,
|
||||
serialized,
|
||||
specifiedType: specifiedType,
|
||||
serializedList: serializedList,
|
||||
unhandled: unhandled,
|
||||
result: result,
|
||||
);
|
||||
return result.build();
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,144 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'record_delivery_payment_request.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// BuiltValueGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class _$RecordDeliveryPaymentRequest extends RecordDeliveryPaymentRequest {
|
||||
@override
|
||||
final String? authorCarId;
|
||||
@override
|
||||
final String clientEventId;
|
||||
@override
|
||||
final int expectedAmountCents;
|
||||
@override
|
||||
final String paymentMethodId;
|
||||
|
||||
factory _$RecordDeliveryPaymentRequest(
|
||||
[void Function(RecordDeliveryPaymentRequestBuilder)? updates]) =>
|
||||
(RecordDeliveryPaymentRequestBuilder()..update(updates))._build();
|
||||
|
||||
_$RecordDeliveryPaymentRequest._(
|
||||
{this.authorCarId,
|
||||
required this.clientEventId,
|
||||
required this.expectedAmountCents,
|
||||
required this.paymentMethodId})
|
||||
: super._();
|
||||
@override
|
||||
RecordDeliveryPaymentRequest rebuild(
|
||||
void Function(RecordDeliveryPaymentRequestBuilder) updates) =>
|
||||
(toBuilder()..update(updates)).build();
|
||||
|
||||
@override
|
||||
RecordDeliveryPaymentRequestBuilder toBuilder() =>
|
||||
RecordDeliveryPaymentRequestBuilder()..replace(this);
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
if (identical(other, this)) return true;
|
||||
return other is RecordDeliveryPaymentRequest &&
|
||||
authorCarId == other.authorCarId &&
|
||||
clientEventId == other.clientEventId &&
|
||||
expectedAmountCents == other.expectedAmountCents &&
|
||||
paymentMethodId == other.paymentMethodId;
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode {
|
||||
var _$hash = 0;
|
||||
_$hash = $jc(_$hash, authorCarId.hashCode);
|
||||
_$hash = $jc(_$hash, clientEventId.hashCode);
|
||||
_$hash = $jc(_$hash, expectedAmountCents.hashCode);
|
||||
_$hash = $jc(_$hash, paymentMethodId.hashCode);
|
||||
_$hash = $jf(_$hash);
|
||||
return _$hash;
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return (newBuiltValueToStringHelper(r'RecordDeliveryPaymentRequest')
|
||||
..add('authorCarId', authorCarId)
|
||||
..add('clientEventId', clientEventId)
|
||||
..add('expectedAmountCents', expectedAmountCents)
|
||||
..add('paymentMethodId', paymentMethodId))
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
||||
class RecordDeliveryPaymentRequestBuilder
|
||||
implements
|
||||
Builder<RecordDeliveryPaymentRequest,
|
||||
RecordDeliveryPaymentRequestBuilder> {
|
||||
_$RecordDeliveryPaymentRequest? _$v;
|
||||
|
||||
String? _authorCarId;
|
||||
String? get authorCarId => _$this._authorCarId;
|
||||
set authorCarId(String? authorCarId) => _$this._authorCarId = authorCarId;
|
||||
|
||||
String? _clientEventId;
|
||||
String? get clientEventId => _$this._clientEventId;
|
||||
set clientEventId(String? clientEventId) =>
|
||||
_$this._clientEventId = clientEventId;
|
||||
|
||||
int? _expectedAmountCents;
|
||||
int? get expectedAmountCents => _$this._expectedAmountCents;
|
||||
set expectedAmountCents(int? expectedAmountCents) =>
|
||||
_$this._expectedAmountCents = expectedAmountCents;
|
||||
|
||||
String? _paymentMethodId;
|
||||
String? get paymentMethodId => _$this._paymentMethodId;
|
||||
set paymentMethodId(String? paymentMethodId) =>
|
||||
_$this._paymentMethodId = paymentMethodId;
|
||||
|
||||
RecordDeliveryPaymentRequestBuilder() {
|
||||
RecordDeliveryPaymentRequest._defaults(this);
|
||||
}
|
||||
|
||||
RecordDeliveryPaymentRequestBuilder get _$this {
|
||||
final $v = _$v;
|
||||
if ($v != null) {
|
||||
_authorCarId = $v.authorCarId;
|
||||
_clientEventId = $v.clientEventId;
|
||||
_expectedAmountCents = $v.expectedAmountCents;
|
||||
_paymentMethodId = $v.paymentMethodId;
|
||||
_$v = null;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
@override
|
||||
void replace(RecordDeliveryPaymentRequest other) {
|
||||
_$v = other as _$RecordDeliveryPaymentRequest;
|
||||
}
|
||||
|
||||
@override
|
||||
void update(void Function(RecordDeliveryPaymentRequestBuilder)? updates) {
|
||||
if (updates != null) updates(this);
|
||||
}
|
||||
|
||||
@override
|
||||
RecordDeliveryPaymentRequest build() => _build();
|
||||
|
||||
_$RecordDeliveryPaymentRequest _build() {
|
||||
final _$result = _$v ??
|
||||
_$RecordDeliveryPaymentRequest._(
|
||||
authorCarId: authorCarId,
|
||||
clientEventId: BuiltValueNullFieldError.checkNotNull(
|
||||
clientEventId, r'RecordDeliveryPaymentRequest', 'clientEventId'),
|
||||
expectedAmountCents: BuiltValueNullFieldError.checkNotNull(
|
||||
expectedAmountCents,
|
||||
r'RecordDeliveryPaymentRequest',
|
||||
'expectedAmountCents'),
|
||||
paymentMethodId: BuiltValueNullFieldError.checkNotNull(
|
||||
paymentMethodId,
|
||||
r'RecordDeliveryPaymentRequest',
|
||||
'paymentMethodId'),
|
||||
);
|
||||
replace(_$result);
|
||||
return _$result;
|
||||
}
|
||||
}
|
||||
|
||||
// ignore_for_file: deprecated_member_use_from_same_package,type=lint
|
||||
@ -0,0 +1,127 @@
|
||||
//
|
||||
// AUTO-GENERATED FILE, DO NOT MODIFY!
|
||||
//
|
||||
|
||||
// ignore_for_file: unused_element
|
||||
import 'package:built_value/built_value.dart';
|
||||
import 'package:built_value/serializer.dart';
|
||||
|
||||
part 'resolve_review_request.g.dart';
|
||||
|
||||
/// ResolveReviewRequest
|
||||
///
|
||||
/// Properties:
|
||||
/// * [note] - Optionale Notiz zur getroffenen Entscheidung.
|
||||
/// * [resolvedBy] - Bearbeiter (Name/Kürzel), der die Prüfung bestätigt.
|
||||
@BuiltValue()
|
||||
abstract class ResolveReviewRequest implements Built<ResolveReviewRequest, ResolveReviewRequestBuilder> {
|
||||
/// Optionale Notiz zur getroffenen Entscheidung.
|
||||
@BuiltValueField(wireName: r'note')
|
||||
String? get note;
|
||||
|
||||
/// Bearbeiter (Name/Kürzel), der die Prüfung bestätigt.
|
||||
@BuiltValueField(wireName: r'resolved_by')
|
||||
String get resolvedBy;
|
||||
|
||||
ResolveReviewRequest._();
|
||||
|
||||
factory ResolveReviewRequest([void updates(ResolveReviewRequestBuilder b)]) = _$ResolveReviewRequest;
|
||||
|
||||
@BuiltValueHook(initializeBuilder: true)
|
||||
static void _defaults(ResolveReviewRequestBuilder b) => b;
|
||||
|
||||
@BuiltValueSerializer(custom: true)
|
||||
static Serializer<ResolveReviewRequest> get serializer => _$ResolveReviewRequestSerializer();
|
||||
}
|
||||
|
||||
class _$ResolveReviewRequestSerializer implements PrimitiveSerializer<ResolveReviewRequest> {
|
||||
@override
|
||||
final Iterable<Type> types = const [ResolveReviewRequest, _$ResolveReviewRequest];
|
||||
|
||||
@override
|
||||
final String wireName = r'ResolveReviewRequest';
|
||||
|
||||
Iterable<Object?> _serializeProperties(
|
||||
Serializers serializers,
|
||||
ResolveReviewRequest object, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) sync* {
|
||||
if (object.note != null) {
|
||||
yield r'note';
|
||||
yield serializers.serialize(
|
||||
object.note,
|
||||
specifiedType: const FullType.nullable(String),
|
||||
);
|
||||
}
|
||||
yield r'resolved_by';
|
||||
yield serializers.serialize(
|
||||
object.resolvedBy,
|
||||
specifiedType: const FullType(String),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Object serialize(
|
||||
Serializers serializers,
|
||||
ResolveReviewRequest object, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) {
|
||||
return _serializeProperties(serializers, object, specifiedType: specifiedType).toList();
|
||||
}
|
||||
|
||||
void _deserializeProperties(
|
||||
Serializers serializers,
|
||||
Object serialized, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
required List<Object?> serializedList,
|
||||
required ResolveReviewRequestBuilder result,
|
||||
required List<Object?> unhandled,
|
||||
}) {
|
||||
for (var i = 0; i < serializedList.length; i += 2) {
|
||||
final key = serializedList[i] as String;
|
||||
final value = serializedList[i + 1];
|
||||
switch (key) {
|
||||
case r'note':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType.nullable(String),
|
||||
) as String?;
|
||||
if (valueDes == null) continue;
|
||||
result.note = valueDes;
|
||||
break;
|
||||
case r'resolved_by':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(String),
|
||||
) as String;
|
||||
result.resolvedBy = valueDes;
|
||||
break;
|
||||
default:
|
||||
unhandled.add(key);
|
||||
unhandled.add(value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
ResolveReviewRequest deserialize(
|
||||
Serializers serializers,
|
||||
Object serialized, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) {
|
||||
final result = ResolveReviewRequestBuilder();
|
||||
final serializedList = (serialized as Iterable<Object?>).toList();
|
||||
final unhandled = <Object?>[];
|
||||
_deserializeProperties(
|
||||
serializers,
|
||||
serialized,
|
||||
specifiedType: specifiedType,
|
||||
serializedList: serializedList,
|
||||
unhandled: unhandled,
|
||||
result: result,
|
||||
);
|
||||
return result.build();
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,106 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'resolve_review_request.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// BuiltValueGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class _$ResolveReviewRequest extends ResolveReviewRequest {
|
||||
@override
|
||||
final String? note;
|
||||
@override
|
||||
final String resolvedBy;
|
||||
|
||||
factory _$ResolveReviewRequest(
|
||||
[void Function(ResolveReviewRequestBuilder)? updates]) =>
|
||||
(ResolveReviewRequestBuilder()..update(updates))._build();
|
||||
|
||||
_$ResolveReviewRequest._({this.note, required this.resolvedBy}) : super._();
|
||||
@override
|
||||
ResolveReviewRequest rebuild(
|
||||
void Function(ResolveReviewRequestBuilder) updates) =>
|
||||
(toBuilder()..update(updates)).build();
|
||||
|
||||
@override
|
||||
ResolveReviewRequestBuilder toBuilder() =>
|
||||
ResolveReviewRequestBuilder()..replace(this);
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
if (identical(other, this)) return true;
|
||||
return other is ResolveReviewRequest &&
|
||||
note == other.note &&
|
||||
resolvedBy == other.resolvedBy;
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode {
|
||||
var _$hash = 0;
|
||||
_$hash = $jc(_$hash, note.hashCode);
|
||||
_$hash = $jc(_$hash, resolvedBy.hashCode);
|
||||
_$hash = $jf(_$hash);
|
||||
return _$hash;
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return (newBuiltValueToStringHelper(r'ResolveReviewRequest')
|
||||
..add('note', note)
|
||||
..add('resolvedBy', resolvedBy))
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
||||
class ResolveReviewRequestBuilder
|
||||
implements Builder<ResolveReviewRequest, ResolveReviewRequestBuilder> {
|
||||
_$ResolveReviewRequest? _$v;
|
||||
|
||||
String? _note;
|
||||
String? get note => _$this._note;
|
||||
set note(String? note) => _$this._note = note;
|
||||
|
||||
String? _resolvedBy;
|
||||
String? get resolvedBy => _$this._resolvedBy;
|
||||
set resolvedBy(String? resolvedBy) => _$this._resolvedBy = resolvedBy;
|
||||
|
||||
ResolveReviewRequestBuilder() {
|
||||
ResolveReviewRequest._defaults(this);
|
||||
}
|
||||
|
||||
ResolveReviewRequestBuilder get _$this {
|
||||
final $v = _$v;
|
||||
if ($v != null) {
|
||||
_note = $v.note;
|
||||
_resolvedBy = $v.resolvedBy;
|
||||
_$v = null;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
@override
|
||||
void replace(ResolveReviewRequest other) {
|
||||
_$v = other as _$ResolveReviewRequest;
|
||||
}
|
||||
|
||||
@override
|
||||
void update(void Function(ResolveReviewRequestBuilder)? updates) {
|
||||
if (updates != null) updates(this);
|
||||
}
|
||||
|
||||
@override
|
||||
ResolveReviewRequest build() => _build();
|
||||
|
||||
_$ResolveReviewRequest _build() {
|
||||
final _$result = _$v ??
|
||||
_$ResolveReviewRequest._(
|
||||
note: note,
|
||||
resolvedBy: BuiltValueNullFieldError.checkNotNull(
|
||||
resolvedBy, r'ResolveReviewRequest', 'resolvedBy'),
|
||||
);
|
||||
replace(_$result);
|
||||
return _$result;
|
||||
}
|
||||
}
|
||||
|
||||
// ignore_for_file: deprecated_member_use_from_same_package,type=lint
|
||||
@ -0,0 +1,189 @@
|
||||
//
|
||||
// AUTO-GENERATED FILE, DO NOT MODIFY!
|
||||
//
|
||||
|
||||
// ignore_for_file: unused_element
|
||||
import 'package:built_value/built_value.dart';
|
||||
import 'package:built_value/serializer.dart';
|
||||
|
||||
part 'reviewed_item_response.g.dart';
|
||||
|
||||
/// ReviewedItemResponse
|
||||
///
|
||||
/// Properties:
|
||||
/// * [articleName]
|
||||
/// * [artikelNr]
|
||||
/// * [belegzeilenNr]
|
||||
/// * [creditedQuantity]
|
||||
/// * [reason]
|
||||
/// * [requiredQuantity]
|
||||
@BuiltValue()
|
||||
abstract class ReviewedItemResponse implements Built<ReviewedItemResponse, ReviewedItemResponseBuilder> {
|
||||
@BuiltValueField(wireName: r'article_name')
|
||||
String get articleName;
|
||||
|
||||
@BuiltValueField(wireName: r'artikel_nr')
|
||||
String get artikelNr;
|
||||
|
||||
@BuiltValueField(wireName: r'belegzeilen_nr')
|
||||
int get belegzeilenNr;
|
||||
|
||||
@BuiltValueField(wireName: r'credited_quantity')
|
||||
int get creditedQuantity;
|
||||
|
||||
@BuiltValueField(wireName: r'reason')
|
||||
String? get reason;
|
||||
|
||||
@BuiltValueField(wireName: r'required_quantity')
|
||||
int get requiredQuantity;
|
||||
|
||||
ReviewedItemResponse._();
|
||||
|
||||
factory ReviewedItemResponse([void updates(ReviewedItemResponseBuilder b)]) = _$ReviewedItemResponse;
|
||||
|
||||
@BuiltValueHook(initializeBuilder: true)
|
||||
static void _defaults(ReviewedItemResponseBuilder b) => b;
|
||||
|
||||
@BuiltValueSerializer(custom: true)
|
||||
static Serializer<ReviewedItemResponse> get serializer => _$ReviewedItemResponseSerializer();
|
||||
}
|
||||
|
||||
class _$ReviewedItemResponseSerializer implements PrimitiveSerializer<ReviewedItemResponse> {
|
||||
@override
|
||||
final Iterable<Type> types = const [ReviewedItemResponse, _$ReviewedItemResponse];
|
||||
|
||||
@override
|
||||
final String wireName = r'ReviewedItemResponse';
|
||||
|
||||
Iterable<Object?> _serializeProperties(
|
||||
Serializers serializers,
|
||||
ReviewedItemResponse object, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) sync* {
|
||||
yield r'article_name';
|
||||
yield serializers.serialize(
|
||||
object.articleName,
|
||||
specifiedType: const FullType(String),
|
||||
);
|
||||
yield r'artikel_nr';
|
||||
yield serializers.serialize(
|
||||
object.artikelNr,
|
||||
specifiedType: const FullType(String),
|
||||
);
|
||||
yield r'belegzeilen_nr';
|
||||
yield serializers.serialize(
|
||||
object.belegzeilenNr,
|
||||
specifiedType: const FullType(int),
|
||||
);
|
||||
yield r'credited_quantity';
|
||||
yield serializers.serialize(
|
||||
object.creditedQuantity,
|
||||
specifiedType: const FullType(int),
|
||||
);
|
||||
if (object.reason != null) {
|
||||
yield r'reason';
|
||||
yield serializers.serialize(
|
||||
object.reason,
|
||||
specifiedType: const FullType.nullable(String),
|
||||
);
|
||||
}
|
||||
yield r'required_quantity';
|
||||
yield serializers.serialize(
|
||||
object.requiredQuantity,
|
||||
specifiedType: const FullType(int),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Object serialize(
|
||||
Serializers serializers,
|
||||
ReviewedItemResponse object, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) {
|
||||
return _serializeProperties(serializers, object, specifiedType: specifiedType).toList();
|
||||
}
|
||||
|
||||
void _deserializeProperties(
|
||||
Serializers serializers,
|
||||
Object serialized, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
required List<Object?> serializedList,
|
||||
required ReviewedItemResponseBuilder result,
|
||||
required List<Object?> unhandled,
|
||||
}) {
|
||||
for (var i = 0; i < serializedList.length; i += 2) {
|
||||
final key = serializedList[i] as String;
|
||||
final value = serializedList[i + 1];
|
||||
switch (key) {
|
||||
case r'article_name':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(String),
|
||||
) as String;
|
||||
result.articleName = valueDes;
|
||||
break;
|
||||
case r'artikel_nr':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(String),
|
||||
) as String;
|
||||
result.artikelNr = valueDes;
|
||||
break;
|
||||
case r'belegzeilen_nr':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(int),
|
||||
) as int;
|
||||
result.belegzeilenNr = valueDes;
|
||||
break;
|
||||
case r'credited_quantity':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(int),
|
||||
) as int;
|
||||
result.creditedQuantity = valueDes;
|
||||
break;
|
||||
case r'reason':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType.nullable(String),
|
||||
) as String?;
|
||||
if (valueDes == null) continue;
|
||||
result.reason = valueDes;
|
||||
break;
|
||||
case r'required_quantity':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(int),
|
||||
) as int;
|
||||
result.requiredQuantity = valueDes;
|
||||
break;
|
||||
default:
|
||||
unhandled.add(key);
|
||||
unhandled.add(value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
ReviewedItemResponse deserialize(
|
||||
Serializers serializers,
|
||||
Object serialized, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) {
|
||||
final result = ReviewedItemResponseBuilder();
|
||||
final serializedList = (serialized as Iterable<Object?>).toList();
|
||||
final unhandled = <Object?>[];
|
||||
_deserializeProperties(
|
||||
serializers,
|
||||
serialized,
|
||||
specifiedType: specifiedType,
|
||||
serializedList: serializedList,
|
||||
unhandled: unhandled,
|
||||
result: result,
|
||||
);
|
||||
return result.build();
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,164 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'reviewed_item_response.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// BuiltValueGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class _$ReviewedItemResponse extends ReviewedItemResponse {
|
||||
@override
|
||||
final String articleName;
|
||||
@override
|
||||
final String artikelNr;
|
||||
@override
|
||||
final int belegzeilenNr;
|
||||
@override
|
||||
final int creditedQuantity;
|
||||
@override
|
||||
final String? reason;
|
||||
@override
|
||||
final int requiredQuantity;
|
||||
|
||||
factory _$ReviewedItemResponse(
|
||||
[void Function(ReviewedItemResponseBuilder)? updates]) =>
|
||||
(ReviewedItemResponseBuilder()..update(updates))._build();
|
||||
|
||||
_$ReviewedItemResponse._(
|
||||
{required this.articleName,
|
||||
required this.artikelNr,
|
||||
required this.belegzeilenNr,
|
||||
required this.creditedQuantity,
|
||||
this.reason,
|
||||
required this.requiredQuantity})
|
||||
: super._();
|
||||
@override
|
||||
ReviewedItemResponse rebuild(
|
||||
void Function(ReviewedItemResponseBuilder) updates) =>
|
||||
(toBuilder()..update(updates)).build();
|
||||
|
||||
@override
|
||||
ReviewedItemResponseBuilder toBuilder() =>
|
||||
ReviewedItemResponseBuilder()..replace(this);
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
if (identical(other, this)) return true;
|
||||
return other is ReviewedItemResponse &&
|
||||
articleName == other.articleName &&
|
||||
artikelNr == other.artikelNr &&
|
||||
belegzeilenNr == other.belegzeilenNr &&
|
||||
creditedQuantity == other.creditedQuantity &&
|
||||
reason == other.reason &&
|
||||
requiredQuantity == other.requiredQuantity;
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode {
|
||||
var _$hash = 0;
|
||||
_$hash = $jc(_$hash, articleName.hashCode);
|
||||
_$hash = $jc(_$hash, artikelNr.hashCode);
|
||||
_$hash = $jc(_$hash, belegzeilenNr.hashCode);
|
||||
_$hash = $jc(_$hash, creditedQuantity.hashCode);
|
||||
_$hash = $jc(_$hash, reason.hashCode);
|
||||
_$hash = $jc(_$hash, requiredQuantity.hashCode);
|
||||
_$hash = $jf(_$hash);
|
||||
return _$hash;
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return (newBuiltValueToStringHelper(r'ReviewedItemResponse')
|
||||
..add('articleName', articleName)
|
||||
..add('artikelNr', artikelNr)
|
||||
..add('belegzeilenNr', belegzeilenNr)
|
||||
..add('creditedQuantity', creditedQuantity)
|
||||
..add('reason', reason)
|
||||
..add('requiredQuantity', requiredQuantity))
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
||||
class ReviewedItemResponseBuilder
|
||||
implements Builder<ReviewedItemResponse, ReviewedItemResponseBuilder> {
|
||||
_$ReviewedItemResponse? _$v;
|
||||
|
||||
String? _articleName;
|
||||
String? get articleName => _$this._articleName;
|
||||
set articleName(String? articleName) => _$this._articleName = articleName;
|
||||
|
||||
String? _artikelNr;
|
||||
String? get artikelNr => _$this._artikelNr;
|
||||
set artikelNr(String? artikelNr) => _$this._artikelNr = artikelNr;
|
||||
|
||||
int? _belegzeilenNr;
|
||||
int? get belegzeilenNr => _$this._belegzeilenNr;
|
||||
set belegzeilenNr(int? belegzeilenNr) =>
|
||||
_$this._belegzeilenNr = belegzeilenNr;
|
||||
|
||||
int? _creditedQuantity;
|
||||
int? get creditedQuantity => _$this._creditedQuantity;
|
||||
set creditedQuantity(int? creditedQuantity) =>
|
||||
_$this._creditedQuantity = creditedQuantity;
|
||||
|
||||
String? _reason;
|
||||
String? get reason => _$this._reason;
|
||||
set reason(String? reason) => _$this._reason = reason;
|
||||
|
||||
int? _requiredQuantity;
|
||||
int? get requiredQuantity => _$this._requiredQuantity;
|
||||
set requiredQuantity(int? requiredQuantity) =>
|
||||
_$this._requiredQuantity = requiredQuantity;
|
||||
|
||||
ReviewedItemResponseBuilder() {
|
||||
ReviewedItemResponse._defaults(this);
|
||||
}
|
||||
|
||||
ReviewedItemResponseBuilder get _$this {
|
||||
final $v = _$v;
|
||||
if ($v != null) {
|
||||
_articleName = $v.articleName;
|
||||
_artikelNr = $v.artikelNr;
|
||||
_belegzeilenNr = $v.belegzeilenNr;
|
||||
_creditedQuantity = $v.creditedQuantity;
|
||||
_reason = $v.reason;
|
||||
_requiredQuantity = $v.requiredQuantity;
|
||||
_$v = null;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
@override
|
||||
void replace(ReviewedItemResponse other) {
|
||||
_$v = other as _$ReviewedItemResponse;
|
||||
}
|
||||
|
||||
@override
|
||||
void update(void Function(ReviewedItemResponseBuilder)? updates) {
|
||||
if (updates != null) updates(this);
|
||||
}
|
||||
|
||||
@override
|
||||
ReviewedItemResponse build() => _build();
|
||||
|
||||
_$ReviewedItemResponse _build() {
|
||||
final _$result = _$v ??
|
||||
_$ReviewedItemResponse._(
|
||||
articleName: BuiltValueNullFieldError.checkNotNull(
|
||||
articleName, r'ReviewedItemResponse', 'articleName'),
|
||||
artikelNr: BuiltValueNullFieldError.checkNotNull(
|
||||
artikelNr, r'ReviewedItemResponse', 'artikelNr'),
|
||||
belegzeilenNr: BuiltValueNullFieldError.checkNotNull(
|
||||
belegzeilenNr, r'ReviewedItemResponse', 'belegzeilenNr'),
|
||||
creditedQuantity: BuiltValueNullFieldError.checkNotNull(
|
||||
creditedQuantity, r'ReviewedItemResponse', 'creditedQuantity'),
|
||||
reason: reason,
|
||||
requiredQuantity: BuiltValueNullFieldError.checkNotNull(
|
||||
requiredQuantity, r'ReviewedItemResponse', 'requiredQuantity'),
|
||||
);
|
||||
replace(_$result);
|
||||
return _$result;
|
||||
}
|
||||
}
|
||||
|
||||
// ignore_for_file: deprecated_member_use_from_same_package,type=lint
|
||||
@ -6,6 +6,7 @@
|
||||
import 'package:holzleitner_api/src/model/delivery_credit.dart';
|
||||
import 'package:holzleitner_api/src/model/delivery_note.dart';
|
||||
import 'package:holzleitner_api/src/model/delivery_with_items.dart';
|
||||
import 'package:holzleitner_api/src/model/delivery_payment.dart';
|
||||
import 'package:holzleitner_api/src/model/article.dart';
|
||||
import 'package:holzleitner_api/src/model/contact_channel.dart';
|
||||
import 'package:holzleitner_api/src/model/customer.dart';
|
||||
@ -33,6 +34,7 @@ part 'tour_details.g.dart';
|
||||
/// * [deliveries]
|
||||
/// * [deliveryServices] - Pro-Lieferung gesetzte Service-Werte. Join per `delivery_id` + `service_id`.
|
||||
/// * [notes] - Alle Notizen aller Lieferungen dieser Tour, in einer Liste. Die App joint clientseitig per `delivery_id`. Reihenfolge: pro Lieferung aufsteigend nach `created_at`.
|
||||
/// * [payments] - Jüngste protokollierte Zahlungsabwicklung pro Lieferung (nur Lieferungen mit mindestens einem Eintrag). Join per `delivery_id`.
|
||||
/// * [services] - Aktive Service-Definitionen (Stammdaten) — die App rendert daraus Phase 4. Bewusst hier mitgeliefert, damit die Detailseite alles aus dem Tour-Aggregat hat.
|
||||
/// * [tour]
|
||||
/// * [warehouses]
|
||||
@ -70,6 +72,10 @@ abstract class TourDetails implements Built<TourDetails, TourDetailsBuilder> {
|
||||
@BuiltValueField(wireName: r'notes')
|
||||
BuiltList<DeliveryNote> get notes;
|
||||
|
||||
/// Jüngste protokollierte Zahlungsabwicklung pro Lieferung (nur Lieferungen mit mindestens einem Eintrag). Join per `delivery_id`.
|
||||
@BuiltValueField(wireName: r'payments')
|
||||
BuiltList<DeliveryPayment> get payments;
|
||||
|
||||
/// Aktive Service-Definitionen (Stammdaten) — die App rendert daraus Phase 4. Bewusst hier mitgeliefert, damit die Detailseite alles aus dem Tour-Aggregat hat.
|
||||
@BuiltValueField(wireName: r'services')
|
||||
BuiltList<Service> get services;
|
||||
@ -148,6 +154,11 @@ class _$TourDetailsSerializer implements PrimitiveSerializer<TourDetails> {
|
||||
object.notes,
|
||||
specifiedType: const FullType(BuiltList, [FullType(DeliveryNote)]),
|
||||
);
|
||||
yield r'payments';
|
||||
yield serializers.serialize(
|
||||
object.payments,
|
||||
specifiedType: const FullType(BuiltList, [FullType(DeliveryPayment)]),
|
||||
);
|
||||
yield r'services';
|
||||
yield serializers.serialize(
|
||||
object.services,
|
||||
@ -249,6 +260,13 @@ class _$TourDetailsSerializer implements PrimitiveSerializer<TourDetails> {
|
||||
) as BuiltList<DeliveryNote>;
|
||||
result.notes.replace(valueDes);
|
||||
break;
|
||||
case r'payments':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(BuiltList, [FullType(DeliveryPayment)]),
|
||||
) as BuiltList<DeliveryPayment>;
|
||||
result.payments.replace(valueDes);
|
||||
break;
|
||||
case r'services':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
|
||||
@ -26,6 +26,8 @@ class _$TourDetails extends TourDetails {
|
||||
@override
|
||||
final BuiltList<DeliveryNote> notes;
|
||||
@override
|
||||
final BuiltList<DeliveryPayment> payments;
|
||||
@override
|
||||
final BuiltList<Service> services;
|
||||
@override
|
||||
final Tour tour;
|
||||
@ -45,6 +47,7 @@ class _$TourDetails extends TourDetails {
|
||||
required this.deliveries,
|
||||
required this.deliveryServices,
|
||||
required this.notes,
|
||||
required this.payments,
|
||||
required this.services,
|
||||
required this.tour,
|
||||
required this.warehouses})
|
||||
@ -69,6 +72,7 @@ class _$TourDetails extends TourDetails {
|
||||
deliveries == other.deliveries &&
|
||||
deliveryServices == other.deliveryServices &&
|
||||
notes == other.notes &&
|
||||
payments == other.payments &&
|
||||
services == other.services &&
|
||||
tour == other.tour &&
|
||||
warehouses == other.warehouses;
|
||||
@ -86,6 +90,7 @@ class _$TourDetails extends TourDetails {
|
||||
_$hash = $jc(_$hash, deliveries.hashCode);
|
||||
_$hash = $jc(_$hash, deliveryServices.hashCode);
|
||||
_$hash = $jc(_$hash, notes.hashCode);
|
||||
_$hash = $jc(_$hash, payments.hashCode);
|
||||
_$hash = $jc(_$hash, services.hashCode);
|
||||
_$hash = $jc(_$hash, tour.hashCode);
|
||||
_$hash = $jc(_$hash, warehouses.hashCode);
|
||||
@ -105,6 +110,7 @@ class _$TourDetails extends TourDetails {
|
||||
..add('deliveries', deliveries)
|
||||
..add('deliveryServices', deliveryServices)
|
||||
..add('notes', notes)
|
||||
..add('payments', payments)
|
||||
..add('services', services)
|
||||
..add('tour', tour)
|
||||
..add('warehouses', warehouses))
|
||||
@ -167,6 +173,12 @@ class TourDetailsBuilder implements Builder<TourDetails, TourDetailsBuilder> {
|
||||
_$this._notes ??= ListBuilder<DeliveryNote>();
|
||||
set notes(ListBuilder<DeliveryNote>? notes) => _$this._notes = notes;
|
||||
|
||||
ListBuilder<DeliveryPayment>? _payments;
|
||||
ListBuilder<DeliveryPayment> get payments =>
|
||||
_$this._payments ??= ListBuilder<DeliveryPayment>();
|
||||
set payments(ListBuilder<DeliveryPayment>? payments) =>
|
||||
_$this._payments = payments;
|
||||
|
||||
ListBuilder<Service>? _services;
|
||||
ListBuilder<Service> get services =>
|
||||
_$this._services ??= ListBuilder<Service>();
|
||||
@ -198,6 +210,7 @@ class TourDetailsBuilder implements Builder<TourDetails, TourDetailsBuilder> {
|
||||
_deliveries = $v.deliveries.toBuilder();
|
||||
_deliveryServices = $v.deliveryServices.toBuilder();
|
||||
_notes = $v.notes.toBuilder();
|
||||
_payments = $v.payments.toBuilder();
|
||||
_services = $v.services.toBuilder();
|
||||
_tour = $v.tour.toBuilder();
|
||||
_warehouses = $v.warehouses.toBuilder();
|
||||
@ -233,6 +246,7 @@ class TourDetailsBuilder implements Builder<TourDetails, TourDetailsBuilder> {
|
||||
deliveries: deliveries.build(),
|
||||
deliveryServices: deliveryServices.build(),
|
||||
notes: notes.build(),
|
||||
payments: payments.build(),
|
||||
services: services.build(),
|
||||
tour: tour.build(),
|
||||
warehouses: warehouses.build(),
|
||||
@ -258,6 +272,8 @@ class TourDetailsBuilder implements Builder<TourDetails, TourDetailsBuilder> {
|
||||
deliveryServices.build();
|
||||
_$failedField = 'notes';
|
||||
notes.build();
|
||||
_$failedField = 'payments';
|
||||
payments.build();
|
||||
_$failedField = 'services';
|
||||
services.build();
|
||||
_$failedField = 'tour';
|
||||
|
||||
@ -26,6 +26,8 @@ import 'package:holzleitner_api/src/model/car.dart';
|
||||
import 'package:holzleitner_api/src/model/car_response.dart';
|
||||
import 'package:holzleitner_api/src/model/cars_list.dart';
|
||||
import 'package:holzleitner_api/src/model/complete_delivery_acknowledgements.dart';
|
||||
import 'package:holzleitner_api/src/model/completed_deliveries_response.dart';
|
||||
import 'package:holzleitner_api/src/model/completed_delivery_item.dart';
|
||||
import 'package:holzleitner_api/src/model/contact_channel.dart';
|
||||
import 'package:holzleitner_api/src/model/contact_kind.dart';
|
||||
import 'package:holzleitner_api/src/model/contact_role.dart';
|
||||
@ -42,10 +44,13 @@ import 'package:holzleitner_api/src/model/delivery.dart';
|
||||
import 'package:holzleitner_api/src/model/delivery_credit.dart';
|
||||
import 'package:holzleitner_api/src/model/delivery_credit_event_request.dart';
|
||||
import 'package:holzleitner_api/src/model/delivery_credit_response.dart';
|
||||
import 'package:holzleitner_api/src/model/delivery_details.dart';
|
||||
import 'package:holzleitner_api/src/model/delivery_item.dart';
|
||||
import 'package:holzleitner_api/src/model/delivery_note.dart';
|
||||
import 'package:holzleitner_api/src/model/delivery_note_response.dart';
|
||||
import 'package:holzleitner_api/src/model/delivery_order_entry.dart';
|
||||
import 'package:holzleitner_api/src/model/delivery_payment.dart';
|
||||
import 'package:holzleitner_api/src/model/delivery_payment_response.dart';
|
||||
import 'package:holzleitner_api/src/model/delivery_response.dart';
|
||||
import 'package:holzleitner_api/src/model/delivery_service_response.dart';
|
||||
import 'package:holzleitner_api/src/model/delivery_service_value.dart';
|
||||
@ -58,6 +63,11 @@ import 'package:holzleitner_api/src/model/mark_mail_sent_response.dart';
|
||||
import 'package:holzleitner_api/src/model/payment_method.dart';
|
||||
import 'package:holzleitner_api/src/model/payment_method_response.dart';
|
||||
import 'package:holzleitner_api/src/model/payment_methods_list.dart';
|
||||
import 'package:holzleitner_api/src/model/pending_review_response.dart';
|
||||
import 'package:holzleitner_api/src/model/positions_modified_response.dart';
|
||||
import 'package:holzleitner_api/src/model/record_delivery_payment_request.dart';
|
||||
import 'package:holzleitner_api/src/model/resolve_review_request.dart';
|
||||
import 'package:holzleitner_api/src/model/reviewed_item_response.dart';
|
||||
import 'package:holzleitner_api/src/model/scan_event.dart';
|
||||
import 'package:holzleitner_api/src/model/scan_result.dart';
|
||||
import 'package:holzleitner_api/src/model/scan_result_status.dart';
|
||||
@ -101,6 +111,8 @@ part 'serializers.g.dart';
|
||||
CarResponse,
|
||||
CarsList,
|
||||
CompleteDeliveryAcknowledgements,
|
||||
CompletedDeliveriesResponse,
|
||||
CompletedDeliveryItem,
|
||||
ContactChannel,
|
||||
ContactKind,
|
||||
ContactRole,
|
||||
@ -117,10 +129,13 @@ part 'serializers.g.dart';
|
||||
DeliveryCredit,
|
||||
DeliveryCreditEventRequest,
|
||||
DeliveryCreditResponse,
|
||||
DeliveryDetails,
|
||||
DeliveryItem,
|
||||
DeliveryNote,
|
||||
DeliveryNoteResponse,
|
||||
DeliveryOrderEntry,
|
||||
DeliveryPayment,
|
||||
DeliveryPaymentResponse,
|
||||
DeliveryResponse,
|
||||
DeliveryServiceResponse,
|
||||
DeliveryServiceValue,
|
||||
@ -133,6 +148,11 @@ part 'serializers.g.dart';
|
||||
PaymentMethod,
|
||||
PaymentMethodResponse,
|
||||
PaymentMethodsList,
|
||||
PendingReviewResponse,
|
||||
PositionsModifiedResponse,
|
||||
RecordDeliveryPaymentRequest,
|
||||
ResolveReviewRequest,
|
||||
ReviewedItemResponse,
|
||||
ScanEvent,
|
||||
ScanResult,
|
||||
ScanResultStatus,
|
||||
@ -162,6 +182,10 @@ part 'serializers.g.dart';
|
||||
Warehouse,
|
||||
])
|
||||
Serializers serializers = (_$serializers.toBuilder()
|
||||
..addBuilderFactory(
|
||||
const FullType(BuiltList, [FullType(PendingReviewResponse)]),
|
||||
() => ListBuilder<PendingReviewResponse>(),
|
||||
)
|
||||
..add(Delivery.serializer)
|
||||
..add(const OneOfSerializer())
|
||||
..add(const AnyOfSerializer())
|
||||
|
||||
@ -20,6 +20,8 @@ Serializers _$serializers = (Serializers().toBuilder()
|
||||
..add(CarResponse.serializer)
|
||||
..add(CarsList.serializer)
|
||||
..add(CompleteDeliveryAcknowledgements.serializer)
|
||||
..add(CompletedDeliveriesResponse.serializer)
|
||||
..add(CompletedDeliveryItem.serializer)
|
||||
..add(ContactChannel.serializer)
|
||||
..add(ContactKind.serializer)
|
||||
..add(ContactRole.serializer)
|
||||
@ -35,10 +37,13 @@ Serializers _$serializers = (Serializers().toBuilder()
|
||||
..add(DeliveryCredit.serializer)
|
||||
..add(DeliveryCreditEventRequest.serializer)
|
||||
..add(DeliveryCreditResponse.serializer)
|
||||
..add(DeliveryDetails.serializer)
|
||||
..add(DeliveryItem.serializer)
|
||||
..add(DeliveryNote.serializer)
|
||||
..add(DeliveryNoteResponse.serializer)
|
||||
..add(DeliveryOrderEntry.serializer)
|
||||
..add(DeliveryPayment.serializer)
|
||||
..add(DeliveryPaymentResponse.serializer)
|
||||
..add(DeliveryResponse.serializer)
|
||||
..add(DeliveryServiceResponse.serializer)
|
||||
..add(DeliveryServiceValue.serializer)
|
||||
@ -51,6 +56,11 @@ Serializers _$serializers = (Serializers().toBuilder()
|
||||
..add(PaymentMethod.serializer)
|
||||
..add(PaymentMethodResponse.serializer)
|
||||
..add(PaymentMethodsList.serializer)
|
||||
..add(PendingReviewResponse.serializer)
|
||||
..add(PositionsModifiedResponse.serializer)
|
||||
..add(RecordDeliveryPaymentRequest.serializer)
|
||||
..add(ResolveReviewRequest.serializer)
|
||||
..add(ReviewedItemResponse.serializer)
|
||||
..add(ScanEvent.serializer)
|
||||
..add(ScanResult.serializer)
|
||||
..add(ScanResultStatus.serializer)
|
||||
@ -78,6 +88,31 @@ Serializers _$serializers = (Serializers().toBuilder()
|
||||
..add(UpdatePaymentMethodRequest.serializer)
|
||||
..add(UpdateServiceRequest.serializer)
|
||||
..add(Warehouse.serializer)
|
||||
..addBuilderFactory(
|
||||
const FullType(BuiltList, const [const FullType(Article)]),
|
||||
() => ListBuilder<Article>())
|
||||
..addBuilderFactory(
|
||||
const FullType(BuiltList, const [const FullType(ContactChannel)]),
|
||||
() => ListBuilder<ContactChannel>())
|
||||
..addBuilderFactory(
|
||||
const FullType(BuiltList, const [const FullType(ContactSource)]),
|
||||
() => ListBuilder<ContactSource>())
|
||||
..addBuilderFactory(
|
||||
const FullType(BuiltList, const [const FullType(CustomerContact)]),
|
||||
() => ListBuilder<CustomerContact>())
|
||||
..addBuilderFactory(
|
||||
const FullType(
|
||||
BuiltList, const [const FullType(DeliveryServiceValue)]),
|
||||
() => ListBuilder<DeliveryServiceValue>())
|
||||
..addBuilderFactory(
|
||||
const FullType(BuiltList, const [const FullType(DeliveryNote)]),
|
||||
() => ListBuilder<DeliveryNote>())
|
||||
..addBuilderFactory(
|
||||
const FullType(BuiltList, const [const FullType(Service)]),
|
||||
() => ListBuilder<Service>())
|
||||
..addBuilderFactory(
|
||||
const FullType(BuiltList, const [const FullType(Warehouse)]),
|
||||
() => ListBuilder<Warehouse>())
|
||||
..addBuilderFactory(
|
||||
const FullType(BuiltList, const [const FullType(Article)]),
|
||||
() => ListBuilder<Article>())
|
||||
@ -106,6 +141,9 @@ Serializers _$serializers = (Serializers().toBuilder()
|
||||
..addBuilderFactory(
|
||||
const FullType(BuiltList, const [const FullType(DeliveryNote)]),
|
||||
() => ListBuilder<DeliveryNote>())
|
||||
..addBuilderFactory(
|
||||
const FullType(BuiltList, const [const FullType(DeliveryPayment)]),
|
||||
() => ListBuilder<DeliveryPayment>())
|
||||
..addBuilderFactory(
|
||||
const FullType(BuiltList, const [const FullType(Service)]),
|
||||
() => ListBuilder<Service>())
|
||||
@ -115,6 +153,10 @@ Serializers _$serializers = (Serializers().toBuilder()
|
||||
..addBuilderFactory(
|
||||
const FullType(BuiltList, const [const FullType(Car)]),
|
||||
() => ListBuilder<Car>())
|
||||
..addBuilderFactory(
|
||||
const FullType(
|
||||
BuiltList, const [const FullType(CompletedDeliveryItem)]),
|
||||
() => ListBuilder<CompletedDeliveryItem>())
|
||||
..addBuilderFactory(
|
||||
const FullType(BuiltList, const [const FullType(DeliveryItem)]),
|
||||
() => ListBuilder<DeliveryItem>())
|
||||
@ -127,6 +169,10 @@ Serializers _$serializers = (Serializers().toBuilder()
|
||||
..addBuilderFactory(
|
||||
const FullType(BuiltList, const [const FullType(PaymentMethod)]),
|
||||
() => ListBuilder<PaymentMethod>())
|
||||
..addBuilderFactory(
|
||||
const FullType(
|
||||
BuiltList, const [const FullType(ReviewedItemResponse)]),
|
||||
() => ListBuilder<ReviewedItemResponse>())
|
||||
..addBuilderFactory(
|
||||
const FullType(BuiltList, const [const FullType(ScanEvent)]),
|
||||
() => ListBuilder<ScanEvent>())
|
||||
|
||||
@ -0,0 +1,35 @@
|
||||
import 'package:test/test.dart';
|
||||
import 'package:holzleitner_api/holzleitner_api.dart';
|
||||
|
||||
// tests for CompletedDeliveriesResponse
|
||||
void main() {
|
||||
final instance = CompletedDeliveriesResponseBuilder();
|
||||
// TODO add properties to the builder and call build()
|
||||
|
||||
group(CompletedDeliveriesResponse, () {
|
||||
// Anzahl der abgeschlossenen Lieferungen im Bereich.
|
||||
// int count
|
||||
test('to test the property `count`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
// Die abgeschlossenen Lieferungen, aufsteigend nach Abschluss-Zeitpunkt.
|
||||
// BuiltList<CompletedDeliveryItem> deliveries
|
||||
test('to test the property `deliveries`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
// Wirksame untere Grenze (ISO `YYYY-MM-DD`) oder `null` (offen).
|
||||
// String from
|
||||
test('to test the property `from`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
// Wirksame obere Grenze (ISO `YYYY-MM-DD`) oder `null` (offen).
|
||||
// String to
|
||||
test('to test the property `to`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
});
|
||||
}
|
||||
@ -0,0 +1,23 @@
|
||||
import 'package:test/test.dart';
|
||||
import 'package:holzleitner_api/holzleitner_api.dart';
|
||||
|
||||
// tests for CompletedDeliveryItem
|
||||
void main() {
|
||||
final instance = CompletedDeliveryItemBuilder();
|
||||
// TODO add properties to the builder and call build()
|
||||
|
||||
group(CompletedDeliveryItem, () {
|
||||
// ERP-Belegnummer der Lieferung.
|
||||
// String belegnummer
|
||||
test('to test the property `belegnummer`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
// `true`, wenn an der Lieferung Positionen verändert wurden — eine Zeile wurde entfernt oder in der Menge reduziert (Stück-Gutschrift) **oder** es liegt eine aktive Geld-Gutschrift vor.
|
||||
// bool positionsModified
|
||||
test('to test the property `positionsModified`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
});
|
||||
}
|
||||
89
packages/holzleitner_api/test/delivery_details_test.dart
Normal file
89
packages/holzleitner_api/test/delivery_details_test.dart
Normal file
@ -0,0 +1,89 @@
|
||||
import 'package:test/test.dart';
|
||||
import 'package:holzleitner_api/holzleitner_api.dart';
|
||||
|
||||
// tests for DeliveryDetails
|
||||
void main() {
|
||||
final instance = DeliveryDetailsBuilder();
|
||||
// TODO add properties to the builder and call build()
|
||||
|
||||
group(DeliveryDetails, () {
|
||||
// Nur die von den Positionen referenzierten Artikel.
|
||||
// BuiltList<Article> articles
|
||||
test('to test the property `articles`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
// Die zu `contactSources` gehörenden Einzel-Kanäle. Join per `sourceId`.
|
||||
// BuiltList<ContactChannel> contactChannels
|
||||
test('to test the property `contactChannels`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
// Kontaktquellen der Lieferung (Liefer-/Rechnungsadresse, Ansprechpartner …).
|
||||
// BuiltList<ContactSource> contactSources
|
||||
test('to test the property `contactSources`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
// Aktuelle Betrags-Gutschrift (`null`, wenn keine aktiv).
|
||||
// DeliveryCredit credit
|
||||
test('to test the property `credit`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
// Der Kunde der Lieferung (`null`, falls unauffindbar — sollte nicht vorkommen).
|
||||
// Customer customer
|
||||
test('to test the property `customer`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
// Ansprechpartner des Kunden.
|
||||
// BuiltList<CustomerContact> customerContacts
|
||||
test('to test the property `customerContacts`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
// Die Lieferung selbst inkl. Positionen (mit Scan-Ständen) und `sortOrder`.
|
||||
// DeliveryWithItems delivery
|
||||
test('to test the property `delivery`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
// Für diese Lieferung gesetzte Service-Werte.
|
||||
// BuiltList<DeliveryServiceValue> deliveryServices
|
||||
test('to test the property `deliveryServices`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
// Notizen der Lieferung, aufsteigend nach `createdAt`.
|
||||
// BuiltList<DeliveryNote> notes
|
||||
test('to test the property `notes`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
// Jüngste protokollierte Zahlungsabwicklung (`None` = keine).
|
||||
// DeliveryPayment payment
|
||||
test('to test the property `payment`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
// Aktive Service-Definitionen (Stammdaten).
|
||||
// BuiltList<Service> services
|
||||
test('to test the property `services`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
// Die Tour, zu der die Lieferung gehört.
|
||||
// Tour tour
|
||||
test('to test the property `tour`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
// Nur die von den Positionen referenzierten Lager.
|
||||
// BuiltList<Warehouse> warehouses
|
||||
test('to test the property `warehouses`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
});
|
||||
}
|
||||
@ -0,0 +1,16 @@
|
||||
import 'package:test/test.dart';
|
||||
import 'package:holzleitner_api/holzleitner_api.dart';
|
||||
|
||||
// tests for DeliveryPaymentResponse
|
||||
void main() {
|
||||
final instance = DeliveryPaymentResponseBuilder();
|
||||
// TODO add properties to the builder and call build()
|
||||
|
||||
group(DeliveryPaymentResponse, () {
|
||||
// DeliveryPayment payment
|
||||
test('to test the property `payment`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
});
|
||||
}
|
||||
53
packages/holzleitner_api/test/delivery_payment_test.dart
Normal file
53
packages/holzleitner_api/test/delivery_payment_test.dart
Normal file
@ -0,0 +1,53 @@
|
||||
import 'package:test/test.dart';
|
||||
import 'package:holzleitner_api/holzleitner_api.dart';
|
||||
|
||||
// tests for DeliveryPayment
|
||||
void main() {
|
||||
final instance = DeliveryPaymentBuilder();
|
||||
// TODO add properties to the builder and call build()
|
||||
|
||||
group(DeliveryPayment, () {
|
||||
// Abgewickelter Betrag in Cent (offener Betrag bei Bestätigung).
|
||||
// int amountCents
|
||||
test('to test the property `amountCents`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
// String deliveryId
|
||||
test('to test the property `deliveryId`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
// String id
|
||||
test('to test the property `id`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
// Snapshot des Methoden-Codes (`cash`, `ec_card`, `invoice`, …).
|
||||
// String paymentMethodCode
|
||||
test('to test the property `paymentMethodCode`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
// String paymentMethodId
|
||||
test('to test the property `paymentMethodId`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
// DateTime recordedAt
|
||||
test('to test the property `recordedAt`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
// String recordedByCarId
|
||||
test('to test the property `recordedByCarId`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
// int recordedByPersonalnummer
|
||||
test('to test the property `recordedByPersonalnummer`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
});
|
||||
}
|
||||
@ -0,0 +1,60 @@
|
||||
import 'package:test/test.dart';
|
||||
import 'package:holzleitner_api/holzleitner_api.dart';
|
||||
|
||||
// tests for PendingReviewResponse
|
||||
void main() {
|
||||
final instance = PendingReviewResponseBuilder();
|
||||
// TODO add properties to the builder and call build()
|
||||
|
||||
group(PendingReviewResponse, () {
|
||||
// Entfernte/teil-gutgeschriebene Positionen.
|
||||
// BuiltList<ReviewedItemResponse> creditedItems
|
||||
test('to test the property `creditedItems`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
// String customerName
|
||||
test('to test the property `customerName`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
// String deliveryId
|
||||
test('to test the property `deliveryId`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
// int erpBelegartId
|
||||
test('to test the property `erpBelegartId`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
// String erpBelegnummer
|
||||
test('to test the property `erpBelegnummer`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
// Zeitpunkt der letzten beleg-ändernden Aktion (RFC 3339).
|
||||
// String lastChangeAt
|
||||
test('to test the property `lastChangeAt`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
// Geld-Gutschrift in Cent (0 = keine).
|
||||
// int moneyCreditCents
|
||||
test('to test the property `moneyCreditCents`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
// String moneyCreditReason
|
||||
test('to test the property `moneyCreditReason`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
// Tourdatum (ISO `YYYY-MM-DD`).
|
||||
// String tourDate
|
||||
test('to test the property `tourDate`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
});
|
||||
}
|
||||
@ -0,0 +1,23 @@
|
||||
import 'package:test/test.dart';
|
||||
import 'package:holzleitner_api/holzleitner_api.dart';
|
||||
|
||||
// tests for PositionsModifiedResponse
|
||||
void main() {
|
||||
final instance = PositionsModifiedResponseBuilder();
|
||||
// TODO add properties to the builder and call build()
|
||||
|
||||
group(PositionsModifiedResponse, () {
|
||||
// ERP-Belegnummer, nach der gefragt wurde.
|
||||
// String belegnummer
|
||||
test('to test the property `belegnummer`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
// `true`, wenn an der Lieferung Positionen verändert wurden — eine Zeile wurde entfernt oder in der Menge reduziert (Stück-Gutschrift) **oder** es liegt eine aktive Geld-Gutschrift vor.
|
||||
// bool positionsModified
|
||||
test('to test the property `positionsModified`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
});
|
||||
}
|
||||
@ -0,0 +1,35 @@
|
||||
import 'package:test/test.dart';
|
||||
import 'package:holzleitner_api/holzleitner_api.dart';
|
||||
|
||||
// tests for RecordDeliveryPaymentRequest
|
||||
void main() {
|
||||
final instance = RecordDeliveryPaymentRequestBuilder();
|
||||
// TODO add properties to the builder and call build()
|
||||
|
||||
group(RecordDeliveryPaymentRequest, () {
|
||||
// Fahrzeug des Akteurs (Audit-Spur). Muss zum Account gehören.
|
||||
// String authorCarId
|
||||
test('to test the property `authorCarId`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
// Idempotenz-Schlüssel — pro Bestätigung genau einmal vergeben.
|
||||
// String clientEventId
|
||||
test('to test the property `clientEventId`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
// Betrag in Cent, den der Fahrer in der App gesehen und bestätigt hat. Der Server berechnet den offenen Betrag selbst und lehnt ab, wenn er davon abweicht — so landet nie ein Betrag im Protokoll, den der Fahrer nicht gesehen hat.
|
||||
// int expectedAmountCents
|
||||
test('to test the property `expectedAmountCents`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
// Gewählte Zahlungsmethode. Muss existieren und aktiv sein.
|
||||
// String paymentMethodId
|
||||
test('to test the property `paymentMethodId`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
});
|
||||
}
|
||||
@ -0,0 +1,23 @@
|
||||
import 'package:test/test.dart';
|
||||
import 'package:holzleitner_api/holzleitner_api.dart';
|
||||
|
||||
// tests for ResolveReviewRequest
|
||||
void main() {
|
||||
final instance = ResolveReviewRequestBuilder();
|
||||
// TODO add properties to the builder and call build()
|
||||
|
||||
group(ResolveReviewRequest, () {
|
||||
// Optionale Notiz zur getroffenen Entscheidung.
|
||||
// String note
|
||||
test('to test the property `note`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
// Bearbeiter (Name/Kürzel), der die Prüfung bestätigt.
|
||||
// String resolvedBy
|
||||
test('to test the property `resolvedBy`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
});
|
||||
}
|
||||
@ -0,0 +1,41 @@
|
||||
import 'package:test/test.dart';
|
||||
import 'package:holzleitner_api/holzleitner_api.dart';
|
||||
|
||||
// tests for ReviewedItemResponse
|
||||
void main() {
|
||||
final instance = ReviewedItemResponseBuilder();
|
||||
// TODO add properties to the builder and call build()
|
||||
|
||||
group(ReviewedItemResponse, () {
|
||||
// String articleName
|
||||
test('to test the property `articleName`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
// String artikelNr
|
||||
test('to test the property `artikelNr`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
// int belegzeilenNr
|
||||
test('to test the property `belegzeilenNr`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
// int creditedQuantity
|
||||
test('to test the property `creditedQuantity`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
// String reason
|
||||
test('to test the property `reason`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
// int requiredQuantity
|
||||
test('to test the property `requiredQuantity`', () async {
|
||||
// TODO
|
||||
});
|
||||
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user