diff --git a/api/src/backend/api/v1/serializer_utils/lighthouse.py b/api/src/backend/api/v1/serializer_utils/lighthouse.py new file mode 100644 index 0000000000..f7ecef32cc --- /dev/null +++ b/api/src/backend/api/v1/serializer_utils/lighthouse.py @@ -0,0 +1,13 @@ +import re + +from rest_framework_json_api import serializers + + +class OpenAICredentialsSerializer(serializers.Serializer): + api_key = serializers.CharField() + + def validate_api_key(self, value: str) -> str: + pattern = r"^sk-[\w-]+$" + if not re.match(pattern, value or ""): + raise serializers.ValidationError("Invalid OpenAI API key format.") + return value