Skip to content

Commit cf89a48

Browse files
committed
added validation to check if query_by is string
1 parent ca568b3 commit cf89a48

3 files changed

Lines changed: 13 additions & 1 deletion

File tree

typesense/documents.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
from .document import Document
66
from .logger import logger
7+
from .validation import validate_query_by
78
from collections.abc import Iterable
89

910
class Documents(object):
@@ -94,7 +95,8 @@ def export(self, params=None):
9495
return api_response
9596

9697
def search(self, search_parameters):
98+
validate_query_by(search_parameters)
9799
return self.api_call.get(self._endpoint_path('search'), search_parameters)
98100

99101
def delete(self, params=None):
100-
return self.api_call.delete(self._endpoint_path(), params)
102+
return self.api_call.delete(self._endpoint_path(), params)

typesense/exceptions.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,3 +45,7 @@ class ServiceUnavailable(TypesenseClientError):
4545

4646
class HTTPStatus0Error(TypesenseClientError):
4747
pass
48+
49+
50+
class InvalidParameter(TypesenseClientError):
51+
pass

typesense/validation.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
from typesense.exceptions import InvalidParameter
2+
3+
4+
def validate_query_by(params):
5+
if "query_by" in params and type(params["query_by"]) is not str:
6+
raise InvalidParameter(f"'query_by' field expected a string but was given {type(params['query_by']).__name__}")

0 commit comments

Comments
 (0)