Final commit.
This commit is contained in:
@ -1,44 +1,74 @@
|
||||
.gitignore
|
||||
.openapi-generator-ignore
|
||||
README.md
|
||||
analysis_options.yaml
|
||||
doc/Account.md
|
||||
doc/AccountsApi.md
|
||||
doc/Address.md
|
||||
doc/AdminApi.md
|
||||
doc/ApplyScansRequest.md
|
||||
doc/ApplyScansResponse.md
|
||||
doc/Article.md
|
||||
doc/AssignCarRequest.md
|
||||
doc/AttachmentsApi.md
|
||||
doc/AuditAction.md
|
||||
doc/CancelDeliveryRequest.md
|
||||
doc/Car.md
|
||||
doc/CarResponse.md
|
||||
doc/CarsApi.md
|
||||
doc/CarsList.md
|
||||
doc/CompleteDeliveryAcknowledgements.md
|
||||
doc/ContactChannel.md
|
||||
doc/ContactKind.md
|
||||
doc/ContactRole.md
|
||||
doc/ContactSource.md
|
||||
doc/CreateCarRequest.md
|
||||
doc/CreateDeliveryNoteRequest.md
|
||||
doc/CreatePaymentMethodRequest.md
|
||||
doc/CreateServiceRequest.md
|
||||
doc/CreditAction.md
|
||||
doc/Customer.md
|
||||
doc/CustomerContact.md
|
||||
doc/DeliveredBelegnummernResponse.md
|
||||
doc/DeliveriesApi.md
|
||||
doc/Delivery.md
|
||||
doc/DeliveryCredit.md
|
||||
doc/DeliveryCreditEventRequest.md
|
||||
doc/DeliveryCreditResponse.md
|
||||
doc/DeliveryItem.md
|
||||
doc/DeliveryNote.md
|
||||
doc/DeliveryNoteResponse.md
|
||||
doc/DeliveryOrderEntry.md
|
||||
doc/DeliveryResponse.md
|
||||
doc/DeliveryServiceResponse.md
|
||||
doc/DeliveryServiceValue.md
|
||||
doc/DeliveryState.md
|
||||
doc/DeliveryWithItems.md
|
||||
doc/HealthApi.md
|
||||
doc/HoldDeliveryRequest.md
|
||||
doc/ImportSummary.md
|
||||
doc/MarkMailSentRequest.md
|
||||
doc/MarkMailSentResponse.md
|
||||
doc/PaymentMethod.md
|
||||
doc/PaymentMethodResponse.md
|
||||
doc/PaymentMethodsApi.md
|
||||
doc/PaymentMethodsList.md
|
||||
doc/ScanEvent.md
|
||||
doc/ScanResult.md
|
||||
doc/ScanResultStatus.md
|
||||
doc/ScanState.md
|
||||
doc/ScanStatus.md
|
||||
doc/ScansApi.md
|
||||
doc/Service.md
|
||||
doc/ServiceKind.md
|
||||
doc/ServiceResponse.md
|
||||
doc/ServicesApi.md
|
||||
doc/ServicesList.md
|
||||
doc/SetDeliveryOrderRequest.md
|
||||
doc/SetDeliveryOrderResponse.md
|
||||
doc/SetDeliveryServiceRequest.md
|
||||
doc/SyncApi.md
|
||||
doc/SyncContactChannel.md
|
||||
doc/SyncContactSource.md
|
||||
doc/SyncDelivery.md
|
||||
doc/SyncDeliveryItem.md
|
||||
doc/SyncTourRequest.md
|
||||
@ -49,14 +79,21 @@ doc/TourSummary.md
|
||||
doc/TourSummaryList.md
|
||||
doc/ToursApi.md
|
||||
doc/UpdateCarRequest.md
|
||||
doc/UpdateDeliveryNoteRequest.md
|
||||
doc/UpdatePaymentMethodRequest.md
|
||||
doc/UpdateServiceRequest.md
|
||||
doc/Warehouse.md
|
||||
lib/holzleitner_api.dart
|
||||
lib/src/api.dart
|
||||
lib/src/api/accounts_api.dart
|
||||
lib/src/api/admin_api.dart
|
||||
lib/src/api/attachments_api.dart
|
||||
lib/src/api/cars_api.dart
|
||||
lib/src/api/deliveries_api.dart
|
||||
lib/src/api/health_api.dart
|
||||
lib/src/api/payment_methods_api.dart
|
||||
lib/src/api/scans_api.dart
|
||||
lib/src/api/services_api.dart
|
||||
lib/src/api/sync_api.dart
|
||||
lib/src/api/tours_api.dart
|
||||
lib/src/api_util.dart
|
||||
@ -77,27 +114,54 @@ lib/src/model/cancel_delivery_request.dart
|
||||
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/contact_channel.dart
|
||||
lib/src/model/contact_kind.dart
|
||||
lib/src/model/contact_role.dart
|
||||
lib/src/model/contact_source.dart
|
||||
lib/src/model/create_car_request.dart
|
||||
lib/src/model/create_delivery_note_request.dart
|
||||
lib/src/model/create_payment_method_request.dart
|
||||
lib/src/model/create_service_request.dart
|
||||
lib/src/model/credit_action.dart
|
||||
lib/src/model/customer.dart
|
||||
lib/src/model/customer_contact.dart
|
||||
lib/src/model/date.dart
|
||||
lib/src/model/delivered_belegnummern_response.dart
|
||||
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_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_response.dart
|
||||
lib/src/model/delivery_service_response.dart
|
||||
lib/src/model/delivery_service_value.dart
|
||||
lib/src/model/delivery_state.dart
|
||||
lib/src/model/delivery_with_items.dart
|
||||
lib/src/model/hold_delivery_request.dart
|
||||
lib/src/model/import_summary.dart
|
||||
lib/src/model/mark_mail_sent_request.dart
|
||||
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/scan_event.dart
|
||||
lib/src/model/scan_result.dart
|
||||
lib/src/model/scan_result_status.dart
|
||||
lib/src/model/scan_state.dart
|
||||
lib/src/model/scan_status.dart
|
||||
lib/src/model/service.dart
|
||||
lib/src/model/service_kind.dart
|
||||
lib/src/model/service_response.dart
|
||||
lib/src/model/services_list.dart
|
||||
lib/src/model/set_delivery_order_request.dart
|
||||
lib/src/model/set_delivery_order_response.dart
|
||||
lib/src/model/set_delivery_service_request.dart
|
||||
lib/src/model/sync_contact_channel.dart
|
||||
lib/src/model/sync_contact_source.dart
|
||||
lib/src/model/sync_delivery.dart
|
||||
lib/src/model/sync_delivery_item.dart
|
||||
lib/src/model/sync_tour_request.dart
|
||||
@ -107,54 +171,18 @@ lib/src/model/tour_details.dart
|
||||
lib/src/model/tour_summary.dart
|
||||
lib/src/model/tour_summary_list.dart
|
||||
lib/src/model/update_car_request.dart
|
||||
lib/src/model/update_delivery_note_request.dart
|
||||
lib/src/model/update_payment_method_request.dart
|
||||
lib/src/model/update_service_request.dart
|
||||
lib/src/model/warehouse.dart
|
||||
lib/src/serializers.dart
|
||||
pubspec.yaml
|
||||
test/account_test.dart
|
||||
test/accounts_api_test.dart
|
||||
test/address_test.dart
|
||||
test/apply_scans_request_test.dart
|
||||
test/apply_scans_response_test.dart
|
||||
test/article_test.dart
|
||||
test/assign_car_request_test.dart
|
||||
test/audit_action_test.dart
|
||||
test/cancel_delivery_request_test.dart
|
||||
test/car_response_test.dart
|
||||
test/car_test.dart
|
||||
test/cars_api_test.dart
|
||||
test/cars_list_test.dart
|
||||
test/create_car_request_test.dart
|
||||
test/create_delivery_note_request_test.dart
|
||||
test/customer_contact_test.dart
|
||||
test/customer_test.dart
|
||||
test/deliveries_api_test.dart
|
||||
test/delivery_item_test.dart
|
||||
test/delivery_note_response_test.dart
|
||||
test/delivery_note_test.dart
|
||||
test/delivery_order_entry_test.dart
|
||||
test/delivery_response_test.dart
|
||||
test/delivery_state_test.dart
|
||||
test/delivery_test.dart
|
||||
test/delivery_with_items_test.dart
|
||||
test/health_api_test.dart
|
||||
test/hold_delivery_request_test.dart
|
||||
test/scan_event_test.dart
|
||||
test/scan_result_status_test.dart
|
||||
test/scan_result_test.dart
|
||||
test/scan_state_test.dart
|
||||
test/scan_status_test.dart
|
||||
test/scans_api_test.dart
|
||||
test/set_delivery_order_request_test.dart
|
||||
test/set_delivery_order_response_test.dart
|
||||
test/sync_api_test.dart
|
||||
test/sync_delivery_item_test.dart
|
||||
test/sync_delivery_test.dart
|
||||
test/sync_tour_request_test.dart
|
||||
test/sync_tour_response_test.dart
|
||||
test/tour_details_test.dart
|
||||
test/tour_summary_list_test.dart
|
||||
test/tour_summary_test.dart
|
||||
test/tour_test.dart
|
||||
test/tours_api_test.dart
|
||||
test/update_car_request_test.dart
|
||||
test/warehouse_test.dart
|
||||
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
|
||||
|
||||
@ -66,17 +66,36 @@ 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) | [**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) | [**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) | [**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).
|
||||
[*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.
|
||||
[*CarsApi*](doc/CarsApi.md) | [**updateMyCar**](doc/CarsApi.md#updatemycar) | **PATCH** /me/cars/{car_id} | Aktualisiert ein Fahrzeug (Kennzeichen ändern / deaktivieren).
|
||||
[*DeliveriesApi*](doc/DeliveriesApi.md) | [**applyCredit**](doc/DeliveriesApi.md#applycredit) | **POST** /deliveries/{delivery_id}/credit | Wendet ein Betrags-Gutschrift-Ereignis an (`set`/`remove`). Append-only, idempotent über `clientEventId`. Nur bei aktiver Lieferung; bei `set` sind Betrag (0 < x ≤ 150 €, 10-€-Schritte) und Grund Pflicht. Antwort: der aktuelle Gutschrift-Stand (`null`, wenn entfernt).
|
||||
[*DeliveriesApi*](doc/DeliveriesApi.md) | [**assignCar**](doc/DeliveriesApi.md#assigncar) | **PUT** /deliveries/{delivery_id}/assigned-car | Setzt das `assigned_car_id` einer Lieferung. `carId: null` löst die Zuordnung wieder. Der Use Case stellt sicher, dass das Fahrzeug zum angemeldeten Account gehört.
|
||||
[*DeliveriesApi*](doc/DeliveriesApi.md) | [**cancel**](doc/DeliveriesApi.md#cancel) | **POST** /deliveries/{delivery_id}/cancel | Setzt die Lieferung auf `canceled` — endgültig. Erlaubt aus `active` und `held`.
|
||||
[*DeliveriesApi*](doc/DeliveriesApi.md) | [**complete**](doc/DeliveriesApi.md#complete) | **POST** /deliveries/{delivery_id}/complete | Schließt die Lieferung ab — `state = completed`. Nur aus `active`.
|
||||
[*DeliveriesApi*](doc/DeliveriesApi.md) | [**createNote**](doc/DeliveriesApi.md#createnote) | **POST** /deliveries/{delivery_id}/notes | Legt eine neue Notiz an einer Lieferung an. Mindestens eines von `text` und `imageAttachment` muss inhaltlich gefüllt sein (Leerstrings werden serverseitig getrimmt und als leer behandelt).
|
||||
[*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) | [**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.
|
||||
[*DeliveriesApi*](doc/DeliveriesApi.md) | [**uploadNoteImage**](doc/DeliveriesApi.md#uploadnoteimage) | **POST** /deliveries/{delivery_id}/notes/image | Lädt ein Bild zu einer Lieferung hoch (multipart/form-data, Feld `file`) und legt dafür eine Bild-Notiz an. Das Bild geht in den DOCUframe-Dokumentenspeicher; gespeichert wird die zurückgelieferte Referenz (`~ObjectID`) als `image_attachment` der Notiz.
|
||||
[*HealthApi*](doc/HealthApi.md) | [**health**](doc/HealthApi.md#health) | **GET** /health | Health-Endpoint für Load-Balancer und Container-Probes. Bewusst kein Auth — eine `200 ok`-Antwort darf nicht von der Auth abhängen.
|
||||
[*PaymentMethodsApi*](doc/PaymentMethodsApi.md) | [**createPaymentMethod**](doc/PaymentMethodsApi.md#createpaymentmethod) | **POST** /payment-methods | Legt eine neue Zahlungsmethode an.
|
||||
[*PaymentMethodsApi*](doc/PaymentMethodsApi.md) | [**deletePaymentMethod**](doc/PaymentMethodsApi.md#deletepaymentmethod) | **DELETE** /payment-methods/{id} | Hartes Löschen. `409 Conflict`, wenn die Methode von einer Lieferung referenziert wird — der Admin soll dann den `active = false`-Pfad nutzen.
|
||||
[*PaymentMethodsApi*](doc/PaymentMethodsApi.md) | [**listPaymentMethods**](doc/PaymentMethodsApi.md#listpaymentmethods) | **GET** /payment-methods | Listet die Zahlungsmethoden.
|
||||
[*PaymentMethodsApi*](doc/PaymentMethodsApi.md) | [**updatePaymentMethod**](doc/PaymentMethodsApi.md#updatepaymentmethod) | **PATCH** /payment-methods/{id} | Patcht Anzeige-Name und/oder Aktiv-Flag.
|
||||
[*ScansApi*](doc/ScansApi.md) | [**applyScans**](doc/ScansApi.md#applyscans) | **POST** /scans | Wendet eine Liste von Scan-Events idempotent an.
|
||||
[*ServicesApi*](doc/ServicesApi.md) | [**createService**](doc/ServicesApi.md#createservice) | **POST** /services | Legt einen neuen Service an.
|
||||
[*ServicesApi*](doc/ServicesApi.md) | [**deleteService**](doc/ServicesApi.md#deleteservice) | **DELETE** /services/{id} | Hartes Löschen. `409 Conflict`, wenn der Service noch von einer Lieferung referenziert wird — dann stattdessen deaktivieren.
|
||||
[*ServicesApi*](doc/ServicesApi.md) | [**listServices**](doc/ServicesApi.md#listservices) | **GET** /services | Listet die Services (sortiert nach `sortOrder`).
|
||||
[*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).
|
||||
@ -96,26 +115,53 @@ Class | Method | HTTP request | Description
|
||||
- [Car](doc/Car.md)
|
||||
- [CarResponse](doc/CarResponse.md)
|
||||
- [CarsList](doc/CarsList.md)
|
||||
- [CompleteDeliveryAcknowledgements](doc/CompleteDeliveryAcknowledgements.md)
|
||||
- [ContactChannel](doc/ContactChannel.md)
|
||||
- [ContactKind](doc/ContactKind.md)
|
||||
- [ContactRole](doc/ContactRole.md)
|
||||
- [ContactSource](doc/ContactSource.md)
|
||||
- [CreateCarRequest](doc/CreateCarRequest.md)
|
||||
- [CreateDeliveryNoteRequest](doc/CreateDeliveryNoteRequest.md)
|
||||
- [CreatePaymentMethodRequest](doc/CreatePaymentMethodRequest.md)
|
||||
- [CreateServiceRequest](doc/CreateServiceRequest.md)
|
||||
- [CreditAction](doc/CreditAction.md)
|
||||
- [Customer](doc/Customer.md)
|
||||
- [CustomerContact](doc/CustomerContact.md)
|
||||
- [DeliveredBelegnummernResponse](doc/DeliveredBelegnummernResponse.md)
|
||||
- [Delivery](doc/Delivery.md)
|
||||
- [DeliveryCredit](doc/DeliveryCredit.md)
|
||||
- [DeliveryCreditEventRequest](doc/DeliveryCreditEventRequest.md)
|
||||
- [DeliveryCreditResponse](doc/DeliveryCreditResponse.md)
|
||||
- [DeliveryItem](doc/DeliveryItem.md)
|
||||
- [DeliveryNote](doc/DeliveryNote.md)
|
||||
- [DeliveryNoteResponse](doc/DeliveryNoteResponse.md)
|
||||
- [DeliveryOrderEntry](doc/DeliveryOrderEntry.md)
|
||||
- [DeliveryResponse](doc/DeliveryResponse.md)
|
||||
- [DeliveryServiceResponse](doc/DeliveryServiceResponse.md)
|
||||
- [DeliveryServiceValue](doc/DeliveryServiceValue.md)
|
||||
- [DeliveryState](doc/DeliveryState.md)
|
||||
- [DeliveryWithItems](doc/DeliveryWithItems.md)
|
||||
- [HoldDeliveryRequest](doc/HoldDeliveryRequest.md)
|
||||
- [ImportSummary](doc/ImportSummary.md)
|
||||
- [MarkMailSentRequest](doc/MarkMailSentRequest.md)
|
||||
- [MarkMailSentResponse](doc/MarkMailSentResponse.md)
|
||||
- [PaymentMethod](doc/PaymentMethod.md)
|
||||
- [PaymentMethodResponse](doc/PaymentMethodResponse.md)
|
||||
- [PaymentMethodsList](doc/PaymentMethodsList.md)
|
||||
- [ScanEvent](doc/ScanEvent.md)
|
||||
- [ScanResult](doc/ScanResult.md)
|
||||
- [ScanResultStatus](doc/ScanResultStatus.md)
|
||||
- [ScanState](doc/ScanState.md)
|
||||
- [ScanStatus](doc/ScanStatus.md)
|
||||
- [Service](doc/Service.md)
|
||||
- [ServiceKind](doc/ServiceKind.md)
|
||||
- [ServiceResponse](doc/ServiceResponse.md)
|
||||
- [ServicesList](doc/ServicesList.md)
|
||||
- [SetDeliveryOrderRequest](doc/SetDeliveryOrderRequest.md)
|
||||
- [SetDeliveryOrderResponse](doc/SetDeliveryOrderResponse.md)
|
||||
- [SetDeliveryServiceRequest](doc/SetDeliveryServiceRequest.md)
|
||||
- [SyncContactChannel](doc/SyncContactChannel.md)
|
||||
- [SyncContactSource](doc/SyncContactSource.md)
|
||||
- [SyncDelivery](doc/SyncDelivery.md)
|
||||
- [SyncDeliveryItem](doc/SyncDeliveryItem.md)
|
||||
- [SyncTourRequest](doc/SyncTourRequest.md)
|
||||
@ -125,6 +171,9 @@ Class | Method | HTTP request | Description
|
||||
- [TourSummary](doc/TourSummary.md)
|
||||
- [TourSummaryList](doc/TourSummaryList.md)
|
||||
- [UpdateCarRequest](doc/UpdateCarRequest.md)
|
||||
- [UpdateDeliveryNoteRequest](doc/UpdateDeliveryNoteRequest.md)
|
||||
- [UpdatePaymentMethodRequest](doc/UpdatePaymentMethodRequest.md)
|
||||
- [UpdateServiceRequest](doc/UpdateServiceRequest.md)
|
||||
- [Warehouse](doc/Warehouse.md)
|
||||
|
||||
|
||||
@ -132,6 +181,12 @@ Class | Method | HTTP request | Description
|
||||
|
||||
|
||||
Authentication schemes defined for the API:
|
||||
### admin_api_key
|
||||
|
||||
- **Type**: API key
|
||||
- **API key parameter name**: X-Admin-Api-Key
|
||||
- **Location**: HTTP header
|
||||
|
||||
### bearer_auth
|
||||
|
||||
- **Type**: HTTP Bearer Token authentication (JWT)
|
||||
|
||||
196
packages/holzleitner_api/doc/AdminApi.md
Normal file
196
packages/holzleitner_api/doc/AdminApi.md
Normal file
@ -0,0 +1,196 @@
|
||||
# holzleitner_api.api.AdminApi
|
||||
|
||||
## Load the API package
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
```
|
||||
|
||||
All URIs are relative to *http://localhost*
|
||||
|
||||
Method | HTTP request | Description
|
||||
------------- | ------------- | -------------
|
||||
[**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.
|
||||
[**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`.
|
||||
[**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).
|
||||
|
||||
|
||||
# **deliveredBelegnummern**
|
||||
> DeliveredBelegnummernResponse deliveredBelegnummern(day)
|
||||
|
||||
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.
|
||||
|
||||
### 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 | Tag DD-MM-YYYY; ohne Angabe ALLE offenen Belege
|
||||
|
||||
try {
|
||||
final response = api.deliveredBelegnummern(day);
|
||||
print(response);
|
||||
} catch on DioException (e) {
|
||||
print('Exception when calling AdminApi->deliveredBelegnummern: $e\n');
|
||||
}
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**day** | **String**| Tag DD-MM-YYYY; ohne Angabe ALLE offenen Belege | [optional]
|
||||
|
||||
### Return type
|
||||
|
||||
[**DeliveredBelegnummernResponse**](DeliveredBelegnummernResponse.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)
|
||||
|
||||
# **importErp**
|
||||
> ImportSummary importErp(date)
|
||||
|
||||
Stößt den ERP-Import für ein Datum an und liefert die Zusammenfassung.
|
||||
|
||||
### 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 date = date_example; // String | Ziel-Tourdatum YYYY-MM-DD (Default: heute)
|
||||
|
||||
try {
|
||||
final response = api.importErp(date);
|
||||
print(response);
|
||||
} catch on DioException (e) {
|
||||
print('Exception when calling AdminApi->importErp: $e\n');
|
||||
}
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**date** | **String**| Ziel-Tourdatum YYYY-MM-DD (Default: heute) | [optional]
|
||||
|
||||
### Return type
|
||||
|
||||
[**ImportSummary**](ImportSummary.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)
|
||||
|
||||
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`.
|
||||
|
||||
### 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 MarkMailSentRequest markMailSentRequest = ; // MarkMailSentRequest |
|
||||
|
||||
try {
|
||||
final response = api.markMailSent(markMailSentRequest);
|
||||
print(response);
|
||||
} catch on DioException (e) {
|
||||
print('Exception when calling AdminApi->markMailSent: $e\n');
|
||||
}
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**markMailSentRequest** | [**MarkMailSentRequest**](MarkMailSentRequest.md)| |
|
||||
|
||||
### Return type
|
||||
|
||||
[**MarkMailSentResponse**](MarkMailSentResponse.md)
|
||||
|
||||
### Authorization
|
||||
|
||||
[admin_api_key](../README.md#admin_api_key)
|
||||
|
||||
### 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)
|
||||
|
||||
# **pushCompletion**
|
||||
> pushCompletion(deliveryId)
|
||||
|
||||
Stößt das ERP-Rückschreiben eines bereits lokal abgeschlossenen Lieferabschlusses erneut an (idempotenter Retry, falls der automatische Push beim Abschluss fehlschlug).
|
||||
|
||||
### 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 abgeschlossenen Lieferung
|
||||
|
||||
try {
|
||||
api.pushCompletion(deliveryId);
|
||||
} catch on DioException (e) {
|
||||
print('Exception when calling AdminApi->pushCompletion: $e\n');
|
||||
}
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**deliveryId** | **String**| UUID der abgeschlossenen Lieferung |
|
||||
|
||||
### Return type
|
||||
|
||||
void (empty response body)
|
||||
|
||||
### Authorization
|
||||
|
||||
[admin_api_key](../README.md#admin_api_key)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: Not defined
|
||||
- **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)
|
||||
|
||||
64
packages/holzleitner_api/doc/AttachmentsApi.md
Normal file
64
packages/holzleitner_api/doc/AttachmentsApi.md
Normal file
@ -0,0 +1,64 @@
|
||||
# holzleitner_api.api.AttachmentsApi
|
||||
|
||||
## Load the API package
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
```
|
||||
|
||||
All URIs are relative to *http://localhost*
|
||||
|
||||
Method | HTTP request | Description
|
||||
------------- | ------------- | -------------
|
||||
[**getAttachment**](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=`).
|
||||
|
||||
|
||||
# **getAttachment**
|
||||
> getAttachment(id, w, h, q, ext, page)
|
||||
|
||||
Liefert ein gerendertes Vorschaubild des Attachments (Bytes), geladen aus DOCUframe. Auflösung/Format über Query-Parameter steuerbar (`?w=&h=&q=&ext=&page=`).
|
||||
|
||||
### Example
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
|
||||
final api = HolzleitnerApi().getAttachmentsApi();
|
||||
final String id = 38400000-8cf0-11bd-b23e-10b96e4ef00d; // String | Attachment-Id (unsere UUID)
|
||||
final int w = 56; // int | Breite in Pixeln (Default 1024)
|
||||
final int h = 56; // int | Höhe in Pixeln (Default 1024)
|
||||
final int q = 56; // int | Qualität 0–100 (Default 85)
|
||||
final String ext = ext_example; // String | png|jpeg|jpg|webp|tiff (Default jpeg)
|
||||
final String page = page_example; // String | Seitennummer (Default 1)
|
||||
|
||||
try {
|
||||
api.getAttachment(id, w, h, q, ext, page);
|
||||
} catch on DioException (e) {
|
||||
print('Exception when calling AttachmentsApi->getAttachment: $e\n');
|
||||
}
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**id** | **String**| Attachment-Id (unsere UUID) |
|
||||
**w** | **int**| Breite in Pixeln (Default 1024) | [optional]
|
||||
**h** | **int**| Höhe in Pixeln (Default 1024) | [optional]
|
||||
**q** | **int**| Qualität 0–100 (Default 85) | [optional]
|
||||
**ext** | **String**| png|jpeg|jpg|webp|tiff (Default jpeg) | [optional]
|
||||
**page** | **String**| Seitennummer (Default 1) | [optional]
|
||||
|
||||
### Return type
|
||||
|
||||
void (empty response body)
|
||||
|
||||
### Authorization
|
||||
|
||||
[bearer_auth](../README.md#bearer_auth)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: Not defined
|
||||
- **Accept**: image/jpeg
|
||||
|
||||
[[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)
|
||||
|
||||
@ -0,0 +1,20 @@
|
||||
# holzleitner_api.model.CompleteDeliveryAcknowledgements
|
||||
|
||||
## Load the model package
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
```
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**acknowledgedNoteIds** | **BuiltList<String>** | Notiz-IDs, die zum Abschlusszeitpunkt sichtbar waren und mit-bestätigt wurden (Audit-Robustheit). | [optional]
|
||||
**authorCarId** | **String** | Fahrzeug des Akteurs (Audit-Spur). Muss zum Account gehören. | [optional]
|
||||
**notesAcknowledged** | **bool** | „Anmerkungen zur Lieferung zur Kenntnis genommen.\" — Pflicht nur, wenn Notizen existieren (das prüft der Server). | [optional]
|
||||
**paymentCollected** | **bool** | Inkasso-Bestätigung des Fahrers: „der offene Betrag wurde erhalten (bar) bzw. über das EC-Gerät abgerechnet.\" Pflicht nur, wenn beim Abschluss ein offener Betrag > 0 besteht UND die Methode ein Vor-Ort- Inkasso ist (Bar/EC) — das prüft der Server. Der kassierte Betrag wird server-seitig autoritativ berechnet (nicht vom Client übernommen). | [optional]
|
||||
**paymentMethodId** | **String** | Optionale Zahlungsmethode, die der Fahrer beim Abschluss gewählt hat. `None` = die am Beleg hinterlegte Methode bleibt. Falls gesetzt, muss sie existieren **und** aktiv sein (vom Server geprüft). | [optional]
|
||||
**receiptConfirmed** | **bool** | „Ware im ordnungsgemäßen Zustand erhalten / Aufbau korrekt.\" — Pflicht. |
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
||||
19
packages/holzleitner_api/doc/ContactChannel.md
Normal file
19
packages/holzleitner_api/doc/ContactChannel.md
Normal file
@ -0,0 +1,19 @@
|
||||
# holzleitner_api.model.ContactChannel
|
||||
|
||||
## Load the model package
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
```
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**id** | **String** | |
|
||||
**kind** | [**ContactKind**](ContactKind.md) | |
|
||||
**position** | **int** | |
|
||||
**sourceId** | **String** | |
|
||||
**value** | **String** | |
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
||||
14
packages/holzleitner_api/doc/ContactKind.md
Normal file
14
packages/holzleitner_api/doc/ContactKind.md
Normal file
@ -0,0 +1,14 @@
|
||||
# holzleitner_api.model.ContactKind
|
||||
|
||||
## Load the model package
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
```
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
||||
14
packages/holzleitner_api/doc/ContactRole.md
Normal file
14
packages/holzleitner_api/doc/ContactRole.md
Normal file
@ -0,0 +1,14 @@
|
||||
# holzleitner_api.model.ContactRole
|
||||
|
||||
## Load the model package
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
```
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
||||
24
packages/holzleitner_api/doc/ContactSource.md
Normal file
24
packages/holzleitner_api/doc/ContactSource.md
Normal file
@ -0,0 +1,24 @@
|
||||
# holzleitner_api.model.ContactSource
|
||||
|
||||
## Load the model package
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
```
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**abteilung** | **String** | | [optional]
|
||||
**anrede** | **String** | | [optional]
|
||||
**deliveryId** | **String** | |
|
||||
**funktion** | **String** | | [optional]
|
||||
**id** | **String** | |
|
||||
**name1** | **String** | | [optional]
|
||||
**name2** | **String** | | [optional]
|
||||
**name3** | **String** | | [optional]
|
||||
**role** | [**ContactRole**](ContactRole.md) | |
|
||||
**titel** | **String** | | [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)
|
||||
|
||||
|
||||
@ -9,7 +9,9 @@ import 'package:holzleitner_api/api.dart';
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**authorCarId** | **String** | Fahrzeug, das die Notiz erzeugt hat. Muss zum angemeldeten Account gehören. `None` ist erlaubt. | [optional]
|
||||
**creditDeliveryItemId** | **String** | Optionaler Gutschrift-Bezug: die Belegzeile, für die diese Notiz als Gutschrift-Grund angelegt wird. Ermöglicht das gezielte Löschen beim Unremove. `None` für normale Notizen. | [optional]
|
||||
**imageAttachment** | **String** | Object-Storage-Key oder URL eines vorab hochgeladenen Bildes. | [optional]
|
||||
**isAmountCreditNote** | **bool** | `true` markiert die Notiz als Grund einer Betrags-Gutschrift (Lieferungs-Ebene). Default `false`. | [optional]
|
||||
**text** | **String** | | [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/CreatePaymentMethodRequest.md
Normal file
16
packages/holzleitner_api/doc/CreatePaymentMethodRequest.md
Normal file
@ -0,0 +1,16 @@
|
||||
# holzleitner_api.model.CreatePaymentMethodRequest
|
||||
|
||||
## Load the model package
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
```
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**code** | **String** | Eindeutiger Programm-Identifier (z. B. `\"paypal\"`, `\"klarna\"`). |
|
||||
**name** | **String** | Anzeige-Name in der UI. |
|
||||
|
||||
[[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/CreateServiceRequest.md
Normal file
20
packages/holzleitner_api/doc/CreateServiceRequest.md
Normal file
@ -0,0 +1,20 @@
|
||||
# holzleitner_api.model.CreateServiceRequest
|
||||
|
||||
## Load the model package
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
```
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**key** | **String** | Eindeutiger Programm-Identifier (z. B. `\"podium_setup\"`). |
|
||||
**kind** | [**ServiceKind**](ServiceKind.md) | |
|
||||
**maxValue** | **int** | | [optional]
|
||||
**minValue** | **int** | Nur bei `Numeric` sinnvoll. | [optional]
|
||||
**name** | **String** | |
|
||||
**sortOrder** | **int** | | [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)
|
||||
|
||||
|
||||
14
packages/holzleitner_api/doc/CreditAction.md
Normal file
14
packages/holzleitner_api/doc/CreditAction.md
Normal file
@ -0,0 +1,14 @@
|
||||
# holzleitner_api.model.CreditAction
|
||||
|
||||
## Load the model package
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
```
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
||||
@ -0,0 +1,17 @@
|
||||
# holzleitner_api.model.DeliveredBelegnummernResponse
|
||||
|
||||
## Load the model package
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
```
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**belegnummern** | **BuiltList<String>** | Belegnummern aller **ausgelieferten** (abgeschlossenen) Lieferungen, deren Liefermail noch **nicht versendet** wurde, aufsteigend nach Abschluss-Zeitpunkt. |
|
||||
**count** | **int** | Anzahl der offenen (noch nicht versendeten) Belege. |
|
||||
**day** | **String** | Tag, nach dem gefiltert wurde (ISO `YYYY-MM-DD`), oder `\"all\"` wenn kein `day` angegeben war. |
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
||||
@ -9,14 +9,63 @@ All URIs are relative to *http://localhost*
|
||||
|
||||
Method | HTTP request | Description
|
||||
------------- | ------------- | -------------
|
||||
[**applyCredit**](DeliveriesApi.md#applycredit) | **POST** /deliveries/{delivery_id}/credit | Wendet ein Betrags-Gutschrift-Ereignis an (`set`/`remove`). Append-only, idempotent über `clientEventId`. Nur bei aktiver Lieferung; bei `set` sind Betrag (0 < x ≤ 150 €, 10-€-Schritte) und Grund Pflicht. Antwort: der aktuelle Gutschrift-Stand (`null`, wenn entfernt).
|
||||
[**assignCar**](DeliveriesApi.md#assigncar) | **PUT** /deliveries/{delivery_id}/assigned-car | Setzt das `assigned_car_id` einer Lieferung. `carId: null` löst die Zuordnung wieder. Der Use Case stellt sicher, dass das Fahrzeug zum angemeldeten Account gehört.
|
||||
[**cancel**](DeliveriesApi.md#cancel) | **POST** /deliveries/{delivery_id}/cancel | Setzt die Lieferung auf `canceled` — endgültig. Erlaubt aus `active` und `held`.
|
||||
[**complete**](DeliveriesApi.md#complete) | **POST** /deliveries/{delivery_id}/complete | Schließt die Lieferung ab — `state = completed`. Nur aus `active`.
|
||||
[**createNote**](DeliveriesApi.md#createnote) | **POST** /deliveries/{delivery_id}/notes | Legt eine neue Notiz an einer Lieferung an. Mindestens eines von `text` und `imageAttachment` muss inhaltlich gefüllt sein (Leerstrings werden serverseitig getrimmt und als leer behandelt).
|
||||
[**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.
|
||||
[**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.
|
||||
[**uploadNoteImage**](DeliveriesApi.md#uploadnoteimage) | **POST** /deliveries/{delivery_id}/notes/image | Lädt ein Bild zu einer Lieferung hoch (multipart/form-data, Feld `file`) und legt dafür eine Bild-Notiz an. Das Bild geht in den DOCUframe-Dokumentenspeicher; gespeichert wird die zurückgelieferte Referenz (`~ObjectID`) als `image_attachment` der Notiz.
|
||||
|
||||
|
||||
# **applyCredit**
|
||||
> DeliveryCreditResponse applyCredit(deliveryId, deliveryCreditEventRequest)
|
||||
|
||||
Wendet ein Betrags-Gutschrift-Ereignis an (`set`/`remove`). Append-only, idempotent über `clientEventId`. Nur bei aktiver Lieferung; bei `set` sind Betrag (0 < x ≤ 150 €, 10-€-Schritte) und Grund Pflicht. Antwort: der aktuelle Gutschrift-Stand (`null`, wenn entfernt).
|
||||
|
||||
### Example
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
|
||||
final api = HolzleitnerApi().getDeliveriesApi();
|
||||
final String deliveryId = 38400000-8cf0-11bd-b23e-10b96e4ef00d; // String |
|
||||
final DeliveryCreditEventRequest deliveryCreditEventRequest = ; // DeliveryCreditEventRequest |
|
||||
|
||||
try {
|
||||
final response = api.applyCredit(deliveryId, deliveryCreditEventRequest);
|
||||
print(response);
|
||||
} catch on DioException (e) {
|
||||
print('Exception when calling DeliveriesApi->applyCredit: $e\n');
|
||||
}
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**deliveryId** | **String**| |
|
||||
**deliveryCreditEventRequest** | [**DeliveryCreditEventRequest**](DeliveryCreditEventRequest.md)| |
|
||||
|
||||
### Return type
|
||||
|
||||
[**DeliveryCreditResponse**](DeliveryCreditResponse.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)
|
||||
|
||||
# **assignCar**
|
||||
> DeliveryResponse assignCar(deliveryId, assignCarRequest)
|
||||
|
||||
@ -108,6 +157,8 @@ Name | Type | Description | Notes
|
||||
|
||||
Schließt die Lieferung ab — `state = completed`. Nur aus `active`.
|
||||
|
||||
`multipart/form-data` mit drei Feldern: * `customer_signature` — PNG der Kunden-Unterschrift (Pflicht) * `driver_signature` — PNG der Fahrer-Unterschrift (Pflicht) * `acknowledgements` — JSON (`CompleteDeliveryAcknowledgements`): `receiptConfirmed` (Pflicht true), `notesAcknowledged`, `acknowledgedNoteIds`, `authorCarId`. Atomar: Signaturen werden lokal gespeichert, die Abschluss-Zeile geschrieben und der Status auf `completed` gesetzt — alles oder nichts. Gates: Lieferung aktiv, alle scanbaren Positionen fertig, Notizen bestätigt (falls vorhanden).
|
||||
|
||||
### Example
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
@ -139,7 +190,7 @@ Name | Type | Description | Notes
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: Not defined
|
||||
- **Content-Type**: multipart/form-data
|
||||
- **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)
|
||||
@ -187,6 +238,90 @@ 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)
|
||||
|
||||
# **deleteNote**
|
||||
> deleteNote(deliveryId, noteId)
|
||||
|
||||
Löscht eine Notiz. Antwortet mit `204 No Content`.
|
||||
|
||||
### Example
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
|
||||
final api = HolzleitnerApi().getDeliveriesApi();
|
||||
final String deliveryId = 38400000-8cf0-11bd-b23e-10b96e4ef00d; // String |
|
||||
final String noteId = 38400000-8cf0-11bd-b23e-10b96e4ef00d; // String |
|
||||
|
||||
try {
|
||||
api.deleteNote(deliveryId, noteId);
|
||||
} catch on DioException (e) {
|
||||
print('Exception when calling DeliveriesApi->deleteNote: $e\n');
|
||||
}
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**deliveryId** | **String**| |
|
||||
**noteId** | **String**| |
|
||||
|
||||
### Return type
|
||||
|
||||
void (empty response body)
|
||||
|
||||
### Authorization
|
||||
|
||||
[bearer_auth](../README.md#bearer_auth)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: Not defined
|
||||
- **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)
|
||||
|
||||
# **deleteServiceValue**
|
||||
> deleteServiceValue(deliveryId, serviceId)
|
||||
|
||||
Entfernt den Service-Wert einer Lieferung (Service „nicht gesetzt\"). Nur bei aktiver Lieferung. Antwort `204`.
|
||||
|
||||
### Example
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
|
||||
final api = HolzleitnerApi().getDeliveriesApi();
|
||||
final String deliveryId = 38400000-8cf0-11bd-b23e-10b96e4ef00d; // String |
|
||||
final String serviceId = 38400000-8cf0-11bd-b23e-10b96e4ef00d; // String |
|
||||
|
||||
try {
|
||||
api.deleteServiceValue(deliveryId, serviceId);
|
||||
} catch on DioException (e) {
|
||||
print('Exception when calling DeliveriesApi->deleteServiceValue: $e\n');
|
||||
}
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**deliveryId** | **String**| |
|
||||
**serviceId** | **String**| |
|
||||
|
||||
### Return type
|
||||
|
||||
void (empty response body)
|
||||
|
||||
### Authorization
|
||||
|
||||
[bearer_auth](../README.md#bearer_auth)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: Not defined
|
||||
- **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)
|
||||
|
||||
# **hold**
|
||||
> DeliveryResponse hold(deliveryId, holdDeliveryRequest)
|
||||
|
||||
@ -271,3 +406,134 @@ 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)
|
||||
|
||||
# **setService**
|
||||
> DeliveryServiceResponse setService(deliveryId, serviceId, setDeliveryServiceRequest)
|
||||
|
||||
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.
|
||||
|
||||
### Example
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
|
||||
final api = HolzleitnerApi().getDeliveriesApi();
|
||||
final String deliveryId = 38400000-8cf0-11bd-b23e-10b96e4ef00d; // String |
|
||||
final String serviceId = 38400000-8cf0-11bd-b23e-10b96e4ef00d; // String |
|
||||
final SetDeliveryServiceRequest setDeliveryServiceRequest = ; // SetDeliveryServiceRequest |
|
||||
|
||||
try {
|
||||
final response = api.setService(deliveryId, serviceId, setDeliveryServiceRequest);
|
||||
print(response);
|
||||
} catch on DioException (e) {
|
||||
print('Exception when calling DeliveriesApi->setService: $e\n');
|
||||
}
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**deliveryId** | **String**| |
|
||||
**serviceId** | **String**| |
|
||||
**setDeliveryServiceRequest** | [**SetDeliveryServiceRequest**](SetDeliveryServiceRequest.md)| |
|
||||
|
||||
### Return type
|
||||
|
||||
[**DeliveryServiceResponse**](DeliveryServiceResponse.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)
|
||||
|
||||
# **updateNote**
|
||||
> DeliveryNoteResponse updateNote(deliveryId, noteId, updateDeliveryNoteRequest)
|
||||
|
||||
Ä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.
|
||||
|
||||
### Example
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
|
||||
final api = HolzleitnerApi().getDeliveriesApi();
|
||||
final String deliveryId = 38400000-8cf0-11bd-b23e-10b96e4ef00d; // String |
|
||||
final String noteId = 38400000-8cf0-11bd-b23e-10b96e4ef00d; // String |
|
||||
final UpdateDeliveryNoteRequest updateDeliveryNoteRequest = ; // UpdateDeliveryNoteRequest |
|
||||
|
||||
try {
|
||||
final response = api.updateNote(deliveryId, noteId, updateDeliveryNoteRequest);
|
||||
print(response);
|
||||
} catch on DioException (e) {
|
||||
print('Exception when calling DeliveriesApi->updateNote: $e\n');
|
||||
}
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**deliveryId** | **String**| |
|
||||
**noteId** | **String**| |
|
||||
**updateDeliveryNoteRequest** | [**UpdateDeliveryNoteRequest**](UpdateDeliveryNoteRequest.md)| |
|
||||
|
||||
### Return type
|
||||
|
||||
[**DeliveryNoteResponse**](DeliveryNoteResponse.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)
|
||||
|
||||
# **uploadNoteImage**
|
||||
> DeliveryNoteResponse uploadNoteImage(deliveryId)
|
||||
|
||||
Lädt ein Bild zu einer Lieferung hoch (multipart/form-data, Feld `file`) und legt dafür eine Bild-Notiz an. Das Bild geht in den DOCUframe-Dokumentenspeicher; gespeichert wird die zurückgelieferte Referenz (`~ObjectID`) als `image_attachment` der Notiz.
|
||||
|
||||
### Example
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
|
||||
final api = HolzleitnerApi().getDeliveriesApi();
|
||||
final String deliveryId = 38400000-8cf0-11bd-b23e-10b96e4ef00d; // String |
|
||||
|
||||
try {
|
||||
final response = api.uploadNoteImage(deliveryId);
|
||||
print(response);
|
||||
} catch on DioException (e) {
|
||||
print('Exception when calling DeliveriesApi->uploadNoteImage: $e\n');
|
||||
}
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**deliveryId** | **String**| |
|
||||
|
||||
### Return type
|
||||
|
||||
[**DeliveryNoteResponse**](DeliveryNoteResponse.md)
|
||||
|
||||
### Authorization
|
||||
|
||||
[bearer_auth](../README.md#bearer_auth)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: multipart/form-data
|
||||
- **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)
|
||||
|
||||
|
||||
@ -16,6 +16,8 @@ Name | Type | Description | Notes
|
||||
**erpBelegartId** | **int** | ERP-Beleg-Bezug: business-stabiles Paar `(Belegart, Belegnummer)`. Überlebt den Belegkopf-Archivübergang. |
|
||||
**erpBelegnummer** | **String** | |
|
||||
**id** | **String** | |
|
||||
**paymentMethodId** | **String** | Für den Restbetrag gewählte Zahlungsart — FK auf `payment_methods`. Vom Kunden bei Bestellung festgelegt, der Fahrer übernimmt nur die Abwicklung. Aktiv-Flag und Anzeige-Name werden über die Stammdaten-Tabelle aufgelöst, nicht hier embeddet. |
|
||||
**prepaidAmount** | **double** | Bei Bestellung schon bezahlter Betrag in EUR. `0.0` wenn der Kunde alles bei Lieferung zahlt. Wird vom ERP-Sync gefüllt. |
|
||||
**specialAgreements** | **String** | Sondervereinbarungen (z. B. „Türklingel defekt, hintenrum klopfen\"). | [optional]
|
||||
**state** | [**DeliveryState**](DeliveryState.md) | |
|
||||
**stateReason** | **String** | Begründung bei `state == Held` oder `state == Canceled`. Beim Resume / Complete wieder `None`. | [optional]
|
||||
|
||||
17
packages/holzleitner_api/doc/DeliveryCredit.md
Normal file
17
packages/holzleitner_api/doc/DeliveryCredit.md
Normal file
@ -0,0 +1,17 @@
|
||||
# holzleitner_api.model.DeliveryCredit
|
||||
|
||||
## Load the model package
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
```
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**amountCents** | **int** | Gutschrift-Betrag in Cent (> 0, ≤ 15000). |
|
||||
**deliveryId** | **String** | |
|
||||
**reason** | **String** | |
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
||||
19
packages/holzleitner_api/doc/DeliveryCreditEventRequest.md
Normal file
19
packages/holzleitner_api/doc/DeliveryCreditEventRequest.md
Normal file
@ -0,0 +1,19 @@
|
||||
# holzleitner_api.model.DeliveryCreditEventRequest
|
||||
|
||||
## Load the model package
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
```
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**action** | [**CreditAction**](CreditAction.md) | |
|
||||
**amountCents** | **int** | Bei `Set` Pflicht: Betrag in Cent (> 0, ≤ 15000, Vielfaches von 1000). | [optional]
|
||||
**authorCarId** | **String** | Fahrzeug des Akteurs (Audit-Spur). Muss zum Account gehören. | [optional]
|
||||
**clientEventId** | **String** | Idempotenz-Schlüssel — pro erzeugtem Ereignis genau einmal vergeben. Ein Retry mit derselben Id wendet nichts erneut an. |
|
||||
**reason** | **String** | Bei `Set` Pflicht: Begründung. | [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)
|
||||
|
||||
|
||||
15
packages/holzleitner_api/doc/DeliveryCreditResponse.md
Normal file
15
packages/holzleitner_api/doc/DeliveryCreditResponse.md
Normal file
@ -0,0 +1,15 @@
|
||||
# holzleitner_api.model.DeliveryCreditResponse
|
||||
|
||||
## Load the model package
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
```
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**credit** | [**DeliveryCredit**](DeliveryCredit.md) | Aktueller Stand nach dem Ereignis — `None`, wenn (zuletzt) entfernt. | [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)
|
||||
|
||||
|
||||
@ -13,8 +13,10 @@ Name | Type | Description | Notes
|
||||
**deliveryId** | **String** | |
|
||||
**id** | **String** | |
|
||||
**komponentenArtikelNr** | **String** | Bei Items aus einer Stückliste: Artikelnummer der Komponente. Bei regulären Belegzeilen: `None`. | [optional]
|
||||
**parentArtikelNr** | **String** | Artikelnummer des Oberartikels, zu dem diese Komponente gehört. `None` bei Oberartikeln/regulären Zeilen — die App rückt Komponenten darüber unter ihrem Oberartikel ein. | [optional]
|
||||
**requiredQuantity** | **int** | |
|
||||
**scanState** | [**ScanState**](ScanState.md) | |
|
||||
**unitPrice** | **double** | Stückpreis (brutto, EUR) aus dem ERP-Sync. Der Warenwert einer Lieferung = Σ `unit_price` × ausgelieferte Menge. |
|
||||
**warehouseId** | **String** | |
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
@ -11,9 +11,12 @@ Name | Type | Description | Notes
|
||||
**authorCarId** | **String** | Fahrzeug, falls bekannt — nullable bis das Backend Cars verwaltet. | [optional]
|
||||
**authorPersonalnummer** | **int** | Personalnummer des Akteurs (aus dem JWT). Pflicht. |
|
||||
**createdAt** | [**DateTime**](DateTime.md) | |
|
||||
**creditDeliveryItemId** | **String** | Wenn die Notiz als Gutschrift-Grund zu einer Belegzeile angelegt wurde: deren `DeliveryItem`-Id. Erlaubt dem Client, die Notiz beim Zurücknehmen der Gutschrift (Unremove) gezielt wieder zu löschen. `None` bei normalen Text-/Foto-Notizen. | [optional]
|
||||
**deliveryId** | **String** | |
|
||||
**id** | **String** | |
|
||||
**imageAttachment** | **String** | Referenz auf einen Bild-Anhang (z. B. Object-Storage-Key/URL). | [optional]
|
||||
**imageAttachmentDeleted** | **bool** | `true`, wenn die lokale Bilddatei nach erfolgreichem Report-Upload gelöscht wurde (das Bild steckt nun im Lieferbericht in DOCUframe). Read-only; die App zeigt dann statt der Vorschau einen Hinweis. Bei Text-Notizen / vorhandenem Bild: `false`. | [optional]
|
||||
**isAmountCreditNote** | **bool** | `true`, wenn die Notiz den Grund einer **Betrags-Gutschrift** (Geld-Nachlass, Lieferungs-Ebene) dokumentiert. Erlaubt dem Client, sie beim Entfernen der Gutschrift gezielt zu löschen. |
|
||||
**text** | **String** | | [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)
|
||||
|
||||
15
packages/holzleitner_api/doc/DeliveryServiceResponse.md
Normal file
15
packages/holzleitner_api/doc/DeliveryServiceResponse.md
Normal file
@ -0,0 +1,15 @@
|
||||
# holzleitner_api.model.DeliveryServiceResponse
|
||||
|
||||
## Load the model package
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
```
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**value** | [**DeliveryServiceValue**](DeliveryServiceValue.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)
|
||||
|
||||
|
||||
18
packages/holzleitner_api/doc/DeliveryServiceValue.md
Normal file
18
packages/holzleitner_api/doc/DeliveryServiceValue.md
Normal file
@ -0,0 +1,18 @@
|
||||
# holzleitner_api.model.DeliveryServiceValue
|
||||
|
||||
## Load the model package
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
```
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**boolValue** | **bool** | | [optional]
|
||||
**deliveryId** | **String** | |
|
||||
**numericValue** | **int** | | [optional]
|
||||
**serviceId** | **String** | |
|
||||
|
||||
[[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,6 +16,8 @@ Name | Type | Description | Notes
|
||||
**erpBelegartId** | **int** | ERP-Beleg-Bezug: business-stabiles Paar `(Belegart, Belegnummer)`. Überlebt den Belegkopf-Archivübergang. |
|
||||
**erpBelegnummer** | **String** | |
|
||||
**id** | **String** | |
|
||||
**paymentMethodId** | **String** | Für den Restbetrag gewählte Zahlungsart — FK auf `payment_methods`. Vom Kunden bei Bestellung festgelegt, der Fahrer übernimmt nur die Abwicklung. Aktiv-Flag und Anzeige-Name werden über die Stammdaten-Tabelle aufgelöst, nicht hier embeddet. |
|
||||
**prepaidAmount** | **double** | Bei Bestellung schon bezahlter Betrag in EUR. `0.0` wenn der Kunde alles bei Lieferung zahlt. Wird vom ERP-Sync gefüllt. |
|
||||
**specialAgreements** | **String** | Sondervereinbarungen (z. B. „Türklingel defekt, hintenrum klopfen\"). | [optional]
|
||||
**state** | [**DeliveryState**](DeliveryState.md) | |
|
||||
**stateReason** | **String** | Begründung bei `state == Held` oder `state == Canceled`. Beim Resume / Complete wieder `None`. | [optional]
|
||||
|
||||
21
packages/holzleitner_api/doc/ImportSummary.md
Normal file
21
packages/holzleitner_api/doc/ImportSummary.md
Normal file
@ -0,0 +1,21 @@
|
||||
# holzleitner_api.model.ImportSummary
|
||||
|
||||
## Load the model package
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
```
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**date** | [**Date**](Date.md) | |
|
||||
**driversProvisioned** | **int** | Anzahl der **neu** im Identity-Provider (Keycloak) angelegten Fahrer-Konten in diesem Lauf (0, wenn Provisionierung deaktiviert ist oder alle Konten bereits existierten). | [optional]
|
||||
**errors** | **BuiltList<String>** | Fehlertexte je fehlgeschlagener Fahrer-Tour (z. B. unbekannter Fahrer → FK auf `accounts`, oder Validierungsfehler). |
|
||||
**provisioningErrors** | **BuiltList<String>** | Fehlertexte der Konto-Provisionierung (Keycloak). Best-effort: ein Fehler hier blockiert den Touren-Import **nicht**. | [optional]
|
||||
**toursFailed** | **int** | |
|
||||
**toursOk** | **int** | |
|
||||
**toursTotal** | **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/MarkMailSentRequest.md
Normal file
15
packages/holzleitner_api/doc/MarkMailSentRequest.md
Normal file
@ -0,0 +1,15 @@
|
||||
# holzleitner_api.model.MarkMailSentRequest
|
||||
|
||||
## Load the model package
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
```
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**belegnummern** | **BuiltList<String>** | Belegnummern, deren Liefermail erfolgreich versendet wurde und die als versendet markiert werden sollen. |
|
||||
|
||||
[[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/MarkMailSentResponse.md
Normal file
15
packages/holzleitner_api/doc/MarkMailSentResponse.md
Normal file
@ -0,0 +1,15 @@
|
||||
# holzleitner_api.model.MarkMailSentResponse
|
||||
|
||||
## Load the model package
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
```
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**marked** | **int** | Anzahl frisch markierter (vorher offener) Belege. Bereits markierte zählen nicht mit (idempotent). |
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
||||
19
packages/holzleitner_api/doc/PaymentMethod.md
Normal file
19
packages/holzleitner_api/doc/PaymentMethod.md
Normal file
@ -0,0 +1,19 @@
|
||||
# holzleitner_api.model.PaymentMethod
|
||||
|
||||
## Load the model package
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
```
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**active** | **bool** | |
|
||||
**code** | **String** | Stabiler Programm-Identifier — z. B. `\"cash\"`, `\"ec_card\"`. Eindeutig pro Eintrag. Wird vom Aufrufer beim Anlegen gesetzt. |
|
||||
**createdAt** | [**DateTime**](DateTime.md) | |
|
||||
**id** | **String** | |
|
||||
**name** | **String** | Display-Name in der UI — frei via PATCH änderbar. |
|
||||
|
||||
[[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/PaymentMethodResponse.md
Normal file
15
packages/holzleitner_api/doc/PaymentMethodResponse.md
Normal file
@ -0,0 +1,15 @@
|
||||
# holzleitner_api.model.PaymentMethodResponse
|
||||
|
||||
## Load the model package
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
```
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**method** | [**PaymentMethod**](PaymentMethod.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)
|
||||
|
||||
|
||||
182
packages/holzleitner_api/doc/PaymentMethodsApi.md
Normal file
182
packages/holzleitner_api/doc/PaymentMethodsApi.md
Normal file
@ -0,0 +1,182 @@
|
||||
# holzleitner_api.api.PaymentMethodsApi
|
||||
|
||||
## Load the API package
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
```
|
||||
|
||||
All URIs are relative to *http://localhost*
|
||||
|
||||
Method | HTTP request | Description
|
||||
------------- | ------------- | -------------
|
||||
[**createPaymentMethod**](PaymentMethodsApi.md#createpaymentmethod) | **POST** /payment-methods | Legt eine neue Zahlungsmethode an.
|
||||
[**deletePaymentMethod**](PaymentMethodsApi.md#deletepaymentmethod) | **DELETE** /payment-methods/{id} | Hartes Löschen. `409 Conflict`, wenn die Methode von einer Lieferung referenziert wird — der Admin soll dann den `active = false`-Pfad nutzen.
|
||||
[**listPaymentMethods**](PaymentMethodsApi.md#listpaymentmethods) | **GET** /payment-methods | Listet die Zahlungsmethoden.
|
||||
[**updatePaymentMethod**](PaymentMethodsApi.md#updatepaymentmethod) | **PATCH** /payment-methods/{id} | Patcht Anzeige-Name und/oder Aktiv-Flag.
|
||||
|
||||
|
||||
# **createPaymentMethod**
|
||||
> PaymentMethodResponse createPaymentMethod(createPaymentMethodRequest)
|
||||
|
||||
Legt eine neue Zahlungsmethode an.
|
||||
|
||||
### Example
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
|
||||
final api = HolzleitnerApi().getPaymentMethodsApi();
|
||||
final CreatePaymentMethodRequest createPaymentMethodRequest = ; // CreatePaymentMethodRequest |
|
||||
|
||||
try {
|
||||
final response = api.createPaymentMethod(createPaymentMethodRequest);
|
||||
print(response);
|
||||
} catch on DioException (e) {
|
||||
print('Exception when calling PaymentMethodsApi->createPaymentMethod: $e\n');
|
||||
}
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**createPaymentMethodRequest** | [**CreatePaymentMethodRequest**](CreatePaymentMethodRequest.md)| |
|
||||
|
||||
### Return type
|
||||
|
||||
[**PaymentMethodResponse**](PaymentMethodResponse.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)
|
||||
|
||||
# **deletePaymentMethod**
|
||||
> deletePaymentMethod(id)
|
||||
|
||||
Hartes Löschen. `409 Conflict`, wenn die Methode von einer Lieferung referenziert wird — der Admin soll dann den `active = false`-Pfad nutzen.
|
||||
|
||||
### Example
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
|
||||
final api = HolzleitnerApi().getPaymentMethodsApi();
|
||||
final String id = 38400000-8cf0-11bd-b23e-10b96e4ef00d; // String | Zahlungsmethoden-Id
|
||||
|
||||
try {
|
||||
api.deletePaymentMethod(id);
|
||||
} catch on DioException (e) {
|
||||
print('Exception when calling PaymentMethodsApi->deletePaymentMethod: $e\n');
|
||||
}
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**id** | **String**| Zahlungsmethoden-Id |
|
||||
|
||||
### Return type
|
||||
|
||||
void (empty response body)
|
||||
|
||||
### Authorization
|
||||
|
||||
[bearer_auth](../README.md#bearer_auth)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: Not defined
|
||||
- **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)
|
||||
|
||||
# **listPaymentMethods**
|
||||
> PaymentMethodsList listPaymentMethods(includeInactive)
|
||||
|
||||
Listet die Zahlungsmethoden.
|
||||
|
||||
### Example
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
|
||||
final api = HolzleitnerApi().getPaymentMethodsApi();
|
||||
final bool includeInactive = true; // bool | Wenn true, werden inaktive Methoden mitgeliefert (default: false)
|
||||
|
||||
try {
|
||||
final response = api.listPaymentMethods(includeInactive);
|
||||
print(response);
|
||||
} catch on DioException (e) {
|
||||
print('Exception when calling PaymentMethodsApi->listPaymentMethods: $e\n');
|
||||
}
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**includeInactive** | **bool**| Wenn true, werden inaktive Methoden mitgeliefert (default: false) | [optional]
|
||||
|
||||
### Return type
|
||||
|
||||
[**PaymentMethodsList**](PaymentMethodsList.md)
|
||||
|
||||
### Authorization
|
||||
|
||||
[bearer_auth](../README.md#bearer_auth)
|
||||
|
||||
### 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)
|
||||
|
||||
# **updatePaymentMethod**
|
||||
> PaymentMethodResponse updatePaymentMethod(id, updatePaymentMethodRequest)
|
||||
|
||||
Patcht Anzeige-Name und/oder Aktiv-Flag.
|
||||
|
||||
### Example
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
|
||||
final api = HolzleitnerApi().getPaymentMethodsApi();
|
||||
final String id = 38400000-8cf0-11bd-b23e-10b96e4ef00d; // String | Zahlungsmethoden-Id
|
||||
final UpdatePaymentMethodRequest updatePaymentMethodRequest = ; // UpdatePaymentMethodRequest |
|
||||
|
||||
try {
|
||||
final response = api.updatePaymentMethod(id, updatePaymentMethodRequest);
|
||||
print(response);
|
||||
} catch on DioException (e) {
|
||||
print('Exception when calling PaymentMethodsApi->updatePaymentMethod: $e\n');
|
||||
}
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**id** | **String**| Zahlungsmethoden-Id |
|
||||
**updatePaymentMethodRequest** | [**UpdatePaymentMethodRequest**](UpdatePaymentMethodRequest.md)| |
|
||||
|
||||
### Return type
|
||||
|
||||
[**PaymentMethodResponse**](PaymentMethodResponse.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)
|
||||
|
||||
15
packages/holzleitner_api/doc/PaymentMethodsList.md
Normal file
15
packages/holzleitner_api/doc/PaymentMethodsList.md
Normal file
@ -0,0 +1,15 @@
|
||||
# holzleitner_api.model.PaymentMethodsList
|
||||
|
||||
## Load the model package
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
```
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**methods** | [**BuiltList<PaymentMethod>**](PaymentMethod.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)
|
||||
|
||||
|
||||
@ -13,6 +13,8 @@ Name | Type | Description | Notes
|
||||
**clientScanId** | **String** | |
|
||||
**clientScannedAt** | [**DateTime**](DateTime.md) | |
|
||||
**deliveryItemId** | **String** | |
|
||||
**manual** | **bool** | `true`, wenn der Fahrer die Position **manuell** als geladen bestätigt hat (Fallback ohne Barcode-Scan). Wird nur im Audit (`scan_audit.manual`) festgehalten; an der Mengen-/Status-Logik ändert es nichts. Default `false` (regulärer Barcode-Scan). | [optional]
|
||||
**quantity** | **int** | Menge für `Remove` / `Unremove` (Mengen-Gutschrift): wie viele Stück der Belegzeile gutgeschrieben bzw. wieder hergestellt werden. `None` = ganze Restmenge (abwärtskompatibel zum bisherigen „ganze Zeile entfernen\"). Bei `Scan`/`Unscan`/`Hold`/`Unhold` ignoriert. Muss, wenn gesetzt, `> 0` sein. | [optional]
|
||||
**reason** | **String** | Pflicht bei `Hold` und `Remove`. Sonst ignoriert. | [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)
|
||||
|
||||
@ -8,6 +8,7 @@ import 'package:holzleitner_api/api.dart';
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**creditedQuantity** | **int** | Als Gutschrift entfernte Menge (0..=required_quantity). Eigene Dimension neben `scanned_quantity`: „wie viele Stück dieser Zeile hat der Kunde nicht angenommen\". `status == Removed` entspricht `credited_quantity == required_quantity` (ganze Zeile gutgeschrieben). |
|
||||
**heldReason** | **String** | Grund bei `status == Held` oder `status == Removed`. | [optional]
|
||||
**lastUpdatedAt** | [**DateTime**](DateTime.md) | |
|
||||
**scannedQuantity** | **int** | |
|
||||
|
||||
22
packages/holzleitner_api/doc/Service.md
Normal file
22
packages/holzleitner_api/doc/Service.md
Normal file
@ -0,0 +1,22 @@
|
||||
# holzleitner_api.model.Service
|
||||
|
||||
## Load the model package
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
```
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**active** | **bool** | |
|
||||
**id** | **String** | |
|
||||
**key** | **String** | |
|
||||
**kind** | [**ServiceKind**](ServiceKind.md) | |
|
||||
**maxValue** | **int** | | [optional]
|
||||
**minValue** | **int** | | [optional]
|
||||
**name** | **String** | |
|
||||
**sortOrder** | **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)
|
||||
|
||||
|
||||
14
packages/holzleitner_api/doc/ServiceKind.md
Normal file
14
packages/holzleitner_api/doc/ServiceKind.md
Normal file
@ -0,0 +1,14 @@
|
||||
# holzleitner_api.model.ServiceKind
|
||||
|
||||
## Load the model package
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
```
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
|
||||
[[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/ServiceResponse.md
Normal file
15
packages/holzleitner_api/doc/ServiceResponse.md
Normal file
@ -0,0 +1,15 @@
|
||||
# holzleitner_api.model.ServiceResponse
|
||||
|
||||
## Load the model package
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
```
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**service** | [**Service**](Service.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)
|
||||
|
||||
|
||||
182
packages/holzleitner_api/doc/ServicesApi.md
Normal file
182
packages/holzleitner_api/doc/ServicesApi.md
Normal file
@ -0,0 +1,182 @@
|
||||
# holzleitner_api.api.ServicesApi
|
||||
|
||||
## Load the API package
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
```
|
||||
|
||||
All URIs are relative to *http://localhost*
|
||||
|
||||
Method | HTTP request | Description
|
||||
------------- | ------------- | -------------
|
||||
[**createService**](ServicesApi.md#createservice) | **POST** /services | Legt einen neuen Service an.
|
||||
[**deleteService**](ServicesApi.md#deleteservice) | **DELETE** /services/{id} | Hartes Löschen. `409 Conflict`, wenn der Service noch von einer Lieferung referenziert wird — dann stattdessen deaktivieren.
|
||||
[**listServices**](ServicesApi.md#listservices) | **GET** /services | Listet die Services (sortiert nach `sortOrder`).
|
||||
[**updateService**](ServicesApi.md#updateservice) | **PATCH** /services/{id} | Patcht Name/Grenzen/Aktiv-Flag/Sortierung. `kind` ist nicht änderbar.
|
||||
|
||||
|
||||
# **createService**
|
||||
> ServiceResponse createService(createServiceRequest)
|
||||
|
||||
Legt einen neuen Service an.
|
||||
|
||||
### Example
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
|
||||
final api = HolzleitnerApi().getServicesApi();
|
||||
final CreateServiceRequest createServiceRequest = ; // CreateServiceRequest |
|
||||
|
||||
try {
|
||||
final response = api.createService(createServiceRequest);
|
||||
print(response);
|
||||
} catch on DioException (e) {
|
||||
print('Exception when calling ServicesApi->createService: $e\n');
|
||||
}
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**createServiceRequest** | [**CreateServiceRequest**](CreateServiceRequest.md)| |
|
||||
|
||||
### Return type
|
||||
|
||||
[**ServiceResponse**](ServiceResponse.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)
|
||||
|
||||
# **deleteService**
|
||||
> deleteService(id)
|
||||
|
||||
Hartes Löschen. `409 Conflict`, wenn der Service noch von einer Lieferung referenziert wird — dann stattdessen deaktivieren.
|
||||
|
||||
### Example
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
|
||||
final api = HolzleitnerApi().getServicesApi();
|
||||
final String id = 38400000-8cf0-11bd-b23e-10b96e4ef00d; // String | Service-Id
|
||||
|
||||
try {
|
||||
api.deleteService(id);
|
||||
} catch on DioException (e) {
|
||||
print('Exception when calling ServicesApi->deleteService: $e\n');
|
||||
}
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**id** | **String**| Service-Id |
|
||||
|
||||
### Return type
|
||||
|
||||
void (empty response body)
|
||||
|
||||
### Authorization
|
||||
|
||||
[bearer_auth](../README.md#bearer_auth)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: Not defined
|
||||
- **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)
|
||||
|
||||
# **listServices**
|
||||
> ServicesList listServices(includeInactive)
|
||||
|
||||
Listet die Services (sortiert nach `sortOrder`).
|
||||
|
||||
### Example
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
|
||||
final api = HolzleitnerApi().getServicesApi();
|
||||
final bool includeInactive = true; // bool | Wenn true, werden inaktive Services mitgeliefert (default: false)
|
||||
|
||||
try {
|
||||
final response = api.listServices(includeInactive);
|
||||
print(response);
|
||||
} catch on DioException (e) {
|
||||
print('Exception when calling ServicesApi->listServices: $e\n');
|
||||
}
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**includeInactive** | **bool**| Wenn true, werden inaktive Services mitgeliefert (default: false) | [optional]
|
||||
|
||||
### Return type
|
||||
|
||||
[**ServicesList**](ServicesList.md)
|
||||
|
||||
### Authorization
|
||||
|
||||
[bearer_auth](../README.md#bearer_auth)
|
||||
|
||||
### 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)
|
||||
|
||||
# **updateService**
|
||||
> ServiceResponse updateService(id, updateServiceRequest)
|
||||
|
||||
Patcht Name/Grenzen/Aktiv-Flag/Sortierung. `kind` ist nicht änderbar.
|
||||
|
||||
### Example
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
|
||||
final api = HolzleitnerApi().getServicesApi();
|
||||
final String id = 38400000-8cf0-11bd-b23e-10b96e4ef00d; // String | Service-Id
|
||||
final UpdateServiceRequest updateServiceRequest = ; // UpdateServiceRequest |
|
||||
|
||||
try {
|
||||
final response = api.updateService(id, updateServiceRequest);
|
||||
print(response);
|
||||
} catch on DioException (e) {
|
||||
print('Exception when calling ServicesApi->updateService: $e\n');
|
||||
}
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**id** | **String**| Service-Id |
|
||||
**updateServiceRequest** | [**UpdateServiceRequest**](UpdateServiceRequest.md)| |
|
||||
|
||||
### Return type
|
||||
|
||||
[**ServiceResponse**](ServiceResponse.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)
|
||||
|
||||
15
packages/holzleitner_api/doc/ServicesList.md
Normal file
15
packages/holzleitner_api/doc/ServicesList.md
Normal file
@ -0,0 +1,15 @@
|
||||
# holzleitner_api.model.ServicesList
|
||||
|
||||
## Load the model package
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
```
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**services** | [**BuiltList<Service>**](Service.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)
|
||||
|
||||
|
||||
17
packages/holzleitner_api/doc/SetDeliveryServiceRequest.md
Normal file
17
packages/holzleitner_api/doc/SetDeliveryServiceRequest.md
Normal file
@ -0,0 +1,17 @@
|
||||
# holzleitner_api.model.SetDeliveryServiceRequest
|
||||
|
||||
## Load the model package
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
```
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**authorCarId** | **String** | | [optional]
|
||||
**boolValue** | **bool** | | [optional]
|
||||
**numericValue** | **int** | | [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)
|
||||
|
||||
|
||||
17
packages/holzleitner_api/doc/SyncContactChannel.md
Normal file
17
packages/holzleitner_api/doc/SyncContactChannel.md
Normal file
@ -0,0 +1,17 @@
|
||||
# holzleitner_api.model.SyncContactChannel
|
||||
|
||||
## Load the model package
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
```
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**kind** | [**ContactKind**](ContactKind.md) | |
|
||||
**position** | **int** | 1-basiert: spiegelt ERP-Spaltenposition (Telefon → 1, Telefon2 → 2, …). |
|
||||
**value** | **String** | |
|
||||
|
||||
[[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/SyncContactSource.md
Normal file
23
packages/holzleitner_api/doc/SyncContactSource.md
Normal file
@ -0,0 +1,23 @@
|
||||
# holzleitner_api.model.SyncContactSource
|
||||
|
||||
## Load the model package
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
```
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**abteilung** | **String** | | [optional]
|
||||
**anrede** | **String** | | [optional]
|
||||
**channels** | [**BuiltList<SyncContactChannel>**](SyncContactChannel.md) | | [optional]
|
||||
**funktion** | **String** | | [optional]
|
||||
**name1** | **String** | | [optional]
|
||||
**name2** | **String** | | [optional]
|
||||
**name3** | **String** | | [optional]
|
||||
**role** | [**ContactRole**](ContactRole.md) | |
|
||||
**titel** | **String** | | [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)
|
||||
|
||||
|
||||
@ -8,14 +8,19 @@ import 'package:holzleitner_api/api.dart';
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**belegartCode** | **String** | Belegart-Kurzcode (z. B. „VL5\"), aus `Belegarten.Belegart` (getrimmt). | [optional]
|
||||
**belegartId** | **int** | |
|
||||
**belegartName** | **String** | Belegart-Klartext (z. B. „Lieferschein EH\"), aus `Belegarten.Bezeichnung`. | [optional]
|
||||
**belegnummer** | **String** | |
|
||||
**contactSources** | [**BuiltList<SyncContactSource>**](SyncContactSource.md) | Alle vom ERP an diesem Beleg hängenden Kontakt-Adressen (Beleg-/ Liefer-/Rechnungsadresse, Ansprechpartner, Kundenstamm). Leere Quellen (kein einziger ausgefüllter Kanal *und* kein Name) lässt der Sync weg. | [optional]
|
||||
**customerAddress** | [**Address**](Address.md) | |
|
||||
**customerName** | **String** | |
|
||||
**deliveryAddress** | [**Address**](Address.md) | Snapshot der Lieferadresse (kann von der Stammadresse abweichen). |
|
||||
**desiredTime** | **String** | | [optional]
|
||||
**erpCustomerId** | **int** | |
|
||||
**items** | [**BuiltList<SyncDeliveryItem>**](SyncDeliveryItem.md) | |
|
||||
**paymentMethodCode** | **String** | Für den Restbetrag gewählte Zahlungsart — Referenz per `code` (z. B. `\"cash\"`, `\"invoice\"`). Das ERP kennt seine Standard-Codes, der Sync-Code resolvet sie zur UUID. Wenn `None`, fällt der Backend-Code auf `\"cash\"` zurück. | [optional]
|
||||
**prepaidAmount** | **double** | Bei Bestellung schon bezahlter Betrag in EUR. Default `0.0`, wenn der Kunde alles bei Lieferung zahlt. Der ERP-Sync liefert den Wert mit. | [optional]
|
||||
**sortOrder** | **int** | 1-basiert, definiert die initiale Reihenfolge in der App. |
|
||||
**specialAgreements** | **String** | | [optional]
|
||||
|
||||
|
||||
@ -13,8 +13,10 @@ Name | Type | Description | Notes
|
||||
**articleNumber** | **String** | |
|
||||
**articleScannable** | **bool** | |
|
||||
**belegzeilenNr** | **int** | |
|
||||
**komponentenArtikelNr** | **String** | Komponenten-Artikelnummer bei aufgelösten Stücklisten, sonst leer. | [optional]
|
||||
**komponentenArtikelNr** | **String** | Komponenten-Artikelnummer bei aufgelösten Stücklisten, sonst leer. Trägt die **eigene** Nummer der Komponente (eindeutig je Belegzeile). | [optional]
|
||||
**parentArtikelNr** | **String** | Artikelnummer des **Oberartikels**, zu dem diese Komponente gehört. `None` bei Oberartikeln/regulären Zeilen. Erlaubt der App, Komponenten unter ihrem Oberartikel einzurücken. | [optional]
|
||||
**requiredQuantity** | **int** | |
|
||||
**unitPrice** | **double** | Stückpreis (brutto, EUR). Default `0.0`. Liefert der ERP-Sync mit; die App rechnet daraus den Warenwert. | [optional]
|
||||
**warehouseCode** | **String** | |
|
||||
**warehouseName** | **String** | |
|
||||
|
||||
|
||||
@ -9,10 +9,15 @@ import 'package:holzleitner_api/api.dart';
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**articles** | [**BuiltList<Article>**](Article.md) | |
|
||||
**contactChannels** | [**BuiltList<ContactChannel>**](ContactChannel.md) | Die zu `contact_sources` gehörenden Einzel-Kanäle (Telefon, Mobil, E-Mail, Web). Join per `source_id`. |
|
||||
**contactSources** | [**BuiltList<ContactSource>**](ContactSource.md) | Alle vom ERP gespiegelten Kontaktquellen aller Lieferungen dieser Tour. Die App joint clientseitig per `delivery_id` und gruppiert nach `role` (Lieferadresse / Rechnungsadresse / Ansprechpartner / Kundenstamm / Belegadresse). |
|
||||
**credits** | [**BuiltList<DeliveryCredit>**](DeliveryCredit.md) | Aktuelle Betrags-Gutschriften (jüngster Stand pro Lieferung), nur für Lieferungen, deren letztes Ereignis `set` war. Join per `delivery_id`. |
|
||||
**customerContacts** | [**BuiltList<CustomerContact>**](CustomerContact.md) | |
|
||||
**customers** | [**BuiltList<Customer>**](Customer.md) | |
|
||||
**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`. |
|
||||
**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) | |
|
||||
|
||||
|
||||
16
packages/holzleitner_api/doc/UpdateDeliveryNoteRequest.md
Normal file
16
packages/holzleitner_api/doc/UpdateDeliveryNoteRequest.md
Normal file
@ -0,0 +1,16 @@
|
||||
# holzleitner_api.model.UpdateDeliveryNoteRequest
|
||||
|
||||
## Load the model package
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
```
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**imageAttachment** | **String** | Object-Storage-Key oder URL eines vorab hochgeladenen Bildes. | [optional]
|
||||
**text** | **String** | | [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/UpdatePaymentMethodRequest.md
Normal file
16
packages/holzleitner_api/doc/UpdatePaymentMethodRequest.md
Normal file
@ -0,0 +1,16 @@
|
||||
# holzleitner_api.model.UpdatePaymentMethodRequest
|
||||
|
||||
## Load the model package
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
```
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**active** | **bool** | Wenn gesetzt: aktiv/inaktiv. Inaktive Methoden bleiben für historische Lieferungen referenzierbar, tauchen aber im Default-Listing nicht auf. | [optional]
|
||||
**name** | **String** | Wenn gesetzt: neuer Anzeige-Name. | [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)
|
||||
|
||||
|
||||
19
packages/holzleitner_api/doc/UpdateServiceRequest.md
Normal file
19
packages/holzleitner_api/doc/UpdateServiceRequest.md
Normal file
@ -0,0 +1,19 @@
|
||||
# holzleitner_api.model.UpdateServiceRequest
|
||||
|
||||
## Load the model package
|
||||
```dart
|
||||
import 'package:holzleitner_api/api.dart';
|
||||
```
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**active** | **bool** | | [optional]
|
||||
**maxValue** | **int** | | [optional]
|
||||
**minValue** | **int** | | [optional]
|
||||
**name** | **String** | | [optional]
|
||||
**sortOrder** | **int** | | [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)
|
||||
|
||||
|
||||
@ -11,10 +11,14 @@ export 'package:holzleitner_api/src/serializers.dart';
|
||||
export 'package:holzleitner_api/src/model/date.dart';
|
||||
|
||||
export 'package:holzleitner_api/src/api/accounts_api.dart';
|
||||
export 'package:holzleitner_api/src/api/admin_api.dart';
|
||||
export 'package:holzleitner_api/src/api/attachments_api.dart';
|
||||
export 'package:holzleitner_api/src/api/cars_api.dart';
|
||||
export 'package:holzleitner_api/src/api/deliveries_api.dart';
|
||||
export 'package:holzleitner_api/src/api/health_api.dart';
|
||||
export 'package:holzleitner_api/src/api/payment_methods_api.dart';
|
||||
export 'package:holzleitner_api/src/api/scans_api.dart';
|
||||
export 'package:holzleitner_api/src/api/services_api.dart';
|
||||
export 'package:holzleitner_api/src/api/sync_api.dart';
|
||||
export 'package:holzleitner_api/src/api/tours_api.dart';
|
||||
|
||||
@ -29,26 +33,53 @@ export 'package:holzleitner_api/src/model/cancel_delivery_request.dart';
|
||||
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/contact_channel.dart';
|
||||
export 'package:holzleitner_api/src/model/contact_kind.dart';
|
||||
export 'package:holzleitner_api/src/model/contact_role.dart';
|
||||
export 'package:holzleitner_api/src/model/contact_source.dart';
|
||||
export 'package:holzleitner_api/src/model/create_car_request.dart';
|
||||
export 'package:holzleitner_api/src/model/create_delivery_note_request.dart';
|
||||
export 'package:holzleitner_api/src/model/create_payment_method_request.dart';
|
||||
export 'package:holzleitner_api/src/model/create_service_request.dart';
|
||||
export 'package:holzleitner_api/src/model/credit_action.dart';
|
||||
export 'package:holzleitner_api/src/model/customer.dart';
|
||||
export 'package:holzleitner_api/src/model/customer_contact.dart';
|
||||
export 'package:holzleitner_api/src/model/delivered_belegnummern_response.dart';
|
||||
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_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_response.dart';
|
||||
export 'package:holzleitner_api/src/model/delivery_service_response.dart';
|
||||
export 'package:holzleitner_api/src/model/delivery_service_value.dart';
|
||||
export 'package:holzleitner_api/src/model/delivery_state.dart';
|
||||
export 'package:holzleitner_api/src/model/delivery_with_items.dart';
|
||||
export 'package:holzleitner_api/src/model/hold_delivery_request.dart';
|
||||
export 'package:holzleitner_api/src/model/import_summary.dart';
|
||||
export 'package:holzleitner_api/src/model/mark_mail_sent_request.dart';
|
||||
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/scan_event.dart';
|
||||
export 'package:holzleitner_api/src/model/scan_result.dart';
|
||||
export 'package:holzleitner_api/src/model/scan_result_status.dart';
|
||||
export 'package:holzleitner_api/src/model/scan_state.dart';
|
||||
export 'package:holzleitner_api/src/model/scan_status.dart';
|
||||
export 'package:holzleitner_api/src/model/service.dart';
|
||||
export 'package:holzleitner_api/src/model/service_kind.dart';
|
||||
export 'package:holzleitner_api/src/model/service_response.dart';
|
||||
export 'package:holzleitner_api/src/model/services_list.dart';
|
||||
export 'package:holzleitner_api/src/model/set_delivery_order_request.dart';
|
||||
export 'package:holzleitner_api/src/model/set_delivery_order_response.dart';
|
||||
export 'package:holzleitner_api/src/model/set_delivery_service_request.dart';
|
||||
export 'package:holzleitner_api/src/model/sync_contact_channel.dart';
|
||||
export 'package:holzleitner_api/src/model/sync_contact_source.dart';
|
||||
export 'package:holzleitner_api/src/model/sync_delivery.dart';
|
||||
export 'package:holzleitner_api/src/model/sync_delivery_item.dart';
|
||||
export 'package:holzleitner_api/src/model/sync_tour_request.dart';
|
||||
@ -58,5 +89,8 @@ export 'package:holzleitner_api/src/model/tour_details.dart';
|
||||
export 'package:holzleitner_api/src/model/tour_summary.dart';
|
||||
export 'package:holzleitner_api/src/model/tour_summary_list.dart';
|
||||
export 'package:holzleitner_api/src/model/update_car_request.dart';
|
||||
export 'package:holzleitner_api/src/model/update_delivery_note_request.dart';
|
||||
export 'package:holzleitner_api/src/model/update_payment_method_request.dart';
|
||||
export 'package:holzleitner_api/src/model/update_service_request.dart';
|
||||
export 'package:holzleitner_api/src/model/warehouse.dart';
|
||||
|
||||
|
||||
@ -10,10 +10,14 @@ import 'package:holzleitner_api/src/auth/basic_auth.dart';
|
||||
import 'package:holzleitner_api/src/auth/bearer_auth.dart';
|
||||
import 'package:holzleitner_api/src/auth/oauth.dart';
|
||||
import 'package:holzleitner_api/src/api/accounts_api.dart';
|
||||
import 'package:holzleitner_api/src/api/admin_api.dart';
|
||||
import 'package:holzleitner_api/src/api/attachments_api.dart';
|
||||
import 'package:holzleitner_api/src/api/cars_api.dart';
|
||||
import 'package:holzleitner_api/src/api/deliveries_api.dart';
|
||||
import 'package:holzleitner_api/src/api/health_api.dart';
|
||||
import 'package:holzleitner_api/src/api/payment_methods_api.dart';
|
||||
import 'package:holzleitner_api/src/api/scans_api.dart';
|
||||
import 'package:holzleitner_api/src/api/services_api.dart';
|
||||
import 'package:holzleitner_api/src/api/sync_api.dart';
|
||||
import 'package:holzleitner_api/src/api/tours_api.dart';
|
||||
|
||||
@ -77,6 +81,18 @@ class HolzleitnerApi {
|
||||
return AccountsApi(dio, serializers);
|
||||
}
|
||||
|
||||
/// Get AdminApi instance, base route and serializer can be overridden by a given but be careful,
|
||||
/// by doing that all interceptors will not be executed
|
||||
AdminApi getAdminApi() {
|
||||
return AdminApi(dio, serializers);
|
||||
}
|
||||
|
||||
/// Get AttachmentsApi instance, base route and serializer can be overridden by a given but be careful,
|
||||
/// by doing that all interceptors will not be executed
|
||||
AttachmentsApi getAttachmentsApi() {
|
||||
return AttachmentsApi(dio, serializers);
|
||||
}
|
||||
|
||||
/// Get CarsApi instance, base route and serializer can be overridden by a given but be careful,
|
||||
/// by doing that all interceptors will not be executed
|
||||
CarsApi getCarsApi() {
|
||||
@ -95,12 +111,24 @@ class HolzleitnerApi {
|
||||
return HealthApi(dio, serializers);
|
||||
}
|
||||
|
||||
/// Get PaymentMethodsApi instance, base route and serializer can be overridden by a given but be careful,
|
||||
/// by doing that all interceptors will not be executed
|
||||
PaymentMethodsApi getPaymentMethodsApi() {
|
||||
return PaymentMethodsApi(dio, serializers);
|
||||
}
|
||||
|
||||
/// Get ScansApi instance, base route and serializer can be overridden by a given but be careful,
|
||||
/// by doing that all interceptors will not be executed
|
||||
ScansApi getScansApi() {
|
||||
return ScansApi(dio, serializers);
|
||||
}
|
||||
|
||||
/// Get ServicesApi instance, base route and serializer can be overridden by a given but be careful,
|
||||
/// by doing that all interceptors will not be executed
|
||||
ServicesApi getServicesApi() {
|
||||
return ServicesApi(dio, serializers);
|
||||
}
|
||||
|
||||
/// Get SyncApi instance, base route and serializer can be overridden by a given but be careful,
|
||||
/// by doing that all interceptors will not be executed
|
||||
SyncApi getSyncApi() {
|
||||
|
||||
360
packages/holzleitner_api/lib/src/api/admin_api.dart
Normal file
360
packages/holzleitner_api/lib/src/api/admin_api.dart
Normal file
@ -0,0 +1,360 @@
|
||||
//
|
||||
// AUTO-GENERATED FILE, DO NOT MODIFY!
|
||||
//
|
||||
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:built_value/json_object.dart';
|
||||
import 'package:built_value/serializer.dart';
|
||||
import 'package:dio/dio.dart';
|
||||
|
||||
import 'package:holzleitner_api/src/api_util.dart';
|
||||
import 'package:holzleitner_api/src/model/delivered_belegnummern_response.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';
|
||||
|
||||
class AdminApi {
|
||||
|
||||
final Dio _dio;
|
||||
|
||||
final Serializers _serializers;
|
||||
|
||||
const AdminApi(this._dio, this._serializers);
|
||||
|
||||
/// 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.
|
||||
///
|
||||
///
|
||||
/// Parameters:
|
||||
/// * [day] - Tag DD-MM-YYYY; ohne Angabe ALLE offenen Belege
|
||||
/// * [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 [DeliveredBelegnummernResponse] as data
|
||||
/// Throws [DioException] if API call or serialization fails
|
||||
Future<Response<DeliveredBelegnummernResponse>> deliveredBelegnummern({
|
||||
String? day,
|
||||
CancelToken? cancelToken,
|
||||
Map<String, dynamic>? headers,
|
||||
Map<String, dynamic>? extra,
|
||||
ValidateStatus? validateStatus,
|
||||
ProgressCallback? onSendProgress,
|
||||
ProgressCallback? onReceiveProgress,
|
||||
}) async {
|
||||
final _path = r'/admin/delivered-belegnummern';
|
||||
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)),
|
||||
};
|
||||
|
||||
final _response = await _dio.request<Object>(
|
||||
_path,
|
||||
options: _options,
|
||||
queryParameters: _queryParameters,
|
||||
cancelToken: cancelToken,
|
||||
onSendProgress: onSendProgress,
|
||||
onReceiveProgress: onReceiveProgress,
|
||||
);
|
||||
|
||||
DeliveredBelegnummernResponse? _responseData;
|
||||
|
||||
try {
|
||||
final rawResponse = _response.data;
|
||||
_responseData = rawResponse == null ? null : _serializers.deserialize(
|
||||
rawResponse,
|
||||
specifiedType: const FullType(DeliveredBelegnummernResponse),
|
||||
) as DeliveredBelegnummernResponse;
|
||||
|
||||
} catch (error, stackTrace) {
|
||||
throw DioException(
|
||||
requestOptions: _response.requestOptions,
|
||||
response: _response,
|
||||
type: DioExceptionType.unknown,
|
||||
error: error,
|
||||
stackTrace: stackTrace,
|
||||
);
|
||||
}
|
||||
|
||||
return Response<DeliveredBelegnummernResponse>(
|
||||
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 den ERP-Import für ein Datum an und liefert die Zusammenfassung.
|
||||
///
|
||||
///
|
||||
/// Parameters:
|
||||
/// * [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
|
||||
/// * [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 [ImportSummary] as data
|
||||
/// Throws [DioException] if API call or serialization fails
|
||||
Future<Response<ImportSummary>> importErp({
|
||||
String? date,
|
||||
CancelToken? cancelToken,
|
||||
Map<String, dynamic>? headers,
|
||||
Map<String, dynamic>? extra,
|
||||
ValidateStatus? validateStatus,
|
||||
ProgressCallback? onSendProgress,
|
||||
ProgressCallback? onReceiveProgress,
|
||||
}) async {
|
||||
final _path = r'/admin/import-erp';
|
||||
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,
|
||||
},
|
||||
validateStatus: validateStatus,
|
||||
);
|
||||
|
||||
final _queryParameters = <String, dynamic>{
|
||||
if (date != null) r'date': encodeQueryParameter(_serializers, date, const FullType(String)),
|
||||
};
|
||||
|
||||
final _response = await _dio.request<Object>(
|
||||
_path,
|
||||
options: _options,
|
||||
queryParameters: _queryParameters,
|
||||
cancelToken: cancelToken,
|
||||
onSendProgress: onSendProgress,
|
||||
onReceiveProgress: onReceiveProgress,
|
||||
);
|
||||
|
||||
ImportSummary? _responseData;
|
||||
|
||||
try {
|
||||
final rawResponse = _response.data;
|
||||
_responseData = rawResponse == null ? null : _serializers.deserialize(
|
||||
rawResponse,
|
||||
specifiedType: const FullType(ImportSummary),
|
||||
) as ImportSummary;
|
||||
|
||||
} catch (error, stackTrace) {
|
||||
throw DioException(
|
||||
requestOptions: _response.requestOptions,
|
||||
response: _response,
|
||||
type: DioExceptionType.unknown,
|
||||
error: error,
|
||||
stackTrace: stackTrace,
|
||||
);
|
||||
}
|
||||
|
||||
return Response<ImportSummary>(
|
||||
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`.
|
||||
///
|
||||
///
|
||||
/// Parameters:
|
||||
/// * [markMailSentRequest]
|
||||
/// * [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 [MarkMailSentResponse] as data
|
||||
/// Throws [DioException] if API call or serialization fails
|
||||
Future<Response<MarkMailSentResponse>> markMailSent({
|
||||
required MarkMailSentRequest markMailSentRequest,
|
||||
CancelToken? cancelToken,
|
||||
Map<String, dynamic>? headers,
|
||||
Map<String, dynamic>? extra,
|
||||
ValidateStatus? validateStatus,
|
||||
ProgressCallback? onSendProgress,
|
||||
ProgressCallback? onReceiveProgress,
|
||||
}) async {
|
||||
final _path = r'/admin/mark-mail-sent';
|
||||
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(MarkMailSentRequest);
|
||||
_bodyData = _serializers.serialize(markMailSentRequest, 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,
|
||||
);
|
||||
|
||||
MarkMailSentResponse? _responseData;
|
||||
|
||||
try {
|
||||
final rawResponse = _response.data;
|
||||
_responseData = rawResponse == null ? null : _serializers.deserialize(
|
||||
rawResponse,
|
||||
specifiedType: const FullType(MarkMailSentResponse),
|
||||
) as MarkMailSentResponse;
|
||||
|
||||
} catch (error, stackTrace) {
|
||||
throw DioException(
|
||||
requestOptions: _response.requestOptions,
|
||||
response: _response,
|
||||
type: DioExceptionType.unknown,
|
||||
error: error,
|
||||
stackTrace: stackTrace,
|
||||
);
|
||||
}
|
||||
|
||||
return Response<MarkMailSentResponse>(
|
||||
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).
|
||||
///
|
||||
///
|
||||
/// Parameters:
|
||||
/// * [deliveryId] - UUID der abgeschlossenen Lieferung
|
||||
/// * [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>> pushCompletion({
|
||||
required String deliveryId,
|
||||
CancelToken? cancelToken,
|
||||
Map<String, dynamic>? headers,
|
||||
Map<String, dynamic>? extra,
|
||||
ValidateStatus? validateStatus,
|
||||
ProgressCallback? onSendProgress,
|
||||
ProgressCallback? onReceiveProgress,
|
||||
}) async {
|
||||
final _path = r'/admin/push-completion';
|
||||
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,
|
||||
},
|
||||
validateStatus: validateStatus,
|
||||
);
|
||||
|
||||
final _queryParameters = <String, dynamic>{
|
||||
r'delivery_id': encodeQueryParameter(_serializers, deliveryId, const FullType(String)),
|
||||
};
|
||||
|
||||
final _response = await _dio.request<Object>(
|
||||
_path,
|
||||
options: _options,
|
||||
queryParameters: _queryParameters,
|
||||
cancelToken: cancelToken,
|
||||
onSendProgress: onSendProgress,
|
||||
onReceiveProgress: onReceiveProgress,
|
||||
);
|
||||
|
||||
return _response;
|
||||
}
|
||||
|
||||
}
|
||||
93
packages/holzleitner_api/lib/src/api/attachments_api.dart
Normal file
93
packages/holzleitner_api/lib/src/api/attachments_api.dart
Normal file
@ -0,0 +1,93 @@
|
||||
//
|
||||
// AUTO-GENERATED FILE, DO NOT MODIFY!
|
||||
//
|
||||
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:built_value/json_object.dart';
|
||||
import 'package:built_value/serializer.dart';
|
||||
import 'package:dio/dio.dart';
|
||||
|
||||
import 'package:holzleitner_api/src/api_util.dart';
|
||||
|
||||
class AttachmentsApi {
|
||||
|
||||
final Dio _dio;
|
||||
|
||||
final Serializers _serializers;
|
||||
|
||||
const AttachmentsApi(this._dio, this._serializers);
|
||||
|
||||
/// Liefert ein gerendertes Vorschaubild des Attachments (Bytes), geladen aus DOCUframe. Auflösung/Format über Query-Parameter steuerbar (`?w=&h=&q=&ext=&page=`).
|
||||
///
|
||||
///
|
||||
/// Parameters:
|
||||
/// * [id] - Attachment-Id (unsere UUID)
|
||||
/// * [w] - Breite in Pixeln (Default 1024)
|
||||
/// * [h] - Höhe in Pixeln (Default 1024)
|
||||
/// * [q] - Qualität 0–100 (Default 85)
|
||||
/// * [ext] - png|jpeg|jpg|webp|tiff (Default jpeg)
|
||||
/// * [page] - Seitennummer (Default 1)
|
||||
/// * [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>> getAttachment({
|
||||
required String id,
|
||||
int? w,
|
||||
int? h,
|
||||
int? q,
|
||||
String? ext,
|
||||
String? page,
|
||||
CancelToken? cancelToken,
|
||||
Map<String, dynamic>? headers,
|
||||
Map<String, dynamic>? extra,
|
||||
ValidateStatus? validateStatus,
|
||||
ProgressCallback? onSendProgress,
|
||||
ProgressCallback? onReceiveProgress,
|
||||
}) async {
|
||||
final _path = r'/attachments/{id}'.replaceAll('{' r'id' '}', encodeQueryParameter(_serializers, id, const FullType(String)).toString());
|
||||
final _options = Options(
|
||||
method: r'GET',
|
||||
headers: <String, dynamic>{
|
||||
...?headers,
|
||||
},
|
||||
extra: <String, dynamic>{
|
||||
'secure': <Map<String, String>>[
|
||||
{
|
||||
'type': 'http',
|
||||
'scheme': 'bearer',
|
||||
'name': 'bearer_auth',
|
||||
},
|
||||
],
|
||||
...?extra,
|
||||
},
|
||||
validateStatus: validateStatus,
|
||||
);
|
||||
|
||||
final _queryParameters = <String, dynamic>{
|
||||
if (w != null) r'w': encodeQueryParameter(_serializers, w, const FullType(int)),
|
||||
if (h != null) r'h': encodeQueryParameter(_serializers, h, const FullType(int)),
|
||||
if (q != null) r'q': encodeQueryParameter(_serializers, q, const FullType(int)),
|
||||
if (ext != null) r'ext': encodeQueryParameter(_serializers, ext, const FullType(String)),
|
||||
if (page != null) r'page': encodeQueryParameter(_serializers, page, const FullType(String)),
|
||||
};
|
||||
|
||||
final _response = await _dio.request<Object>(
|
||||
_path,
|
||||
options: _options,
|
||||
queryParameters: _queryParameters,
|
||||
cancelToken: cancelToken,
|
||||
onSendProgress: onSendProgress,
|
||||
onReceiveProgress: onReceiveProgress,
|
||||
);
|
||||
|
||||
return _response;
|
||||
}
|
||||
|
||||
}
|
||||
@ -12,9 +12,14 @@ import 'package:holzleitner_api/src/api_util.dart';
|
||||
import 'package:holzleitner_api/src/model/assign_car_request.dart';
|
||||
import 'package:holzleitner_api/src/model/cancel_delivery_request.dart';
|
||||
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_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/set_delivery_service_request.dart';
|
||||
import 'package:holzleitner_api/src/model/update_delivery_note_request.dart';
|
||||
|
||||
class DeliveriesApi {
|
||||
|
||||
@ -24,6 +29,109 @@ class DeliveriesApi {
|
||||
|
||||
const DeliveriesApi(this._dio, this._serializers);
|
||||
|
||||
/// Wendet ein Betrags-Gutschrift-Ereignis an (`set`/`remove`). Append-only, idempotent über `clientEventId`. Nur bei aktiver Lieferung; bei `set` sind Betrag (0 < x ≤ 150 €, 10-€-Schritte) und Grund Pflicht. Antwort: der aktuelle Gutschrift-Stand (`null`, wenn entfernt).
|
||||
///
|
||||
///
|
||||
/// Parameters:
|
||||
/// * [deliveryId]
|
||||
/// * [deliveryCreditEventRequest]
|
||||
/// * [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 [DeliveryCreditResponse] as data
|
||||
/// Throws [DioException] if API call or serialization fails
|
||||
Future<Response<DeliveryCreditResponse>> applyCredit({
|
||||
required String deliveryId,
|
||||
required DeliveryCreditEventRequest deliveryCreditEventRequest,
|
||||
CancelToken? cancelToken,
|
||||
Map<String, dynamic>? headers,
|
||||
Map<String, dynamic>? extra,
|
||||
ValidateStatus? validateStatus,
|
||||
ProgressCallback? onSendProgress,
|
||||
ProgressCallback? onReceiveProgress,
|
||||
}) async {
|
||||
final _path = r'/deliveries/{delivery_id}/credit'.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(DeliveryCreditEventRequest);
|
||||
_bodyData = _serializers.serialize(deliveryCreditEventRequest, 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,
|
||||
);
|
||||
|
||||
DeliveryCreditResponse? _responseData;
|
||||
|
||||
try {
|
||||
final rawResponse = _response.data;
|
||||
_responseData = rawResponse == null ? null : _serializers.deserialize(
|
||||
rawResponse,
|
||||
specifiedType: const FullType(DeliveryCreditResponse),
|
||||
) as DeliveryCreditResponse;
|
||||
|
||||
} catch (error, stackTrace) {
|
||||
throw DioException(
|
||||
requestOptions: _response.requestOptions,
|
||||
response: _response,
|
||||
type: DioExceptionType.unknown,
|
||||
error: error,
|
||||
stackTrace: stackTrace,
|
||||
);
|
||||
}
|
||||
|
||||
return Response<DeliveryCreditResponse>(
|
||||
data: _responseData,
|
||||
headers: _response.headers,
|
||||
isRedirect: _response.isRedirect,
|
||||
requestOptions: _response.requestOptions,
|
||||
redirects: _response.redirects,
|
||||
statusCode: _response.statusCode,
|
||||
statusMessage: _response.statusMessage,
|
||||
extra: _response.extra,
|
||||
);
|
||||
}
|
||||
|
||||
/// Setzt das `assigned_car_id` einer Lieferung. `carId: null` löst die Zuordnung wieder. Der Use Case stellt sicher, dass das Fahrzeug zum angemeldeten Account gehört.
|
||||
///
|
||||
///
|
||||
@ -231,7 +339,7 @@ class DeliveriesApi {
|
||||
}
|
||||
|
||||
/// Schließt die Lieferung ab — `state = completed`. Nur aus `active`.
|
||||
///
|
||||
/// `multipart/form-data` mit drei Feldern: * `customer_signature` — PNG der Kunden-Unterschrift (Pflicht) * `driver_signature` — PNG der Fahrer-Unterschrift (Pflicht) * `acknowledgements` — JSON (`CompleteDeliveryAcknowledgements`): `receiptConfirmed` (Pflicht true), `notesAcknowledged`, `acknowledgedNoteIds`, `authorCarId`. Atomar: Signaturen werden lokal gespeichert, die Abschluss-Zeile geschrieben und der Status auf `completed` gesetzt — alles oder nichts. Gates: Lieferung aktiv, alle scanbaren Positionen fertig, Notizen bestätigt (falls vorhanden).
|
||||
///
|
||||
/// Parameters:
|
||||
/// * [deliveryId]
|
||||
@ -269,6 +377,7 @@ class DeliveriesApi {
|
||||
],
|
||||
...?extra,
|
||||
},
|
||||
contentType: 'multipart/form-data',
|
||||
validateStatus: validateStatus,
|
||||
);
|
||||
|
||||
@ -414,6 +523,116 @@ class DeliveriesApi {
|
||||
);
|
||||
}
|
||||
|
||||
/// Löscht eine Notiz. Antwortet mit `204 No Content`.
|
||||
///
|
||||
///
|
||||
/// Parameters:
|
||||
/// * [deliveryId]
|
||||
/// * [noteId]
|
||||
/// * [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>> deleteNote({
|
||||
required String deliveryId,
|
||||
required String noteId,
|
||||
CancelToken? cancelToken,
|
||||
Map<String, dynamic>? headers,
|
||||
Map<String, dynamic>? extra,
|
||||
ValidateStatus? validateStatus,
|
||||
ProgressCallback? onSendProgress,
|
||||
ProgressCallback? onReceiveProgress,
|
||||
}) async {
|
||||
final _path = r'/deliveries/{delivery_id}/notes/{note_id}'.replaceAll('{' r'delivery_id' '}', encodeQueryParameter(_serializers, deliveryId, const FullType(String)).toString()).replaceAll('{' r'note_id' '}', encodeQueryParameter(_serializers, noteId, const FullType(String)).toString());
|
||||
final _options = Options(
|
||||
method: r'DELETE',
|
||||
headers: <String, dynamic>{
|
||||
...?headers,
|
||||
},
|
||||
extra: <String, dynamic>{
|
||||
'secure': <Map<String, String>>[
|
||||
{
|
||||
'type': 'http',
|
||||
'scheme': 'bearer',
|
||||
'name': 'bearer_auth',
|
||||
},
|
||||
],
|
||||
...?extra,
|
||||
},
|
||||
validateStatus: validateStatus,
|
||||
);
|
||||
|
||||
final _response = await _dio.request<Object>(
|
||||
_path,
|
||||
options: _options,
|
||||
cancelToken: cancelToken,
|
||||
onSendProgress: onSendProgress,
|
||||
onReceiveProgress: onReceiveProgress,
|
||||
);
|
||||
|
||||
return _response;
|
||||
}
|
||||
|
||||
/// Entfernt den Service-Wert einer Lieferung (Service „nicht gesetzt\"). Nur bei aktiver Lieferung. Antwort `204`.
|
||||
///
|
||||
///
|
||||
/// Parameters:
|
||||
/// * [deliveryId]
|
||||
/// * [serviceId]
|
||||
/// * [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>> deleteServiceValue({
|
||||
required String deliveryId,
|
||||
required String serviceId,
|
||||
CancelToken? cancelToken,
|
||||
Map<String, dynamic>? headers,
|
||||
Map<String, dynamic>? extra,
|
||||
ValidateStatus? validateStatus,
|
||||
ProgressCallback? onSendProgress,
|
||||
ProgressCallback? onReceiveProgress,
|
||||
}) async {
|
||||
final _path = r'/deliveries/{delivery_id}/services/{service_id}'.replaceAll('{' r'delivery_id' '}', encodeQueryParameter(_serializers, deliveryId, const FullType(String)).toString()).replaceAll('{' r'service_id' '}', encodeQueryParameter(_serializers, serviceId, const FullType(String)).toString());
|
||||
final _options = Options(
|
||||
method: r'DELETE',
|
||||
headers: <String, dynamic>{
|
||||
...?headers,
|
||||
},
|
||||
extra: <String, dynamic>{
|
||||
'secure': <Map<String, String>>[
|
||||
{
|
||||
'type': 'http',
|
||||
'scheme': 'bearer',
|
||||
'name': 'bearer_auth',
|
||||
},
|
||||
],
|
||||
...?extra,
|
||||
},
|
||||
validateStatus: validateStatus,
|
||||
);
|
||||
|
||||
final _response = await _dio.request<Object>(
|
||||
_path,
|
||||
options: _options,
|
||||
cancelToken: cancelToken,
|
||||
onSendProgress: onSendProgress,
|
||||
onReceiveProgress: onReceiveProgress,
|
||||
);
|
||||
|
||||
return _response;
|
||||
}
|
||||
|
||||
/// Setzt die Lieferung auf `held`. Nur aus `active` zulässig.
|
||||
///
|
||||
///
|
||||
@ -598,4 +817,296 @@ class DeliveriesApi {
|
||||
);
|
||||
}
|
||||
|
||||
/// 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.
|
||||
///
|
||||
///
|
||||
/// Parameters:
|
||||
/// * [deliveryId]
|
||||
/// * [serviceId]
|
||||
/// * [setDeliveryServiceRequest]
|
||||
/// * [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 [DeliveryServiceResponse] as data
|
||||
/// Throws [DioException] if API call or serialization fails
|
||||
Future<Response<DeliveryServiceResponse>> setService({
|
||||
required String deliveryId,
|
||||
required String serviceId,
|
||||
required SetDeliveryServiceRequest setDeliveryServiceRequest,
|
||||
CancelToken? cancelToken,
|
||||
Map<String, dynamic>? headers,
|
||||
Map<String, dynamic>? extra,
|
||||
ValidateStatus? validateStatus,
|
||||
ProgressCallback? onSendProgress,
|
||||
ProgressCallback? onReceiveProgress,
|
||||
}) async {
|
||||
final _path = r'/deliveries/{delivery_id}/services/{service_id}'.replaceAll('{' r'delivery_id' '}', encodeQueryParameter(_serializers, deliveryId, const FullType(String)).toString()).replaceAll('{' r'service_id' '}', encodeQueryParameter(_serializers, serviceId, const FullType(String)).toString());
|
||||
final _options = Options(
|
||||
method: r'PUT',
|
||||
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(SetDeliveryServiceRequest);
|
||||
_bodyData = _serializers.serialize(setDeliveryServiceRequest, 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,
|
||||
);
|
||||
|
||||
DeliveryServiceResponse? _responseData;
|
||||
|
||||
try {
|
||||
final rawResponse = _response.data;
|
||||
_responseData = rawResponse == null ? null : _serializers.deserialize(
|
||||
rawResponse,
|
||||
specifiedType: const FullType(DeliveryServiceResponse),
|
||||
) as DeliveryServiceResponse;
|
||||
|
||||
} catch (error, stackTrace) {
|
||||
throw DioException(
|
||||
requestOptions: _response.requestOptions,
|
||||
response: _response,
|
||||
type: DioExceptionType.unknown,
|
||||
error: error,
|
||||
stackTrace: stackTrace,
|
||||
);
|
||||
}
|
||||
|
||||
return Response<DeliveryServiceResponse>(
|
||||
data: _responseData,
|
||||
headers: _response.headers,
|
||||
isRedirect: _response.isRedirect,
|
||||
requestOptions: _response.requestOptions,
|
||||
redirects: _response.redirects,
|
||||
statusCode: _response.statusCode,
|
||||
statusMessage: _response.statusMessage,
|
||||
extra: _response.extra,
|
||||
);
|
||||
}
|
||||
|
||||
/// Ä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.
|
||||
///
|
||||
///
|
||||
/// Parameters:
|
||||
/// * [deliveryId]
|
||||
/// * [noteId]
|
||||
/// * [updateDeliveryNoteRequest]
|
||||
/// * [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 [DeliveryNoteResponse] as data
|
||||
/// Throws [DioException] if API call or serialization fails
|
||||
Future<Response<DeliveryNoteResponse>> updateNote({
|
||||
required String deliveryId,
|
||||
required String noteId,
|
||||
required UpdateDeliveryNoteRequest updateDeliveryNoteRequest,
|
||||
CancelToken? cancelToken,
|
||||
Map<String, dynamic>? headers,
|
||||
Map<String, dynamic>? extra,
|
||||
ValidateStatus? validateStatus,
|
||||
ProgressCallback? onSendProgress,
|
||||
ProgressCallback? onReceiveProgress,
|
||||
}) async {
|
||||
final _path = r'/deliveries/{delivery_id}/notes/{note_id}'.replaceAll('{' r'delivery_id' '}', encodeQueryParameter(_serializers, deliveryId, const FullType(String)).toString()).replaceAll('{' r'note_id' '}', encodeQueryParameter(_serializers, noteId, const FullType(String)).toString());
|
||||
final _options = Options(
|
||||
method: r'PATCH',
|
||||
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(UpdateDeliveryNoteRequest);
|
||||
_bodyData = _serializers.serialize(updateDeliveryNoteRequest, 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,
|
||||
);
|
||||
|
||||
DeliveryNoteResponse? _responseData;
|
||||
|
||||
try {
|
||||
final rawResponse = _response.data;
|
||||
_responseData = rawResponse == null ? null : _serializers.deserialize(
|
||||
rawResponse,
|
||||
specifiedType: const FullType(DeliveryNoteResponse),
|
||||
) as DeliveryNoteResponse;
|
||||
|
||||
} catch (error, stackTrace) {
|
||||
throw DioException(
|
||||
requestOptions: _response.requestOptions,
|
||||
response: _response,
|
||||
type: DioExceptionType.unknown,
|
||||
error: error,
|
||||
stackTrace: stackTrace,
|
||||
);
|
||||
}
|
||||
|
||||
return Response<DeliveryNoteResponse>(
|
||||
data: _responseData,
|
||||
headers: _response.headers,
|
||||
isRedirect: _response.isRedirect,
|
||||
requestOptions: _response.requestOptions,
|
||||
redirects: _response.redirects,
|
||||
statusCode: _response.statusCode,
|
||||
statusMessage: _response.statusMessage,
|
||||
extra: _response.extra,
|
||||
);
|
||||
}
|
||||
|
||||
/// Lädt ein Bild zu einer Lieferung hoch (multipart/form-data, Feld `file`) und legt dafür eine Bild-Notiz an. Das Bild geht in den DOCUframe-Dokumentenspeicher; gespeichert wird die zurückgelieferte Referenz (`~ObjectID`) als `image_attachment` der Notiz.
|
||||
///
|
||||
///
|
||||
/// Parameters:
|
||||
/// * [deliveryId]
|
||||
/// * [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 [DeliveryNoteResponse] as data
|
||||
/// Throws [DioException] if API call or serialization fails
|
||||
Future<Response<DeliveryNoteResponse>> uploadNoteImage({
|
||||
required String deliveryId,
|
||||
CancelToken? cancelToken,
|
||||
Map<String, dynamic>? headers,
|
||||
Map<String, dynamic>? extra,
|
||||
ValidateStatus? validateStatus,
|
||||
ProgressCallback? onSendProgress,
|
||||
ProgressCallback? onReceiveProgress,
|
||||
}) async {
|
||||
final _path = r'/deliveries/{delivery_id}/notes/image'.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: 'multipart/form-data',
|
||||
validateStatus: validateStatus,
|
||||
);
|
||||
|
||||
final _response = await _dio.request<Object>(
|
||||
_path,
|
||||
options: _options,
|
||||
cancelToken: cancelToken,
|
||||
onSendProgress: onSendProgress,
|
||||
onReceiveProgress: onReceiveProgress,
|
||||
);
|
||||
|
||||
DeliveryNoteResponse? _responseData;
|
||||
|
||||
try {
|
||||
final rawResponse = _response.data;
|
||||
_responseData = rawResponse == null ? null : _serializers.deserialize(
|
||||
rawResponse,
|
||||
specifiedType: const FullType(DeliveryNoteResponse),
|
||||
) as DeliveryNoteResponse;
|
||||
|
||||
} catch (error, stackTrace) {
|
||||
throw DioException(
|
||||
requestOptions: _response.requestOptions,
|
||||
response: _response,
|
||||
type: DioExceptionType.unknown,
|
||||
error: error,
|
||||
stackTrace: stackTrace,
|
||||
);
|
||||
}
|
||||
|
||||
return Response<DeliveryNoteResponse>(
|
||||
data: _responseData,
|
||||
headers: _response.headers,
|
||||
isRedirect: _response.isRedirect,
|
||||
requestOptions: _response.requestOptions,
|
||||
redirects: _response.redirects,
|
||||
statusCode: _response.statusCode,
|
||||
statusMessage: _response.statusMessage,
|
||||
extra: _response.extra,
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
368
packages/holzleitner_api/lib/src/api/payment_methods_api.dart
Normal file
368
packages/holzleitner_api/lib/src/api/payment_methods_api.dart
Normal file
@ -0,0 +1,368 @@
|
||||
//
|
||||
// AUTO-GENERATED FILE, DO NOT MODIFY!
|
||||
//
|
||||
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:built_value/json_object.dart';
|
||||
import 'package:built_value/serializer.dart';
|
||||
import 'package:dio/dio.dart';
|
||||
|
||||
import 'package:holzleitner_api/src/api_util.dart';
|
||||
import 'package:holzleitner_api/src/model/create_payment_method_request.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/update_payment_method_request.dart';
|
||||
|
||||
class PaymentMethodsApi {
|
||||
|
||||
final Dio _dio;
|
||||
|
||||
final Serializers _serializers;
|
||||
|
||||
const PaymentMethodsApi(this._dio, this._serializers);
|
||||
|
||||
/// Legt eine neue Zahlungsmethode an.
|
||||
///
|
||||
///
|
||||
/// Parameters:
|
||||
/// * [createPaymentMethodRequest]
|
||||
/// * [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 [PaymentMethodResponse] as data
|
||||
/// Throws [DioException] if API call or serialization fails
|
||||
Future<Response<PaymentMethodResponse>> createPaymentMethod({
|
||||
required CreatePaymentMethodRequest createPaymentMethodRequest,
|
||||
CancelToken? cancelToken,
|
||||
Map<String, dynamic>? headers,
|
||||
Map<String, dynamic>? extra,
|
||||
ValidateStatus? validateStatus,
|
||||
ProgressCallback? onSendProgress,
|
||||
ProgressCallback? onReceiveProgress,
|
||||
}) async {
|
||||
final _path = r'/payment-methods';
|
||||
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(CreatePaymentMethodRequest);
|
||||
_bodyData = _serializers.serialize(createPaymentMethodRequest, 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,
|
||||
);
|
||||
|
||||
PaymentMethodResponse? _responseData;
|
||||
|
||||
try {
|
||||
final rawResponse = _response.data;
|
||||
_responseData = rawResponse == null ? null : _serializers.deserialize(
|
||||
rawResponse,
|
||||
specifiedType: const FullType(PaymentMethodResponse),
|
||||
) as PaymentMethodResponse;
|
||||
|
||||
} catch (error, stackTrace) {
|
||||
throw DioException(
|
||||
requestOptions: _response.requestOptions,
|
||||
response: _response,
|
||||
type: DioExceptionType.unknown,
|
||||
error: error,
|
||||
stackTrace: stackTrace,
|
||||
);
|
||||
}
|
||||
|
||||
return Response<PaymentMethodResponse>(
|
||||
data: _responseData,
|
||||
headers: _response.headers,
|
||||
isRedirect: _response.isRedirect,
|
||||
requestOptions: _response.requestOptions,
|
||||
redirects: _response.redirects,
|
||||
statusCode: _response.statusCode,
|
||||
statusMessage: _response.statusMessage,
|
||||
extra: _response.extra,
|
||||
);
|
||||
}
|
||||
|
||||
/// Hartes Löschen. `409 Conflict`, wenn die Methode von einer Lieferung referenziert wird — der Admin soll dann den `active = false`-Pfad nutzen.
|
||||
///
|
||||
///
|
||||
/// Parameters:
|
||||
/// * [id] - Zahlungsmethoden-Id
|
||||
/// * [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>> deletePaymentMethod({
|
||||
required String id,
|
||||
CancelToken? cancelToken,
|
||||
Map<String, dynamic>? headers,
|
||||
Map<String, dynamic>? extra,
|
||||
ValidateStatus? validateStatus,
|
||||
ProgressCallback? onSendProgress,
|
||||
ProgressCallback? onReceiveProgress,
|
||||
}) async {
|
||||
final _path = r'/payment-methods/{id}'.replaceAll('{' r'id' '}', encodeQueryParameter(_serializers, id, const FullType(String)).toString());
|
||||
final _options = Options(
|
||||
method: r'DELETE',
|
||||
headers: <String, dynamic>{
|
||||
...?headers,
|
||||
},
|
||||
extra: <String, dynamic>{
|
||||
'secure': <Map<String, String>>[
|
||||
{
|
||||
'type': 'http',
|
||||
'scheme': 'bearer',
|
||||
'name': 'bearer_auth',
|
||||
},
|
||||
],
|
||||
...?extra,
|
||||
},
|
||||
validateStatus: validateStatus,
|
||||
);
|
||||
|
||||
final _response = await _dio.request<Object>(
|
||||
_path,
|
||||
options: _options,
|
||||
cancelToken: cancelToken,
|
||||
onSendProgress: onSendProgress,
|
||||
onReceiveProgress: onReceiveProgress,
|
||||
);
|
||||
|
||||
return _response;
|
||||
}
|
||||
|
||||
/// Listet die Zahlungsmethoden.
|
||||
///
|
||||
///
|
||||
/// Parameters:
|
||||
/// * [includeInactive] - Wenn true, werden inaktive Methoden mitgeliefert (default: false)
|
||||
/// * [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 [PaymentMethodsList] as data
|
||||
/// Throws [DioException] if API call or serialization fails
|
||||
Future<Response<PaymentMethodsList>> listPaymentMethods({
|
||||
bool? includeInactive,
|
||||
CancelToken? cancelToken,
|
||||
Map<String, dynamic>? headers,
|
||||
Map<String, dynamic>? extra,
|
||||
ValidateStatus? validateStatus,
|
||||
ProgressCallback? onSendProgress,
|
||||
ProgressCallback? onReceiveProgress,
|
||||
}) async {
|
||||
final _path = r'/payment-methods';
|
||||
final _options = Options(
|
||||
method: r'GET',
|
||||
headers: <String, dynamic>{
|
||||
...?headers,
|
||||
},
|
||||
extra: <String, dynamic>{
|
||||
'secure': <Map<String, String>>[
|
||||
{
|
||||
'type': 'http',
|
||||
'scheme': 'bearer',
|
||||
'name': 'bearer_auth',
|
||||
},
|
||||
],
|
||||
...?extra,
|
||||
},
|
||||
validateStatus: validateStatus,
|
||||
);
|
||||
|
||||
final _queryParameters = <String, dynamic>{
|
||||
if (includeInactive != null) r'includeInactive': encodeQueryParameter(_serializers, includeInactive, const FullType(bool)),
|
||||
};
|
||||
|
||||
final _response = await _dio.request<Object>(
|
||||
_path,
|
||||
options: _options,
|
||||
queryParameters: _queryParameters,
|
||||
cancelToken: cancelToken,
|
||||
onSendProgress: onSendProgress,
|
||||
onReceiveProgress: onReceiveProgress,
|
||||
);
|
||||
|
||||
PaymentMethodsList? _responseData;
|
||||
|
||||
try {
|
||||
final rawResponse = _response.data;
|
||||
_responseData = rawResponse == null ? null : _serializers.deserialize(
|
||||
rawResponse,
|
||||
specifiedType: const FullType(PaymentMethodsList),
|
||||
) as PaymentMethodsList;
|
||||
|
||||
} catch (error, stackTrace) {
|
||||
throw DioException(
|
||||
requestOptions: _response.requestOptions,
|
||||
response: _response,
|
||||
type: DioExceptionType.unknown,
|
||||
error: error,
|
||||
stackTrace: stackTrace,
|
||||
);
|
||||
}
|
||||
|
||||
return Response<PaymentMethodsList>(
|
||||
data: _responseData,
|
||||
headers: _response.headers,
|
||||
isRedirect: _response.isRedirect,
|
||||
requestOptions: _response.requestOptions,
|
||||
redirects: _response.redirects,
|
||||
statusCode: _response.statusCode,
|
||||
statusMessage: _response.statusMessage,
|
||||
extra: _response.extra,
|
||||
);
|
||||
}
|
||||
|
||||
/// Patcht Anzeige-Name und/oder Aktiv-Flag.
|
||||
///
|
||||
///
|
||||
/// Parameters:
|
||||
/// * [id] - Zahlungsmethoden-Id
|
||||
/// * [updatePaymentMethodRequest]
|
||||
/// * [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 [PaymentMethodResponse] as data
|
||||
/// Throws [DioException] if API call or serialization fails
|
||||
Future<Response<PaymentMethodResponse>> updatePaymentMethod({
|
||||
required String id,
|
||||
required UpdatePaymentMethodRequest updatePaymentMethodRequest,
|
||||
CancelToken? cancelToken,
|
||||
Map<String, dynamic>? headers,
|
||||
Map<String, dynamic>? extra,
|
||||
ValidateStatus? validateStatus,
|
||||
ProgressCallback? onSendProgress,
|
||||
ProgressCallback? onReceiveProgress,
|
||||
}) async {
|
||||
final _path = r'/payment-methods/{id}'.replaceAll('{' r'id' '}', encodeQueryParameter(_serializers, id, const FullType(String)).toString());
|
||||
final _options = Options(
|
||||
method: r'PATCH',
|
||||
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(UpdatePaymentMethodRequest);
|
||||
_bodyData = _serializers.serialize(updatePaymentMethodRequest, 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,
|
||||
);
|
||||
|
||||
PaymentMethodResponse? _responseData;
|
||||
|
||||
try {
|
||||
final rawResponse = _response.data;
|
||||
_responseData = rawResponse == null ? null : _serializers.deserialize(
|
||||
rawResponse,
|
||||
specifiedType: const FullType(PaymentMethodResponse),
|
||||
) as PaymentMethodResponse;
|
||||
|
||||
} catch (error, stackTrace) {
|
||||
throw DioException(
|
||||
requestOptions: _response.requestOptions,
|
||||
response: _response,
|
||||
type: DioExceptionType.unknown,
|
||||
error: error,
|
||||
stackTrace: stackTrace,
|
||||
);
|
||||
}
|
||||
|
||||
return Response<PaymentMethodResponse>(
|
||||
data: _responseData,
|
||||
headers: _response.headers,
|
||||
isRedirect: _response.isRedirect,
|
||||
requestOptions: _response.requestOptions,
|
||||
redirects: _response.redirects,
|
||||
statusCode: _response.statusCode,
|
||||
statusMessage: _response.statusMessage,
|
||||
extra: _response.extra,
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
368
packages/holzleitner_api/lib/src/api/services_api.dart
Normal file
368
packages/holzleitner_api/lib/src/api/services_api.dart
Normal file
@ -0,0 +1,368 @@
|
||||
//
|
||||
// AUTO-GENERATED FILE, DO NOT MODIFY!
|
||||
//
|
||||
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:built_value/json_object.dart';
|
||||
import 'package:built_value/serializer.dart';
|
||||
import 'package:dio/dio.dart';
|
||||
|
||||
import 'package:holzleitner_api/src/api_util.dart';
|
||||
import 'package:holzleitner_api/src/model/create_service_request.dart';
|
||||
import 'package:holzleitner_api/src/model/service_response.dart';
|
||||
import 'package:holzleitner_api/src/model/services_list.dart';
|
||||
import 'package:holzleitner_api/src/model/update_service_request.dart';
|
||||
|
||||
class ServicesApi {
|
||||
|
||||
final Dio _dio;
|
||||
|
||||
final Serializers _serializers;
|
||||
|
||||
const ServicesApi(this._dio, this._serializers);
|
||||
|
||||
/// Legt einen neuen Service an.
|
||||
///
|
||||
///
|
||||
/// Parameters:
|
||||
/// * [createServiceRequest]
|
||||
/// * [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 [ServiceResponse] as data
|
||||
/// Throws [DioException] if API call or serialization fails
|
||||
Future<Response<ServiceResponse>> createService({
|
||||
required CreateServiceRequest createServiceRequest,
|
||||
CancelToken? cancelToken,
|
||||
Map<String, dynamic>? headers,
|
||||
Map<String, dynamic>? extra,
|
||||
ValidateStatus? validateStatus,
|
||||
ProgressCallback? onSendProgress,
|
||||
ProgressCallback? onReceiveProgress,
|
||||
}) async {
|
||||
final _path = r'/services';
|
||||
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(CreateServiceRequest);
|
||||
_bodyData = _serializers.serialize(createServiceRequest, 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,
|
||||
);
|
||||
|
||||
ServiceResponse? _responseData;
|
||||
|
||||
try {
|
||||
final rawResponse = _response.data;
|
||||
_responseData = rawResponse == null ? null : _serializers.deserialize(
|
||||
rawResponse,
|
||||
specifiedType: const FullType(ServiceResponse),
|
||||
) as ServiceResponse;
|
||||
|
||||
} catch (error, stackTrace) {
|
||||
throw DioException(
|
||||
requestOptions: _response.requestOptions,
|
||||
response: _response,
|
||||
type: DioExceptionType.unknown,
|
||||
error: error,
|
||||
stackTrace: stackTrace,
|
||||
);
|
||||
}
|
||||
|
||||
return Response<ServiceResponse>(
|
||||
data: _responseData,
|
||||
headers: _response.headers,
|
||||
isRedirect: _response.isRedirect,
|
||||
requestOptions: _response.requestOptions,
|
||||
redirects: _response.redirects,
|
||||
statusCode: _response.statusCode,
|
||||
statusMessage: _response.statusMessage,
|
||||
extra: _response.extra,
|
||||
);
|
||||
}
|
||||
|
||||
/// Hartes Löschen. `409 Conflict`, wenn der Service noch von einer Lieferung referenziert wird — dann stattdessen deaktivieren.
|
||||
///
|
||||
///
|
||||
/// Parameters:
|
||||
/// * [id] - Service-Id
|
||||
/// * [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>> deleteService({
|
||||
required String id,
|
||||
CancelToken? cancelToken,
|
||||
Map<String, dynamic>? headers,
|
||||
Map<String, dynamic>? extra,
|
||||
ValidateStatus? validateStatus,
|
||||
ProgressCallback? onSendProgress,
|
||||
ProgressCallback? onReceiveProgress,
|
||||
}) async {
|
||||
final _path = r'/services/{id}'.replaceAll('{' r'id' '}', encodeQueryParameter(_serializers, id, const FullType(String)).toString());
|
||||
final _options = Options(
|
||||
method: r'DELETE',
|
||||
headers: <String, dynamic>{
|
||||
...?headers,
|
||||
},
|
||||
extra: <String, dynamic>{
|
||||
'secure': <Map<String, String>>[
|
||||
{
|
||||
'type': 'http',
|
||||
'scheme': 'bearer',
|
||||
'name': 'bearer_auth',
|
||||
},
|
||||
],
|
||||
...?extra,
|
||||
},
|
||||
validateStatus: validateStatus,
|
||||
);
|
||||
|
||||
final _response = await _dio.request<Object>(
|
||||
_path,
|
||||
options: _options,
|
||||
cancelToken: cancelToken,
|
||||
onSendProgress: onSendProgress,
|
||||
onReceiveProgress: onReceiveProgress,
|
||||
);
|
||||
|
||||
return _response;
|
||||
}
|
||||
|
||||
/// Listet die Services (sortiert nach `sortOrder`).
|
||||
///
|
||||
///
|
||||
/// Parameters:
|
||||
/// * [includeInactive] - Wenn true, werden inaktive Services mitgeliefert (default: false)
|
||||
/// * [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 [ServicesList] as data
|
||||
/// Throws [DioException] if API call or serialization fails
|
||||
Future<Response<ServicesList>> listServices({
|
||||
bool? includeInactive,
|
||||
CancelToken? cancelToken,
|
||||
Map<String, dynamic>? headers,
|
||||
Map<String, dynamic>? extra,
|
||||
ValidateStatus? validateStatus,
|
||||
ProgressCallback? onSendProgress,
|
||||
ProgressCallback? onReceiveProgress,
|
||||
}) async {
|
||||
final _path = r'/services';
|
||||
final _options = Options(
|
||||
method: r'GET',
|
||||
headers: <String, dynamic>{
|
||||
...?headers,
|
||||
},
|
||||
extra: <String, dynamic>{
|
||||
'secure': <Map<String, String>>[
|
||||
{
|
||||
'type': 'http',
|
||||
'scheme': 'bearer',
|
||||
'name': 'bearer_auth',
|
||||
},
|
||||
],
|
||||
...?extra,
|
||||
},
|
||||
validateStatus: validateStatus,
|
||||
);
|
||||
|
||||
final _queryParameters = <String, dynamic>{
|
||||
if (includeInactive != null) r'includeInactive': encodeQueryParameter(_serializers, includeInactive, const FullType(bool)),
|
||||
};
|
||||
|
||||
final _response = await _dio.request<Object>(
|
||||
_path,
|
||||
options: _options,
|
||||
queryParameters: _queryParameters,
|
||||
cancelToken: cancelToken,
|
||||
onSendProgress: onSendProgress,
|
||||
onReceiveProgress: onReceiveProgress,
|
||||
);
|
||||
|
||||
ServicesList? _responseData;
|
||||
|
||||
try {
|
||||
final rawResponse = _response.data;
|
||||
_responseData = rawResponse == null ? null : _serializers.deserialize(
|
||||
rawResponse,
|
||||
specifiedType: const FullType(ServicesList),
|
||||
) as ServicesList;
|
||||
|
||||
} catch (error, stackTrace) {
|
||||
throw DioException(
|
||||
requestOptions: _response.requestOptions,
|
||||
response: _response,
|
||||
type: DioExceptionType.unknown,
|
||||
error: error,
|
||||
stackTrace: stackTrace,
|
||||
);
|
||||
}
|
||||
|
||||
return Response<ServicesList>(
|
||||
data: _responseData,
|
||||
headers: _response.headers,
|
||||
isRedirect: _response.isRedirect,
|
||||
requestOptions: _response.requestOptions,
|
||||
redirects: _response.redirects,
|
||||
statusCode: _response.statusCode,
|
||||
statusMessage: _response.statusMessage,
|
||||
extra: _response.extra,
|
||||
);
|
||||
}
|
||||
|
||||
/// Patcht Name/Grenzen/Aktiv-Flag/Sortierung. `kind` ist nicht änderbar.
|
||||
///
|
||||
///
|
||||
/// Parameters:
|
||||
/// * [id] - Service-Id
|
||||
/// * [updateServiceRequest]
|
||||
/// * [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 [ServiceResponse] as data
|
||||
/// Throws [DioException] if API call or serialization fails
|
||||
Future<Response<ServiceResponse>> updateService({
|
||||
required String id,
|
||||
required UpdateServiceRequest updateServiceRequest,
|
||||
CancelToken? cancelToken,
|
||||
Map<String, dynamic>? headers,
|
||||
Map<String, dynamic>? extra,
|
||||
ValidateStatus? validateStatus,
|
||||
ProgressCallback? onSendProgress,
|
||||
ProgressCallback? onReceiveProgress,
|
||||
}) async {
|
||||
final _path = r'/services/{id}'.replaceAll('{' r'id' '}', encodeQueryParameter(_serializers, id, const FullType(String)).toString());
|
||||
final _options = Options(
|
||||
method: r'PATCH',
|
||||
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(UpdateServiceRequest);
|
||||
_bodyData = _serializers.serialize(updateServiceRequest, 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,
|
||||
);
|
||||
|
||||
ServiceResponse? _responseData;
|
||||
|
||||
try {
|
||||
final rawResponse = _response.data;
|
||||
_responseData = rawResponse == null ? null : _serializers.deserialize(
|
||||
rawResponse,
|
||||
specifiedType: const FullType(ServiceResponse),
|
||||
) as ServiceResponse;
|
||||
|
||||
} catch (error, stackTrace) {
|
||||
throw DioException(
|
||||
requestOptions: _response.requestOptions,
|
||||
response: _response,
|
||||
type: DioExceptionType.unknown,
|
||||
error: error,
|
||||
stackTrace: stackTrace,
|
||||
);
|
||||
}
|
||||
|
||||
return Response<ServiceResponse>(
|
||||
data: _responseData,
|
||||
headers: _response.headers,
|
||||
isRedirect: _response.isRedirect,
|
||||
requestOptions: _response.requestOptions,
|
||||
redirects: _response.redirects,
|
||||
statusCode: _response.statusCode,
|
||||
statusMessage: _response.statusMessage,
|
||||
extra: _response.extra,
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
@ -11,21 +11,24 @@ part 'audit_action.g.dart';
|
||||
|
||||
class AuditAction extends EnumClass {
|
||||
|
||||
/// Aktion-Typen im Scan-Audit-Log. * `Scan` / `Unscan` verändern die `scanned_quantity` (+1 / -1). * `Hold` / `Unhold` ändern nur den Status, keine Menge. * `Remove` markiert die Position als entfernt (Status `Removed`, z. B. weil der Kunde sie nicht annimmt).
|
||||
/// Aktion-Typen im Scan-Audit-Log. * `Scan` / `Unscan` verändern die `scanned_quantity` (+1 / -1). * `Hold` / `Unhold` ändern nur den Status, keine Menge. * `Remove` markiert die Position als entfernt (Status `Removed`, z. B. weil der Kunde sie nicht annimmt). * `Unremove` hebt ein `Remove` wieder auf — die Position landet zurück in `InProgress` (oder `Done`, falls die `scanned_quantity` schon `required_quantity` erreicht hatte). Der ursprüngliche `Remove`-Audit-Eintrag bleibt unangetastet; das `Unremove` erzeugt einen eigenen Audit-Eintrag — die Historie bleibt vollständig.
|
||||
@BuiltValueEnumConst(wireName: r'scan')
|
||||
static const AuditAction scan = _$scan;
|
||||
/// Aktion-Typen im Scan-Audit-Log. * `Scan` / `Unscan` verändern die `scanned_quantity` (+1 / -1). * `Hold` / `Unhold` ändern nur den Status, keine Menge. * `Remove` markiert die Position als entfernt (Status `Removed`, z. B. weil der Kunde sie nicht annimmt).
|
||||
/// Aktion-Typen im Scan-Audit-Log. * `Scan` / `Unscan` verändern die `scanned_quantity` (+1 / -1). * `Hold` / `Unhold` ändern nur den Status, keine Menge. * `Remove` markiert die Position als entfernt (Status `Removed`, z. B. weil der Kunde sie nicht annimmt). * `Unremove` hebt ein `Remove` wieder auf — die Position landet zurück in `InProgress` (oder `Done`, falls die `scanned_quantity` schon `required_quantity` erreicht hatte). Der ursprüngliche `Remove`-Audit-Eintrag bleibt unangetastet; das `Unremove` erzeugt einen eigenen Audit-Eintrag — die Historie bleibt vollständig.
|
||||
@BuiltValueEnumConst(wireName: r'unscan')
|
||||
static const AuditAction unscan = _$unscan;
|
||||
/// Aktion-Typen im Scan-Audit-Log. * `Scan` / `Unscan` verändern die `scanned_quantity` (+1 / -1). * `Hold` / `Unhold` ändern nur den Status, keine Menge. * `Remove` markiert die Position als entfernt (Status `Removed`, z. B. weil der Kunde sie nicht annimmt).
|
||||
/// Aktion-Typen im Scan-Audit-Log. * `Scan` / `Unscan` verändern die `scanned_quantity` (+1 / -1). * `Hold` / `Unhold` ändern nur den Status, keine Menge. * `Remove` markiert die Position als entfernt (Status `Removed`, z. B. weil der Kunde sie nicht annimmt). * `Unremove` hebt ein `Remove` wieder auf — die Position landet zurück in `InProgress` (oder `Done`, falls die `scanned_quantity` schon `required_quantity` erreicht hatte). Der ursprüngliche `Remove`-Audit-Eintrag bleibt unangetastet; das `Unremove` erzeugt einen eigenen Audit-Eintrag — die Historie bleibt vollständig.
|
||||
@BuiltValueEnumConst(wireName: r'hold')
|
||||
static const AuditAction hold = _$hold;
|
||||
/// Aktion-Typen im Scan-Audit-Log. * `Scan` / `Unscan` verändern die `scanned_quantity` (+1 / -1). * `Hold` / `Unhold` ändern nur den Status, keine Menge. * `Remove` markiert die Position als entfernt (Status `Removed`, z. B. weil der Kunde sie nicht annimmt).
|
||||
/// Aktion-Typen im Scan-Audit-Log. * `Scan` / `Unscan` verändern die `scanned_quantity` (+1 / -1). * `Hold` / `Unhold` ändern nur den Status, keine Menge. * `Remove` markiert die Position als entfernt (Status `Removed`, z. B. weil der Kunde sie nicht annimmt). * `Unremove` hebt ein `Remove` wieder auf — die Position landet zurück in `InProgress` (oder `Done`, falls die `scanned_quantity` schon `required_quantity` erreicht hatte). Der ursprüngliche `Remove`-Audit-Eintrag bleibt unangetastet; das `Unremove` erzeugt einen eigenen Audit-Eintrag — die Historie bleibt vollständig.
|
||||
@BuiltValueEnumConst(wireName: r'unhold')
|
||||
static const AuditAction unhold = _$unhold;
|
||||
/// Aktion-Typen im Scan-Audit-Log. * `Scan` / `Unscan` verändern die `scanned_quantity` (+1 / -1). * `Hold` / `Unhold` ändern nur den Status, keine Menge. * `Remove` markiert die Position als entfernt (Status `Removed`, z. B. weil der Kunde sie nicht annimmt).
|
||||
/// Aktion-Typen im Scan-Audit-Log. * `Scan` / `Unscan` verändern die `scanned_quantity` (+1 / -1). * `Hold` / `Unhold` ändern nur den Status, keine Menge. * `Remove` markiert die Position als entfernt (Status `Removed`, z. B. weil der Kunde sie nicht annimmt). * `Unremove` hebt ein `Remove` wieder auf — die Position landet zurück in `InProgress` (oder `Done`, falls die `scanned_quantity` schon `required_quantity` erreicht hatte). Der ursprüngliche `Remove`-Audit-Eintrag bleibt unangetastet; das `Unremove` erzeugt einen eigenen Audit-Eintrag — die Historie bleibt vollständig.
|
||||
@BuiltValueEnumConst(wireName: r'remove')
|
||||
static const AuditAction remove = _$remove;
|
||||
/// Aktion-Typen im Scan-Audit-Log. * `Scan` / `Unscan` verändern die `scanned_quantity` (+1 / -1). * `Hold` / `Unhold` ändern nur den Status, keine Menge. * `Remove` markiert die Position als entfernt (Status `Removed`, z. B. weil der Kunde sie nicht annimmt). * `Unremove` hebt ein `Remove` wieder auf — die Position landet zurück in `InProgress` (oder `Done`, falls die `scanned_quantity` schon `required_quantity` erreicht hatte). Der ursprüngliche `Remove`-Audit-Eintrag bleibt unangetastet; das `Unremove` erzeugt einen eigenen Audit-Eintrag — die Historie bleibt vollständig.
|
||||
@BuiltValueEnumConst(wireName: r'unremove')
|
||||
static const AuditAction unremove = _$unremove;
|
||||
|
||||
static Serializer<AuditAction> get serializer => _$auditActionSerializer;
|
||||
|
||||
|
||||
@ -11,6 +11,7 @@ const AuditAction _$unscan = const AuditAction._('unscan');
|
||||
const AuditAction _$hold = const AuditAction._('hold');
|
||||
const AuditAction _$unhold = const AuditAction._('unhold');
|
||||
const AuditAction _$remove = const AuditAction._('remove');
|
||||
const AuditAction _$unremove = const AuditAction._('unremove');
|
||||
|
||||
AuditAction _$valueOf(String name) {
|
||||
switch (name) {
|
||||
@ -24,6 +25,8 @@ AuditAction _$valueOf(String name) {
|
||||
return _$unhold;
|
||||
case 'remove':
|
||||
return _$remove;
|
||||
case 'unremove':
|
||||
return _$unremove;
|
||||
default:
|
||||
throw ArgumentError(name);
|
||||
}
|
||||
@ -36,6 +39,7 @@ final BuiltSet<AuditAction> _$values =
|
||||
_$hold,
|
||||
_$unhold,
|
||||
_$remove,
|
||||
_$unremove,
|
||||
]);
|
||||
|
||||
class _$AuditActionMeta {
|
||||
@ -45,6 +49,7 @@ class _$AuditActionMeta {
|
||||
AuditAction get hold => _$hold;
|
||||
AuditAction get unhold => _$unhold;
|
||||
AuditAction get remove => _$remove;
|
||||
AuditAction get unremove => _$unremove;
|
||||
AuditAction valueOf(String name) => _$valueOf(name);
|
||||
BuiltSet<AuditAction> get values => _$values;
|
||||
}
|
||||
@ -63,6 +68,7 @@ class _$AuditActionSerializer implements PrimitiveSerializer<AuditAction> {
|
||||
'hold': 'hold',
|
||||
'unhold': 'unhold',
|
||||
'remove': 'remove',
|
||||
'unremove': 'unremove',
|
||||
};
|
||||
static const Map<Object, String> _fromWire = const <Object, String>{
|
||||
'scan': 'scan',
|
||||
@ -70,6 +76,7 @@ class _$AuditActionSerializer implements PrimitiveSerializer<AuditAction> {
|
||||
'hold': 'hold',
|
||||
'unhold': 'unhold',
|
||||
'remove': 'remove',
|
||||
'unremove': 'unremove',
|
||||
};
|
||||
|
||||
@override
|
||||
|
||||
@ -0,0 +1,205 @@
|
||||
//
|
||||
// AUTO-GENERATED FILE, DO NOT MODIFY!
|
||||
//
|
||||
|
||||
// ignore_for_file: unused_element
|
||||
import 'package:built_collection/built_collection.dart';
|
||||
import 'package:built_value/built_value.dart';
|
||||
import 'package:built_value/serializer.dart';
|
||||
|
||||
part 'complete_delivery_acknowledgements.g.dart';
|
||||
|
||||
/// Dokumentierte Bestätigungen des Kunden zum Abschlusszeitpunkt.
|
||||
///
|
||||
/// Properties:
|
||||
/// * [acknowledgedNoteIds] - Notiz-IDs, die zum Abschlusszeitpunkt sichtbar waren und mit-bestätigt wurden (Audit-Robustheit).
|
||||
/// * [authorCarId] - Fahrzeug des Akteurs (Audit-Spur). Muss zum Account gehören.
|
||||
/// * [notesAcknowledged] - „Anmerkungen zur Lieferung zur Kenntnis genommen.\" — Pflicht nur, wenn Notizen existieren (das prüft der Server).
|
||||
/// * [paymentCollected] - Inkasso-Bestätigung des Fahrers: „der offene Betrag wurde erhalten (bar) bzw. über das EC-Gerät abgerechnet.\" Pflicht nur, wenn beim Abschluss ein offener Betrag > 0 besteht UND die Methode ein Vor-Ort- Inkasso ist (Bar/EC) — das prüft der Server. Der kassierte Betrag wird server-seitig autoritativ berechnet (nicht vom Client übernommen).
|
||||
/// * [paymentMethodId] - Optionale Zahlungsmethode, die der Fahrer beim Abschluss gewählt hat. `None` = die am Beleg hinterlegte Methode bleibt. Falls gesetzt, muss sie existieren **und** aktiv sein (vom Server geprüft).
|
||||
/// * [receiptConfirmed] - „Ware im ordnungsgemäßen Zustand erhalten / Aufbau korrekt.\" — Pflicht.
|
||||
@BuiltValue()
|
||||
abstract class CompleteDeliveryAcknowledgements implements Built<CompleteDeliveryAcknowledgements, CompleteDeliveryAcknowledgementsBuilder> {
|
||||
/// Notiz-IDs, die zum Abschlusszeitpunkt sichtbar waren und mit-bestätigt wurden (Audit-Robustheit).
|
||||
@BuiltValueField(wireName: r'acknowledgedNoteIds')
|
||||
BuiltList<String>? get acknowledgedNoteIds;
|
||||
|
||||
/// Fahrzeug des Akteurs (Audit-Spur). Muss zum Account gehören.
|
||||
@BuiltValueField(wireName: r'authorCarId')
|
||||
String? get authorCarId;
|
||||
|
||||
/// „Anmerkungen zur Lieferung zur Kenntnis genommen.\" — Pflicht nur, wenn Notizen existieren (das prüft der Server).
|
||||
@BuiltValueField(wireName: r'notesAcknowledged')
|
||||
bool? get notesAcknowledged;
|
||||
|
||||
/// Inkasso-Bestätigung des Fahrers: „der offene Betrag wurde erhalten (bar) bzw. über das EC-Gerät abgerechnet.\" Pflicht nur, wenn beim Abschluss ein offener Betrag > 0 besteht UND die Methode ein Vor-Ort- Inkasso ist (Bar/EC) — das prüft der Server. Der kassierte Betrag wird server-seitig autoritativ berechnet (nicht vom Client übernommen).
|
||||
@BuiltValueField(wireName: r'paymentCollected')
|
||||
bool? get paymentCollected;
|
||||
|
||||
/// Optionale Zahlungsmethode, die der Fahrer beim Abschluss gewählt hat. `None` = die am Beleg hinterlegte Methode bleibt. Falls gesetzt, muss sie existieren **und** aktiv sein (vom Server geprüft).
|
||||
@BuiltValueField(wireName: r'paymentMethodId')
|
||||
String? get paymentMethodId;
|
||||
|
||||
/// „Ware im ordnungsgemäßen Zustand erhalten / Aufbau korrekt.\" — Pflicht.
|
||||
@BuiltValueField(wireName: r'receiptConfirmed')
|
||||
bool get receiptConfirmed;
|
||||
|
||||
CompleteDeliveryAcknowledgements._();
|
||||
|
||||
factory CompleteDeliveryAcknowledgements([void updates(CompleteDeliveryAcknowledgementsBuilder b)]) = _$CompleteDeliveryAcknowledgements;
|
||||
|
||||
@BuiltValueHook(initializeBuilder: true)
|
||||
static void _defaults(CompleteDeliveryAcknowledgementsBuilder b) => b;
|
||||
|
||||
@BuiltValueSerializer(custom: true)
|
||||
static Serializer<CompleteDeliveryAcknowledgements> get serializer => _$CompleteDeliveryAcknowledgementsSerializer();
|
||||
}
|
||||
|
||||
class _$CompleteDeliveryAcknowledgementsSerializer implements PrimitiveSerializer<CompleteDeliveryAcknowledgements> {
|
||||
@override
|
||||
final Iterable<Type> types = const [CompleteDeliveryAcknowledgements, _$CompleteDeliveryAcknowledgements];
|
||||
|
||||
@override
|
||||
final String wireName = r'CompleteDeliveryAcknowledgements';
|
||||
|
||||
Iterable<Object?> _serializeProperties(
|
||||
Serializers serializers,
|
||||
CompleteDeliveryAcknowledgements object, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) sync* {
|
||||
if (object.acknowledgedNoteIds != null) {
|
||||
yield r'acknowledgedNoteIds';
|
||||
yield serializers.serialize(
|
||||
object.acknowledgedNoteIds,
|
||||
specifiedType: const FullType(BuiltList, [FullType(String)]),
|
||||
);
|
||||
}
|
||||
if (object.authorCarId != null) {
|
||||
yield r'authorCarId';
|
||||
yield serializers.serialize(
|
||||
object.authorCarId,
|
||||
specifiedType: const FullType.nullable(String),
|
||||
);
|
||||
}
|
||||
if (object.notesAcknowledged != null) {
|
||||
yield r'notesAcknowledged';
|
||||
yield serializers.serialize(
|
||||
object.notesAcknowledged,
|
||||
specifiedType: const FullType(bool),
|
||||
);
|
||||
}
|
||||
if (object.paymentCollected != null) {
|
||||
yield r'paymentCollected';
|
||||
yield serializers.serialize(
|
||||
object.paymentCollected,
|
||||
specifiedType: const FullType(bool),
|
||||
);
|
||||
}
|
||||
if (object.paymentMethodId != null) {
|
||||
yield r'paymentMethodId';
|
||||
yield serializers.serialize(
|
||||
object.paymentMethodId,
|
||||
specifiedType: const FullType.nullable(String),
|
||||
);
|
||||
}
|
||||
yield r'receiptConfirmed';
|
||||
yield serializers.serialize(
|
||||
object.receiptConfirmed,
|
||||
specifiedType: const FullType(bool),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Object serialize(
|
||||
Serializers serializers,
|
||||
CompleteDeliveryAcknowledgements 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 CompleteDeliveryAcknowledgementsBuilder 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'acknowledgedNoteIds':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(BuiltList, [FullType(String)]),
|
||||
) as BuiltList<String>;
|
||||
result.acknowledgedNoteIds.replace(valueDes);
|
||||
break;
|
||||
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'notesAcknowledged':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(bool),
|
||||
) as bool;
|
||||
result.notesAcknowledged = valueDes;
|
||||
break;
|
||||
case r'paymentCollected':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(bool),
|
||||
) as bool;
|
||||
result.paymentCollected = valueDes;
|
||||
break;
|
||||
case r'paymentMethodId':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType.nullable(String),
|
||||
) as String?;
|
||||
if (valueDes == null) continue;
|
||||
result.paymentMethodId = valueDes;
|
||||
break;
|
||||
case r'receiptConfirmed':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(bool),
|
||||
) as bool;
|
||||
result.receiptConfirmed = valueDes;
|
||||
break;
|
||||
default:
|
||||
unhandled.add(key);
|
||||
unhandled.add(value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
CompleteDeliveryAcknowledgements deserialize(
|
||||
Serializers serializers,
|
||||
Object serialized, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) {
|
||||
final result = CompleteDeliveryAcknowledgementsBuilder();
|
||||
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,181 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'complete_delivery_acknowledgements.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// BuiltValueGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class _$CompleteDeliveryAcknowledgements
|
||||
extends CompleteDeliveryAcknowledgements {
|
||||
@override
|
||||
final BuiltList<String>? acknowledgedNoteIds;
|
||||
@override
|
||||
final String? authorCarId;
|
||||
@override
|
||||
final bool? notesAcknowledged;
|
||||
@override
|
||||
final bool? paymentCollected;
|
||||
@override
|
||||
final String? paymentMethodId;
|
||||
@override
|
||||
final bool receiptConfirmed;
|
||||
|
||||
factory _$CompleteDeliveryAcknowledgements(
|
||||
[void Function(CompleteDeliveryAcknowledgementsBuilder)? updates]) =>
|
||||
(CompleteDeliveryAcknowledgementsBuilder()..update(updates))._build();
|
||||
|
||||
_$CompleteDeliveryAcknowledgements._(
|
||||
{this.acknowledgedNoteIds,
|
||||
this.authorCarId,
|
||||
this.notesAcknowledged,
|
||||
this.paymentCollected,
|
||||
this.paymentMethodId,
|
||||
required this.receiptConfirmed})
|
||||
: super._();
|
||||
@override
|
||||
CompleteDeliveryAcknowledgements rebuild(
|
||||
void Function(CompleteDeliveryAcknowledgementsBuilder) updates) =>
|
||||
(toBuilder()..update(updates)).build();
|
||||
|
||||
@override
|
||||
CompleteDeliveryAcknowledgementsBuilder toBuilder() =>
|
||||
CompleteDeliveryAcknowledgementsBuilder()..replace(this);
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
if (identical(other, this)) return true;
|
||||
return other is CompleteDeliveryAcknowledgements &&
|
||||
acknowledgedNoteIds == other.acknowledgedNoteIds &&
|
||||
authorCarId == other.authorCarId &&
|
||||
notesAcknowledged == other.notesAcknowledged &&
|
||||
paymentCollected == other.paymentCollected &&
|
||||
paymentMethodId == other.paymentMethodId &&
|
||||
receiptConfirmed == other.receiptConfirmed;
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode {
|
||||
var _$hash = 0;
|
||||
_$hash = $jc(_$hash, acknowledgedNoteIds.hashCode);
|
||||
_$hash = $jc(_$hash, authorCarId.hashCode);
|
||||
_$hash = $jc(_$hash, notesAcknowledged.hashCode);
|
||||
_$hash = $jc(_$hash, paymentCollected.hashCode);
|
||||
_$hash = $jc(_$hash, paymentMethodId.hashCode);
|
||||
_$hash = $jc(_$hash, receiptConfirmed.hashCode);
|
||||
_$hash = $jf(_$hash);
|
||||
return _$hash;
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return (newBuiltValueToStringHelper(r'CompleteDeliveryAcknowledgements')
|
||||
..add('acknowledgedNoteIds', acknowledgedNoteIds)
|
||||
..add('authorCarId', authorCarId)
|
||||
..add('notesAcknowledged', notesAcknowledged)
|
||||
..add('paymentCollected', paymentCollected)
|
||||
..add('paymentMethodId', paymentMethodId)
|
||||
..add('receiptConfirmed', receiptConfirmed))
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
||||
class CompleteDeliveryAcknowledgementsBuilder
|
||||
implements
|
||||
Builder<CompleteDeliveryAcknowledgements,
|
||||
CompleteDeliveryAcknowledgementsBuilder> {
|
||||
_$CompleteDeliveryAcknowledgements? _$v;
|
||||
|
||||
ListBuilder<String>? _acknowledgedNoteIds;
|
||||
ListBuilder<String> get acknowledgedNoteIds =>
|
||||
_$this._acknowledgedNoteIds ??= ListBuilder<String>();
|
||||
set acknowledgedNoteIds(ListBuilder<String>? acknowledgedNoteIds) =>
|
||||
_$this._acknowledgedNoteIds = acknowledgedNoteIds;
|
||||
|
||||
String? _authorCarId;
|
||||
String? get authorCarId => _$this._authorCarId;
|
||||
set authorCarId(String? authorCarId) => _$this._authorCarId = authorCarId;
|
||||
|
||||
bool? _notesAcknowledged;
|
||||
bool? get notesAcknowledged => _$this._notesAcknowledged;
|
||||
set notesAcknowledged(bool? notesAcknowledged) =>
|
||||
_$this._notesAcknowledged = notesAcknowledged;
|
||||
|
||||
bool? _paymentCollected;
|
||||
bool? get paymentCollected => _$this._paymentCollected;
|
||||
set paymentCollected(bool? paymentCollected) =>
|
||||
_$this._paymentCollected = paymentCollected;
|
||||
|
||||
String? _paymentMethodId;
|
||||
String? get paymentMethodId => _$this._paymentMethodId;
|
||||
set paymentMethodId(String? paymentMethodId) =>
|
||||
_$this._paymentMethodId = paymentMethodId;
|
||||
|
||||
bool? _receiptConfirmed;
|
||||
bool? get receiptConfirmed => _$this._receiptConfirmed;
|
||||
set receiptConfirmed(bool? receiptConfirmed) =>
|
||||
_$this._receiptConfirmed = receiptConfirmed;
|
||||
|
||||
CompleteDeliveryAcknowledgementsBuilder() {
|
||||
CompleteDeliveryAcknowledgements._defaults(this);
|
||||
}
|
||||
|
||||
CompleteDeliveryAcknowledgementsBuilder get _$this {
|
||||
final $v = _$v;
|
||||
if ($v != null) {
|
||||
_acknowledgedNoteIds = $v.acknowledgedNoteIds?.toBuilder();
|
||||
_authorCarId = $v.authorCarId;
|
||||
_notesAcknowledged = $v.notesAcknowledged;
|
||||
_paymentCollected = $v.paymentCollected;
|
||||
_paymentMethodId = $v.paymentMethodId;
|
||||
_receiptConfirmed = $v.receiptConfirmed;
|
||||
_$v = null;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
@override
|
||||
void replace(CompleteDeliveryAcknowledgements other) {
|
||||
_$v = other as _$CompleteDeliveryAcknowledgements;
|
||||
}
|
||||
|
||||
@override
|
||||
void update(void Function(CompleteDeliveryAcknowledgementsBuilder)? updates) {
|
||||
if (updates != null) updates(this);
|
||||
}
|
||||
|
||||
@override
|
||||
CompleteDeliveryAcknowledgements build() => _build();
|
||||
|
||||
_$CompleteDeliveryAcknowledgements _build() {
|
||||
_$CompleteDeliveryAcknowledgements _$result;
|
||||
try {
|
||||
_$result = _$v ??
|
||||
_$CompleteDeliveryAcknowledgements._(
|
||||
acknowledgedNoteIds: _acknowledgedNoteIds?.build(),
|
||||
authorCarId: authorCarId,
|
||||
notesAcknowledged: notesAcknowledged,
|
||||
paymentCollected: paymentCollected,
|
||||
paymentMethodId: paymentMethodId,
|
||||
receiptConfirmed: BuiltValueNullFieldError.checkNotNull(
|
||||
receiptConfirmed,
|
||||
r'CompleteDeliveryAcknowledgements',
|
||||
'receiptConfirmed'),
|
||||
);
|
||||
} catch (_) {
|
||||
late String _$failedField;
|
||||
try {
|
||||
_$failedField = 'acknowledgedNoteIds';
|
||||
_acknowledgedNoteIds?.build();
|
||||
} catch (e) {
|
||||
throw BuiltValueNestedFieldError(
|
||||
r'CompleteDeliveryAcknowledgements', _$failedField, e.toString());
|
||||
}
|
||||
rethrow;
|
||||
}
|
||||
replace(_$result);
|
||||
return _$result;
|
||||
}
|
||||
}
|
||||
|
||||
// ignore_for_file: deprecated_member_use_from_same_package,type=lint
|
||||
172
packages/holzleitner_api/lib/src/model/contact_channel.dart
Normal file
172
packages/holzleitner_api/lib/src/model/contact_channel.dart
Normal file
@ -0,0 +1,172 @@
|
||||
//
|
||||
// AUTO-GENERATED FILE, DO NOT MODIFY!
|
||||
//
|
||||
|
||||
// ignore_for_file: unused_element
|
||||
import 'package:holzleitner_api/src/model/contact_kind.dart';
|
||||
import 'package:built_value/built_value.dart';
|
||||
import 'package:built_value/serializer.dart';
|
||||
|
||||
part 'contact_channel.g.dart';
|
||||
|
||||
/// Ein einzelner Kontaktkanal (Telefonnummer / Mobil / E-Mail / Web). Mehrere pro [`ContactSource`] möglich, die `position` hält die 1-basierte ERP-Reihenfolge (`Telefon` → 1, `Telefon2` → 2 usw.) fest, damit der „primäre\" Kanal je Art stabil identifizierbar bleibt.
|
||||
///
|
||||
/// Properties:
|
||||
/// * [id]
|
||||
/// * [kind]
|
||||
/// * [position]
|
||||
/// * [sourceId]
|
||||
/// * [value]
|
||||
@BuiltValue()
|
||||
abstract class ContactChannel implements Built<ContactChannel, ContactChannelBuilder> {
|
||||
@BuiltValueField(wireName: r'id')
|
||||
String get id;
|
||||
|
||||
@BuiltValueField(wireName: r'kind')
|
||||
ContactKind get kind;
|
||||
// enum kindEnum { phone, mobile, email, web, };
|
||||
|
||||
@BuiltValueField(wireName: r'position')
|
||||
int get position;
|
||||
|
||||
@BuiltValueField(wireName: r'sourceId')
|
||||
String get sourceId;
|
||||
|
||||
@BuiltValueField(wireName: r'value')
|
||||
String get value;
|
||||
|
||||
ContactChannel._();
|
||||
|
||||
factory ContactChannel([void updates(ContactChannelBuilder b)]) = _$ContactChannel;
|
||||
|
||||
@BuiltValueHook(initializeBuilder: true)
|
||||
static void _defaults(ContactChannelBuilder b) => b;
|
||||
|
||||
@BuiltValueSerializer(custom: true)
|
||||
static Serializer<ContactChannel> get serializer => _$ContactChannelSerializer();
|
||||
}
|
||||
|
||||
class _$ContactChannelSerializer implements PrimitiveSerializer<ContactChannel> {
|
||||
@override
|
||||
final Iterable<Type> types = const [ContactChannel, _$ContactChannel];
|
||||
|
||||
@override
|
||||
final String wireName = r'ContactChannel';
|
||||
|
||||
Iterable<Object?> _serializeProperties(
|
||||
Serializers serializers,
|
||||
ContactChannel object, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) sync* {
|
||||
yield r'id';
|
||||
yield serializers.serialize(
|
||||
object.id,
|
||||
specifiedType: const FullType(String),
|
||||
);
|
||||
yield r'kind';
|
||||
yield serializers.serialize(
|
||||
object.kind,
|
||||
specifiedType: const FullType(ContactKind),
|
||||
);
|
||||
yield r'position';
|
||||
yield serializers.serialize(
|
||||
object.position,
|
||||
specifiedType: const FullType(int),
|
||||
);
|
||||
yield r'sourceId';
|
||||
yield serializers.serialize(
|
||||
object.sourceId,
|
||||
specifiedType: const FullType(String),
|
||||
);
|
||||
yield r'value';
|
||||
yield serializers.serialize(
|
||||
object.value,
|
||||
specifiedType: const FullType(String),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Object serialize(
|
||||
Serializers serializers,
|
||||
ContactChannel 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 ContactChannelBuilder 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'id':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(String),
|
||||
) as String;
|
||||
result.id = valueDes;
|
||||
break;
|
||||
case r'kind':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(ContactKind),
|
||||
) as ContactKind;
|
||||
result.kind = valueDes;
|
||||
break;
|
||||
case r'position':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(int),
|
||||
) as int;
|
||||
result.position = valueDes;
|
||||
break;
|
||||
case r'sourceId':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(String),
|
||||
) as String;
|
||||
result.sourceId = valueDes;
|
||||
break;
|
||||
case r'value':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(String),
|
||||
) as String;
|
||||
result.value = valueDes;
|
||||
break;
|
||||
default:
|
||||
unhandled.add(key);
|
||||
unhandled.add(value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
ContactChannel deserialize(
|
||||
Serializers serializers,
|
||||
Object serialized, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) {
|
||||
final result = ContactChannelBuilder();
|
||||
final serializedList = (serialized as Iterable<Object?>).toList();
|
||||
final unhandled = <Object?>[];
|
||||
_deserializeProperties(
|
||||
serializers,
|
||||
serialized,
|
||||
specifiedType: specifiedType,
|
||||
serializedList: serializedList,
|
||||
unhandled: unhandled,
|
||||
result: result,
|
||||
);
|
||||
return result.build();
|
||||
}
|
||||
}
|
||||
|
||||
146
packages/holzleitner_api/lib/src/model/contact_channel.g.dart
Normal file
146
packages/holzleitner_api/lib/src/model/contact_channel.g.dart
Normal file
@ -0,0 +1,146 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'contact_channel.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// BuiltValueGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class _$ContactChannel extends ContactChannel {
|
||||
@override
|
||||
final String id;
|
||||
@override
|
||||
final ContactKind kind;
|
||||
@override
|
||||
final int position;
|
||||
@override
|
||||
final String sourceId;
|
||||
@override
|
||||
final String value;
|
||||
|
||||
factory _$ContactChannel([void Function(ContactChannelBuilder)? updates]) =>
|
||||
(ContactChannelBuilder()..update(updates))._build();
|
||||
|
||||
_$ContactChannel._(
|
||||
{required this.id,
|
||||
required this.kind,
|
||||
required this.position,
|
||||
required this.sourceId,
|
||||
required this.value})
|
||||
: super._();
|
||||
@override
|
||||
ContactChannel rebuild(void Function(ContactChannelBuilder) updates) =>
|
||||
(toBuilder()..update(updates)).build();
|
||||
|
||||
@override
|
||||
ContactChannelBuilder toBuilder() => ContactChannelBuilder()..replace(this);
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
if (identical(other, this)) return true;
|
||||
return other is ContactChannel &&
|
||||
id == other.id &&
|
||||
kind == other.kind &&
|
||||
position == other.position &&
|
||||
sourceId == other.sourceId &&
|
||||
value == other.value;
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode {
|
||||
var _$hash = 0;
|
||||
_$hash = $jc(_$hash, id.hashCode);
|
||||
_$hash = $jc(_$hash, kind.hashCode);
|
||||
_$hash = $jc(_$hash, position.hashCode);
|
||||
_$hash = $jc(_$hash, sourceId.hashCode);
|
||||
_$hash = $jc(_$hash, value.hashCode);
|
||||
_$hash = $jf(_$hash);
|
||||
return _$hash;
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return (newBuiltValueToStringHelper(r'ContactChannel')
|
||||
..add('id', id)
|
||||
..add('kind', kind)
|
||||
..add('position', position)
|
||||
..add('sourceId', sourceId)
|
||||
..add('value', value))
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
||||
class ContactChannelBuilder
|
||||
implements Builder<ContactChannel, ContactChannelBuilder> {
|
||||
_$ContactChannel? _$v;
|
||||
|
||||
String? _id;
|
||||
String? get id => _$this._id;
|
||||
set id(String? id) => _$this._id = id;
|
||||
|
||||
ContactKind? _kind;
|
||||
ContactKind? get kind => _$this._kind;
|
||||
set kind(ContactKind? kind) => _$this._kind = kind;
|
||||
|
||||
int? _position;
|
||||
int? get position => _$this._position;
|
||||
set position(int? position) => _$this._position = position;
|
||||
|
||||
String? _sourceId;
|
||||
String? get sourceId => _$this._sourceId;
|
||||
set sourceId(String? sourceId) => _$this._sourceId = sourceId;
|
||||
|
||||
String? _value;
|
||||
String? get value => _$this._value;
|
||||
set value(String? value) => _$this._value = value;
|
||||
|
||||
ContactChannelBuilder() {
|
||||
ContactChannel._defaults(this);
|
||||
}
|
||||
|
||||
ContactChannelBuilder get _$this {
|
||||
final $v = _$v;
|
||||
if ($v != null) {
|
||||
_id = $v.id;
|
||||
_kind = $v.kind;
|
||||
_position = $v.position;
|
||||
_sourceId = $v.sourceId;
|
||||
_value = $v.value;
|
||||
_$v = null;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
@override
|
||||
void replace(ContactChannel other) {
|
||||
_$v = other as _$ContactChannel;
|
||||
}
|
||||
|
||||
@override
|
||||
void update(void Function(ContactChannelBuilder)? updates) {
|
||||
if (updates != null) updates(this);
|
||||
}
|
||||
|
||||
@override
|
||||
ContactChannel build() => _build();
|
||||
|
||||
_$ContactChannel _build() {
|
||||
final _$result = _$v ??
|
||||
_$ContactChannel._(
|
||||
id: BuiltValueNullFieldError.checkNotNull(
|
||||
id, r'ContactChannel', 'id'),
|
||||
kind: BuiltValueNullFieldError.checkNotNull(
|
||||
kind, r'ContactChannel', 'kind'),
|
||||
position: BuiltValueNullFieldError.checkNotNull(
|
||||
position, r'ContactChannel', 'position'),
|
||||
sourceId: BuiltValueNullFieldError.checkNotNull(
|
||||
sourceId, r'ContactChannel', 'sourceId'),
|
||||
value: BuiltValueNullFieldError.checkNotNull(
|
||||
value, r'ContactChannel', 'value'),
|
||||
);
|
||||
replace(_$result);
|
||||
return _$result;
|
||||
}
|
||||
}
|
||||
|
||||
// ignore_for_file: deprecated_member_use_from_same_package,type=lint
|
||||
42
packages/holzleitner_api/lib/src/model/contact_kind.dart
Normal file
42
packages/holzleitner_api/lib/src/model/contact_kind.dart
Normal file
@ -0,0 +1,42 @@
|
||||
//
|
||||
// AUTO-GENERATED FILE, DO NOT MODIFY!
|
||||
//
|
||||
|
||||
// ignore_for_file: unused_element
|
||||
import 'package:built_collection/built_collection.dart';
|
||||
import 'package:built_value/built_value.dart';
|
||||
import 'package:built_value/serializer.dart';
|
||||
|
||||
part 'contact_kind.g.dart';
|
||||
|
||||
class ContactKind extends EnumClass {
|
||||
|
||||
/// Art eines Kommunikationskanals. `fax` bewusst nicht mitgeführt — in der App nicht verwendet.
|
||||
@BuiltValueEnumConst(wireName: r'phone')
|
||||
static const ContactKind phone = _$phone;
|
||||
/// Art eines Kommunikationskanals. `fax` bewusst nicht mitgeführt — in der App nicht verwendet.
|
||||
@BuiltValueEnumConst(wireName: r'mobile')
|
||||
static const ContactKind mobile = _$mobile;
|
||||
/// Art eines Kommunikationskanals. `fax` bewusst nicht mitgeführt — in der App nicht verwendet.
|
||||
@BuiltValueEnumConst(wireName: r'email')
|
||||
static const ContactKind email = _$email;
|
||||
/// Art eines Kommunikationskanals. `fax` bewusst nicht mitgeführt — in der App nicht verwendet.
|
||||
@BuiltValueEnumConst(wireName: r'web')
|
||||
static const ContactKind web = _$web;
|
||||
|
||||
static Serializer<ContactKind> get serializer => _$contactKindSerializer;
|
||||
|
||||
const ContactKind._(String name): super(name);
|
||||
|
||||
static BuiltSet<ContactKind> get values => _$values;
|
||||
static ContactKind valueOf(String name) => _$valueOf(name);
|
||||
}
|
||||
|
||||
/// Optionally, enum_class can generate a mixin to go with your enum for use
|
||||
/// with Angular. It exposes your enum constants as getters. So, if you mix it
|
||||
/// in to your Dart component class, the values become available to the
|
||||
/// corresponding Angular template.
|
||||
///
|
||||
/// Trigger mixin generation by writing a line like this one next to your enum.
|
||||
abstract class ContactKindMixin = Object with _$ContactKindMixin;
|
||||
|
||||
85
packages/holzleitner_api/lib/src/model/contact_kind.g.dart
Normal file
85
packages/holzleitner_api/lib/src/model/contact_kind.g.dart
Normal file
@ -0,0 +1,85 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'contact_kind.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// BuiltValueGenerator
|
||||
// **************************************************************************
|
||||
|
||||
const ContactKind _$phone = const ContactKind._('phone');
|
||||
const ContactKind _$mobile = const ContactKind._('mobile');
|
||||
const ContactKind _$email = const ContactKind._('email');
|
||||
const ContactKind _$web = const ContactKind._('web');
|
||||
|
||||
ContactKind _$valueOf(String name) {
|
||||
switch (name) {
|
||||
case 'phone':
|
||||
return _$phone;
|
||||
case 'mobile':
|
||||
return _$mobile;
|
||||
case 'email':
|
||||
return _$email;
|
||||
case 'web':
|
||||
return _$web;
|
||||
default:
|
||||
throw ArgumentError(name);
|
||||
}
|
||||
}
|
||||
|
||||
final BuiltSet<ContactKind> _$values =
|
||||
BuiltSet<ContactKind>(const <ContactKind>[
|
||||
_$phone,
|
||||
_$mobile,
|
||||
_$email,
|
||||
_$web,
|
||||
]);
|
||||
|
||||
class _$ContactKindMeta {
|
||||
const _$ContactKindMeta();
|
||||
ContactKind get phone => _$phone;
|
||||
ContactKind get mobile => _$mobile;
|
||||
ContactKind get email => _$email;
|
||||
ContactKind get web => _$web;
|
||||
ContactKind valueOf(String name) => _$valueOf(name);
|
||||
BuiltSet<ContactKind> get values => _$values;
|
||||
}
|
||||
|
||||
abstract class _$ContactKindMixin {
|
||||
// ignore: non_constant_identifier_names
|
||||
_$ContactKindMeta get ContactKind => const _$ContactKindMeta();
|
||||
}
|
||||
|
||||
Serializer<ContactKind> _$contactKindSerializer = _$ContactKindSerializer();
|
||||
|
||||
class _$ContactKindSerializer implements PrimitiveSerializer<ContactKind> {
|
||||
static const Map<String, Object> _toWire = const <String, Object>{
|
||||
'phone': 'phone',
|
||||
'mobile': 'mobile',
|
||||
'email': 'email',
|
||||
'web': 'web',
|
||||
};
|
||||
static const Map<Object, String> _fromWire = const <Object, String>{
|
||||
'phone': 'phone',
|
||||
'mobile': 'mobile',
|
||||
'email': 'email',
|
||||
'web': 'web',
|
||||
};
|
||||
|
||||
@override
|
||||
final Iterable<Type> types = const <Type>[ContactKind];
|
||||
@override
|
||||
final String wireName = 'ContactKind';
|
||||
|
||||
@override
|
||||
Object serialize(Serializers serializers, ContactKind object,
|
||||
{FullType specifiedType = FullType.unspecified}) =>
|
||||
_toWire[object.name] ?? object.name;
|
||||
|
||||
@override
|
||||
ContactKind deserialize(Serializers serializers, Object serialized,
|
||||
{FullType specifiedType = FullType.unspecified}) =>
|
||||
ContactKind.valueOf(
|
||||
_fromWire[serialized] ?? (serialized is String ? serialized : ''));
|
||||
}
|
||||
|
||||
// ignore_for_file: deprecated_member_use_from_same_package,type=lint
|
||||
45
packages/holzleitner_api/lib/src/model/contact_role.dart
Normal file
45
packages/holzleitner_api/lib/src/model/contact_role.dart
Normal file
@ -0,0 +1,45 @@
|
||||
//
|
||||
// AUTO-GENERATED FILE, DO NOT MODIFY!
|
||||
//
|
||||
|
||||
// ignore_for_file: unused_element
|
||||
import 'package:built_collection/built_collection.dart';
|
||||
import 'package:built_value/built_value.dart';
|
||||
import 'package:built_value/serializer.dart';
|
||||
|
||||
part 'contact_role.g.dart';
|
||||
|
||||
class ContactRole extends EnumClass {
|
||||
|
||||
/// Rolle, mit der ein Kontakt-Datensatz an einer Lieferung hängt. Spiegelt die fünf Adress-FKs von `Belegkopf` (bzw. den Umweg über den Kunden): `header` = Belegadresse, `delivery` = Lieferadresse, `billing` = Rechnungsadresse, `contact_person` = Ansprechpartner, `customer_master` = Stammadresse des Kunden über `Kunden.AdressId`.
|
||||
@BuiltValueEnumConst(wireName: r'header')
|
||||
static const ContactRole header = _$header;
|
||||
/// Rolle, mit der ein Kontakt-Datensatz an einer Lieferung hängt. Spiegelt die fünf Adress-FKs von `Belegkopf` (bzw. den Umweg über den Kunden): `header` = Belegadresse, `delivery` = Lieferadresse, `billing` = Rechnungsadresse, `contact_person` = Ansprechpartner, `customer_master` = Stammadresse des Kunden über `Kunden.AdressId`.
|
||||
@BuiltValueEnumConst(wireName: r'delivery')
|
||||
static const ContactRole delivery = _$delivery;
|
||||
/// Rolle, mit der ein Kontakt-Datensatz an einer Lieferung hängt. Spiegelt die fünf Adress-FKs von `Belegkopf` (bzw. den Umweg über den Kunden): `header` = Belegadresse, `delivery` = Lieferadresse, `billing` = Rechnungsadresse, `contact_person` = Ansprechpartner, `customer_master` = Stammadresse des Kunden über `Kunden.AdressId`.
|
||||
@BuiltValueEnumConst(wireName: r'billing')
|
||||
static const ContactRole billing = _$billing;
|
||||
/// Rolle, mit der ein Kontakt-Datensatz an einer Lieferung hängt. Spiegelt die fünf Adress-FKs von `Belegkopf` (bzw. den Umweg über den Kunden): `header` = Belegadresse, `delivery` = Lieferadresse, `billing` = Rechnungsadresse, `contact_person` = Ansprechpartner, `customer_master` = Stammadresse des Kunden über `Kunden.AdressId`.
|
||||
@BuiltValueEnumConst(wireName: r'contact_person')
|
||||
static const ContactRole contactPerson = _$contactPerson;
|
||||
/// Rolle, mit der ein Kontakt-Datensatz an einer Lieferung hängt. Spiegelt die fünf Adress-FKs von `Belegkopf` (bzw. den Umweg über den Kunden): `header` = Belegadresse, `delivery` = Lieferadresse, `billing` = Rechnungsadresse, `contact_person` = Ansprechpartner, `customer_master` = Stammadresse des Kunden über `Kunden.AdressId`.
|
||||
@BuiltValueEnumConst(wireName: r'customer_master')
|
||||
static const ContactRole customerMaster = _$customerMaster;
|
||||
|
||||
static Serializer<ContactRole> get serializer => _$contactRoleSerializer;
|
||||
|
||||
const ContactRole._(String name): super(name);
|
||||
|
||||
static BuiltSet<ContactRole> get values => _$values;
|
||||
static ContactRole valueOf(String name) => _$valueOf(name);
|
||||
}
|
||||
|
||||
/// Optionally, enum_class can generate a mixin to go with your enum for use
|
||||
/// with Angular. It exposes your enum constants as getters. So, if you mix it
|
||||
/// in to your Dart component class, the values become available to the
|
||||
/// corresponding Angular template.
|
||||
///
|
||||
/// Trigger mixin generation by writing a line like this one next to your enum.
|
||||
abstract class ContactRoleMixin = Object with _$ContactRoleMixin;
|
||||
|
||||
92
packages/holzleitner_api/lib/src/model/contact_role.g.dart
Normal file
92
packages/holzleitner_api/lib/src/model/contact_role.g.dart
Normal file
@ -0,0 +1,92 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'contact_role.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// BuiltValueGenerator
|
||||
// **************************************************************************
|
||||
|
||||
const ContactRole _$header = const ContactRole._('header');
|
||||
const ContactRole _$delivery = const ContactRole._('delivery');
|
||||
const ContactRole _$billing = const ContactRole._('billing');
|
||||
const ContactRole _$contactPerson = const ContactRole._('contactPerson');
|
||||
const ContactRole _$customerMaster = const ContactRole._('customerMaster');
|
||||
|
||||
ContactRole _$valueOf(String name) {
|
||||
switch (name) {
|
||||
case 'header':
|
||||
return _$header;
|
||||
case 'delivery':
|
||||
return _$delivery;
|
||||
case 'billing':
|
||||
return _$billing;
|
||||
case 'contactPerson':
|
||||
return _$contactPerson;
|
||||
case 'customerMaster':
|
||||
return _$customerMaster;
|
||||
default:
|
||||
throw ArgumentError(name);
|
||||
}
|
||||
}
|
||||
|
||||
final BuiltSet<ContactRole> _$values =
|
||||
BuiltSet<ContactRole>(const <ContactRole>[
|
||||
_$header,
|
||||
_$delivery,
|
||||
_$billing,
|
||||
_$contactPerson,
|
||||
_$customerMaster,
|
||||
]);
|
||||
|
||||
class _$ContactRoleMeta {
|
||||
const _$ContactRoleMeta();
|
||||
ContactRole get header => _$header;
|
||||
ContactRole get delivery => _$delivery;
|
||||
ContactRole get billing => _$billing;
|
||||
ContactRole get contactPerson => _$contactPerson;
|
||||
ContactRole get customerMaster => _$customerMaster;
|
||||
ContactRole valueOf(String name) => _$valueOf(name);
|
||||
BuiltSet<ContactRole> get values => _$values;
|
||||
}
|
||||
|
||||
abstract class _$ContactRoleMixin {
|
||||
// ignore: non_constant_identifier_names
|
||||
_$ContactRoleMeta get ContactRole => const _$ContactRoleMeta();
|
||||
}
|
||||
|
||||
Serializer<ContactRole> _$contactRoleSerializer = _$ContactRoleSerializer();
|
||||
|
||||
class _$ContactRoleSerializer implements PrimitiveSerializer<ContactRole> {
|
||||
static const Map<String, Object> _toWire = const <String, Object>{
|
||||
'header': 'header',
|
||||
'delivery': 'delivery',
|
||||
'billing': 'billing',
|
||||
'contactPerson': 'contact_person',
|
||||
'customerMaster': 'customer_master',
|
||||
};
|
||||
static const Map<Object, String> _fromWire = const <Object, String>{
|
||||
'header': 'header',
|
||||
'delivery': 'delivery',
|
||||
'billing': 'billing',
|
||||
'contact_person': 'contactPerson',
|
||||
'customer_master': 'customerMaster',
|
||||
};
|
||||
|
||||
@override
|
||||
final Iterable<Type> types = const <Type>[ContactRole];
|
||||
@override
|
||||
final String wireName = 'ContactRole';
|
||||
|
||||
@override
|
||||
Object serialize(Serializers serializers, ContactRole object,
|
||||
{FullType specifiedType = FullType.unspecified}) =>
|
||||
_toWire[object.name] ?? object.name;
|
||||
|
||||
@override
|
||||
ContactRole deserialize(Serializers serializers, Object serialized,
|
||||
{FullType specifiedType = FullType.unspecified}) =>
|
||||
ContactRole.valueOf(
|
||||
_fromWire[serialized] ?? (serialized is String ? serialized : ''));
|
||||
}
|
||||
|
||||
// ignore_for_file: deprecated_member_use_from_same_package,type=lint
|
||||
273
packages/holzleitner_api/lib/src/model/contact_source.dart
Normal file
273
packages/holzleitner_api/lib/src/model/contact_source.dart
Normal file
@ -0,0 +1,273 @@
|
||||
//
|
||||
// AUTO-GENERATED FILE, DO NOT MODIFY!
|
||||
//
|
||||
|
||||
// ignore_for_file: unused_element
|
||||
import 'package:holzleitner_api/src/model/contact_role.dart';
|
||||
import 'package:built_value/built_value.dart';
|
||||
import 'package:built_value/serializer.dart';
|
||||
|
||||
part 'contact_source.g.dart';
|
||||
|
||||
/// Snapshot eines ERP-Adress-Datensatzes, der zum Zeitpunkt des Tour-Syncs an einer Lieferung hing — Namensblock ohne Anschrift, weil die Adresse ihrerseits schon im Lieferungs-Snapshot steckt (`snap_*`-Spalten). Die eigentlichen Telefonnummern, E-Mails etc. liegen in den zugehörigen [`ContactChannel`]s.
|
||||
///
|
||||
/// Properties:
|
||||
/// * [abteilung]
|
||||
/// * [anrede]
|
||||
/// * [deliveryId]
|
||||
/// * [funktion]
|
||||
/// * [id]
|
||||
/// * [name1]
|
||||
/// * [name2]
|
||||
/// * [name3]
|
||||
/// * [role]
|
||||
/// * [titel]
|
||||
@BuiltValue()
|
||||
abstract class ContactSource implements Built<ContactSource, ContactSourceBuilder> {
|
||||
@BuiltValueField(wireName: r'abteilung')
|
||||
String? get abteilung;
|
||||
|
||||
@BuiltValueField(wireName: r'anrede')
|
||||
String? get anrede;
|
||||
|
||||
@BuiltValueField(wireName: r'deliveryId')
|
||||
String get deliveryId;
|
||||
|
||||
@BuiltValueField(wireName: r'funktion')
|
||||
String? get funktion;
|
||||
|
||||
@BuiltValueField(wireName: r'id')
|
||||
String get id;
|
||||
|
||||
@BuiltValueField(wireName: r'name1')
|
||||
String? get name1;
|
||||
|
||||
@BuiltValueField(wireName: r'name2')
|
||||
String? get name2;
|
||||
|
||||
@BuiltValueField(wireName: r'name3')
|
||||
String? get name3;
|
||||
|
||||
@BuiltValueField(wireName: r'role')
|
||||
ContactRole get role;
|
||||
// enum roleEnum { header, delivery, billing, contact_person, customer_master, };
|
||||
|
||||
@BuiltValueField(wireName: r'titel')
|
||||
String? get titel;
|
||||
|
||||
ContactSource._();
|
||||
|
||||
factory ContactSource([void updates(ContactSourceBuilder b)]) = _$ContactSource;
|
||||
|
||||
@BuiltValueHook(initializeBuilder: true)
|
||||
static void _defaults(ContactSourceBuilder b) => b;
|
||||
|
||||
@BuiltValueSerializer(custom: true)
|
||||
static Serializer<ContactSource> get serializer => _$ContactSourceSerializer();
|
||||
}
|
||||
|
||||
class _$ContactSourceSerializer implements PrimitiveSerializer<ContactSource> {
|
||||
@override
|
||||
final Iterable<Type> types = const [ContactSource, _$ContactSource];
|
||||
|
||||
@override
|
||||
final String wireName = r'ContactSource';
|
||||
|
||||
Iterable<Object?> _serializeProperties(
|
||||
Serializers serializers,
|
||||
ContactSource object, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) sync* {
|
||||
if (object.abteilung != null) {
|
||||
yield r'abteilung';
|
||||
yield serializers.serialize(
|
||||
object.abteilung,
|
||||
specifiedType: const FullType.nullable(String),
|
||||
);
|
||||
}
|
||||
if (object.anrede != null) {
|
||||
yield r'anrede';
|
||||
yield serializers.serialize(
|
||||
object.anrede,
|
||||
specifiedType: const FullType.nullable(String),
|
||||
);
|
||||
}
|
||||
yield r'deliveryId';
|
||||
yield serializers.serialize(
|
||||
object.deliveryId,
|
||||
specifiedType: const FullType(String),
|
||||
);
|
||||
if (object.funktion != null) {
|
||||
yield r'funktion';
|
||||
yield serializers.serialize(
|
||||
object.funktion,
|
||||
specifiedType: const FullType.nullable(String),
|
||||
);
|
||||
}
|
||||
yield r'id';
|
||||
yield serializers.serialize(
|
||||
object.id,
|
||||
specifiedType: const FullType(String),
|
||||
);
|
||||
if (object.name1 != null) {
|
||||
yield r'name1';
|
||||
yield serializers.serialize(
|
||||
object.name1,
|
||||
specifiedType: const FullType.nullable(String),
|
||||
);
|
||||
}
|
||||
if (object.name2 != null) {
|
||||
yield r'name2';
|
||||
yield serializers.serialize(
|
||||
object.name2,
|
||||
specifiedType: const FullType.nullable(String),
|
||||
);
|
||||
}
|
||||
if (object.name3 != null) {
|
||||
yield r'name3';
|
||||
yield serializers.serialize(
|
||||
object.name3,
|
||||
specifiedType: const FullType.nullable(String),
|
||||
);
|
||||
}
|
||||
yield r'role';
|
||||
yield serializers.serialize(
|
||||
object.role,
|
||||
specifiedType: const FullType(ContactRole),
|
||||
);
|
||||
if (object.titel != null) {
|
||||
yield r'titel';
|
||||
yield serializers.serialize(
|
||||
object.titel,
|
||||
specifiedType: const FullType.nullable(String),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Object serialize(
|
||||
Serializers serializers,
|
||||
ContactSource 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 ContactSourceBuilder 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'abteilung':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType.nullable(String),
|
||||
) as String?;
|
||||
if (valueDes == null) continue;
|
||||
result.abteilung = valueDes;
|
||||
break;
|
||||
case r'anrede':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType.nullable(String),
|
||||
) as String?;
|
||||
if (valueDes == null) continue;
|
||||
result.anrede = valueDes;
|
||||
break;
|
||||
case r'deliveryId':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(String),
|
||||
) as String;
|
||||
result.deliveryId = valueDes;
|
||||
break;
|
||||
case r'funktion':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType.nullable(String),
|
||||
) as String?;
|
||||
if (valueDes == null) continue;
|
||||
result.funktion = valueDes;
|
||||
break;
|
||||
case r'id':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(String),
|
||||
) as String;
|
||||
result.id = valueDes;
|
||||
break;
|
||||
case r'name1':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType.nullable(String),
|
||||
) as String?;
|
||||
if (valueDes == null) continue;
|
||||
result.name1 = valueDes;
|
||||
break;
|
||||
case r'name2':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType.nullable(String),
|
||||
) as String?;
|
||||
if (valueDes == null) continue;
|
||||
result.name2 = valueDes;
|
||||
break;
|
||||
case r'name3':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType.nullable(String),
|
||||
) as String?;
|
||||
if (valueDes == null) continue;
|
||||
result.name3 = valueDes;
|
||||
break;
|
||||
case r'role':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(ContactRole),
|
||||
) as ContactRole;
|
||||
result.role = valueDes;
|
||||
break;
|
||||
case r'titel':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType.nullable(String),
|
||||
) as String?;
|
||||
if (valueDes == null) continue;
|
||||
result.titel = valueDes;
|
||||
break;
|
||||
default:
|
||||
unhandled.add(key);
|
||||
unhandled.add(value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
ContactSource deserialize(
|
||||
Serializers serializers,
|
||||
Object serialized, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) {
|
||||
final result = ContactSourceBuilder();
|
||||
final serializedList = (serialized as Iterable<Object?>).toList();
|
||||
final unhandled = <Object?>[];
|
||||
_deserializeProperties(
|
||||
serializers,
|
||||
serialized,
|
||||
specifiedType: specifiedType,
|
||||
serializedList: serializedList,
|
||||
unhandled: unhandled,
|
||||
result: result,
|
||||
);
|
||||
return result.build();
|
||||
}
|
||||
}
|
||||
|
||||
203
packages/holzleitner_api/lib/src/model/contact_source.g.dart
Normal file
203
packages/holzleitner_api/lib/src/model/contact_source.g.dart
Normal file
@ -0,0 +1,203 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'contact_source.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// BuiltValueGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class _$ContactSource extends ContactSource {
|
||||
@override
|
||||
final String? abteilung;
|
||||
@override
|
||||
final String? anrede;
|
||||
@override
|
||||
final String deliveryId;
|
||||
@override
|
||||
final String? funktion;
|
||||
@override
|
||||
final String id;
|
||||
@override
|
||||
final String? name1;
|
||||
@override
|
||||
final String? name2;
|
||||
@override
|
||||
final String? name3;
|
||||
@override
|
||||
final ContactRole role;
|
||||
@override
|
||||
final String? titel;
|
||||
|
||||
factory _$ContactSource([void Function(ContactSourceBuilder)? updates]) =>
|
||||
(ContactSourceBuilder()..update(updates))._build();
|
||||
|
||||
_$ContactSource._(
|
||||
{this.abteilung,
|
||||
this.anrede,
|
||||
required this.deliveryId,
|
||||
this.funktion,
|
||||
required this.id,
|
||||
this.name1,
|
||||
this.name2,
|
||||
this.name3,
|
||||
required this.role,
|
||||
this.titel})
|
||||
: super._();
|
||||
@override
|
||||
ContactSource rebuild(void Function(ContactSourceBuilder) updates) =>
|
||||
(toBuilder()..update(updates)).build();
|
||||
|
||||
@override
|
||||
ContactSourceBuilder toBuilder() => ContactSourceBuilder()..replace(this);
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
if (identical(other, this)) return true;
|
||||
return other is ContactSource &&
|
||||
abteilung == other.abteilung &&
|
||||
anrede == other.anrede &&
|
||||
deliveryId == other.deliveryId &&
|
||||
funktion == other.funktion &&
|
||||
id == other.id &&
|
||||
name1 == other.name1 &&
|
||||
name2 == other.name2 &&
|
||||
name3 == other.name3 &&
|
||||
role == other.role &&
|
||||
titel == other.titel;
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode {
|
||||
var _$hash = 0;
|
||||
_$hash = $jc(_$hash, abteilung.hashCode);
|
||||
_$hash = $jc(_$hash, anrede.hashCode);
|
||||
_$hash = $jc(_$hash, deliveryId.hashCode);
|
||||
_$hash = $jc(_$hash, funktion.hashCode);
|
||||
_$hash = $jc(_$hash, id.hashCode);
|
||||
_$hash = $jc(_$hash, name1.hashCode);
|
||||
_$hash = $jc(_$hash, name2.hashCode);
|
||||
_$hash = $jc(_$hash, name3.hashCode);
|
||||
_$hash = $jc(_$hash, role.hashCode);
|
||||
_$hash = $jc(_$hash, titel.hashCode);
|
||||
_$hash = $jf(_$hash);
|
||||
return _$hash;
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return (newBuiltValueToStringHelper(r'ContactSource')
|
||||
..add('abteilung', abteilung)
|
||||
..add('anrede', anrede)
|
||||
..add('deliveryId', deliveryId)
|
||||
..add('funktion', funktion)
|
||||
..add('id', id)
|
||||
..add('name1', name1)
|
||||
..add('name2', name2)
|
||||
..add('name3', name3)
|
||||
..add('role', role)
|
||||
..add('titel', titel))
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
||||
class ContactSourceBuilder
|
||||
implements Builder<ContactSource, ContactSourceBuilder> {
|
||||
_$ContactSource? _$v;
|
||||
|
||||
String? _abteilung;
|
||||
String? get abteilung => _$this._abteilung;
|
||||
set abteilung(String? abteilung) => _$this._abteilung = abteilung;
|
||||
|
||||
String? _anrede;
|
||||
String? get anrede => _$this._anrede;
|
||||
set anrede(String? anrede) => _$this._anrede = anrede;
|
||||
|
||||
String? _deliveryId;
|
||||
String? get deliveryId => _$this._deliveryId;
|
||||
set deliveryId(String? deliveryId) => _$this._deliveryId = deliveryId;
|
||||
|
||||
String? _funktion;
|
||||
String? get funktion => _$this._funktion;
|
||||
set funktion(String? funktion) => _$this._funktion = funktion;
|
||||
|
||||
String? _id;
|
||||
String? get id => _$this._id;
|
||||
set id(String? id) => _$this._id = id;
|
||||
|
||||
String? _name1;
|
||||
String? get name1 => _$this._name1;
|
||||
set name1(String? name1) => _$this._name1 = name1;
|
||||
|
||||
String? _name2;
|
||||
String? get name2 => _$this._name2;
|
||||
set name2(String? name2) => _$this._name2 = name2;
|
||||
|
||||
String? _name3;
|
||||
String? get name3 => _$this._name3;
|
||||
set name3(String? name3) => _$this._name3 = name3;
|
||||
|
||||
ContactRole? _role;
|
||||
ContactRole? get role => _$this._role;
|
||||
set role(ContactRole? role) => _$this._role = role;
|
||||
|
||||
String? _titel;
|
||||
String? get titel => _$this._titel;
|
||||
set titel(String? titel) => _$this._titel = titel;
|
||||
|
||||
ContactSourceBuilder() {
|
||||
ContactSource._defaults(this);
|
||||
}
|
||||
|
||||
ContactSourceBuilder get _$this {
|
||||
final $v = _$v;
|
||||
if ($v != null) {
|
||||
_abteilung = $v.abteilung;
|
||||
_anrede = $v.anrede;
|
||||
_deliveryId = $v.deliveryId;
|
||||
_funktion = $v.funktion;
|
||||
_id = $v.id;
|
||||
_name1 = $v.name1;
|
||||
_name2 = $v.name2;
|
||||
_name3 = $v.name3;
|
||||
_role = $v.role;
|
||||
_titel = $v.titel;
|
||||
_$v = null;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
@override
|
||||
void replace(ContactSource other) {
|
||||
_$v = other as _$ContactSource;
|
||||
}
|
||||
|
||||
@override
|
||||
void update(void Function(ContactSourceBuilder)? updates) {
|
||||
if (updates != null) updates(this);
|
||||
}
|
||||
|
||||
@override
|
||||
ContactSource build() => _build();
|
||||
|
||||
_$ContactSource _build() {
|
||||
final _$result = _$v ??
|
||||
_$ContactSource._(
|
||||
abteilung: abteilung,
|
||||
anrede: anrede,
|
||||
deliveryId: BuiltValueNullFieldError.checkNotNull(
|
||||
deliveryId, r'ContactSource', 'deliveryId'),
|
||||
funktion: funktion,
|
||||
id: BuiltValueNullFieldError.checkNotNull(id, r'ContactSource', 'id'),
|
||||
name1: name1,
|
||||
name2: name2,
|
||||
name3: name3,
|
||||
role: BuiltValueNullFieldError.checkNotNull(
|
||||
role, r'ContactSource', 'role'),
|
||||
titel: titel,
|
||||
);
|
||||
replace(_$result);
|
||||
return _$result;
|
||||
}
|
||||
}
|
||||
|
||||
// ignore_for_file: deprecated_member_use_from_same_package,type=lint
|
||||
@ -12,7 +12,9 @@ part 'create_delivery_note_request.g.dart';
|
||||
///
|
||||
/// Properties:
|
||||
/// * [authorCarId] - Fahrzeug, das die Notiz erzeugt hat. Muss zum angemeldeten Account gehören. `None` ist erlaubt.
|
||||
/// * [creditDeliveryItemId] - Optionaler Gutschrift-Bezug: die Belegzeile, für die diese Notiz als Gutschrift-Grund angelegt wird. Ermöglicht das gezielte Löschen beim Unremove. `None` für normale Notizen.
|
||||
/// * [imageAttachment] - Object-Storage-Key oder URL eines vorab hochgeladenen Bildes.
|
||||
/// * [isAmountCreditNote] - `true` markiert die Notiz als Grund einer Betrags-Gutschrift (Lieferungs-Ebene). Default `false`.
|
||||
/// * [text]
|
||||
@BuiltValue()
|
||||
abstract class CreateDeliveryNoteRequest implements Built<CreateDeliveryNoteRequest, CreateDeliveryNoteRequestBuilder> {
|
||||
@ -20,10 +22,18 @@ abstract class CreateDeliveryNoteRequest implements Built<CreateDeliveryNoteRequ
|
||||
@BuiltValueField(wireName: r'authorCarId')
|
||||
String? get authorCarId;
|
||||
|
||||
/// Optionaler Gutschrift-Bezug: die Belegzeile, für die diese Notiz als Gutschrift-Grund angelegt wird. Ermöglicht das gezielte Löschen beim Unremove. `None` für normale Notizen.
|
||||
@BuiltValueField(wireName: r'creditDeliveryItemId')
|
||||
String? get creditDeliveryItemId;
|
||||
|
||||
/// Object-Storage-Key oder URL eines vorab hochgeladenen Bildes.
|
||||
@BuiltValueField(wireName: r'imageAttachment')
|
||||
String? get imageAttachment;
|
||||
|
||||
/// `true` markiert die Notiz als Grund einer Betrags-Gutschrift (Lieferungs-Ebene). Default `false`.
|
||||
@BuiltValueField(wireName: r'isAmountCreditNote')
|
||||
bool? get isAmountCreditNote;
|
||||
|
||||
@BuiltValueField(wireName: r'text')
|
||||
String? get text;
|
||||
|
||||
@ -57,6 +67,13 @@ class _$CreateDeliveryNoteRequestSerializer implements PrimitiveSerializer<Creat
|
||||
specifiedType: const FullType.nullable(String),
|
||||
);
|
||||
}
|
||||
if (object.creditDeliveryItemId != null) {
|
||||
yield r'creditDeliveryItemId';
|
||||
yield serializers.serialize(
|
||||
object.creditDeliveryItemId,
|
||||
specifiedType: const FullType.nullable(String),
|
||||
);
|
||||
}
|
||||
if (object.imageAttachment != null) {
|
||||
yield r'imageAttachment';
|
||||
yield serializers.serialize(
|
||||
@ -64,6 +81,13 @@ class _$CreateDeliveryNoteRequestSerializer implements PrimitiveSerializer<Creat
|
||||
specifiedType: const FullType.nullable(String),
|
||||
);
|
||||
}
|
||||
if (object.isAmountCreditNote != null) {
|
||||
yield r'isAmountCreditNote';
|
||||
yield serializers.serialize(
|
||||
object.isAmountCreditNote,
|
||||
specifiedType: const FullType(bool),
|
||||
);
|
||||
}
|
||||
if (object.text != null) {
|
||||
yield r'text';
|
||||
yield serializers.serialize(
|
||||
@ -102,6 +126,14 @@ class _$CreateDeliveryNoteRequestSerializer implements PrimitiveSerializer<Creat
|
||||
if (valueDes == null) continue;
|
||||
result.authorCarId = valueDes;
|
||||
break;
|
||||
case r'creditDeliveryItemId':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType.nullable(String),
|
||||
) as String?;
|
||||
if (valueDes == null) continue;
|
||||
result.creditDeliveryItemId = valueDes;
|
||||
break;
|
||||
case r'imageAttachment':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
@ -110,6 +142,13 @@ class _$CreateDeliveryNoteRequestSerializer implements PrimitiveSerializer<Creat
|
||||
if (valueDes == null) continue;
|
||||
result.imageAttachment = valueDes;
|
||||
break;
|
||||
case r'isAmountCreditNote':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(bool),
|
||||
) as bool;
|
||||
result.isAmountCreditNote = valueDes;
|
||||
break;
|
||||
case r'text':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
|
||||
@ -10,8 +10,12 @@ class _$CreateDeliveryNoteRequest extends CreateDeliveryNoteRequest {
|
||||
@override
|
||||
final String? authorCarId;
|
||||
@override
|
||||
final String? creditDeliveryItemId;
|
||||
@override
|
||||
final String? imageAttachment;
|
||||
@override
|
||||
final bool? isAmountCreditNote;
|
||||
@override
|
||||
final String? text;
|
||||
|
||||
factory _$CreateDeliveryNoteRequest(
|
||||
@ -19,7 +23,11 @@ class _$CreateDeliveryNoteRequest extends CreateDeliveryNoteRequest {
|
||||
(CreateDeliveryNoteRequestBuilder()..update(updates))._build();
|
||||
|
||||
_$CreateDeliveryNoteRequest._(
|
||||
{this.authorCarId, this.imageAttachment, this.text})
|
||||
{this.authorCarId,
|
||||
this.creditDeliveryItemId,
|
||||
this.imageAttachment,
|
||||
this.isAmountCreditNote,
|
||||
this.text})
|
||||
: super._();
|
||||
@override
|
||||
CreateDeliveryNoteRequest rebuild(
|
||||
@ -35,7 +43,9 @@ class _$CreateDeliveryNoteRequest extends CreateDeliveryNoteRequest {
|
||||
if (identical(other, this)) return true;
|
||||
return other is CreateDeliveryNoteRequest &&
|
||||
authorCarId == other.authorCarId &&
|
||||
creditDeliveryItemId == other.creditDeliveryItemId &&
|
||||
imageAttachment == other.imageAttachment &&
|
||||
isAmountCreditNote == other.isAmountCreditNote &&
|
||||
text == other.text;
|
||||
}
|
||||
|
||||
@ -43,7 +53,9 @@ class _$CreateDeliveryNoteRequest extends CreateDeliveryNoteRequest {
|
||||
int get hashCode {
|
||||
var _$hash = 0;
|
||||
_$hash = $jc(_$hash, authorCarId.hashCode);
|
||||
_$hash = $jc(_$hash, creditDeliveryItemId.hashCode);
|
||||
_$hash = $jc(_$hash, imageAttachment.hashCode);
|
||||
_$hash = $jc(_$hash, isAmountCreditNote.hashCode);
|
||||
_$hash = $jc(_$hash, text.hashCode);
|
||||
_$hash = $jf(_$hash);
|
||||
return _$hash;
|
||||
@ -53,7 +65,9 @@ class _$CreateDeliveryNoteRequest extends CreateDeliveryNoteRequest {
|
||||
String toString() {
|
||||
return (newBuiltValueToStringHelper(r'CreateDeliveryNoteRequest')
|
||||
..add('authorCarId', authorCarId)
|
||||
..add('creditDeliveryItemId', creditDeliveryItemId)
|
||||
..add('imageAttachment', imageAttachment)
|
||||
..add('isAmountCreditNote', isAmountCreditNote)
|
||||
..add('text', text))
|
||||
.toString();
|
||||
}
|
||||
@ -68,11 +82,21 @@ class CreateDeliveryNoteRequestBuilder
|
||||
String? get authorCarId => _$this._authorCarId;
|
||||
set authorCarId(String? authorCarId) => _$this._authorCarId = authorCarId;
|
||||
|
||||
String? _creditDeliveryItemId;
|
||||
String? get creditDeliveryItemId => _$this._creditDeliveryItemId;
|
||||
set creditDeliveryItemId(String? creditDeliveryItemId) =>
|
||||
_$this._creditDeliveryItemId = creditDeliveryItemId;
|
||||
|
||||
String? _imageAttachment;
|
||||
String? get imageAttachment => _$this._imageAttachment;
|
||||
set imageAttachment(String? imageAttachment) =>
|
||||
_$this._imageAttachment = imageAttachment;
|
||||
|
||||
bool? _isAmountCreditNote;
|
||||
bool? get isAmountCreditNote => _$this._isAmountCreditNote;
|
||||
set isAmountCreditNote(bool? isAmountCreditNote) =>
|
||||
_$this._isAmountCreditNote = isAmountCreditNote;
|
||||
|
||||
String? _text;
|
||||
String? get text => _$this._text;
|
||||
set text(String? text) => _$this._text = text;
|
||||
@ -85,7 +109,9 @@ class CreateDeliveryNoteRequestBuilder
|
||||
final $v = _$v;
|
||||
if ($v != null) {
|
||||
_authorCarId = $v.authorCarId;
|
||||
_creditDeliveryItemId = $v.creditDeliveryItemId;
|
||||
_imageAttachment = $v.imageAttachment;
|
||||
_isAmountCreditNote = $v.isAmountCreditNote;
|
||||
_text = $v.text;
|
||||
_$v = null;
|
||||
}
|
||||
@ -109,7 +135,9 @@ class CreateDeliveryNoteRequestBuilder
|
||||
final _$result = _$v ??
|
||||
_$CreateDeliveryNoteRequest._(
|
||||
authorCarId: authorCarId,
|
||||
creditDeliveryItemId: creditDeliveryItemId,
|
||||
imageAttachment: imageAttachment,
|
||||
isAmountCreditNote: isAmountCreditNote,
|
||||
text: text,
|
||||
);
|
||||
replace(_$result);
|
||||
|
||||
@ -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 'create_payment_method_request.g.dart';
|
||||
|
||||
/// CreatePaymentMethodRequest
|
||||
///
|
||||
/// Properties:
|
||||
/// * [code] - Eindeutiger Programm-Identifier (z. B. `\"paypal\"`, `\"klarna\"`).
|
||||
/// * [name] - Anzeige-Name in der UI.
|
||||
@BuiltValue()
|
||||
abstract class CreatePaymentMethodRequest implements Built<CreatePaymentMethodRequest, CreatePaymentMethodRequestBuilder> {
|
||||
/// Eindeutiger Programm-Identifier (z. B. `\"paypal\"`, `\"klarna\"`).
|
||||
@BuiltValueField(wireName: r'code')
|
||||
String get code;
|
||||
|
||||
/// Anzeige-Name in der UI.
|
||||
@BuiltValueField(wireName: r'name')
|
||||
String get name;
|
||||
|
||||
CreatePaymentMethodRequest._();
|
||||
|
||||
factory CreatePaymentMethodRequest([void updates(CreatePaymentMethodRequestBuilder b)]) = _$CreatePaymentMethodRequest;
|
||||
|
||||
@BuiltValueHook(initializeBuilder: true)
|
||||
static void _defaults(CreatePaymentMethodRequestBuilder b) => b;
|
||||
|
||||
@BuiltValueSerializer(custom: true)
|
||||
static Serializer<CreatePaymentMethodRequest> get serializer => _$CreatePaymentMethodRequestSerializer();
|
||||
}
|
||||
|
||||
class _$CreatePaymentMethodRequestSerializer implements PrimitiveSerializer<CreatePaymentMethodRequest> {
|
||||
@override
|
||||
final Iterable<Type> types = const [CreatePaymentMethodRequest, _$CreatePaymentMethodRequest];
|
||||
|
||||
@override
|
||||
final String wireName = r'CreatePaymentMethodRequest';
|
||||
|
||||
Iterable<Object?> _serializeProperties(
|
||||
Serializers serializers,
|
||||
CreatePaymentMethodRequest object, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) sync* {
|
||||
yield r'code';
|
||||
yield serializers.serialize(
|
||||
object.code,
|
||||
specifiedType: const FullType(String),
|
||||
);
|
||||
yield r'name';
|
||||
yield serializers.serialize(
|
||||
object.name,
|
||||
specifiedType: const FullType(String),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Object serialize(
|
||||
Serializers serializers,
|
||||
CreatePaymentMethodRequest 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 CreatePaymentMethodRequestBuilder 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'code':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(String),
|
||||
) as String;
|
||||
result.code = valueDes;
|
||||
break;
|
||||
case r'name':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(String),
|
||||
) as String;
|
||||
result.name = valueDes;
|
||||
break;
|
||||
default:
|
||||
unhandled.add(key);
|
||||
unhandled.add(value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
CreatePaymentMethodRequest deserialize(
|
||||
Serializers serializers,
|
||||
Object serialized, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) {
|
||||
final result = CreatePaymentMethodRequestBuilder();
|
||||
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,109 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'create_payment_method_request.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// BuiltValueGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class _$CreatePaymentMethodRequest extends CreatePaymentMethodRequest {
|
||||
@override
|
||||
final String code;
|
||||
@override
|
||||
final String name;
|
||||
|
||||
factory _$CreatePaymentMethodRequest(
|
||||
[void Function(CreatePaymentMethodRequestBuilder)? updates]) =>
|
||||
(CreatePaymentMethodRequestBuilder()..update(updates))._build();
|
||||
|
||||
_$CreatePaymentMethodRequest._({required this.code, required this.name})
|
||||
: super._();
|
||||
@override
|
||||
CreatePaymentMethodRequest rebuild(
|
||||
void Function(CreatePaymentMethodRequestBuilder) updates) =>
|
||||
(toBuilder()..update(updates)).build();
|
||||
|
||||
@override
|
||||
CreatePaymentMethodRequestBuilder toBuilder() =>
|
||||
CreatePaymentMethodRequestBuilder()..replace(this);
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
if (identical(other, this)) return true;
|
||||
return other is CreatePaymentMethodRequest &&
|
||||
code == other.code &&
|
||||
name == other.name;
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode {
|
||||
var _$hash = 0;
|
||||
_$hash = $jc(_$hash, code.hashCode);
|
||||
_$hash = $jc(_$hash, name.hashCode);
|
||||
_$hash = $jf(_$hash);
|
||||
return _$hash;
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return (newBuiltValueToStringHelper(r'CreatePaymentMethodRequest')
|
||||
..add('code', code)
|
||||
..add('name', name))
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
||||
class CreatePaymentMethodRequestBuilder
|
||||
implements
|
||||
Builder<CreatePaymentMethodRequest, CreatePaymentMethodRequestBuilder> {
|
||||
_$CreatePaymentMethodRequest? _$v;
|
||||
|
||||
String? _code;
|
||||
String? get code => _$this._code;
|
||||
set code(String? code) => _$this._code = code;
|
||||
|
||||
String? _name;
|
||||
String? get name => _$this._name;
|
||||
set name(String? name) => _$this._name = name;
|
||||
|
||||
CreatePaymentMethodRequestBuilder() {
|
||||
CreatePaymentMethodRequest._defaults(this);
|
||||
}
|
||||
|
||||
CreatePaymentMethodRequestBuilder get _$this {
|
||||
final $v = _$v;
|
||||
if ($v != null) {
|
||||
_code = $v.code;
|
||||
_name = $v.name;
|
||||
_$v = null;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
@override
|
||||
void replace(CreatePaymentMethodRequest other) {
|
||||
_$v = other as _$CreatePaymentMethodRequest;
|
||||
}
|
||||
|
||||
@override
|
||||
void update(void Function(CreatePaymentMethodRequestBuilder)? updates) {
|
||||
if (updates != null) updates(this);
|
||||
}
|
||||
|
||||
@override
|
||||
CreatePaymentMethodRequest build() => _build();
|
||||
|
||||
_$CreatePaymentMethodRequest _build() {
|
||||
final _$result = _$v ??
|
||||
_$CreatePaymentMethodRequest._(
|
||||
code: BuiltValueNullFieldError.checkNotNull(
|
||||
code, r'CreatePaymentMethodRequest', 'code'),
|
||||
name: BuiltValueNullFieldError.checkNotNull(
|
||||
name, r'CreatePaymentMethodRequest', 'name'),
|
||||
);
|
||||
replace(_$result);
|
||||
return _$result;
|
||||
}
|
||||
}
|
||||
|
||||
// ignore_for_file: deprecated_member_use_from_same_package,type=lint
|
||||
@ -0,0 +1,199 @@
|
||||
//
|
||||
// AUTO-GENERATED FILE, DO NOT MODIFY!
|
||||
//
|
||||
|
||||
// ignore_for_file: unused_element
|
||||
import 'package:holzleitner_api/src/model/service_kind.dart';
|
||||
import 'package:built_value/built_value.dart';
|
||||
import 'package:built_value/serializer.dart';
|
||||
|
||||
part 'create_service_request.g.dart';
|
||||
|
||||
/// CreateServiceRequest
|
||||
///
|
||||
/// Properties:
|
||||
/// * [key] - Eindeutiger Programm-Identifier (z. B. `\"podium_setup\"`).
|
||||
/// * [kind]
|
||||
/// * [maxValue]
|
||||
/// * [minValue] - Nur bei `Numeric` sinnvoll.
|
||||
/// * [name]
|
||||
/// * [sortOrder]
|
||||
@BuiltValue()
|
||||
abstract class CreateServiceRequest implements Built<CreateServiceRequest, CreateServiceRequestBuilder> {
|
||||
/// Eindeutiger Programm-Identifier (z. B. `\"podium_setup\"`).
|
||||
@BuiltValueField(wireName: r'key')
|
||||
String get key;
|
||||
|
||||
@BuiltValueField(wireName: r'kind')
|
||||
ServiceKind get kind;
|
||||
// enum kindEnum { boolean, numeric, };
|
||||
|
||||
@BuiltValueField(wireName: r'maxValue')
|
||||
int? get maxValue;
|
||||
|
||||
/// Nur bei `Numeric` sinnvoll.
|
||||
@BuiltValueField(wireName: r'minValue')
|
||||
int? get minValue;
|
||||
|
||||
@BuiltValueField(wireName: r'name')
|
||||
String get name;
|
||||
|
||||
@BuiltValueField(wireName: r'sortOrder')
|
||||
int? get sortOrder;
|
||||
|
||||
CreateServiceRequest._();
|
||||
|
||||
factory CreateServiceRequest([void updates(CreateServiceRequestBuilder b)]) = _$CreateServiceRequest;
|
||||
|
||||
@BuiltValueHook(initializeBuilder: true)
|
||||
static void _defaults(CreateServiceRequestBuilder b) => b;
|
||||
|
||||
@BuiltValueSerializer(custom: true)
|
||||
static Serializer<CreateServiceRequest> get serializer => _$CreateServiceRequestSerializer();
|
||||
}
|
||||
|
||||
class _$CreateServiceRequestSerializer implements PrimitiveSerializer<CreateServiceRequest> {
|
||||
@override
|
||||
final Iterable<Type> types = const [CreateServiceRequest, _$CreateServiceRequest];
|
||||
|
||||
@override
|
||||
final String wireName = r'CreateServiceRequest';
|
||||
|
||||
Iterable<Object?> _serializeProperties(
|
||||
Serializers serializers,
|
||||
CreateServiceRequest object, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) sync* {
|
||||
yield r'key';
|
||||
yield serializers.serialize(
|
||||
object.key,
|
||||
specifiedType: const FullType(String),
|
||||
);
|
||||
yield r'kind';
|
||||
yield serializers.serialize(
|
||||
object.kind,
|
||||
specifiedType: const FullType(ServiceKind),
|
||||
);
|
||||
if (object.maxValue != null) {
|
||||
yield r'maxValue';
|
||||
yield serializers.serialize(
|
||||
object.maxValue,
|
||||
specifiedType: const FullType.nullable(int),
|
||||
);
|
||||
}
|
||||
if (object.minValue != null) {
|
||||
yield r'minValue';
|
||||
yield serializers.serialize(
|
||||
object.minValue,
|
||||
specifiedType: const FullType.nullable(int),
|
||||
);
|
||||
}
|
||||
yield r'name';
|
||||
yield serializers.serialize(
|
||||
object.name,
|
||||
specifiedType: const FullType(String),
|
||||
);
|
||||
if (object.sortOrder != null) {
|
||||
yield r'sortOrder';
|
||||
yield serializers.serialize(
|
||||
object.sortOrder,
|
||||
specifiedType: const FullType.nullable(int),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Object serialize(
|
||||
Serializers serializers,
|
||||
CreateServiceRequest 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 CreateServiceRequestBuilder 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'key':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(String),
|
||||
) as String;
|
||||
result.key = valueDes;
|
||||
break;
|
||||
case r'kind':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(ServiceKind),
|
||||
) as ServiceKind;
|
||||
result.kind = valueDes;
|
||||
break;
|
||||
case r'maxValue':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType.nullable(int),
|
||||
) as int?;
|
||||
if (valueDes == null) continue;
|
||||
result.maxValue = valueDes;
|
||||
break;
|
||||
case r'minValue':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType.nullable(int),
|
||||
) as int?;
|
||||
if (valueDes == null) continue;
|
||||
result.minValue = valueDes;
|
||||
break;
|
||||
case r'name':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(String),
|
||||
) as String;
|
||||
result.name = valueDes;
|
||||
break;
|
||||
case r'sortOrder':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType.nullable(int),
|
||||
) as int?;
|
||||
if (valueDes == null) continue;
|
||||
result.sortOrder = valueDes;
|
||||
break;
|
||||
default:
|
||||
unhandled.add(key);
|
||||
unhandled.add(value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
CreateServiceRequest deserialize(
|
||||
Serializers serializers,
|
||||
Object serialized, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) {
|
||||
final result = CreateServiceRequestBuilder();
|
||||
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,159 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'create_service_request.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// BuiltValueGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class _$CreateServiceRequest extends CreateServiceRequest {
|
||||
@override
|
||||
final String key;
|
||||
@override
|
||||
final ServiceKind kind;
|
||||
@override
|
||||
final int? maxValue;
|
||||
@override
|
||||
final int? minValue;
|
||||
@override
|
||||
final String name;
|
||||
@override
|
||||
final int? sortOrder;
|
||||
|
||||
factory _$CreateServiceRequest(
|
||||
[void Function(CreateServiceRequestBuilder)? updates]) =>
|
||||
(CreateServiceRequestBuilder()..update(updates))._build();
|
||||
|
||||
_$CreateServiceRequest._(
|
||||
{required this.key,
|
||||
required this.kind,
|
||||
this.maxValue,
|
||||
this.minValue,
|
||||
required this.name,
|
||||
this.sortOrder})
|
||||
: super._();
|
||||
@override
|
||||
CreateServiceRequest rebuild(
|
||||
void Function(CreateServiceRequestBuilder) updates) =>
|
||||
(toBuilder()..update(updates)).build();
|
||||
|
||||
@override
|
||||
CreateServiceRequestBuilder toBuilder() =>
|
||||
CreateServiceRequestBuilder()..replace(this);
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
if (identical(other, this)) return true;
|
||||
return other is CreateServiceRequest &&
|
||||
key == other.key &&
|
||||
kind == other.kind &&
|
||||
maxValue == other.maxValue &&
|
||||
minValue == other.minValue &&
|
||||
name == other.name &&
|
||||
sortOrder == other.sortOrder;
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode {
|
||||
var _$hash = 0;
|
||||
_$hash = $jc(_$hash, key.hashCode);
|
||||
_$hash = $jc(_$hash, kind.hashCode);
|
||||
_$hash = $jc(_$hash, maxValue.hashCode);
|
||||
_$hash = $jc(_$hash, minValue.hashCode);
|
||||
_$hash = $jc(_$hash, name.hashCode);
|
||||
_$hash = $jc(_$hash, sortOrder.hashCode);
|
||||
_$hash = $jf(_$hash);
|
||||
return _$hash;
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return (newBuiltValueToStringHelper(r'CreateServiceRequest')
|
||||
..add('key', key)
|
||||
..add('kind', kind)
|
||||
..add('maxValue', maxValue)
|
||||
..add('minValue', minValue)
|
||||
..add('name', name)
|
||||
..add('sortOrder', sortOrder))
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
||||
class CreateServiceRequestBuilder
|
||||
implements Builder<CreateServiceRequest, CreateServiceRequestBuilder> {
|
||||
_$CreateServiceRequest? _$v;
|
||||
|
||||
String? _key;
|
||||
String? get key => _$this._key;
|
||||
set key(String? key) => _$this._key = key;
|
||||
|
||||
ServiceKind? _kind;
|
||||
ServiceKind? get kind => _$this._kind;
|
||||
set kind(ServiceKind? kind) => _$this._kind = kind;
|
||||
|
||||
int? _maxValue;
|
||||
int? get maxValue => _$this._maxValue;
|
||||
set maxValue(int? maxValue) => _$this._maxValue = maxValue;
|
||||
|
||||
int? _minValue;
|
||||
int? get minValue => _$this._minValue;
|
||||
set minValue(int? minValue) => _$this._minValue = minValue;
|
||||
|
||||
String? _name;
|
||||
String? get name => _$this._name;
|
||||
set name(String? name) => _$this._name = name;
|
||||
|
||||
int? _sortOrder;
|
||||
int? get sortOrder => _$this._sortOrder;
|
||||
set sortOrder(int? sortOrder) => _$this._sortOrder = sortOrder;
|
||||
|
||||
CreateServiceRequestBuilder() {
|
||||
CreateServiceRequest._defaults(this);
|
||||
}
|
||||
|
||||
CreateServiceRequestBuilder get _$this {
|
||||
final $v = _$v;
|
||||
if ($v != null) {
|
||||
_key = $v.key;
|
||||
_kind = $v.kind;
|
||||
_maxValue = $v.maxValue;
|
||||
_minValue = $v.minValue;
|
||||
_name = $v.name;
|
||||
_sortOrder = $v.sortOrder;
|
||||
_$v = null;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
@override
|
||||
void replace(CreateServiceRequest other) {
|
||||
_$v = other as _$CreateServiceRequest;
|
||||
}
|
||||
|
||||
@override
|
||||
void update(void Function(CreateServiceRequestBuilder)? updates) {
|
||||
if (updates != null) updates(this);
|
||||
}
|
||||
|
||||
@override
|
||||
CreateServiceRequest build() => _build();
|
||||
|
||||
_$CreateServiceRequest _build() {
|
||||
final _$result = _$v ??
|
||||
_$CreateServiceRequest._(
|
||||
key: BuiltValueNullFieldError.checkNotNull(
|
||||
key, r'CreateServiceRequest', 'key'),
|
||||
kind: BuiltValueNullFieldError.checkNotNull(
|
||||
kind, r'CreateServiceRequest', 'kind'),
|
||||
maxValue: maxValue,
|
||||
minValue: minValue,
|
||||
name: BuiltValueNullFieldError.checkNotNull(
|
||||
name, r'CreateServiceRequest', 'name'),
|
||||
sortOrder: sortOrder,
|
||||
);
|
||||
replace(_$result);
|
||||
return _$result;
|
||||
}
|
||||
}
|
||||
|
||||
// ignore_for_file: deprecated_member_use_from_same_package,type=lint
|
||||
36
packages/holzleitner_api/lib/src/model/credit_action.dart
Normal file
36
packages/holzleitner_api/lib/src/model/credit_action.dart
Normal file
@ -0,0 +1,36 @@
|
||||
//
|
||||
// AUTO-GENERATED FILE, DO NOT MODIFY!
|
||||
//
|
||||
|
||||
// ignore_for_file: unused_element
|
||||
import 'package:built_collection/built_collection.dart';
|
||||
import 'package:built_value/built_value.dart';
|
||||
import 'package:built_value/serializer.dart';
|
||||
|
||||
part 'credit_action.g.dart';
|
||||
|
||||
class CreditAction extends EnumClass {
|
||||
|
||||
/// Art des Gutschrift-Ereignisses.
|
||||
@BuiltValueEnumConst(wireName: r'set')
|
||||
static const CreditAction set_ = _$set_;
|
||||
/// Art des Gutschrift-Ereignisses.
|
||||
@BuiltValueEnumConst(wireName: r'remove')
|
||||
static const CreditAction remove = _$remove;
|
||||
|
||||
static Serializer<CreditAction> get serializer => _$creditActionSerializer;
|
||||
|
||||
const CreditAction._(String name): super(name);
|
||||
|
||||
static BuiltSet<CreditAction> get values => _$values;
|
||||
static CreditAction valueOf(String name) => _$valueOf(name);
|
||||
}
|
||||
|
||||
/// Optionally, enum_class can generate a mixin to go with your enum for use
|
||||
/// with Angular. It exposes your enum constants as getters. So, if you mix it
|
||||
/// in to your Dart component class, the values become available to the
|
||||
/// corresponding Angular template.
|
||||
///
|
||||
/// Trigger mixin generation by writing a line like this one next to your enum.
|
||||
abstract class CreditActionMixin = Object with _$CreditActionMixin;
|
||||
|
||||
71
packages/holzleitner_api/lib/src/model/credit_action.g.dart
Normal file
71
packages/holzleitner_api/lib/src/model/credit_action.g.dart
Normal file
@ -0,0 +1,71 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'credit_action.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// BuiltValueGenerator
|
||||
// **************************************************************************
|
||||
|
||||
const CreditAction _$set_ = const CreditAction._('set_');
|
||||
const CreditAction _$remove = const CreditAction._('remove');
|
||||
|
||||
CreditAction _$valueOf(String name) {
|
||||
switch (name) {
|
||||
case 'set_':
|
||||
return _$set_;
|
||||
case 'remove':
|
||||
return _$remove;
|
||||
default:
|
||||
throw ArgumentError(name);
|
||||
}
|
||||
}
|
||||
|
||||
final BuiltSet<CreditAction> _$values =
|
||||
BuiltSet<CreditAction>(const <CreditAction>[
|
||||
_$set_,
|
||||
_$remove,
|
||||
]);
|
||||
|
||||
class _$CreditActionMeta {
|
||||
const _$CreditActionMeta();
|
||||
CreditAction get set_ => _$set_;
|
||||
CreditAction get remove => _$remove;
|
||||
CreditAction valueOf(String name) => _$valueOf(name);
|
||||
BuiltSet<CreditAction> get values => _$values;
|
||||
}
|
||||
|
||||
abstract class _$CreditActionMixin {
|
||||
// ignore: non_constant_identifier_names
|
||||
_$CreditActionMeta get CreditAction => const _$CreditActionMeta();
|
||||
}
|
||||
|
||||
Serializer<CreditAction> _$creditActionSerializer = _$CreditActionSerializer();
|
||||
|
||||
class _$CreditActionSerializer implements PrimitiveSerializer<CreditAction> {
|
||||
static const Map<String, Object> _toWire = const <String, Object>{
|
||||
'set_': 'set',
|
||||
'remove': 'remove',
|
||||
};
|
||||
static const Map<Object, String> _fromWire = const <Object, String>{
|
||||
'set': 'set_',
|
||||
'remove': 'remove',
|
||||
};
|
||||
|
||||
@override
|
||||
final Iterable<Type> types = const <Type>[CreditAction];
|
||||
@override
|
||||
final String wireName = 'CreditAction';
|
||||
|
||||
@override
|
||||
Object serialize(Serializers serializers, CreditAction object,
|
||||
{FullType specifiedType = FullType.unspecified}) =>
|
||||
_toWire[object.name] ?? object.name;
|
||||
|
||||
@override
|
||||
CreditAction deserialize(Serializers serializers, Object serialized,
|
||||
{FullType specifiedType = FullType.unspecified}) =>
|
||||
CreditAction.valueOf(
|
||||
_fromWire[serialized] ?? (serialized is String ? serialized : ''));
|
||||
}
|
||||
|
||||
// ignore_for_file: deprecated_member_use_from_same_package,type=lint
|
||||
@ -0,0 +1,142 @@
|
||||
//
|
||||
// AUTO-GENERATED FILE, DO NOT MODIFY!
|
||||
//
|
||||
|
||||
// ignore_for_file: unused_element
|
||||
import 'package:built_collection/built_collection.dart';
|
||||
import 'package:built_value/built_value.dart';
|
||||
import 'package:built_value/serializer.dart';
|
||||
|
||||
part 'delivered_belegnummern_response.g.dart';
|
||||
|
||||
/// DeliveredBelegnummernResponse
|
||||
///
|
||||
/// Properties:
|
||||
/// * [belegnummern] - Belegnummern aller **ausgelieferten** (abgeschlossenen) Lieferungen, deren Liefermail noch **nicht versendet** wurde, aufsteigend nach Abschluss-Zeitpunkt.
|
||||
/// * [count] - Anzahl der offenen (noch nicht versendeten) Belege.
|
||||
/// * [day] - Tag, nach dem gefiltert wurde (ISO `YYYY-MM-DD`), oder `\"all\"` wenn kein `day` angegeben war.
|
||||
@BuiltValue()
|
||||
abstract class DeliveredBelegnummernResponse implements Built<DeliveredBelegnummernResponse, DeliveredBelegnummernResponseBuilder> {
|
||||
/// Belegnummern aller **ausgelieferten** (abgeschlossenen) Lieferungen, deren Liefermail noch **nicht versendet** wurde, aufsteigend nach Abschluss-Zeitpunkt.
|
||||
@BuiltValueField(wireName: r'belegnummern')
|
||||
BuiltList<String> get belegnummern;
|
||||
|
||||
/// Anzahl der offenen (noch nicht versendeten) Belege.
|
||||
@BuiltValueField(wireName: r'count')
|
||||
int get count;
|
||||
|
||||
/// Tag, nach dem gefiltert wurde (ISO `YYYY-MM-DD`), oder `\"all\"` wenn kein `day` angegeben war.
|
||||
@BuiltValueField(wireName: r'day')
|
||||
String get day;
|
||||
|
||||
DeliveredBelegnummernResponse._();
|
||||
|
||||
factory DeliveredBelegnummernResponse([void updates(DeliveredBelegnummernResponseBuilder b)]) = _$DeliveredBelegnummernResponse;
|
||||
|
||||
@BuiltValueHook(initializeBuilder: true)
|
||||
static void _defaults(DeliveredBelegnummernResponseBuilder b) => b;
|
||||
|
||||
@BuiltValueSerializer(custom: true)
|
||||
static Serializer<DeliveredBelegnummernResponse> get serializer => _$DeliveredBelegnummernResponseSerializer();
|
||||
}
|
||||
|
||||
class _$DeliveredBelegnummernResponseSerializer implements PrimitiveSerializer<DeliveredBelegnummernResponse> {
|
||||
@override
|
||||
final Iterable<Type> types = const [DeliveredBelegnummernResponse, _$DeliveredBelegnummernResponse];
|
||||
|
||||
@override
|
||||
final String wireName = r'DeliveredBelegnummernResponse';
|
||||
|
||||
Iterable<Object?> _serializeProperties(
|
||||
Serializers serializers,
|
||||
DeliveredBelegnummernResponse object, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) sync* {
|
||||
yield r'belegnummern';
|
||||
yield serializers.serialize(
|
||||
object.belegnummern,
|
||||
specifiedType: const FullType(BuiltList, [FullType(String)]),
|
||||
);
|
||||
yield r'count';
|
||||
yield serializers.serialize(
|
||||
object.count,
|
||||
specifiedType: const FullType(int),
|
||||
);
|
||||
yield r'day';
|
||||
yield serializers.serialize(
|
||||
object.day,
|
||||
specifiedType: const FullType(String),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Object serialize(
|
||||
Serializers serializers,
|
||||
DeliveredBelegnummernResponse 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 DeliveredBelegnummernResponseBuilder 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'belegnummern':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(BuiltList, [FullType(String)]),
|
||||
) as BuiltList<String>;
|
||||
result.belegnummern.replace(valueDes);
|
||||
break;
|
||||
case r'count':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(int),
|
||||
) as int;
|
||||
result.count = valueDes;
|
||||
break;
|
||||
case r'day':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(String),
|
||||
) as String;
|
||||
result.day = valueDes;
|
||||
break;
|
||||
default:
|
||||
unhandled.add(key);
|
||||
unhandled.add(value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
DeliveredBelegnummernResponse deserialize(
|
||||
Serializers serializers,
|
||||
Object serialized, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) {
|
||||
final result = DeliveredBelegnummernResponseBuilder();
|
||||
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,137 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'delivered_belegnummern_response.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// BuiltValueGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class _$DeliveredBelegnummernResponse extends DeliveredBelegnummernResponse {
|
||||
@override
|
||||
final BuiltList<String> belegnummern;
|
||||
@override
|
||||
final int count;
|
||||
@override
|
||||
final String day;
|
||||
|
||||
factory _$DeliveredBelegnummernResponse(
|
||||
[void Function(DeliveredBelegnummernResponseBuilder)? updates]) =>
|
||||
(DeliveredBelegnummernResponseBuilder()..update(updates))._build();
|
||||
|
||||
_$DeliveredBelegnummernResponse._(
|
||||
{required this.belegnummern, required this.count, required this.day})
|
||||
: super._();
|
||||
@override
|
||||
DeliveredBelegnummernResponse rebuild(
|
||||
void Function(DeliveredBelegnummernResponseBuilder) updates) =>
|
||||
(toBuilder()..update(updates)).build();
|
||||
|
||||
@override
|
||||
DeliveredBelegnummernResponseBuilder toBuilder() =>
|
||||
DeliveredBelegnummernResponseBuilder()..replace(this);
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
if (identical(other, this)) return true;
|
||||
return other is DeliveredBelegnummernResponse &&
|
||||
belegnummern == other.belegnummern &&
|
||||
count == other.count &&
|
||||
day == other.day;
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode {
|
||||
var _$hash = 0;
|
||||
_$hash = $jc(_$hash, belegnummern.hashCode);
|
||||
_$hash = $jc(_$hash, count.hashCode);
|
||||
_$hash = $jc(_$hash, day.hashCode);
|
||||
_$hash = $jf(_$hash);
|
||||
return _$hash;
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return (newBuiltValueToStringHelper(r'DeliveredBelegnummernResponse')
|
||||
..add('belegnummern', belegnummern)
|
||||
..add('count', count)
|
||||
..add('day', day))
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
||||
class DeliveredBelegnummernResponseBuilder
|
||||
implements
|
||||
Builder<DeliveredBelegnummernResponse,
|
||||
DeliveredBelegnummernResponseBuilder> {
|
||||
_$DeliveredBelegnummernResponse? _$v;
|
||||
|
||||
ListBuilder<String>? _belegnummern;
|
||||
ListBuilder<String> get belegnummern =>
|
||||
_$this._belegnummern ??= ListBuilder<String>();
|
||||
set belegnummern(ListBuilder<String>? belegnummern) =>
|
||||
_$this._belegnummern = belegnummern;
|
||||
|
||||
int? _count;
|
||||
int? get count => _$this._count;
|
||||
set count(int? count) => _$this._count = count;
|
||||
|
||||
String? _day;
|
||||
String? get day => _$this._day;
|
||||
set day(String? day) => _$this._day = day;
|
||||
|
||||
DeliveredBelegnummernResponseBuilder() {
|
||||
DeliveredBelegnummernResponse._defaults(this);
|
||||
}
|
||||
|
||||
DeliveredBelegnummernResponseBuilder get _$this {
|
||||
final $v = _$v;
|
||||
if ($v != null) {
|
||||
_belegnummern = $v.belegnummern.toBuilder();
|
||||
_count = $v.count;
|
||||
_day = $v.day;
|
||||
_$v = null;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
@override
|
||||
void replace(DeliveredBelegnummernResponse other) {
|
||||
_$v = other as _$DeliveredBelegnummernResponse;
|
||||
}
|
||||
|
||||
@override
|
||||
void update(void Function(DeliveredBelegnummernResponseBuilder)? updates) {
|
||||
if (updates != null) updates(this);
|
||||
}
|
||||
|
||||
@override
|
||||
DeliveredBelegnummernResponse build() => _build();
|
||||
|
||||
_$DeliveredBelegnummernResponse _build() {
|
||||
_$DeliveredBelegnummernResponse _$result;
|
||||
try {
|
||||
_$result = _$v ??
|
||||
_$DeliveredBelegnummernResponse._(
|
||||
belegnummern: belegnummern.build(),
|
||||
count: BuiltValueNullFieldError.checkNotNull(
|
||||
count, r'DeliveredBelegnummernResponse', 'count'),
|
||||
day: BuiltValueNullFieldError.checkNotNull(
|
||||
day, r'DeliveredBelegnummernResponse', 'day'),
|
||||
);
|
||||
} catch (_) {
|
||||
late String _$failedField;
|
||||
try {
|
||||
_$failedField = 'belegnummern';
|
||||
belegnummern.build();
|
||||
} catch (e) {
|
||||
throw BuiltValueNestedFieldError(
|
||||
r'DeliveredBelegnummernResponse', _$failedField, e.toString());
|
||||
}
|
||||
rethrow;
|
||||
}
|
||||
replace(_$result);
|
||||
return _$result;
|
||||
}
|
||||
}
|
||||
|
||||
// ignore_for_file: deprecated_member_use_from_same_package,type=lint
|
||||
@ -22,6 +22,8 @@ part 'delivery.g.dart';
|
||||
/// * [erpBelegartId] - ERP-Beleg-Bezug: business-stabiles Paar `(Belegart, Belegnummer)`. Überlebt den Belegkopf-Archivübergang.
|
||||
/// * [erpBelegnummer]
|
||||
/// * [id]
|
||||
/// * [paymentMethodId] - Für den Restbetrag gewählte Zahlungsart — FK auf `payment_methods`. Vom Kunden bei Bestellung festgelegt, der Fahrer übernimmt nur die Abwicklung. Aktiv-Flag und Anzeige-Name werden über die Stammdaten-Tabelle aufgelöst, nicht hier embeddet.
|
||||
/// * [prepaidAmount] - Bei Bestellung schon bezahlter Betrag in EUR. `0.0` wenn der Kunde alles bei Lieferung zahlt. Wird vom ERP-Sync gefüllt.
|
||||
/// * [specialAgreements] - Sondervereinbarungen (z. B. „Türklingel defekt, hintenrum klopfen\").
|
||||
/// * [state]
|
||||
/// * [stateReason] - Begründung bei `state == Held` oder `state == Canceled`. Beim Resume / Complete wieder `None`.
|
||||
@ -57,6 +59,14 @@ abstract class Delivery {
|
||||
@BuiltValueField(wireName: r'id')
|
||||
String get id;
|
||||
|
||||
/// Für den Restbetrag gewählte Zahlungsart — FK auf `payment_methods`. Vom Kunden bei Bestellung festgelegt, der Fahrer übernimmt nur die Abwicklung. Aktiv-Flag und Anzeige-Name werden über die Stammdaten-Tabelle aufgelöst, nicht hier embeddet.
|
||||
@BuiltValueField(wireName: r'paymentMethodId')
|
||||
String get paymentMethodId;
|
||||
|
||||
/// Bei Bestellung schon bezahlter Betrag in EUR. `0.0` wenn der Kunde alles bei Lieferung zahlt. Wird vom ERP-Sync gefüllt.
|
||||
@BuiltValueField(wireName: r'prepaidAmount')
|
||||
double get prepaidAmount;
|
||||
|
||||
/// Sondervereinbarungen (z. B. „Türklingel defekt, hintenrum klopfen\").
|
||||
@BuiltValueField(wireName: r'specialAgreements')
|
||||
String? get specialAgreements;
|
||||
@ -132,6 +142,16 @@ class _$DeliverySerializer implements PrimitiveSerializer<Delivery> {
|
||||
object.id,
|
||||
specifiedType: const FullType(String),
|
||||
);
|
||||
yield r'paymentMethodId';
|
||||
yield serializers.serialize(
|
||||
object.paymentMethodId,
|
||||
specifiedType: const FullType(String),
|
||||
);
|
||||
yield r'prepaidAmount';
|
||||
yield serializers.serialize(
|
||||
object.prepaidAmount,
|
||||
specifiedType: const FullType(double),
|
||||
);
|
||||
if (object.specialAgreements != null) {
|
||||
yield r'specialAgreements';
|
||||
yield serializers.serialize(
|
||||
@ -277,6 +297,20 @@ class _$$DeliverySerializer implements PrimitiveSerializer<$Delivery> {
|
||||
) as String;
|
||||
result.id = valueDes;
|
||||
break;
|
||||
case r'paymentMethodId':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(String),
|
||||
) as String;
|
||||
result.paymentMethodId = valueDes;
|
||||
break;
|
||||
case r'prepaidAmount':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(double),
|
||||
) as double;
|
||||
result.prepaidAmount = valueDes;
|
||||
break;
|
||||
case r'specialAgreements':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
|
||||
@ -33,6 +33,12 @@ abstract class DeliveryBuilder {
|
||||
String? get id;
|
||||
set id(String? id);
|
||||
|
||||
String? get paymentMethodId;
|
||||
set paymentMethodId(String? paymentMethodId);
|
||||
|
||||
double? get prepaidAmount;
|
||||
set prepaidAmount(double? prepaidAmount);
|
||||
|
||||
String? get specialAgreements;
|
||||
set specialAgreements(String? specialAgreements);
|
||||
|
||||
@ -64,6 +70,10 @@ class _$$Delivery extends $Delivery {
|
||||
@override
|
||||
final String id;
|
||||
@override
|
||||
final String paymentMethodId;
|
||||
@override
|
||||
final double prepaidAmount;
|
||||
@override
|
||||
final String? specialAgreements;
|
||||
@override
|
||||
final DeliveryState state;
|
||||
@ -84,6 +94,8 @@ class _$$Delivery extends $Delivery {
|
||||
required this.erpBelegartId,
|
||||
required this.erpBelegnummer,
|
||||
required this.id,
|
||||
required this.paymentMethodId,
|
||||
required this.prepaidAmount,
|
||||
this.specialAgreements,
|
||||
required this.state,
|
||||
this.stateReason,
|
||||
@ -108,6 +120,8 @@ class _$$Delivery extends $Delivery {
|
||||
erpBelegartId == other.erpBelegartId &&
|
||||
erpBelegnummer == other.erpBelegnummer &&
|
||||
id == other.id &&
|
||||
paymentMethodId == other.paymentMethodId &&
|
||||
prepaidAmount == other.prepaidAmount &&
|
||||
specialAgreements == other.specialAgreements &&
|
||||
state == other.state &&
|
||||
stateReason == other.stateReason &&
|
||||
@ -125,6 +139,8 @@ class _$$Delivery extends $Delivery {
|
||||
_$hash = $jc(_$hash, erpBelegartId.hashCode);
|
||||
_$hash = $jc(_$hash, erpBelegnummer.hashCode);
|
||||
_$hash = $jc(_$hash, id.hashCode);
|
||||
_$hash = $jc(_$hash, paymentMethodId.hashCode);
|
||||
_$hash = $jc(_$hash, prepaidAmount.hashCode);
|
||||
_$hash = $jc(_$hash, specialAgreements.hashCode);
|
||||
_$hash = $jc(_$hash, state.hashCode);
|
||||
_$hash = $jc(_$hash, stateReason.hashCode);
|
||||
@ -144,6 +160,8 @@ class _$$Delivery extends $Delivery {
|
||||
..add('erpBelegartId', erpBelegartId)
|
||||
..add('erpBelegnummer', erpBelegnummer)
|
||||
..add('id', id)
|
||||
..add('paymentMethodId', paymentMethodId)
|
||||
..add('prepaidAmount', prepaidAmount)
|
||||
..add('specialAgreements', specialAgreements)
|
||||
..add('state', state)
|
||||
..add('stateReason', stateReason)
|
||||
@ -198,6 +216,16 @@ class $DeliveryBuilder
|
||||
String? get id => _$this._id;
|
||||
set id(covariant String? id) => _$this._id = id;
|
||||
|
||||
String? _paymentMethodId;
|
||||
String? get paymentMethodId => _$this._paymentMethodId;
|
||||
set paymentMethodId(covariant String? paymentMethodId) =>
|
||||
_$this._paymentMethodId = paymentMethodId;
|
||||
|
||||
double? _prepaidAmount;
|
||||
double? get prepaidAmount => _$this._prepaidAmount;
|
||||
set prepaidAmount(covariant double? prepaidAmount) =>
|
||||
_$this._prepaidAmount = prepaidAmount;
|
||||
|
||||
String? _specialAgreements;
|
||||
String? get specialAgreements => _$this._specialAgreements;
|
||||
set specialAgreements(covariant String? specialAgreements) =>
|
||||
@ -231,6 +259,8 @@ class $DeliveryBuilder
|
||||
_erpBelegartId = $v.erpBelegartId;
|
||||
_erpBelegnummer = $v.erpBelegnummer;
|
||||
_id = $v.id;
|
||||
_paymentMethodId = $v.paymentMethodId;
|
||||
_prepaidAmount = $v.prepaidAmount;
|
||||
_specialAgreements = $v.specialAgreements;
|
||||
_state = $v.state;
|
||||
_stateReason = $v.stateReason;
|
||||
@ -269,6 +299,10 @@ class $DeliveryBuilder
|
||||
erpBelegnummer: BuiltValueNullFieldError.checkNotNull(
|
||||
erpBelegnummer, r'$Delivery', 'erpBelegnummer'),
|
||||
id: BuiltValueNullFieldError.checkNotNull(id, r'$Delivery', 'id'),
|
||||
paymentMethodId: BuiltValueNullFieldError.checkNotNull(
|
||||
paymentMethodId, r'$Delivery', 'paymentMethodId'),
|
||||
prepaidAmount: BuiltValueNullFieldError.checkNotNull(
|
||||
prepaidAmount, r'$Delivery', 'prepaidAmount'),
|
||||
specialAgreements: specialAgreements,
|
||||
state: BuiltValueNullFieldError.checkNotNull(
|
||||
state, r'$Delivery', 'state'),
|
||||
|
||||
139
packages/holzleitner_api/lib/src/model/delivery_credit.dart
Normal file
139
packages/holzleitner_api/lib/src/model/delivery_credit.dart
Normal file
@ -0,0 +1,139 @@
|
||||
//
|
||||
// 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_credit.g.dart';
|
||||
|
||||
/// Aktuelle Betrags-Gutschrift einer Lieferung (Geld-Nachlass, unabhängig von Stückzahl). Abgeleitet aus dem jüngsten Ereignis im append-only `delivery_credit_audit`; existiert nur, solange der letzte Stand `set` (und nicht `remove`) ist. `delivery_id` macht den Eintrag — wie eine Notiz — clientseitig per Lieferung join-bar.
|
||||
///
|
||||
/// Properties:
|
||||
/// * [amountCents] - Gutschrift-Betrag in Cent (> 0, ≤ 15000).
|
||||
/// * [deliveryId]
|
||||
/// * [reason]
|
||||
@BuiltValue()
|
||||
abstract class DeliveryCredit implements Built<DeliveryCredit, DeliveryCreditBuilder> {
|
||||
/// Gutschrift-Betrag in Cent (> 0, ≤ 15000).
|
||||
@BuiltValueField(wireName: r'amountCents')
|
||||
int get amountCents;
|
||||
|
||||
@BuiltValueField(wireName: r'deliveryId')
|
||||
String get deliveryId;
|
||||
|
||||
@BuiltValueField(wireName: r'reason')
|
||||
String get reason;
|
||||
|
||||
DeliveryCredit._();
|
||||
|
||||
factory DeliveryCredit([void updates(DeliveryCreditBuilder b)]) = _$DeliveryCredit;
|
||||
|
||||
@BuiltValueHook(initializeBuilder: true)
|
||||
static void _defaults(DeliveryCreditBuilder b) => b;
|
||||
|
||||
@BuiltValueSerializer(custom: true)
|
||||
static Serializer<DeliveryCredit> get serializer => _$DeliveryCreditSerializer();
|
||||
}
|
||||
|
||||
class _$DeliveryCreditSerializer implements PrimitiveSerializer<DeliveryCredit> {
|
||||
@override
|
||||
final Iterable<Type> types = const [DeliveryCredit, _$DeliveryCredit];
|
||||
|
||||
@override
|
||||
final String wireName = r'DeliveryCredit';
|
||||
|
||||
Iterable<Object?> _serializeProperties(
|
||||
Serializers serializers,
|
||||
DeliveryCredit 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'reason';
|
||||
yield serializers.serialize(
|
||||
object.reason,
|
||||
specifiedType: const FullType(String),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Object serialize(
|
||||
Serializers serializers,
|
||||
DeliveryCredit 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 DeliveryCreditBuilder 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'reason':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(String),
|
||||
) as String;
|
||||
result.reason = valueDes;
|
||||
break;
|
||||
default:
|
||||
unhandled.add(key);
|
||||
unhandled.add(value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
DeliveryCredit deserialize(
|
||||
Serializers serializers,
|
||||
Object serialized, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) {
|
||||
final result = DeliveryCreditBuilder();
|
||||
final serializedList = (serialized as Iterable<Object?>).toList();
|
||||
final unhandled = <Object?>[];
|
||||
_deserializeProperties(
|
||||
serializers,
|
||||
serialized,
|
||||
specifiedType: specifiedType,
|
||||
serializedList: serializedList,
|
||||
unhandled: unhandled,
|
||||
result: result,
|
||||
);
|
||||
return result.build();
|
||||
}
|
||||
}
|
||||
|
||||
120
packages/holzleitner_api/lib/src/model/delivery_credit.g.dart
Normal file
120
packages/holzleitner_api/lib/src/model/delivery_credit.g.dart
Normal file
@ -0,0 +1,120 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'delivery_credit.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// BuiltValueGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class _$DeliveryCredit extends DeliveryCredit {
|
||||
@override
|
||||
final int amountCents;
|
||||
@override
|
||||
final String deliveryId;
|
||||
@override
|
||||
final String reason;
|
||||
|
||||
factory _$DeliveryCredit([void Function(DeliveryCreditBuilder)? updates]) =>
|
||||
(DeliveryCreditBuilder()..update(updates))._build();
|
||||
|
||||
_$DeliveryCredit._(
|
||||
{required this.amountCents,
|
||||
required this.deliveryId,
|
||||
required this.reason})
|
||||
: super._();
|
||||
@override
|
||||
DeliveryCredit rebuild(void Function(DeliveryCreditBuilder) updates) =>
|
||||
(toBuilder()..update(updates)).build();
|
||||
|
||||
@override
|
||||
DeliveryCreditBuilder toBuilder() => DeliveryCreditBuilder()..replace(this);
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
if (identical(other, this)) return true;
|
||||
return other is DeliveryCredit &&
|
||||
amountCents == other.amountCents &&
|
||||
deliveryId == other.deliveryId &&
|
||||
reason == other.reason;
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode {
|
||||
var _$hash = 0;
|
||||
_$hash = $jc(_$hash, amountCents.hashCode);
|
||||
_$hash = $jc(_$hash, deliveryId.hashCode);
|
||||
_$hash = $jc(_$hash, reason.hashCode);
|
||||
_$hash = $jf(_$hash);
|
||||
return _$hash;
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return (newBuiltValueToStringHelper(r'DeliveryCredit')
|
||||
..add('amountCents', amountCents)
|
||||
..add('deliveryId', deliveryId)
|
||||
..add('reason', reason))
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
||||
class DeliveryCreditBuilder
|
||||
implements Builder<DeliveryCredit, DeliveryCreditBuilder> {
|
||||
_$DeliveryCredit? _$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? _reason;
|
||||
String? get reason => _$this._reason;
|
||||
set reason(String? reason) => _$this._reason = reason;
|
||||
|
||||
DeliveryCreditBuilder() {
|
||||
DeliveryCredit._defaults(this);
|
||||
}
|
||||
|
||||
DeliveryCreditBuilder get _$this {
|
||||
final $v = _$v;
|
||||
if ($v != null) {
|
||||
_amountCents = $v.amountCents;
|
||||
_deliveryId = $v.deliveryId;
|
||||
_reason = $v.reason;
|
||||
_$v = null;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
@override
|
||||
void replace(DeliveryCredit other) {
|
||||
_$v = other as _$DeliveryCredit;
|
||||
}
|
||||
|
||||
@override
|
||||
void update(void Function(DeliveryCreditBuilder)? updates) {
|
||||
if (updates != null) updates(this);
|
||||
}
|
||||
|
||||
@override
|
||||
DeliveryCredit build() => _build();
|
||||
|
||||
_$DeliveryCredit _build() {
|
||||
final _$result = _$v ??
|
||||
_$DeliveryCredit._(
|
||||
amountCents: BuiltValueNullFieldError.checkNotNull(
|
||||
amountCents, r'DeliveryCredit', 'amountCents'),
|
||||
deliveryId: BuiltValueNullFieldError.checkNotNull(
|
||||
deliveryId, r'DeliveryCredit', 'deliveryId'),
|
||||
reason: BuiltValueNullFieldError.checkNotNull(
|
||||
reason, r'DeliveryCredit', 'reason'),
|
||||
);
|
||||
replace(_$result);
|
||||
return _$result;
|
||||
}
|
||||
}
|
||||
|
||||
// ignore_for_file: deprecated_member_use_from_same_package,type=lint
|
||||
@ -0,0 +1,185 @@
|
||||
//
|
||||
// AUTO-GENERATED FILE, DO NOT MODIFY!
|
||||
//
|
||||
|
||||
// ignore_for_file: unused_element
|
||||
import 'package:holzleitner_api/src/model/credit_action.dart';
|
||||
import 'package:built_value/built_value.dart';
|
||||
import 'package:built_value/serializer.dart';
|
||||
|
||||
part 'delivery_credit_event_request.g.dart';
|
||||
|
||||
/// DeliveryCreditEventRequest
|
||||
///
|
||||
/// Properties:
|
||||
/// * [action]
|
||||
/// * [amountCents] - Bei `Set` Pflicht: Betrag in Cent (> 0, ≤ 15000, Vielfaches von 1000).
|
||||
/// * [authorCarId] - Fahrzeug des Akteurs (Audit-Spur). Muss zum Account gehören.
|
||||
/// * [clientEventId] - Idempotenz-Schlüssel — pro erzeugtem Ereignis genau einmal vergeben. Ein Retry mit derselben Id wendet nichts erneut an.
|
||||
/// * [reason] - Bei `Set` Pflicht: Begründung.
|
||||
@BuiltValue()
|
||||
abstract class DeliveryCreditEventRequest implements Built<DeliveryCreditEventRequest, DeliveryCreditEventRequestBuilder> {
|
||||
@BuiltValueField(wireName: r'action')
|
||||
CreditAction get action;
|
||||
// enum actionEnum { set, remove, };
|
||||
|
||||
/// Bei `Set` Pflicht: Betrag in Cent (> 0, ≤ 15000, Vielfaches von 1000).
|
||||
@BuiltValueField(wireName: r'amountCents')
|
||||
int? get amountCents;
|
||||
|
||||
/// Fahrzeug des Akteurs (Audit-Spur). Muss zum Account gehören.
|
||||
@BuiltValueField(wireName: r'authorCarId')
|
||||
String? get authorCarId;
|
||||
|
||||
/// Idempotenz-Schlüssel — pro erzeugtem Ereignis genau einmal vergeben. Ein Retry mit derselben Id wendet nichts erneut an.
|
||||
@BuiltValueField(wireName: r'clientEventId')
|
||||
String get clientEventId;
|
||||
|
||||
/// Bei `Set` Pflicht: Begründung.
|
||||
@BuiltValueField(wireName: r'reason')
|
||||
String? get reason;
|
||||
|
||||
DeliveryCreditEventRequest._();
|
||||
|
||||
factory DeliveryCreditEventRequest([void updates(DeliveryCreditEventRequestBuilder b)]) = _$DeliveryCreditEventRequest;
|
||||
|
||||
@BuiltValueHook(initializeBuilder: true)
|
||||
static void _defaults(DeliveryCreditEventRequestBuilder b) => b;
|
||||
|
||||
@BuiltValueSerializer(custom: true)
|
||||
static Serializer<DeliveryCreditEventRequest> get serializer => _$DeliveryCreditEventRequestSerializer();
|
||||
}
|
||||
|
||||
class _$DeliveryCreditEventRequestSerializer implements PrimitiveSerializer<DeliveryCreditEventRequest> {
|
||||
@override
|
||||
final Iterable<Type> types = const [DeliveryCreditEventRequest, _$DeliveryCreditEventRequest];
|
||||
|
||||
@override
|
||||
final String wireName = r'DeliveryCreditEventRequest';
|
||||
|
||||
Iterable<Object?> _serializeProperties(
|
||||
Serializers serializers,
|
||||
DeliveryCreditEventRequest object, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) sync* {
|
||||
yield r'action';
|
||||
yield serializers.serialize(
|
||||
object.action,
|
||||
specifiedType: const FullType(CreditAction),
|
||||
);
|
||||
if (object.amountCents != null) {
|
||||
yield r'amountCents';
|
||||
yield serializers.serialize(
|
||||
object.amountCents,
|
||||
specifiedType: const FullType.nullable(int),
|
||||
);
|
||||
}
|
||||
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),
|
||||
);
|
||||
if (object.reason != null) {
|
||||
yield r'reason';
|
||||
yield serializers.serialize(
|
||||
object.reason,
|
||||
specifiedType: const FullType.nullable(String),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Object serialize(
|
||||
Serializers serializers,
|
||||
DeliveryCreditEventRequest 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 DeliveryCreditEventRequestBuilder 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'action':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(CreditAction),
|
||||
) as CreditAction;
|
||||
result.action = valueDes;
|
||||
break;
|
||||
case r'amountCents':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType.nullable(int),
|
||||
) as int?;
|
||||
if (valueDes == null) continue;
|
||||
result.amountCents = valueDes;
|
||||
break;
|
||||
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'reason':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType.nullable(String),
|
||||
) as String?;
|
||||
if (valueDes == null) continue;
|
||||
result.reason = valueDes;
|
||||
break;
|
||||
default:
|
||||
unhandled.add(key);
|
||||
unhandled.add(value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
DeliveryCreditEventRequest deserialize(
|
||||
Serializers serializers,
|
||||
Object serialized, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) {
|
||||
final result = DeliveryCreditEventRequestBuilder();
|
||||
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,148 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'delivery_credit_event_request.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// BuiltValueGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class _$DeliveryCreditEventRequest extends DeliveryCreditEventRequest {
|
||||
@override
|
||||
final CreditAction action;
|
||||
@override
|
||||
final int? amountCents;
|
||||
@override
|
||||
final String? authorCarId;
|
||||
@override
|
||||
final String clientEventId;
|
||||
@override
|
||||
final String? reason;
|
||||
|
||||
factory _$DeliveryCreditEventRequest(
|
||||
[void Function(DeliveryCreditEventRequestBuilder)? updates]) =>
|
||||
(DeliveryCreditEventRequestBuilder()..update(updates))._build();
|
||||
|
||||
_$DeliveryCreditEventRequest._(
|
||||
{required this.action,
|
||||
this.amountCents,
|
||||
this.authorCarId,
|
||||
required this.clientEventId,
|
||||
this.reason})
|
||||
: super._();
|
||||
@override
|
||||
DeliveryCreditEventRequest rebuild(
|
||||
void Function(DeliveryCreditEventRequestBuilder) updates) =>
|
||||
(toBuilder()..update(updates)).build();
|
||||
|
||||
@override
|
||||
DeliveryCreditEventRequestBuilder toBuilder() =>
|
||||
DeliveryCreditEventRequestBuilder()..replace(this);
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
if (identical(other, this)) return true;
|
||||
return other is DeliveryCreditEventRequest &&
|
||||
action == other.action &&
|
||||
amountCents == other.amountCents &&
|
||||
authorCarId == other.authorCarId &&
|
||||
clientEventId == other.clientEventId &&
|
||||
reason == other.reason;
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode {
|
||||
var _$hash = 0;
|
||||
_$hash = $jc(_$hash, action.hashCode);
|
||||
_$hash = $jc(_$hash, amountCents.hashCode);
|
||||
_$hash = $jc(_$hash, authorCarId.hashCode);
|
||||
_$hash = $jc(_$hash, clientEventId.hashCode);
|
||||
_$hash = $jc(_$hash, reason.hashCode);
|
||||
_$hash = $jf(_$hash);
|
||||
return _$hash;
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return (newBuiltValueToStringHelper(r'DeliveryCreditEventRequest')
|
||||
..add('action', action)
|
||||
..add('amountCents', amountCents)
|
||||
..add('authorCarId', authorCarId)
|
||||
..add('clientEventId', clientEventId)
|
||||
..add('reason', reason))
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
||||
class DeliveryCreditEventRequestBuilder
|
||||
implements
|
||||
Builder<DeliveryCreditEventRequest, DeliveryCreditEventRequestBuilder> {
|
||||
_$DeliveryCreditEventRequest? _$v;
|
||||
|
||||
CreditAction? _action;
|
||||
CreditAction? get action => _$this._action;
|
||||
set action(CreditAction? action) => _$this._action = action;
|
||||
|
||||
int? _amountCents;
|
||||
int? get amountCents => _$this._amountCents;
|
||||
set amountCents(int? amountCents) => _$this._amountCents = amountCents;
|
||||
|
||||
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;
|
||||
|
||||
String? _reason;
|
||||
String? get reason => _$this._reason;
|
||||
set reason(String? reason) => _$this._reason = reason;
|
||||
|
||||
DeliveryCreditEventRequestBuilder() {
|
||||
DeliveryCreditEventRequest._defaults(this);
|
||||
}
|
||||
|
||||
DeliveryCreditEventRequestBuilder get _$this {
|
||||
final $v = _$v;
|
||||
if ($v != null) {
|
||||
_action = $v.action;
|
||||
_amountCents = $v.amountCents;
|
||||
_authorCarId = $v.authorCarId;
|
||||
_clientEventId = $v.clientEventId;
|
||||
_reason = $v.reason;
|
||||
_$v = null;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
@override
|
||||
void replace(DeliveryCreditEventRequest other) {
|
||||
_$v = other as _$DeliveryCreditEventRequest;
|
||||
}
|
||||
|
||||
@override
|
||||
void update(void Function(DeliveryCreditEventRequestBuilder)? updates) {
|
||||
if (updates != null) updates(this);
|
||||
}
|
||||
|
||||
@override
|
||||
DeliveryCreditEventRequest build() => _build();
|
||||
|
||||
_$DeliveryCreditEventRequest _build() {
|
||||
final _$result = _$v ??
|
||||
_$DeliveryCreditEventRequest._(
|
||||
action: BuiltValueNullFieldError.checkNotNull(
|
||||
action, r'DeliveryCreditEventRequest', 'action'),
|
||||
amountCents: amountCents,
|
||||
authorCarId: authorCarId,
|
||||
clientEventId: BuiltValueNullFieldError.checkNotNull(
|
||||
clientEventId, r'DeliveryCreditEventRequest', 'clientEventId'),
|
||||
reason: reason,
|
||||
);
|
||||
replace(_$result);
|
||||
return _$result;
|
||||
}
|
||||
}
|
||||
|
||||
// ignore_for_file: deprecated_member_use_from_same_package,type=lint
|
||||
@ -0,0 +1,111 @@
|
||||
//
|
||||
// AUTO-GENERATED FILE, DO NOT MODIFY!
|
||||
//
|
||||
|
||||
// ignore_for_file: unused_element
|
||||
import 'package:holzleitner_api/src/model/delivery_credit.dart';
|
||||
import 'package:built_value/built_value.dart';
|
||||
import 'package:built_value/serializer.dart';
|
||||
|
||||
part 'delivery_credit_response.g.dart';
|
||||
|
||||
/// DeliveryCreditResponse
|
||||
///
|
||||
/// Properties:
|
||||
/// * [credit] - Aktueller Stand nach dem Ereignis — `None`, wenn (zuletzt) entfernt.
|
||||
@BuiltValue()
|
||||
abstract class DeliveryCreditResponse implements Built<DeliveryCreditResponse, DeliveryCreditResponseBuilder> {
|
||||
/// Aktueller Stand nach dem Ereignis — `None`, wenn (zuletzt) entfernt.
|
||||
@BuiltValueField(wireName: r'credit')
|
||||
DeliveryCredit? get credit;
|
||||
|
||||
DeliveryCreditResponse._();
|
||||
|
||||
factory DeliveryCreditResponse([void updates(DeliveryCreditResponseBuilder b)]) = _$DeliveryCreditResponse;
|
||||
|
||||
@BuiltValueHook(initializeBuilder: true)
|
||||
static void _defaults(DeliveryCreditResponseBuilder b) => b;
|
||||
|
||||
@BuiltValueSerializer(custom: true)
|
||||
static Serializer<DeliveryCreditResponse> get serializer => _$DeliveryCreditResponseSerializer();
|
||||
}
|
||||
|
||||
class _$DeliveryCreditResponseSerializer implements PrimitiveSerializer<DeliveryCreditResponse> {
|
||||
@override
|
||||
final Iterable<Type> types = const [DeliveryCreditResponse, _$DeliveryCreditResponse];
|
||||
|
||||
@override
|
||||
final String wireName = r'DeliveryCreditResponse';
|
||||
|
||||
Iterable<Object?> _serializeProperties(
|
||||
Serializers serializers,
|
||||
DeliveryCreditResponse object, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) sync* {
|
||||
if (object.credit != null) {
|
||||
yield r'credit';
|
||||
yield serializers.serialize(
|
||||
object.credit,
|
||||
specifiedType: const FullType.nullable(DeliveryCredit),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Object serialize(
|
||||
Serializers serializers,
|
||||
DeliveryCreditResponse 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 DeliveryCreditResponseBuilder 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'credit':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType.nullable(DeliveryCredit),
|
||||
) as DeliveryCredit?;
|
||||
if (valueDes == null) continue;
|
||||
result.credit.replace(valueDes);
|
||||
break;
|
||||
default:
|
||||
unhandled.add(key);
|
||||
unhandled.add(value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
DeliveryCreditResponse deserialize(
|
||||
Serializers serializers,
|
||||
Object serialized, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) {
|
||||
final result = DeliveryCreditResponseBuilder();
|
||||
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,107 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'delivery_credit_response.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// BuiltValueGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class _$DeliveryCreditResponse extends DeliveryCreditResponse {
|
||||
@override
|
||||
final DeliveryCredit? credit;
|
||||
|
||||
factory _$DeliveryCreditResponse(
|
||||
[void Function(DeliveryCreditResponseBuilder)? updates]) =>
|
||||
(DeliveryCreditResponseBuilder()..update(updates))._build();
|
||||
|
||||
_$DeliveryCreditResponse._({this.credit}) : super._();
|
||||
@override
|
||||
DeliveryCreditResponse rebuild(
|
||||
void Function(DeliveryCreditResponseBuilder) updates) =>
|
||||
(toBuilder()..update(updates)).build();
|
||||
|
||||
@override
|
||||
DeliveryCreditResponseBuilder toBuilder() =>
|
||||
DeliveryCreditResponseBuilder()..replace(this);
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
if (identical(other, this)) return true;
|
||||
return other is DeliveryCreditResponse && credit == other.credit;
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode {
|
||||
var _$hash = 0;
|
||||
_$hash = $jc(_$hash, credit.hashCode);
|
||||
_$hash = $jf(_$hash);
|
||||
return _$hash;
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return (newBuiltValueToStringHelper(r'DeliveryCreditResponse')
|
||||
..add('credit', credit))
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
||||
class DeliveryCreditResponseBuilder
|
||||
implements Builder<DeliveryCreditResponse, DeliveryCreditResponseBuilder> {
|
||||
_$DeliveryCreditResponse? _$v;
|
||||
|
||||
DeliveryCreditBuilder? _credit;
|
||||
DeliveryCreditBuilder get credit =>
|
||||
_$this._credit ??= DeliveryCreditBuilder();
|
||||
set credit(DeliveryCreditBuilder? credit) => _$this._credit = credit;
|
||||
|
||||
DeliveryCreditResponseBuilder() {
|
||||
DeliveryCreditResponse._defaults(this);
|
||||
}
|
||||
|
||||
DeliveryCreditResponseBuilder get _$this {
|
||||
final $v = _$v;
|
||||
if ($v != null) {
|
||||
_credit = $v.credit?.toBuilder();
|
||||
_$v = null;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
@override
|
||||
void replace(DeliveryCreditResponse other) {
|
||||
_$v = other as _$DeliveryCreditResponse;
|
||||
}
|
||||
|
||||
@override
|
||||
void update(void Function(DeliveryCreditResponseBuilder)? updates) {
|
||||
if (updates != null) updates(this);
|
||||
}
|
||||
|
||||
@override
|
||||
DeliveryCreditResponse build() => _build();
|
||||
|
||||
_$DeliveryCreditResponse _build() {
|
||||
_$DeliveryCreditResponse _$result;
|
||||
try {
|
||||
_$result = _$v ??
|
||||
_$DeliveryCreditResponse._(
|
||||
credit: _credit?.build(),
|
||||
);
|
||||
} catch (_) {
|
||||
late String _$failedField;
|
||||
try {
|
||||
_$failedField = 'credit';
|
||||
_credit?.build();
|
||||
} catch (e) {
|
||||
throw BuiltValueNestedFieldError(
|
||||
r'DeliveryCreditResponse', _$failedField, e.toString());
|
||||
}
|
||||
rethrow;
|
||||
}
|
||||
replace(_$result);
|
||||
return _$result;
|
||||
}
|
||||
}
|
||||
|
||||
// ignore_for_file: deprecated_member_use_from_same_package,type=lint
|
||||
@ -17,8 +17,10 @@ part 'delivery_item.g.dart';
|
||||
/// * [deliveryId]
|
||||
/// * [id]
|
||||
/// * [komponentenArtikelNr] - Bei Items aus einer Stückliste: Artikelnummer der Komponente. Bei regulären Belegzeilen: `None`.
|
||||
/// * [parentArtikelNr] - Artikelnummer des Oberartikels, zu dem diese Komponente gehört. `None` bei Oberartikeln/regulären Zeilen — die App rückt Komponenten darüber unter ihrem Oberartikel ein.
|
||||
/// * [requiredQuantity]
|
||||
/// * [scanState]
|
||||
/// * [unitPrice] - Stückpreis (brutto, EUR) aus dem ERP-Sync. Der Warenwert einer Lieferung = Σ `unit_price` × ausgelieferte Menge.
|
||||
/// * [warehouseId]
|
||||
@BuiltValue()
|
||||
abstract class DeliveryItem implements Built<DeliveryItem, DeliveryItemBuilder> {
|
||||
@ -39,12 +41,20 @@ abstract class DeliveryItem implements Built<DeliveryItem, DeliveryItemBuilder>
|
||||
@BuiltValueField(wireName: r'komponentenArtikelNr')
|
||||
String? get komponentenArtikelNr;
|
||||
|
||||
/// Artikelnummer des Oberartikels, zu dem diese Komponente gehört. `None` bei Oberartikeln/regulären Zeilen — die App rückt Komponenten darüber unter ihrem Oberartikel ein.
|
||||
@BuiltValueField(wireName: r'parentArtikelNr')
|
||||
String? get parentArtikelNr;
|
||||
|
||||
@BuiltValueField(wireName: r'requiredQuantity')
|
||||
int get requiredQuantity;
|
||||
|
||||
@BuiltValueField(wireName: r'scanState')
|
||||
ScanState get scanState;
|
||||
|
||||
/// Stückpreis (brutto, EUR) aus dem ERP-Sync. Der Warenwert einer Lieferung = Σ `unit_price` × ausgelieferte Menge.
|
||||
@BuiltValueField(wireName: r'unitPrice')
|
||||
double get unitPrice;
|
||||
|
||||
@BuiltValueField(wireName: r'warehouseId')
|
||||
String get warehouseId;
|
||||
|
||||
@ -98,6 +108,13 @@ class _$DeliveryItemSerializer implements PrimitiveSerializer<DeliveryItem> {
|
||||
specifiedType: const FullType.nullable(String),
|
||||
);
|
||||
}
|
||||
if (object.parentArtikelNr != null) {
|
||||
yield r'parentArtikelNr';
|
||||
yield serializers.serialize(
|
||||
object.parentArtikelNr,
|
||||
specifiedType: const FullType.nullable(String),
|
||||
);
|
||||
}
|
||||
yield r'requiredQuantity';
|
||||
yield serializers.serialize(
|
||||
object.requiredQuantity,
|
||||
@ -108,6 +125,11 @@ class _$DeliveryItemSerializer implements PrimitiveSerializer<DeliveryItem> {
|
||||
object.scanState,
|
||||
specifiedType: const FullType(ScanState),
|
||||
);
|
||||
yield r'unitPrice';
|
||||
yield serializers.serialize(
|
||||
object.unitPrice,
|
||||
specifiedType: const FullType(double),
|
||||
);
|
||||
yield r'warehouseId';
|
||||
yield serializers.serialize(
|
||||
object.warehouseId,
|
||||
@ -172,6 +194,14 @@ class _$DeliveryItemSerializer implements PrimitiveSerializer<DeliveryItem> {
|
||||
if (valueDes == null) continue;
|
||||
result.komponentenArtikelNr = valueDes;
|
||||
break;
|
||||
case r'parentArtikelNr':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType.nullable(String),
|
||||
) as String?;
|
||||
if (valueDes == null) continue;
|
||||
result.parentArtikelNr = valueDes;
|
||||
break;
|
||||
case r'requiredQuantity':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
@ -186,6 +216,13 @@ class _$DeliveryItemSerializer implements PrimitiveSerializer<DeliveryItem> {
|
||||
) as ScanState;
|
||||
result.scanState.replace(valueDes);
|
||||
break;
|
||||
case r'unitPrice':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(double),
|
||||
) as double;
|
||||
result.unitPrice = valueDes;
|
||||
break;
|
||||
case r'warehouseId':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
|
||||
@ -18,10 +18,14 @@ class _$DeliveryItem extends DeliveryItem {
|
||||
@override
|
||||
final String? komponentenArtikelNr;
|
||||
@override
|
||||
final String? parentArtikelNr;
|
||||
@override
|
||||
final int requiredQuantity;
|
||||
@override
|
||||
final ScanState scanState;
|
||||
@override
|
||||
final double unitPrice;
|
||||
@override
|
||||
final String warehouseId;
|
||||
|
||||
factory _$DeliveryItem([void Function(DeliveryItemBuilder)? updates]) =>
|
||||
@ -33,8 +37,10 @@ class _$DeliveryItem extends DeliveryItem {
|
||||
required this.deliveryId,
|
||||
required this.id,
|
||||
this.komponentenArtikelNr,
|
||||
this.parentArtikelNr,
|
||||
required this.requiredQuantity,
|
||||
required this.scanState,
|
||||
required this.unitPrice,
|
||||
required this.warehouseId})
|
||||
: super._();
|
||||
@override
|
||||
@ -53,8 +59,10 @@ class _$DeliveryItem extends DeliveryItem {
|
||||
deliveryId == other.deliveryId &&
|
||||
id == other.id &&
|
||||
komponentenArtikelNr == other.komponentenArtikelNr &&
|
||||
parentArtikelNr == other.parentArtikelNr &&
|
||||
requiredQuantity == other.requiredQuantity &&
|
||||
scanState == other.scanState &&
|
||||
unitPrice == other.unitPrice &&
|
||||
warehouseId == other.warehouseId;
|
||||
}
|
||||
|
||||
@ -66,8 +74,10 @@ class _$DeliveryItem extends DeliveryItem {
|
||||
_$hash = $jc(_$hash, deliveryId.hashCode);
|
||||
_$hash = $jc(_$hash, id.hashCode);
|
||||
_$hash = $jc(_$hash, komponentenArtikelNr.hashCode);
|
||||
_$hash = $jc(_$hash, parentArtikelNr.hashCode);
|
||||
_$hash = $jc(_$hash, requiredQuantity.hashCode);
|
||||
_$hash = $jc(_$hash, scanState.hashCode);
|
||||
_$hash = $jc(_$hash, unitPrice.hashCode);
|
||||
_$hash = $jc(_$hash, warehouseId.hashCode);
|
||||
_$hash = $jf(_$hash);
|
||||
return _$hash;
|
||||
@ -81,8 +91,10 @@ class _$DeliveryItem extends DeliveryItem {
|
||||
..add('deliveryId', deliveryId)
|
||||
..add('id', id)
|
||||
..add('komponentenArtikelNr', komponentenArtikelNr)
|
||||
..add('parentArtikelNr', parentArtikelNr)
|
||||
..add('requiredQuantity', requiredQuantity)
|
||||
..add('scanState', scanState)
|
||||
..add('unitPrice', unitPrice)
|
||||
..add('warehouseId', warehouseId))
|
||||
.toString();
|
||||
}
|
||||
@ -114,6 +126,11 @@ class DeliveryItemBuilder
|
||||
set komponentenArtikelNr(String? komponentenArtikelNr) =>
|
||||
_$this._komponentenArtikelNr = komponentenArtikelNr;
|
||||
|
||||
String? _parentArtikelNr;
|
||||
String? get parentArtikelNr => _$this._parentArtikelNr;
|
||||
set parentArtikelNr(String? parentArtikelNr) =>
|
||||
_$this._parentArtikelNr = parentArtikelNr;
|
||||
|
||||
int? _requiredQuantity;
|
||||
int? get requiredQuantity => _$this._requiredQuantity;
|
||||
set requiredQuantity(int? requiredQuantity) =>
|
||||
@ -123,6 +140,10 @@ class DeliveryItemBuilder
|
||||
ScanStateBuilder get scanState => _$this._scanState ??= ScanStateBuilder();
|
||||
set scanState(ScanStateBuilder? scanState) => _$this._scanState = scanState;
|
||||
|
||||
double? _unitPrice;
|
||||
double? get unitPrice => _$this._unitPrice;
|
||||
set unitPrice(double? unitPrice) => _$this._unitPrice = unitPrice;
|
||||
|
||||
String? _warehouseId;
|
||||
String? get warehouseId => _$this._warehouseId;
|
||||
set warehouseId(String? warehouseId) => _$this._warehouseId = warehouseId;
|
||||
@ -139,8 +160,10 @@ class DeliveryItemBuilder
|
||||
_deliveryId = $v.deliveryId;
|
||||
_id = $v.id;
|
||||
_komponentenArtikelNr = $v.komponentenArtikelNr;
|
||||
_parentArtikelNr = $v.parentArtikelNr;
|
||||
_requiredQuantity = $v.requiredQuantity;
|
||||
_scanState = $v.scanState.toBuilder();
|
||||
_unitPrice = $v.unitPrice;
|
||||
_warehouseId = $v.warehouseId;
|
||||
_$v = null;
|
||||
}
|
||||
@ -174,9 +197,12 @@ class DeliveryItemBuilder
|
||||
id: BuiltValueNullFieldError.checkNotNull(
|
||||
id, r'DeliveryItem', 'id'),
|
||||
komponentenArtikelNr: komponentenArtikelNr,
|
||||
parentArtikelNr: parentArtikelNr,
|
||||
requiredQuantity: BuiltValueNullFieldError.checkNotNull(
|
||||
requiredQuantity, r'DeliveryItem', 'requiredQuantity'),
|
||||
scanState: scanState.build(),
|
||||
unitPrice: BuiltValueNullFieldError.checkNotNull(
|
||||
unitPrice, r'DeliveryItem', 'unitPrice'),
|
||||
warehouseId: BuiltValueNullFieldError.checkNotNull(
|
||||
warehouseId, r'DeliveryItem', 'warehouseId'),
|
||||
);
|
||||
|
||||
@ -14,9 +14,12 @@ part 'delivery_note.g.dart';
|
||||
/// * [authorCarId] - Fahrzeug, falls bekannt — nullable bis das Backend Cars verwaltet.
|
||||
/// * [authorPersonalnummer] - Personalnummer des Akteurs (aus dem JWT). Pflicht.
|
||||
/// * [createdAt]
|
||||
/// * [creditDeliveryItemId] - Wenn die Notiz als Gutschrift-Grund zu einer Belegzeile angelegt wurde: deren `DeliveryItem`-Id. Erlaubt dem Client, die Notiz beim Zurücknehmen der Gutschrift (Unremove) gezielt wieder zu löschen. `None` bei normalen Text-/Foto-Notizen.
|
||||
/// * [deliveryId]
|
||||
/// * [id]
|
||||
/// * [imageAttachment] - Referenz auf einen Bild-Anhang (z. B. Object-Storage-Key/URL).
|
||||
/// * [imageAttachmentDeleted] - `true`, wenn die lokale Bilddatei nach erfolgreichem Report-Upload gelöscht wurde (das Bild steckt nun im Lieferbericht in DOCUframe). Read-only; die App zeigt dann statt der Vorschau einen Hinweis. Bei Text-Notizen / vorhandenem Bild: `false`.
|
||||
/// * [isAmountCreditNote] - `true`, wenn die Notiz den Grund einer **Betrags-Gutschrift** (Geld-Nachlass, Lieferungs-Ebene) dokumentiert. Erlaubt dem Client, sie beim Entfernen der Gutschrift gezielt zu löschen.
|
||||
/// * [text]
|
||||
@BuiltValue()
|
||||
abstract class DeliveryNote implements Built<DeliveryNote, DeliveryNoteBuilder> {
|
||||
@ -31,6 +34,10 @@ abstract class DeliveryNote implements Built<DeliveryNote, DeliveryNoteBuilder>
|
||||
@BuiltValueField(wireName: r'createdAt')
|
||||
DateTime get createdAt;
|
||||
|
||||
/// Wenn die Notiz als Gutschrift-Grund zu einer Belegzeile angelegt wurde: deren `DeliveryItem`-Id. Erlaubt dem Client, die Notiz beim Zurücknehmen der Gutschrift (Unremove) gezielt wieder zu löschen. `None` bei normalen Text-/Foto-Notizen.
|
||||
@BuiltValueField(wireName: r'creditDeliveryItemId')
|
||||
String? get creditDeliveryItemId;
|
||||
|
||||
@BuiltValueField(wireName: r'deliveryId')
|
||||
String get deliveryId;
|
||||
|
||||
@ -41,6 +48,14 @@ abstract class DeliveryNote implements Built<DeliveryNote, DeliveryNoteBuilder>
|
||||
@BuiltValueField(wireName: r'imageAttachment')
|
||||
String? get imageAttachment;
|
||||
|
||||
/// `true`, wenn die lokale Bilddatei nach erfolgreichem Report-Upload gelöscht wurde (das Bild steckt nun im Lieferbericht in DOCUframe). Read-only; die App zeigt dann statt der Vorschau einen Hinweis. Bei Text-Notizen / vorhandenem Bild: `false`.
|
||||
@BuiltValueField(wireName: r'imageAttachmentDeleted')
|
||||
bool? get imageAttachmentDeleted;
|
||||
|
||||
/// `true`, wenn die Notiz den Grund einer **Betrags-Gutschrift** (Geld-Nachlass, Lieferungs-Ebene) dokumentiert. Erlaubt dem Client, sie beim Entfernen der Gutschrift gezielt zu löschen.
|
||||
@BuiltValueField(wireName: r'isAmountCreditNote')
|
||||
bool get isAmountCreditNote;
|
||||
|
||||
@BuiltValueField(wireName: r'text')
|
||||
String? get text;
|
||||
|
||||
@ -84,6 +99,13 @@ class _$DeliveryNoteSerializer implements PrimitiveSerializer<DeliveryNote> {
|
||||
object.createdAt,
|
||||
specifiedType: const FullType(DateTime),
|
||||
);
|
||||
if (object.creditDeliveryItemId != null) {
|
||||
yield r'creditDeliveryItemId';
|
||||
yield serializers.serialize(
|
||||
object.creditDeliveryItemId,
|
||||
specifiedType: const FullType.nullable(String),
|
||||
);
|
||||
}
|
||||
yield r'deliveryId';
|
||||
yield serializers.serialize(
|
||||
object.deliveryId,
|
||||
@ -101,6 +123,18 @@ class _$DeliveryNoteSerializer implements PrimitiveSerializer<DeliveryNote> {
|
||||
specifiedType: const FullType.nullable(String),
|
||||
);
|
||||
}
|
||||
if (object.imageAttachmentDeleted != null) {
|
||||
yield r'imageAttachmentDeleted';
|
||||
yield serializers.serialize(
|
||||
object.imageAttachmentDeleted,
|
||||
specifiedType: const FullType(bool),
|
||||
);
|
||||
}
|
||||
yield r'isAmountCreditNote';
|
||||
yield serializers.serialize(
|
||||
object.isAmountCreditNote,
|
||||
specifiedType: const FullType(bool),
|
||||
);
|
||||
if (object.text != null) {
|
||||
yield r'text';
|
||||
yield serializers.serialize(
|
||||
@ -153,6 +187,14 @@ class _$DeliveryNoteSerializer implements PrimitiveSerializer<DeliveryNote> {
|
||||
) as DateTime;
|
||||
result.createdAt = valueDes;
|
||||
break;
|
||||
case r'creditDeliveryItemId':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType.nullable(String),
|
||||
) as String?;
|
||||
if (valueDes == null) continue;
|
||||
result.creditDeliveryItemId = valueDes;
|
||||
break;
|
||||
case r'deliveryId':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
@ -175,6 +217,20 @@ class _$DeliveryNoteSerializer implements PrimitiveSerializer<DeliveryNote> {
|
||||
if (valueDes == null) continue;
|
||||
result.imageAttachment = valueDes;
|
||||
break;
|
||||
case r'imageAttachmentDeleted':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(bool),
|
||||
) as bool;
|
||||
result.imageAttachmentDeleted = valueDes;
|
||||
break;
|
||||
case r'isAmountCreditNote':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(bool),
|
||||
) as bool;
|
||||
result.isAmountCreditNote = valueDes;
|
||||
break;
|
||||
case r'text':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
|
||||
@ -14,12 +14,18 @@ class _$DeliveryNote extends DeliveryNote {
|
||||
@override
|
||||
final DateTime createdAt;
|
||||
@override
|
||||
final String? creditDeliveryItemId;
|
||||
@override
|
||||
final String deliveryId;
|
||||
@override
|
||||
final String id;
|
||||
@override
|
||||
final String? imageAttachment;
|
||||
@override
|
||||
final bool? imageAttachmentDeleted;
|
||||
@override
|
||||
final bool isAmountCreditNote;
|
||||
@override
|
||||
final String? text;
|
||||
|
||||
factory _$DeliveryNote([void Function(DeliveryNoteBuilder)? updates]) =>
|
||||
@ -29,9 +35,12 @@ class _$DeliveryNote extends DeliveryNote {
|
||||
{this.authorCarId,
|
||||
required this.authorPersonalnummer,
|
||||
required this.createdAt,
|
||||
this.creditDeliveryItemId,
|
||||
required this.deliveryId,
|
||||
required this.id,
|
||||
this.imageAttachment,
|
||||
this.imageAttachmentDeleted,
|
||||
required this.isAmountCreditNote,
|
||||
this.text})
|
||||
: super._();
|
||||
@override
|
||||
@ -48,9 +57,12 @@ class _$DeliveryNote extends DeliveryNote {
|
||||
authorCarId == other.authorCarId &&
|
||||
authorPersonalnummer == other.authorPersonalnummer &&
|
||||
createdAt == other.createdAt &&
|
||||
creditDeliveryItemId == other.creditDeliveryItemId &&
|
||||
deliveryId == other.deliveryId &&
|
||||
id == other.id &&
|
||||
imageAttachment == other.imageAttachment &&
|
||||
imageAttachmentDeleted == other.imageAttachmentDeleted &&
|
||||
isAmountCreditNote == other.isAmountCreditNote &&
|
||||
text == other.text;
|
||||
}
|
||||
|
||||
@ -60,9 +72,12 @@ class _$DeliveryNote extends DeliveryNote {
|
||||
_$hash = $jc(_$hash, authorCarId.hashCode);
|
||||
_$hash = $jc(_$hash, authorPersonalnummer.hashCode);
|
||||
_$hash = $jc(_$hash, createdAt.hashCode);
|
||||
_$hash = $jc(_$hash, creditDeliveryItemId.hashCode);
|
||||
_$hash = $jc(_$hash, deliveryId.hashCode);
|
||||
_$hash = $jc(_$hash, id.hashCode);
|
||||
_$hash = $jc(_$hash, imageAttachment.hashCode);
|
||||
_$hash = $jc(_$hash, imageAttachmentDeleted.hashCode);
|
||||
_$hash = $jc(_$hash, isAmountCreditNote.hashCode);
|
||||
_$hash = $jc(_$hash, text.hashCode);
|
||||
_$hash = $jf(_$hash);
|
||||
return _$hash;
|
||||
@ -74,9 +89,12 @@ class _$DeliveryNote extends DeliveryNote {
|
||||
..add('authorCarId', authorCarId)
|
||||
..add('authorPersonalnummer', authorPersonalnummer)
|
||||
..add('createdAt', createdAt)
|
||||
..add('creditDeliveryItemId', creditDeliveryItemId)
|
||||
..add('deliveryId', deliveryId)
|
||||
..add('id', id)
|
||||
..add('imageAttachment', imageAttachment)
|
||||
..add('imageAttachmentDeleted', imageAttachmentDeleted)
|
||||
..add('isAmountCreditNote', isAmountCreditNote)
|
||||
..add('text', text))
|
||||
.toString();
|
||||
}
|
||||
@ -99,6 +117,11 @@ class DeliveryNoteBuilder
|
||||
DateTime? get createdAt => _$this._createdAt;
|
||||
set createdAt(DateTime? createdAt) => _$this._createdAt = createdAt;
|
||||
|
||||
String? _creditDeliveryItemId;
|
||||
String? get creditDeliveryItemId => _$this._creditDeliveryItemId;
|
||||
set creditDeliveryItemId(String? creditDeliveryItemId) =>
|
||||
_$this._creditDeliveryItemId = creditDeliveryItemId;
|
||||
|
||||
String? _deliveryId;
|
||||
String? get deliveryId => _$this._deliveryId;
|
||||
set deliveryId(String? deliveryId) => _$this._deliveryId = deliveryId;
|
||||
@ -112,6 +135,16 @@ class DeliveryNoteBuilder
|
||||
set imageAttachment(String? imageAttachment) =>
|
||||
_$this._imageAttachment = imageAttachment;
|
||||
|
||||
bool? _imageAttachmentDeleted;
|
||||
bool? get imageAttachmentDeleted => _$this._imageAttachmentDeleted;
|
||||
set imageAttachmentDeleted(bool? imageAttachmentDeleted) =>
|
||||
_$this._imageAttachmentDeleted = imageAttachmentDeleted;
|
||||
|
||||
bool? _isAmountCreditNote;
|
||||
bool? get isAmountCreditNote => _$this._isAmountCreditNote;
|
||||
set isAmountCreditNote(bool? isAmountCreditNote) =>
|
||||
_$this._isAmountCreditNote = isAmountCreditNote;
|
||||
|
||||
String? _text;
|
||||
String? get text => _$this._text;
|
||||
set text(String? text) => _$this._text = text;
|
||||
@ -126,9 +159,12 @@ class DeliveryNoteBuilder
|
||||
_authorCarId = $v.authorCarId;
|
||||
_authorPersonalnummer = $v.authorPersonalnummer;
|
||||
_createdAt = $v.createdAt;
|
||||
_creditDeliveryItemId = $v.creditDeliveryItemId;
|
||||
_deliveryId = $v.deliveryId;
|
||||
_id = $v.id;
|
||||
_imageAttachment = $v.imageAttachment;
|
||||
_imageAttachmentDeleted = $v.imageAttachmentDeleted;
|
||||
_isAmountCreditNote = $v.isAmountCreditNote;
|
||||
_text = $v.text;
|
||||
_$v = null;
|
||||
}
|
||||
@ -156,10 +192,14 @@ class DeliveryNoteBuilder
|
||||
authorPersonalnummer, r'DeliveryNote', 'authorPersonalnummer'),
|
||||
createdAt: BuiltValueNullFieldError.checkNotNull(
|
||||
createdAt, r'DeliveryNote', 'createdAt'),
|
||||
creditDeliveryItemId: creditDeliveryItemId,
|
||||
deliveryId: BuiltValueNullFieldError.checkNotNull(
|
||||
deliveryId, r'DeliveryNote', 'deliveryId'),
|
||||
id: BuiltValueNullFieldError.checkNotNull(id, r'DeliveryNote', 'id'),
|
||||
imageAttachment: imageAttachment,
|
||||
imageAttachmentDeleted: imageAttachmentDeleted,
|
||||
isAmountCreditNote: BuiltValueNullFieldError.checkNotNull(
|
||||
isAmountCreditNote, r'DeliveryNote', 'isAmountCreditNote'),
|
||||
text: text,
|
||||
);
|
||||
replace(_$result);
|
||||
|
||||
@ -0,0 +1,107 @@
|
||||
//
|
||||
// AUTO-GENERATED FILE, DO NOT MODIFY!
|
||||
//
|
||||
|
||||
// ignore_for_file: unused_element
|
||||
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_service_response.g.dart';
|
||||
|
||||
/// DeliveryServiceResponse
|
||||
///
|
||||
/// Properties:
|
||||
/// * [value]
|
||||
@BuiltValue()
|
||||
abstract class DeliveryServiceResponse implements Built<DeliveryServiceResponse, DeliveryServiceResponseBuilder> {
|
||||
@BuiltValueField(wireName: r'value')
|
||||
DeliveryServiceValue get value;
|
||||
|
||||
DeliveryServiceResponse._();
|
||||
|
||||
factory DeliveryServiceResponse([void updates(DeliveryServiceResponseBuilder b)]) = _$DeliveryServiceResponse;
|
||||
|
||||
@BuiltValueHook(initializeBuilder: true)
|
||||
static void _defaults(DeliveryServiceResponseBuilder b) => b;
|
||||
|
||||
@BuiltValueSerializer(custom: true)
|
||||
static Serializer<DeliveryServiceResponse> get serializer => _$DeliveryServiceResponseSerializer();
|
||||
}
|
||||
|
||||
class _$DeliveryServiceResponseSerializer implements PrimitiveSerializer<DeliveryServiceResponse> {
|
||||
@override
|
||||
final Iterable<Type> types = const [DeliveryServiceResponse, _$DeliveryServiceResponse];
|
||||
|
||||
@override
|
||||
final String wireName = r'DeliveryServiceResponse';
|
||||
|
||||
Iterable<Object?> _serializeProperties(
|
||||
Serializers serializers,
|
||||
DeliveryServiceResponse object, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) sync* {
|
||||
yield r'value';
|
||||
yield serializers.serialize(
|
||||
object.value,
|
||||
specifiedType: const FullType(DeliveryServiceValue),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Object serialize(
|
||||
Serializers serializers,
|
||||
DeliveryServiceResponse 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 DeliveryServiceResponseBuilder 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'value':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(DeliveryServiceValue),
|
||||
) as DeliveryServiceValue;
|
||||
result.value.replace(valueDes);
|
||||
break;
|
||||
default:
|
||||
unhandled.add(key);
|
||||
unhandled.add(value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
DeliveryServiceResponse deserialize(
|
||||
Serializers serializers,
|
||||
Object serialized, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) {
|
||||
final result = DeliveryServiceResponseBuilder();
|
||||
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_service_response.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// BuiltValueGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class _$DeliveryServiceResponse extends DeliveryServiceResponse {
|
||||
@override
|
||||
final DeliveryServiceValue value;
|
||||
|
||||
factory _$DeliveryServiceResponse(
|
||||
[void Function(DeliveryServiceResponseBuilder)? updates]) =>
|
||||
(DeliveryServiceResponseBuilder()..update(updates))._build();
|
||||
|
||||
_$DeliveryServiceResponse._({required this.value}) : super._();
|
||||
@override
|
||||
DeliveryServiceResponse rebuild(
|
||||
void Function(DeliveryServiceResponseBuilder) updates) =>
|
||||
(toBuilder()..update(updates)).build();
|
||||
|
||||
@override
|
||||
DeliveryServiceResponseBuilder toBuilder() =>
|
||||
DeliveryServiceResponseBuilder()..replace(this);
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
if (identical(other, this)) return true;
|
||||
return other is DeliveryServiceResponse && value == other.value;
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode {
|
||||
var _$hash = 0;
|
||||
_$hash = $jc(_$hash, value.hashCode);
|
||||
_$hash = $jf(_$hash);
|
||||
return _$hash;
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return (newBuiltValueToStringHelper(r'DeliveryServiceResponse')
|
||||
..add('value', value))
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
||||
class DeliveryServiceResponseBuilder
|
||||
implements
|
||||
Builder<DeliveryServiceResponse, DeliveryServiceResponseBuilder> {
|
||||
_$DeliveryServiceResponse? _$v;
|
||||
|
||||
DeliveryServiceValueBuilder? _value;
|
||||
DeliveryServiceValueBuilder get value =>
|
||||
_$this._value ??= DeliveryServiceValueBuilder();
|
||||
set value(DeliveryServiceValueBuilder? value) => _$this._value = value;
|
||||
|
||||
DeliveryServiceResponseBuilder() {
|
||||
DeliveryServiceResponse._defaults(this);
|
||||
}
|
||||
|
||||
DeliveryServiceResponseBuilder get _$this {
|
||||
final $v = _$v;
|
||||
if ($v != null) {
|
||||
_value = $v.value.toBuilder();
|
||||
_$v = null;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
@override
|
||||
void replace(DeliveryServiceResponse other) {
|
||||
_$v = other as _$DeliveryServiceResponse;
|
||||
}
|
||||
|
||||
@override
|
||||
void update(void Function(DeliveryServiceResponseBuilder)? updates) {
|
||||
if (updates != null) updates(this);
|
||||
}
|
||||
|
||||
@override
|
||||
DeliveryServiceResponse build() => _build();
|
||||
|
||||
_$DeliveryServiceResponse _build() {
|
||||
_$DeliveryServiceResponse _$result;
|
||||
try {
|
||||
_$result = _$v ??
|
||||
_$DeliveryServiceResponse._(
|
||||
value: value.build(),
|
||||
);
|
||||
} catch (_) {
|
||||
late String _$failedField;
|
||||
try {
|
||||
_$failedField = 'value';
|
||||
value.build();
|
||||
} catch (e) {
|
||||
throw BuiltValueNestedFieldError(
|
||||
r'DeliveryServiceResponse', _$failedField, e.toString());
|
||||
}
|
||||
rethrow;
|
||||
}
|
||||
replace(_$result);
|
||||
return _$result;
|
||||
}
|
||||
}
|
||||
|
||||
// ignore_for_file: deprecated_member_use_from_same_package,type=lint
|
||||
@ -0,0 +1,160 @@
|
||||
//
|
||||
// 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_service_value.g.dart';
|
||||
|
||||
/// Pro-Lieferung gewählter Wert eines Service. Genau einer der beiden Wert-Slots ist je nach `ServiceKind` gesetzt; per `service_id`/`delivery_id` clientseitig join-bar (wie Notizen/Gutschriften).
|
||||
///
|
||||
/// Properties:
|
||||
/// * [boolValue]
|
||||
/// * [deliveryId]
|
||||
/// * [numericValue]
|
||||
/// * [serviceId]
|
||||
@BuiltValue()
|
||||
abstract class DeliveryServiceValue implements Built<DeliveryServiceValue, DeliveryServiceValueBuilder> {
|
||||
@BuiltValueField(wireName: r'boolValue')
|
||||
bool? get boolValue;
|
||||
|
||||
@BuiltValueField(wireName: r'deliveryId')
|
||||
String get deliveryId;
|
||||
|
||||
@BuiltValueField(wireName: r'numericValue')
|
||||
int? get numericValue;
|
||||
|
||||
@BuiltValueField(wireName: r'serviceId')
|
||||
String get serviceId;
|
||||
|
||||
DeliveryServiceValue._();
|
||||
|
||||
factory DeliveryServiceValue([void updates(DeliveryServiceValueBuilder b)]) = _$DeliveryServiceValue;
|
||||
|
||||
@BuiltValueHook(initializeBuilder: true)
|
||||
static void _defaults(DeliveryServiceValueBuilder b) => b;
|
||||
|
||||
@BuiltValueSerializer(custom: true)
|
||||
static Serializer<DeliveryServiceValue> get serializer => _$DeliveryServiceValueSerializer();
|
||||
}
|
||||
|
||||
class _$DeliveryServiceValueSerializer implements PrimitiveSerializer<DeliveryServiceValue> {
|
||||
@override
|
||||
final Iterable<Type> types = const [DeliveryServiceValue, _$DeliveryServiceValue];
|
||||
|
||||
@override
|
||||
final String wireName = r'DeliveryServiceValue';
|
||||
|
||||
Iterable<Object?> _serializeProperties(
|
||||
Serializers serializers,
|
||||
DeliveryServiceValue object, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) sync* {
|
||||
if (object.boolValue != null) {
|
||||
yield r'boolValue';
|
||||
yield serializers.serialize(
|
||||
object.boolValue,
|
||||
specifiedType: const FullType.nullable(bool),
|
||||
);
|
||||
}
|
||||
yield r'deliveryId';
|
||||
yield serializers.serialize(
|
||||
object.deliveryId,
|
||||
specifiedType: const FullType(String),
|
||||
);
|
||||
if (object.numericValue != null) {
|
||||
yield r'numericValue';
|
||||
yield serializers.serialize(
|
||||
object.numericValue,
|
||||
specifiedType: const FullType.nullable(int),
|
||||
);
|
||||
}
|
||||
yield r'serviceId';
|
||||
yield serializers.serialize(
|
||||
object.serviceId,
|
||||
specifiedType: const FullType(String),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Object serialize(
|
||||
Serializers serializers,
|
||||
DeliveryServiceValue 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 DeliveryServiceValueBuilder 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'boolValue':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType.nullable(bool),
|
||||
) as bool?;
|
||||
if (valueDes == null) continue;
|
||||
result.boolValue = valueDes;
|
||||
break;
|
||||
case r'deliveryId':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(String),
|
||||
) as String;
|
||||
result.deliveryId = valueDes;
|
||||
break;
|
||||
case r'numericValue':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType.nullable(int),
|
||||
) as int?;
|
||||
if (valueDes == null) continue;
|
||||
result.numericValue = valueDes;
|
||||
break;
|
||||
case r'serviceId':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(String),
|
||||
) as String;
|
||||
result.serviceId = valueDes;
|
||||
break;
|
||||
default:
|
||||
unhandled.add(key);
|
||||
unhandled.add(value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
DeliveryServiceValue deserialize(
|
||||
Serializers serializers,
|
||||
Object serialized, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) {
|
||||
final result = DeliveryServiceValueBuilder();
|
||||
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,134 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'delivery_service_value.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// BuiltValueGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class _$DeliveryServiceValue extends DeliveryServiceValue {
|
||||
@override
|
||||
final bool? boolValue;
|
||||
@override
|
||||
final String deliveryId;
|
||||
@override
|
||||
final int? numericValue;
|
||||
@override
|
||||
final String serviceId;
|
||||
|
||||
factory _$DeliveryServiceValue(
|
||||
[void Function(DeliveryServiceValueBuilder)? updates]) =>
|
||||
(DeliveryServiceValueBuilder()..update(updates))._build();
|
||||
|
||||
_$DeliveryServiceValue._(
|
||||
{this.boolValue,
|
||||
required this.deliveryId,
|
||||
this.numericValue,
|
||||
required this.serviceId})
|
||||
: super._();
|
||||
@override
|
||||
DeliveryServiceValue rebuild(
|
||||
void Function(DeliveryServiceValueBuilder) updates) =>
|
||||
(toBuilder()..update(updates)).build();
|
||||
|
||||
@override
|
||||
DeliveryServiceValueBuilder toBuilder() =>
|
||||
DeliveryServiceValueBuilder()..replace(this);
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
if (identical(other, this)) return true;
|
||||
return other is DeliveryServiceValue &&
|
||||
boolValue == other.boolValue &&
|
||||
deliveryId == other.deliveryId &&
|
||||
numericValue == other.numericValue &&
|
||||
serviceId == other.serviceId;
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode {
|
||||
var _$hash = 0;
|
||||
_$hash = $jc(_$hash, boolValue.hashCode);
|
||||
_$hash = $jc(_$hash, deliveryId.hashCode);
|
||||
_$hash = $jc(_$hash, numericValue.hashCode);
|
||||
_$hash = $jc(_$hash, serviceId.hashCode);
|
||||
_$hash = $jf(_$hash);
|
||||
return _$hash;
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return (newBuiltValueToStringHelper(r'DeliveryServiceValue')
|
||||
..add('boolValue', boolValue)
|
||||
..add('deliveryId', deliveryId)
|
||||
..add('numericValue', numericValue)
|
||||
..add('serviceId', serviceId))
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
||||
class DeliveryServiceValueBuilder
|
||||
implements Builder<DeliveryServiceValue, DeliveryServiceValueBuilder> {
|
||||
_$DeliveryServiceValue? _$v;
|
||||
|
||||
bool? _boolValue;
|
||||
bool? get boolValue => _$this._boolValue;
|
||||
set boolValue(bool? boolValue) => _$this._boolValue = boolValue;
|
||||
|
||||
String? _deliveryId;
|
||||
String? get deliveryId => _$this._deliveryId;
|
||||
set deliveryId(String? deliveryId) => _$this._deliveryId = deliveryId;
|
||||
|
||||
int? _numericValue;
|
||||
int? get numericValue => _$this._numericValue;
|
||||
set numericValue(int? numericValue) => _$this._numericValue = numericValue;
|
||||
|
||||
String? _serviceId;
|
||||
String? get serviceId => _$this._serviceId;
|
||||
set serviceId(String? serviceId) => _$this._serviceId = serviceId;
|
||||
|
||||
DeliveryServiceValueBuilder() {
|
||||
DeliveryServiceValue._defaults(this);
|
||||
}
|
||||
|
||||
DeliveryServiceValueBuilder get _$this {
|
||||
final $v = _$v;
|
||||
if ($v != null) {
|
||||
_boolValue = $v.boolValue;
|
||||
_deliveryId = $v.deliveryId;
|
||||
_numericValue = $v.numericValue;
|
||||
_serviceId = $v.serviceId;
|
||||
_$v = null;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
@override
|
||||
void replace(DeliveryServiceValue other) {
|
||||
_$v = other as _$DeliveryServiceValue;
|
||||
}
|
||||
|
||||
@override
|
||||
void update(void Function(DeliveryServiceValueBuilder)? updates) {
|
||||
if (updates != null) updates(this);
|
||||
}
|
||||
|
||||
@override
|
||||
DeliveryServiceValue build() => _build();
|
||||
|
||||
_$DeliveryServiceValue _build() {
|
||||
final _$result = _$v ??
|
||||
_$DeliveryServiceValue._(
|
||||
boolValue: boolValue,
|
||||
deliveryId: BuiltValueNullFieldError.checkNotNull(
|
||||
deliveryId, r'DeliveryServiceValue', 'deliveryId'),
|
||||
numericValue: numericValue,
|
||||
serviceId: BuiltValueNullFieldError.checkNotNull(
|
||||
serviceId, r'DeliveryServiceValue', 'serviceId'),
|
||||
);
|
||||
replace(_$result);
|
||||
return _$result;
|
||||
}
|
||||
}
|
||||
|
||||
// ignore_for_file: deprecated_member_use_from_same_package,type=lint
|
||||
@ -24,6 +24,8 @@ part 'delivery_with_items.g.dart';
|
||||
/// * [erpBelegartId] - ERP-Beleg-Bezug: business-stabiles Paar `(Belegart, Belegnummer)`. Überlebt den Belegkopf-Archivübergang.
|
||||
/// * [erpBelegnummer]
|
||||
/// * [id]
|
||||
/// * [paymentMethodId] - Für den Restbetrag gewählte Zahlungsart — FK auf `payment_methods`. Vom Kunden bei Bestellung festgelegt, der Fahrer übernimmt nur die Abwicklung. Aktiv-Flag und Anzeige-Name werden über die Stammdaten-Tabelle aufgelöst, nicht hier embeddet.
|
||||
/// * [prepaidAmount] - Bei Bestellung schon bezahlter Betrag in EUR. `0.0` wenn der Kunde alles bei Lieferung zahlt. Wird vom ERP-Sync gefüllt.
|
||||
/// * [specialAgreements] - Sondervereinbarungen (z. B. „Türklingel defekt, hintenrum klopfen\").
|
||||
/// * [state]
|
||||
/// * [stateReason] - Begründung bei `state == Held` oder `state == Canceled`. Beim Resume / Complete wieder `None`.
|
||||
@ -67,6 +69,11 @@ class _$DeliveryWithItemsSerializer implements PrimitiveSerializer<DeliveryWithI
|
||||
object.deliveryAddressSnapshot,
|
||||
specifiedType: const FullType(Address),
|
||||
);
|
||||
yield r'prepaidAmount';
|
||||
yield serializers.serialize(
|
||||
object.prepaidAmount,
|
||||
specifiedType: const FullType(double),
|
||||
);
|
||||
yield r'contactPersonIds';
|
||||
yield serializers.serialize(
|
||||
object.contactPersonIds,
|
||||
@ -105,6 +112,11 @@ class _$DeliveryWithItemsSerializer implements PrimitiveSerializer<DeliveryWithI
|
||||
specifiedType: const FullType.nullable(String),
|
||||
);
|
||||
}
|
||||
yield r'paymentMethodId';
|
||||
yield serializers.serialize(
|
||||
object.paymentMethodId,
|
||||
specifiedType: const FullType(String),
|
||||
);
|
||||
yield r'tourId';
|
||||
yield serializers.serialize(
|
||||
object.tourId,
|
||||
@ -170,6 +182,13 @@ class _$DeliveryWithItemsSerializer implements PrimitiveSerializer<DeliveryWithI
|
||||
) as Address;
|
||||
result.deliveryAddressSnapshot.replace(valueDes);
|
||||
break;
|
||||
case r'prepaidAmount':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(double),
|
||||
) as double;
|
||||
result.prepaidAmount = valueDes;
|
||||
break;
|
||||
case r'contactPersonIds':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
@ -216,6 +235,13 @@ class _$DeliveryWithItemsSerializer implements PrimitiveSerializer<DeliveryWithI
|
||||
if (valueDes == null) continue;
|
||||
result.desiredTime = valueDes;
|
||||
break;
|
||||
case r'paymentMethodId':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(String),
|
||||
) as String;
|
||||
result.paymentMethodId = valueDes;
|
||||
break;
|
||||
case r'tourId':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
|
||||
@ -28,6 +28,10 @@ class _$DeliveryWithItems extends DeliveryWithItems {
|
||||
@override
|
||||
final String id;
|
||||
@override
|
||||
final String paymentMethodId;
|
||||
@override
|
||||
final double prepaidAmount;
|
||||
@override
|
||||
final String? specialAgreements;
|
||||
@override
|
||||
final DeliveryState state;
|
||||
@ -51,6 +55,8 @@ class _$DeliveryWithItems extends DeliveryWithItems {
|
||||
required this.erpBelegartId,
|
||||
required this.erpBelegnummer,
|
||||
required this.id,
|
||||
required this.paymentMethodId,
|
||||
required this.prepaidAmount,
|
||||
this.specialAgreements,
|
||||
required this.state,
|
||||
this.stateReason,
|
||||
@ -78,6 +84,8 @@ class _$DeliveryWithItems extends DeliveryWithItems {
|
||||
erpBelegartId == other.erpBelegartId &&
|
||||
erpBelegnummer == other.erpBelegnummer &&
|
||||
id == other.id &&
|
||||
paymentMethodId == other.paymentMethodId &&
|
||||
prepaidAmount == other.prepaidAmount &&
|
||||
specialAgreements == other.specialAgreements &&
|
||||
state == other.state &&
|
||||
stateReason == other.stateReason &&
|
||||
@ -97,6 +105,8 @@ class _$DeliveryWithItems extends DeliveryWithItems {
|
||||
_$hash = $jc(_$hash, erpBelegartId.hashCode);
|
||||
_$hash = $jc(_$hash, erpBelegnummer.hashCode);
|
||||
_$hash = $jc(_$hash, id.hashCode);
|
||||
_$hash = $jc(_$hash, paymentMethodId.hashCode);
|
||||
_$hash = $jc(_$hash, prepaidAmount.hashCode);
|
||||
_$hash = $jc(_$hash, specialAgreements.hashCode);
|
||||
_$hash = $jc(_$hash, state.hashCode);
|
||||
_$hash = $jc(_$hash, stateReason.hashCode);
|
||||
@ -118,6 +128,8 @@ class _$DeliveryWithItems extends DeliveryWithItems {
|
||||
..add('erpBelegartId', erpBelegartId)
|
||||
..add('erpBelegnummer', erpBelegnummer)
|
||||
..add('id', id)
|
||||
..add('paymentMethodId', paymentMethodId)
|
||||
..add('prepaidAmount', prepaidAmount)
|
||||
..add('specialAgreements', specialAgreements)
|
||||
..add('state', state)
|
||||
..add('stateReason', stateReason)
|
||||
@ -184,6 +196,16 @@ class DeliveryWithItemsBuilder
|
||||
String? get id => _$this._id;
|
||||
set id(covariant String? id) => _$this._id = id;
|
||||
|
||||
String? _paymentMethodId;
|
||||
String? get paymentMethodId => _$this._paymentMethodId;
|
||||
set paymentMethodId(covariant String? paymentMethodId) =>
|
||||
_$this._paymentMethodId = paymentMethodId;
|
||||
|
||||
double? _prepaidAmount;
|
||||
double? get prepaidAmount => _$this._prepaidAmount;
|
||||
set prepaidAmount(covariant double? prepaidAmount) =>
|
||||
_$this._prepaidAmount = prepaidAmount;
|
||||
|
||||
String? _specialAgreements;
|
||||
String? get specialAgreements => _$this._specialAgreements;
|
||||
set specialAgreements(covariant String? specialAgreements) =>
|
||||
@ -219,6 +241,8 @@ class DeliveryWithItemsBuilder
|
||||
_erpBelegartId = $v.erpBelegartId;
|
||||
_erpBelegnummer = $v.erpBelegnummer;
|
||||
_id = $v.id;
|
||||
_paymentMethodId = $v.paymentMethodId;
|
||||
_prepaidAmount = $v.prepaidAmount;
|
||||
_specialAgreements = $v.specialAgreements;
|
||||
_state = $v.state;
|
||||
_stateReason = $v.stateReason;
|
||||
@ -261,6 +285,10 @@ class DeliveryWithItemsBuilder
|
||||
erpBelegnummer, r'DeliveryWithItems', 'erpBelegnummer'),
|
||||
id: BuiltValueNullFieldError.checkNotNull(
|
||||
id, r'DeliveryWithItems', 'id'),
|
||||
paymentMethodId: BuiltValueNullFieldError.checkNotNull(
|
||||
paymentMethodId, r'DeliveryWithItems', 'paymentMethodId'),
|
||||
prepaidAmount: BuiltValueNullFieldError.checkNotNull(
|
||||
prepaidAmount, r'DeliveryWithItems', 'prepaidAmount'),
|
||||
specialAgreements: specialAgreements,
|
||||
state: BuiltValueNullFieldError.checkNotNull(
|
||||
state, r'DeliveryWithItems', 'state'),
|
||||
|
||||
211
packages/holzleitner_api/lib/src/model/import_summary.dart
Normal file
211
packages/holzleitner_api/lib/src/model/import_summary.dart
Normal file
@ -0,0 +1,211 @@
|
||||
//
|
||||
// AUTO-GENERATED FILE, DO NOT MODIFY!
|
||||
//
|
||||
|
||||
// ignore_for_file: unused_element
|
||||
import 'package:built_collection/built_collection.dart';
|
||||
import 'package:holzleitner_api/src/model/date.dart';
|
||||
import 'package:built_value/built_value.dart';
|
||||
import 'package:built_value/serializer.dart';
|
||||
|
||||
part 'import_summary.g.dart';
|
||||
|
||||
/// Ergebnis eines Import-Laufs — pro Fahrer-Tour Erfolg/Fehler getrennt, damit ein einzelner kaputter Beleg nicht den ganzen Tag blockiert.
|
||||
///
|
||||
/// Properties:
|
||||
/// * [date]
|
||||
/// * [driversProvisioned] - Anzahl der **neu** im Identity-Provider (Keycloak) angelegten Fahrer-Konten in diesem Lauf (0, wenn Provisionierung deaktiviert ist oder alle Konten bereits existierten).
|
||||
/// * [errors] - Fehlertexte je fehlgeschlagener Fahrer-Tour (z. B. unbekannter Fahrer → FK auf `accounts`, oder Validierungsfehler).
|
||||
/// * [provisioningErrors] - Fehlertexte der Konto-Provisionierung (Keycloak). Best-effort: ein Fehler hier blockiert den Touren-Import **nicht**.
|
||||
/// * [toursFailed]
|
||||
/// * [toursOk]
|
||||
/// * [toursTotal]
|
||||
@BuiltValue()
|
||||
abstract class ImportSummary implements Built<ImportSummary, ImportSummaryBuilder> {
|
||||
@BuiltValueField(wireName: r'date')
|
||||
Date get date;
|
||||
|
||||
/// Anzahl der **neu** im Identity-Provider (Keycloak) angelegten Fahrer-Konten in diesem Lauf (0, wenn Provisionierung deaktiviert ist oder alle Konten bereits existierten).
|
||||
@BuiltValueField(wireName: r'driversProvisioned')
|
||||
int? get driversProvisioned;
|
||||
|
||||
/// Fehlertexte je fehlgeschlagener Fahrer-Tour (z. B. unbekannter Fahrer → FK auf `accounts`, oder Validierungsfehler).
|
||||
@BuiltValueField(wireName: r'errors')
|
||||
BuiltList<String> get errors;
|
||||
|
||||
/// Fehlertexte der Konto-Provisionierung (Keycloak). Best-effort: ein Fehler hier blockiert den Touren-Import **nicht**.
|
||||
@BuiltValueField(wireName: r'provisioningErrors')
|
||||
BuiltList<String>? get provisioningErrors;
|
||||
|
||||
@BuiltValueField(wireName: r'toursFailed')
|
||||
int get toursFailed;
|
||||
|
||||
@BuiltValueField(wireName: r'toursOk')
|
||||
int get toursOk;
|
||||
|
||||
@BuiltValueField(wireName: r'toursTotal')
|
||||
int get toursTotal;
|
||||
|
||||
ImportSummary._();
|
||||
|
||||
factory ImportSummary([void updates(ImportSummaryBuilder b)]) = _$ImportSummary;
|
||||
|
||||
@BuiltValueHook(initializeBuilder: true)
|
||||
static void _defaults(ImportSummaryBuilder b) => b;
|
||||
|
||||
@BuiltValueSerializer(custom: true)
|
||||
static Serializer<ImportSummary> get serializer => _$ImportSummarySerializer();
|
||||
}
|
||||
|
||||
class _$ImportSummarySerializer implements PrimitiveSerializer<ImportSummary> {
|
||||
@override
|
||||
final Iterable<Type> types = const [ImportSummary, _$ImportSummary];
|
||||
|
||||
@override
|
||||
final String wireName = r'ImportSummary';
|
||||
|
||||
Iterable<Object?> _serializeProperties(
|
||||
Serializers serializers,
|
||||
ImportSummary object, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) sync* {
|
||||
yield r'date';
|
||||
yield serializers.serialize(
|
||||
object.date,
|
||||
specifiedType: const FullType(Date),
|
||||
);
|
||||
if (object.driversProvisioned != null) {
|
||||
yield r'driversProvisioned';
|
||||
yield serializers.serialize(
|
||||
object.driversProvisioned,
|
||||
specifiedType: const FullType(int),
|
||||
);
|
||||
}
|
||||
yield r'errors';
|
||||
yield serializers.serialize(
|
||||
object.errors,
|
||||
specifiedType: const FullType(BuiltList, [FullType(String)]),
|
||||
);
|
||||
if (object.provisioningErrors != null) {
|
||||
yield r'provisioningErrors';
|
||||
yield serializers.serialize(
|
||||
object.provisioningErrors,
|
||||
specifiedType: const FullType(BuiltList, [FullType(String)]),
|
||||
);
|
||||
}
|
||||
yield r'toursFailed';
|
||||
yield serializers.serialize(
|
||||
object.toursFailed,
|
||||
specifiedType: const FullType(int),
|
||||
);
|
||||
yield r'toursOk';
|
||||
yield serializers.serialize(
|
||||
object.toursOk,
|
||||
specifiedType: const FullType(int),
|
||||
);
|
||||
yield r'toursTotal';
|
||||
yield serializers.serialize(
|
||||
object.toursTotal,
|
||||
specifiedType: const FullType(int),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Object serialize(
|
||||
Serializers serializers,
|
||||
ImportSummary 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 ImportSummaryBuilder 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'date':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(Date),
|
||||
) as Date;
|
||||
result.date = valueDes;
|
||||
break;
|
||||
case r'driversProvisioned':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(int),
|
||||
) as int;
|
||||
result.driversProvisioned = valueDes;
|
||||
break;
|
||||
case r'errors':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(BuiltList, [FullType(String)]),
|
||||
) as BuiltList<String>;
|
||||
result.errors.replace(valueDes);
|
||||
break;
|
||||
case r'provisioningErrors':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(BuiltList, [FullType(String)]),
|
||||
) as BuiltList<String>;
|
||||
result.provisioningErrors.replace(valueDes);
|
||||
break;
|
||||
case r'toursFailed':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(int),
|
||||
) as int;
|
||||
result.toursFailed = valueDes;
|
||||
break;
|
||||
case r'toursOk':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(int),
|
||||
) as int;
|
||||
result.toursOk = valueDes;
|
||||
break;
|
||||
case r'toursTotal':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(int),
|
||||
) as int;
|
||||
result.toursTotal = valueDes;
|
||||
break;
|
||||
default:
|
||||
unhandled.add(key);
|
||||
unhandled.add(value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
ImportSummary deserialize(
|
||||
Serializers serializers,
|
||||
Object serialized, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) {
|
||||
final result = ImportSummaryBuilder();
|
||||
final serializedList = (serialized as Iterable<Object?>).toList();
|
||||
final unhandled = <Object?>[];
|
||||
_deserializeProperties(
|
||||
serializers,
|
||||
serialized,
|
||||
specifiedType: specifiedType,
|
||||
serializedList: serializedList,
|
||||
unhandled: unhandled,
|
||||
result: result,
|
||||
);
|
||||
return result.build();
|
||||
}
|
||||
}
|
||||
|
||||
187
packages/holzleitner_api/lib/src/model/import_summary.g.dart
Normal file
187
packages/holzleitner_api/lib/src/model/import_summary.g.dart
Normal file
@ -0,0 +1,187 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'import_summary.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// BuiltValueGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class _$ImportSummary extends ImportSummary {
|
||||
@override
|
||||
final Date date;
|
||||
@override
|
||||
final int? driversProvisioned;
|
||||
@override
|
||||
final BuiltList<String> errors;
|
||||
@override
|
||||
final BuiltList<String>? provisioningErrors;
|
||||
@override
|
||||
final int toursFailed;
|
||||
@override
|
||||
final int toursOk;
|
||||
@override
|
||||
final int toursTotal;
|
||||
|
||||
factory _$ImportSummary([void Function(ImportSummaryBuilder)? updates]) =>
|
||||
(ImportSummaryBuilder()..update(updates))._build();
|
||||
|
||||
_$ImportSummary._(
|
||||
{required this.date,
|
||||
this.driversProvisioned,
|
||||
required this.errors,
|
||||
this.provisioningErrors,
|
||||
required this.toursFailed,
|
||||
required this.toursOk,
|
||||
required this.toursTotal})
|
||||
: super._();
|
||||
@override
|
||||
ImportSummary rebuild(void Function(ImportSummaryBuilder) updates) =>
|
||||
(toBuilder()..update(updates)).build();
|
||||
|
||||
@override
|
||||
ImportSummaryBuilder toBuilder() => ImportSummaryBuilder()..replace(this);
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
if (identical(other, this)) return true;
|
||||
return other is ImportSummary &&
|
||||
date == other.date &&
|
||||
driversProvisioned == other.driversProvisioned &&
|
||||
errors == other.errors &&
|
||||
provisioningErrors == other.provisioningErrors &&
|
||||
toursFailed == other.toursFailed &&
|
||||
toursOk == other.toursOk &&
|
||||
toursTotal == other.toursTotal;
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode {
|
||||
var _$hash = 0;
|
||||
_$hash = $jc(_$hash, date.hashCode);
|
||||
_$hash = $jc(_$hash, driversProvisioned.hashCode);
|
||||
_$hash = $jc(_$hash, errors.hashCode);
|
||||
_$hash = $jc(_$hash, provisioningErrors.hashCode);
|
||||
_$hash = $jc(_$hash, toursFailed.hashCode);
|
||||
_$hash = $jc(_$hash, toursOk.hashCode);
|
||||
_$hash = $jc(_$hash, toursTotal.hashCode);
|
||||
_$hash = $jf(_$hash);
|
||||
return _$hash;
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return (newBuiltValueToStringHelper(r'ImportSummary')
|
||||
..add('date', date)
|
||||
..add('driversProvisioned', driversProvisioned)
|
||||
..add('errors', errors)
|
||||
..add('provisioningErrors', provisioningErrors)
|
||||
..add('toursFailed', toursFailed)
|
||||
..add('toursOk', toursOk)
|
||||
..add('toursTotal', toursTotal))
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
||||
class ImportSummaryBuilder
|
||||
implements Builder<ImportSummary, ImportSummaryBuilder> {
|
||||
_$ImportSummary? _$v;
|
||||
|
||||
Date? _date;
|
||||
Date? get date => _$this._date;
|
||||
set date(Date? date) => _$this._date = date;
|
||||
|
||||
int? _driversProvisioned;
|
||||
int? get driversProvisioned => _$this._driversProvisioned;
|
||||
set driversProvisioned(int? driversProvisioned) =>
|
||||
_$this._driversProvisioned = driversProvisioned;
|
||||
|
||||
ListBuilder<String>? _errors;
|
||||
ListBuilder<String> get errors => _$this._errors ??= ListBuilder<String>();
|
||||
set errors(ListBuilder<String>? errors) => _$this._errors = errors;
|
||||
|
||||
ListBuilder<String>? _provisioningErrors;
|
||||
ListBuilder<String> get provisioningErrors =>
|
||||
_$this._provisioningErrors ??= ListBuilder<String>();
|
||||
set provisioningErrors(ListBuilder<String>? provisioningErrors) =>
|
||||
_$this._provisioningErrors = provisioningErrors;
|
||||
|
||||
int? _toursFailed;
|
||||
int? get toursFailed => _$this._toursFailed;
|
||||
set toursFailed(int? toursFailed) => _$this._toursFailed = toursFailed;
|
||||
|
||||
int? _toursOk;
|
||||
int? get toursOk => _$this._toursOk;
|
||||
set toursOk(int? toursOk) => _$this._toursOk = toursOk;
|
||||
|
||||
int? _toursTotal;
|
||||
int? get toursTotal => _$this._toursTotal;
|
||||
set toursTotal(int? toursTotal) => _$this._toursTotal = toursTotal;
|
||||
|
||||
ImportSummaryBuilder() {
|
||||
ImportSummary._defaults(this);
|
||||
}
|
||||
|
||||
ImportSummaryBuilder get _$this {
|
||||
final $v = _$v;
|
||||
if ($v != null) {
|
||||
_date = $v.date;
|
||||
_driversProvisioned = $v.driversProvisioned;
|
||||
_errors = $v.errors.toBuilder();
|
||||
_provisioningErrors = $v.provisioningErrors?.toBuilder();
|
||||
_toursFailed = $v.toursFailed;
|
||||
_toursOk = $v.toursOk;
|
||||
_toursTotal = $v.toursTotal;
|
||||
_$v = null;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
@override
|
||||
void replace(ImportSummary other) {
|
||||
_$v = other as _$ImportSummary;
|
||||
}
|
||||
|
||||
@override
|
||||
void update(void Function(ImportSummaryBuilder)? updates) {
|
||||
if (updates != null) updates(this);
|
||||
}
|
||||
|
||||
@override
|
||||
ImportSummary build() => _build();
|
||||
|
||||
_$ImportSummary _build() {
|
||||
_$ImportSummary _$result;
|
||||
try {
|
||||
_$result = _$v ??
|
||||
_$ImportSummary._(
|
||||
date: BuiltValueNullFieldError.checkNotNull(
|
||||
date, r'ImportSummary', 'date'),
|
||||
driversProvisioned: driversProvisioned,
|
||||
errors: errors.build(),
|
||||
provisioningErrors: _provisioningErrors?.build(),
|
||||
toursFailed: BuiltValueNullFieldError.checkNotNull(
|
||||
toursFailed, r'ImportSummary', 'toursFailed'),
|
||||
toursOk: BuiltValueNullFieldError.checkNotNull(
|
||||
toursOk, r'ImportSummary', 'toursOk'),
|
||||
toursTotal: BuiltValueNullFieldError.checkNotNull(
|
||||
toursTotal, r'ImportSummary', 'toursTotal'),
|
||||
);
|
||||
} catch (_) {
|
||||
late String _$failedField;
|
||||
try {
|
||||
_$failedField = 'errors';
|
||||
errors.build();
|
||||
_$failedField = 'provisioningErrors';
|
||||
_provisioningErrors?.build();
|
||||
} catch (e) {
|
||||
throw BuiltValueNestedFieldError(
|
||||
r'ImportSummary', _$failedField, e.toString());
|
||||
}
|
||||
rethrow;
|
||||
}
|
||||
replace(_$result);
|
||||
return _$result;
|
||||
}
|
||||
}
|
||||
|
||||
// ignore_for_file: deprecated_member_use_from_same_package,type=lint
|
||||
@ -0,0 +1,108 @@
|
||||
//
|
||||
// AUTO-GENERATED FILE, DO NOT MODIFY!
|
||||
//
|
||||
|
||||
// ignore_for_file: unused_element
|
||||
import 'package:built_collection/built_collection.dart';
|
||||
import 'package:built_value/built_value.dart';
|
||||
import 'package:built_value/serializer.dart';
|
||||
|
||||
part 'mark_mail_sent_request.g.dart';
|
||||
|
||||
/// MarkMailSentRequest
|
||||
///
|
||||
/// Properties:
|
||||
/// * [belegnummern] - Belegnummern, deren Liefermail erfolgreich versendet wurde und die als versendet markiert werden sollen.
|
||||
@BuiltValue()
|
||||
abstract class MarkMailSentRequest implements Built<MarkMailSentRequest, MarkMailSentRequestBuilder> {
|
||||
/// Belegnummern, deren Liefermail erfolgreich versendet wurde und die als versendet markiert werden sollen.
|
||||
@BuiltValueField(wireName: r'belegnummern')
|
||||
BuiltList<String> get belegnummern;
|
||||
|
||||
MarkMailSentRequest._();
|
||||
|
||||
factory MarkMailSentRequest([void updates(MarkMailSentRequestBuilder b)]) = _$MarkMailSentRequest;
|
||||
|
||||
@BuiltValueHook(initializeBuilder: true)
|
||||
static void _defaults(MarkMailSentRequestBuilder b) => b;
|
||||
|
||||
@BuiltValueSerializer(custom: true)
|
||||
static Serializer<MarkMailSentRequest> get serializer => _$MarkMailSentRequestSerializer();
|
||||
}
|
||||
|
||||
class _$MarkMailSentRequestSerializer implements PrimitiveSerializer<MarkMailSentRequest> {
|
||||
@override
|
||||
final Iterable<Type> types = const [MarkMailSentRequest, _$MarkMailSentRequest];
|
||||
|
||||
@override
|
||||
final String wireName = r'MarkMailSentRequest';
|
||||
|
||||
Iterable<Object?> _serializeProperties(
|
||||
Serializers serializers,
|
||||
MarkMailSentRequest object, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) sync* {
|
||||
yield r'belegnummern';
|
||||
yield serializers.serialize(
|
||||
object.belegnummern,
|
||||
specifiedType: const FullType(BuiltList, [FullType(String)]),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Object serialize(
|
||||
Serializers serializers,
|
||||
MarkMailSentRequest 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 MarkMailSentRequestBuilder 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'belegnummern':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(BuiltList, [FullType(String)]),
|
||||
) as BuiltList<String>;
|
||||
result.belegnummern.replace(valueDes);
|
||||
break;
|
||||
default:
|
||||
unhandled.add(key);
|
||||
unhandled.add(value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
MarkMailSentRequest deserialize(
|
||||
Serializers serializers,
|
||||
Object serialized, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) {
|
||||
final result = MarkMailSentRequestBuilder();
|
||||
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 'mark_mail_sent_request.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// BuiltValueGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class _$MarkMailSentRequest extends MarkMailSentRequest {
|
||||
@override
|
||||
final BuiltList<String> belegnummern;
|
||||
|
||||
factory _$MarkMailSentRequest(
|
||||
[void Function(MarkMailSentRequestBuilder)? updates]) =>
|
||||
(MarkMailSentRequestBuilder()..update(updates))._build();
|
||||
|
||||
_$MarkMailSentRequest._({required this.belegnummern}) : super._();
|
||||
@override
|
||||
MarkMailSentRequest rebuild(
|
||||
void Function(MarkMailSentRequestBuilder) updates) =>
|
||||
(toBuilder()..update(updates)).build();
|
||||
|
||||
@override
|
||||
MarkMailSentRequestBuilder toBuilder() =>
|
||||
MarkMailSentRequestBuilder()..replace(this);
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
if (identical(other, this)) return true;
|
||||
return other is MarkMailSentRequest && belegnummern == other.belegnummern;
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode {
|
||||
var _$hash = 0;
|
||||
_$hash = $jc(_$hash, belegnummern.hashCode);
|
||||
_$hash = $jf(_$hash);
|
||||
return _$hash;
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return (newBuiltValueToStringHelper(r'MarkMailSentRequest')
|
||||
..add('belegnummern', belegnummern))
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
||||
class MarkMailSentRequestBuilder
|
||||
implements Builder<MarkMailSentRequest, MarkMailSentRequestBuilder> {
|
||||
_$MarkMailSentRequest? _$v;
|
||||
|
||||
ListBuilder<String>? _belegnummern;
|
||||
ListBuilder<String> get belegnummern =>
|
||||
_$this._belegnummern ??= ListBuilder<String>();
|
||||
set belegnummern(ListBuilder<String>? belegnummern) =>
|
||||
_$this._belegnummern = belegnummern;
|
||||
|
||||
MarkMailSentRequestBuilder() {
|
||||
MarkMailSentRequest._defaults(this);
|
||||
}
|
||||
|
||||
MarkMailSentRequestBuilder get _$this {
|
||||
final $v = _$v;
|
||||
if ($v != null) {
|
||||
_belegnummern = $v.belegnummern.toBuilder();
|
||||
_$v = null;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
@override
|
||||
void replace(MarkMailSentRequest other) {
|
||||
_$v = other as _$MarkMailSentRequest;
|
||||
}
|
||||
|
||||
@override
|
||||
void update(void Function(MarkMailSentRequestBuilder)? updates) {
|
||||
if (updates != null) updates(this);
|
||||
}
|
||||
|
||||
@override
|
||||
MarkMailSentRequest build() => _build();
|
||||
|
||||
_$MarkMailSentRequest _build() {
|
||||
_$MarkMailSentRequest _$result;
|
||||
try {
|
||||
_$result = _$v ??
|
||||
_$MarkMailSentRequest._(
|
||||
belegnummern: belegnummern.build(),
|
||||
);
|
||||
} catch (_) {
|
||||
late String _$failedField;
|
||||
try {
|
||||
_$failedField = 'belegnummern';
|
||||
belegnummern.build();
|
||||
} catch (e) {
|
||||
throw BuiltValueNestedFieldError(
|
||||
r'MarkMailSentRequest', _$failedField, e.toString());
|
||||
}
|
||||
rethrow;
|
||||
}
|
||||
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:built_value/built_value.dart';
|
||||
import 'package:built_value/serializer.dart';
|
||||
|
||||
part 'mark_mail_sent_response.g.dart';
|
||||
|
||||
/// MarkMailSentResponse
|
||||
///
|
||||
/// Properties:
|
||||
/// * [marked] - Anzahl frisch markierter (vorher offener) Belege. Bereits markierte zählen nicht mit (idempotent).
|
||||
@BuiltValue()
|
||||
abstract class MarkMailSentResponse implements Built<MarkMailSentResponse, MarkMailSentResponseBuilder> {
|
||||
/// Anzahl frisch markierter (vorher offener) Belege. Bereits markierte zählen nicht mit (idempotent).
|
||||
@BuiltValueField(wireName: r'marked')
|
||||
int get marked;
|
||||
|
||||
MarkMailSentResponse._();
|
||||
|
||||
factory MarkMailSentResponse([void updates(MarkMailSentResponseBuilder b)]) = _$MarkMailSentResponse;
|
||||
|
||||
@BuiltValueHook(initializeBuilder: true)
|
||||
static void _defaults(MarkMailSentResponseBuilder b) => b;
|
||||
|
||||
@BuiltValueSerializer(custom: true)
|
||||
static Serializer<MarkMailSentResponse> get serializer => _$MarkMailSentResponseSerializer();
|
||||
}
|
||||
|
||||
class _$MarkMailSentResponseSerializer implements PrimitiveSerializer<MarkMailSentResponse> {
|
||||
@override
|
||||
final Iterable<Type> types = const [MarkMailSentResponse, _$MarkMailSentResponse];
|
||||
|
||||
@override
|
||||
final String wireName = r'MarkMailSentResponse';
|
||||
|
||||
Iterable<Object?> _serializeProperties(
|
||||
Serializers serializers,
|
||||
MarkMailSentResponse object, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) sync* {
|
||||
yield r'marked';
|
||||
yield serializers.serialize(
|
||||
object.marked,
|
||||
specifiedType: const FullType(int),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Object serialize(
|
||||
Serializers serializers,
|
||||
MarkMailSentResponse 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 MarkMailSentResponseBuilder 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'marked':
|
||||
final valueDes = serializers.deserialize(
|
||||
value,
|
||||
specifiedType: const FullType(int),
|
||||
) as int;
|
||||
result.marked = valueDes;
|
||||
break;
|
||||
default:
|
||||
unhandled.add(key);
|
||||
unhandled.add(value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
MarkMailSentResponse deserialize(
|
||||
Serializers serializers,
|
||||
Object serialized, {
|
||||
FullType specifiedType = FullType.unspecified,
|
||||
}) {
|
||||
final result = MarkMailSentResponseBuilder();
|
||||
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,94 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'mark_mail_sent_response.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// BuiltValueGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class _$MarkMailSentResponse extends MarkMailSentResponse {
|
||||
@override
|
||||
final int marked;
|
||||
|
||||
factory _$MarkMailSentResponse(
|
||||
[void Function(MarkMailSentResponseBuilder)? updates]) =>
|
||||
(MarkMailSentResponseBuilder()..update(updates))._build();
|
||||
|
||||
_$MarkMailSentResponse._({required this.marked}) : super._();
|
||||
@override
|
||||
MarkMailSentResponse rebuild(
|
||||
void Function(MarkMailSentResponseBuilder) updates) =>
|
||||
(toBuilder()..update(updates)).build();
|
||||
|
||||
@override
|
||||
MarkMailSentResponseBuilder toBuilder() =>
|
||||
MarkMailSentResponseBuilder()..replace(this);
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
if (identical(other, this)) return true;
|
||||
return other is MarkMailSentResponse && marked == other.marked;
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode {
|
||||
var _$hash = 0;
|
||||
_$hash = $jc(_$hash, marked.hashCode);
|
||||
_$hash = $jf(_$hash);
|
||||
return _$hash;
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return (newBuiltValueToStringHelper(r'MarkMailSentResponse')
|
||||
..add('marked', marked))
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
||||
class MarkMailSentResponseBuilder
|
||||
implements Builder<MarkMailSentResponse, MarkMailSentResponseBuilder> {
|
||||
_$MarkMailSentResponse? _$v;
|
||||
|
||||
int? _marked;
|
||||
int? get marked => _$this._marked;
|
||||
set marked(int? marked) => _$this._marked = marked;
|
||||
|
||||
MarkMailSentResponseBuilder() {
|
||||
MarkMailSentResponse._defaults(this);
|
||||
}
|
||||
|
||||
MarkMailSentResponseBuilder get _$this {
|
||||
final $v = _$v;
|
||||
if ($v != null) {
|
||||
_marked = $v.marked;
|
||||
_$v = null;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
@override
|
||||
void replace(MarkMailSentResponse other) {
|
||||
_$v = other as _$MarkMailSentResponse;
|
||||
}
|
||||
|
||||
@override
|
||||
void update(void Function(MarkMailSentResponseBuilder)? updates) {
|
||||
if (updates != null) updates(this);
|
||||
}
|
||||
|
||||
@override
|
||||
MarkMailSentResponse build() => _build();
|
||||
|
||||
_$MarkMailSentResponse _build() {
|
||||
final _$result = _$v ??
|
||||
_$MarkMailSentResponse._(
|
||||
marked: BuiltValueNullFieldError.checkNotNull(
|
||||
marked, r'MarkMailSentResponse', 'marked'),
|
||||
);
|
||||
replace(_$result);
|
||||
return _$result;
|
||||
}
|
||||
}
|
||||
|
||||
// ignore_for_file: deprecated_member_use_from_same_package,type=lint
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user