From 9dcbbaa642642a674dbdb65fc07979cafc6d3712 Mon Sep 17 00:00:00 2001 From: Trehana Fernando Date: Fri, 16 Aug 2024 17:13:42 +1000 Subject: [PATCH] #556 -Add validation for document_id to prevent nil or empty values --- lib/meilisearch/index.rb | 4 ++++ spec/meilisearch/index/documents_spec.rb | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/lib/meilisearch/index.rb b/lib/meilisearch/index.rb index 006c9c6c..05caaa78 100644 --- a/lib/meilisearch/index.rb +++ b/lib/meilisearch/index.rb @@ -220,6 +220,10 @@ def delete_documents!(documents_ids) alias delete_multiple_documents! delete_documents! def delete_document(document_id) + if document_id.nil? || document_id.empty? + raise MeiliSearch::Error::InvalidDocumentId, 'document_id cannot be empty or nil' + end + encode_document = URI.encode_www_form_component(document_id) response = http_delete "/indexes/#{@uid}/documents/#{encode_document}" diff --git a/spec/meilisearch/index/documents_spec.rb b/spec/meilisearch/index/documents_spec.rb index b1984f78..7238e21f 100644 --- a/spec/meilisearch/index/documents_spec.rb +++ b/spec/meilisearch/index/documents_spec.rb @@ -393,6 +393,10 @@ describe '#delete_document' do before { index.add_documents(documents).await } + it 'if the document id is nil, it raises an error' do + expect { index.delete_document(nil).await }.to raise_error(MeiliSearch::ApiError) + end + it 'deletes one document from index' do id = 456 index.delete_document(id).await