fix: select-Endpunkte für OE-/Gruppen-Merkmale brauchen keinen Payload-Body

Anders als beim geräteweisen select (das optionen für Merkmale wie
browser-brave transportiert) bieten die OE-/Gruppen-Editoren keine
Merkmal-Optionen an. select_oe_merkmal()/select_gruppe_merkmal()
erwarteten trotzdem einen AuftragSelectRequest-Body - keiner der
Kundenplattform-Aufrufer sendet einen, jeder Aufruf schlug mit 422
fehl (gefunden bei der Live-Verifikation).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Thomas Stallinger 2026-08-12 16:53:47 +02:00
parent 25e1c5525b
commit a0df9f3ef9

10
app.py
View File

@ -3149,13 +3149,16 @@ def delete_organisationseinheit_endpoint(oe_id: str, authorization: str | None =
def select_oe_merkmal( def select_oe_merkmal(
oe_id: str, oe_id: str,
merkmal_key: str, merkmal_key: str,
payload: AuftragSelectRequest,
authorization: str | None = Header(default=None), authorization: str | None = Header(default=None),
): ):
# Kein Payload-Body wie beim geräteweisen select (siehe
# AuftragSelectRequest/OPTIONEN_FELDER in kundenplattform) - die
# OE-/Gruppen-Editoren bieten keine Merkmal-Optionen an, nur
# aktiv/inaktiv/nicht festgelegt.
if not require_service_token(authorization): if not require_service_token(authorization):
return {"success": False, "error": "unauthorized", "message": "Fehlendes oder ungültiges Service-Token."} return {"success": False, "error": "unauthorized", "message": "Fehlendes oder ungültiges Service-Token."}
if not set_oe_auswahl(oe_id, merkmal_key, True, payload.optionen): if not set_oe_auswahl(oe_id, merkmal_key, True, {}):
return {"success": False, "error": "unknown_merkmal", "message": f"Kein katalogfähiges Merkmal mit Key: {merkmal_key}"} return {"success": False, "error": "unknown_merkmal", "message": f"Kein katalogfähiges Merkmal mit Key: {merkmal_key}"}
return {"success": True} return {"success": True}
@ -3252,13 +3255,12 @@ def delete_gruppe_endpoint(gruppe_id: str, authorization: str | None = Header(de
def select_gruppe_merkmal( def select_gruppe_merkmal(
gruppe_id: str, gruppe_id: str,
merkmal_key: str, merkmal_key: str,
payload: AuftragSelectRequest,
authorization: str | None = Header(default=None), authorization: str | None = Header(default=None),
): ):
if not require_service_token(authorization): if not require_service_token(authorization):
return {"success": False, "error": "unauthorized", "message": "Fehlendes oder ungültiges Service-Token."} return {"success": False, "error": "unauthorized", "message": "Fehlendes oder ungültiges Service-Token."}
if not set_gruppe_auswahl(gruppe_id, merkmal_key, True, payload.optionen): if not set_gruppe_auswahl(gruppe_id, merkmal_key, True, {}):
return {"success": False, "error": "unknown_merkmal", "message": f"Kein katalogfähiges Merkmal mit Key: {merkmal_key}"} return {"success": False, "error": "unknown_merkmal", "message": f"Kein katalogfähiges Merkmal mit Key: {merkmal_key}"}
return {"success": True} return {"success": True}