forked from CGM_Public/pretix_original
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):
|
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 {
|
return {
|
||||||
'meta_data': data
|
'meta_data': data
|
||||||
}
|
}
|
||||||
@@ -42,6 +45,8 @@ class MetaPropertyField(Field):
|
|||||||
}
|
}
|
||||||
|
|
||||||
def to_internal_value(self, data):
|
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 {
|
return {
|
||||||
'item_meta_properties': data
|
'item_meta_properties': data
|
||||||
}
|
}
|
||||||
@@ -58,6 +63,8 @@ class SeatCategoryMappingField(Field):
|
|||||||
}
|
}
|
||||||
|
|
||||||
def to_internal_value(self, data):
|
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 {
|
return {
|
||||||
'seat_category_mapping': data or {}
|
'seat_category_mapping': data or {}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user