mirror of
https://github.com/pretix/pretix.git
synced 2026-01-27 01:02:28 +00:00
API: More validation in custom fields on event serializers
This commit is contained in:
@@ -29,6 +29,9 @@ class MetaDataField(Field):
|
||||
}
|
||||
|
||||
def to_internal_value(self, data):
|
||||
if not isinstance(data, dict) or not all(isinstance(k, str) for k in data.keys()) or not all(isinstance(k, str) for k in data.values()):
|
||||
return ValidationError('meta_data needs to be an object (str -> str).')
|
||||
|
||||
return {
|
||||
'meta_data': data
|
||||
}
|
||||
@@ -42,6 +45,8 @@ class MetaPropertyField(Field):
|
||||
}
|
||||
|
||||
def to_internal_value(self, data):
|
||||
if not isinstance(data, dict) or not all(isinstance(k, str) for k in data.keys()) or not all(isinstance(k, str) for k in data.values()):
|
||||
return ValidationError('item_meta_properties needs to be an object (str -> str).')
|
||||
return {
|
||||
'item_meta_properties': data
|
||||
}
|
||||
@@ -58,6 +63,8 @@ class SeatCategoryMappingField(Field):
|
||||
}
|
||||
|
||||
def to_internal_value(self, data):
|
||||
if not isinstance(data, dict) or not all(isinstance(k, str) for k in data.keys()) or not all(isinstance(k, int) for k in data.values()):
|
||||
return ValidationError('seat_category_mapping needs to be an object (str -> int).')
|
||||
return {
|
||||
'seat_category_mapping': data or {}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user