From b55ee19a564a8c6d18f131a8eb790194ceed2430 Mon Sep 17 00:00:00 2001 From: Alexander Loechel Date: Wed, 24 Apr 2024 11:25:47 +0200 Subject: [PATCH] more Classes and Objects, Types and Enums added and cleaned-up --- src/edutap/wallet_google/modelbase.py | 5 ++- .../wallet_google/models/primitives/enums.py | 23 +++++++++++++ .../models/tickets_and_transit.py | 34 ++++++++++++++++--- 3 files changed, 56 insertions(+), 6 deletions(-) diff --git a/src/edutap/wallet_google/modelbase.py b/src/edutap/wallet_google/modelbase.py index 9ee9915..6fe1586 100644 --- a/src/edutap/wallet_google/modelbase.py +++ b/src/edutap/wallet_google/modelbase.py @@ -75,7 +75,9 @@ class GoogleWalletObjectModel(GoogleWalletWithIdModel): """ classId: str - version: str | None = Field(description="deprecated", exclude=True, default=None) + version: str | None = Field( + description="deprecated", deprecated=True, exclude=True, default=None + ) groupingInfo: GroupingInfo | None = None @@ -85,6 +87,7 @@ class GoogleWalletObjectModel(GoogleWalletWithIdModel): linksModuleData: LinksModuleData | None = None infoModuleData: InfoModuleData | None = Field( description="deprecated", + deprecated=True, exclude=True, default=None, ) diff --git a/src/edutap/wallet_google/models/primitives/enums.py b/src/edutap/wallet_google/models/primitives/enums.py index 2e42b27..e69f37c 100644 --- a/src/edutap/wallet_google/models/primitives/enums.py +++ b/src/edutap/wallet_google/models/primitives/enums.py @@ -92,6 +92,17 @@ class BarcodeType(CamelCaseAliasEnum): TEXT_ONLY = "TEXT_ONLY" +class BoardingPolicy(CamelCaseAliasEnum): + """ + see: https://developers.google.com/wallet/reference/rest/v1/flightclass#boardingpolicy + """ + + BOARDING_POLICY_UNSPECIFIED = "BOARDING_POLICY_UNSPECIFIED" + ZONE_BASED = "ZONE_BASED" + GROUP_BASED = "GROUP_BASED" + BOARDING_POLICY_OTHER = "BOARDING_POLICY_OTHER" + + class ConcessionCategory(CamelCaseAliasEnum): """ see: https://developers.google.com/wallet/reference/rest/v1/transitobject#concessioncategory @@ -300,6 +311,18 @@ class ScreenshotEligibility(CamelCaseAliasEnum): INELIGIBLE = "INELIGIBLE" +class SeatClassPolicy(CamelCaseAliasEnum): + """ + see: https://developers.google.com/wallet/reference/rest/v1/flightclass#seatclasspolicy + """ + + SEAT_CLASS_POLICY_UNSPECIFIED = "SEAT_CLASS_POLICY_UNSPECIFIED" + CABIN_BASED = "CABIN_BASED" + CLASS_BASED = "CLASS_BASED" + TIER_BASED = "TIER_BASED" + SEAT_CLASS_POLICY_OTHER = "SEAT_CLASS_POLICY_OTHER" + + class SeatLabel(CamelCaseAliasEnum): """ see: https://developers.google.com/wallet/tickets/events/rest/v1/eventticketclass#seatlabel diff --git a/src/edutap/wallet_google/models/tickets_and_transit.py b/src/edutap/wallet_google/models/tickets_and_transit.py index f6c5dd8..54ae37b 100644 --- a/src/edutap/wallet_google/models/tickets_and_transit.py +++ b/src/edutap/wallet_google/models/tickets_and_transit.py @@ -12,6 +12,7 @@ from .primitives.data import AppLinkData from .primitives.datetime import TimeInterval from .primitives.enums import ActivationState +from .primitives.enums import BoardingPolicy from .primitives.enums import ConcessionCategory from .primitives.enums import ConfirmationCodeLabel from .primitives.enums import DoorsOpenLabel @@ -21,6 +22,7 @@ from .primitives.enums import PassengerType from .primitives.enums import ReviewStatus from .primitives.enums import RowLabel +from .primitives.enums import SeatClassPolicy from .primitives.enums import SeatLabel from .primitives.enums import SectionLabel from .primitives.enums import State @@ -124,10 +126,12 @@ class EventTicketClass( gateLabel: GateLabel | None = None customGateLabel: LocalizedString | None = None finePrint: LocalizedString | None = None - version: str | None = Field(description="deprecated", exclude=True, default=None) - issuerName: str | None = None - localizedIssuerName: LocalizedString | None = None - homepageUri: Uri | None = None + version: str | None = Field( + description="deprecated", deprecated=True, exclude=True, default=None + ) + # issuerName: str | None = None + # localizedIssuerName: LocalizedString | None = None + # homepageUri: Uri | None = None locations: list[LatLongPoint] | None = None reviewStatus: ReviewStatus | None = None review: Review | None = None @@ -378,15 +382,35 @@ class FlightHeader(GoogleWalletModel): class AirportInfo(GoogleWalletModel): """ - see: + see: https://developers.google.com/wallet/reference/rest/v1/flightclass#airportinfo """ + kind: str | None = Field( + description="deprecated", + deprecated=True, + exclude=True, + default="walletobjects#airportInfo", + ) + airportIataCode: str | None = Field(max_length=3, default=None) + terminal: str | None = None + gate: str | None = None + airportNameOverride: LocalizedString | None = None + class BoardingAndSeatingPolicy(GoogleWalletModel): """ see: """ + kind: str | None = Field( + description="deprecated", + deprecated=True, + exclude=True, + default="walletobjects#boardingAndSeatingPolicy", + ) + boardingPolicy: BoardingPolicy = BoardingPolicy.BOARDING_POLICY_UNSPECIFIED + seatClassPolicy: SeatClassPolicy = SeatClassPolicy.SEAT_CLASS_POLICY_UNSPECIFIED + @register_model( "FlightClass",