Merge pull request #12 from ualsweb/claude/fix-invalid-notification-type-011CUqVBr2CkSZZZVnAqufVM
Fix notification validation to handle enum objects
This commit is contained in:
@@ -237,20 +237,26 @@ class NotificationBaseRepository(BaseRepository):
|
||||
|
||||
# Validate priority if present
|
||||
if "priority" in data and data["priority"]:
|
||||
from enum import Enum
|
||||
priority_value = data["priority"].value if isinstance(data["priority"], Enum) else data["priority"]
|
||||
valid_priorities = ["low", "normal", "high", "urgent"]
|
||||
if data["priority"] not in valid_priorities:
|
||||
if priority_value not in valid_priorities:
|
||||
errors.append(f"Invalid priority. Must be one of: {valid_priorities}")
|
||||
|
||||
|
||||
# Validate notification type if present
|
||||
if "type" in data and data["type"]:
|
||||
from enum import Enum
|
||||
type_value = data["type"].value if isinstance(data["type"], Enum) else data["type"]
|
||||
valid_types = ["email", "whatsapp", "push", "sms"]
|
||||
if data["type"] not in valid_types:
|
||||
if type_value not in valid_types:
|
||||
errors.append(f"Invalid notification type. Must be one of: {valid_types}")
|
||||
|
||||
|
||||
# Validate status if present
|
||||
if "status" in data and data["status"]:
|
||||
from enum import Enum
|
||||
status_value = data["status"].value if isinstance(data["status"], Enum) else data["status"]
|
||||
valid_statuses = ["pending", "sent", "delivered", "failed", "cancelled"]
|
||||
if data["status"] not in valid_statuses:
|
||||
if status_value not in valid_statuses:
|
||||
errors.append(f"Invalid status. Must be one of: {valid_statuses}")
|
||||
|
||||
return {
|
||||
|
||||
Reference in New Issue
Block a user