MCPcopy Create free account
hub / github.com/Flagsmith/flagsmith / FeatureValueSerializer

Class FeatureValueSerializer

api/features/feature_states/serializers.py:72–95  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

70
71
72class FeatureValueSerializer(serializers.Serializer): # type: ignore[type-arg]
73 type = serializers.ChoiceField(
74 choices=["integer", "string", "boolean"], required=True
75 )
76 value = serializers.CharField(required=True, allow_blank=True)
77
78 def validate(self, data: dict) -> dict: # type: ignore[type-arg]
79 value_type = data["type"]
80 string_val = data["value"]
81
82 if value_type == "integer":
83 try:
84 int(string_val)
85 except ValueError:
86 raise serializers.ValidationError(
87 f"'{string_val}' is not a valid integer"
88 )
89 elif value_type == "boolean":
90 if string_val.lower() not in ("true", "false"):
91 raise serializers.ValidationError(
92 f"'{string_val}' is not a valid boolean (use 'true' or 'false')"
93 )
94
95 return data
96
97
98class UpdateFlagSerializer(BaseFeatureUpdateSerializer):

Calls

no outgoing calls

Used in the wild real call sites across dependent graphs

searching dependent graphs…