Skip to content

Commit 92be6cf

Browse files
committed
fix(graph): add missing service-level feature fields to type + input
Add labelless, notification, address_validation, and transit_label fields to ServiceLevelFeaturesType and ServiceLevelFeaturesInput. Admin test_update_rate_sheet_accepts_all_service_level_feature_flags queries these fields; they landed in shipping-platform but the Wave 0 sync kept upstream's ServiceLevelFeaturesType (which lacked them) per the conflict matrix default of "keep upstream". The test was picked up from SP's side of the merge, so GraphQL introspection rejected the query ("Cannot query field 'labelless' on type 'ServiceLevelFeaturesType'"). Ship the four fields so the type and the test line up.
1 parent dc20528 commit 92be6cf

2 files changed

Lines changed: 27 additions & 0 deletions

File tree

modules/graph/karrio/server/graph/schemas/base/inputs.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -621,6 +621,21 @@ class ServiceLevelFeaturesInput(utils.BaseInput):
621621
# Neighbor delivery allowed
622622
neighbor_delivery: bool | None = strawberry.UNSET
623623

624+
# Labelless / return-flow (QR code only, no printed label)
625+
labelless: bool | None = strawberry.UNSET
626+
627+
# Delivery notification support (SMS/email)
628+
notification: bool | None = strawberry.UNSET
629+
630+
# Recipient address validation at time of booking
631+
address_validation: bool | None = strawberry.UNSET
632+
633+
# Transit label preference — informational string the carrier uses to
634+
# annotate delivery speed ("best_effort", "priority"…). Stored on the
635+
# service_level's features JSON; not an enum here so carriers that
636+
# introduce new labels don't require a schema migration.
637+
transit_label: str | None = strawberry.UNSET
638+
624639

625640
@strawberry.input
626641
class CreateServiceLevelInput(utils.BaseInput):

modules/graph/karrio/server/graph/schemas/base/types.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1912,6 +1912,18 @@ class ServiceLevelFeaturesType:
19121912
# Neighbor delivery allowed
19131913
neighbor_delivery: bool | None = None
19141914

1915+
# Labelless / return-flow (QR code only, no printed label)
1916+
labelless: bool | None = None
1917+
1918+
# Delivery notification support (SMS/email)
1919+
notification: bool | None = None
1920+
1921+
# Recipient address validation at time of booking
1922+
address_validation: bool | None = None
1923+
1924+
# Customer-facing transit label ("best_effort", "next_day", etc.)
1925+
transit_label: str | None = None
1926+
19151927
@staticmethod
19161928
def parse(features: dict | None) -> "ServiceLevelFeaturesType":
19171929
"""Parse a features dict into ServiceLevelFeaturesType."""

0 commit comments

Comments
 (0)