mirror of
https://github.com/infiniflow/ragflow.git
synced 2026-06-29 15:31:05 +08:00
Fix: remove delete_documents uuid validation (#14533)
### What problem does this PR solve? remove delete_documents uuid validation ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
This commit is contained in:
@@ -814,6 +814,31 @@ class DeleteReq(Base):
|
||||
class DeleteDatasetReq(DeleteReq): ...
|
||||
|
||||
|
||||
class DeleteDocumentReq(DeleteReq):
|
||||
@field_validator("ids", mode="after")
|
||||
@classmethod
|
||||
def validate_ids(cls, v_list: list[str] | None) -> list[str] | None:
|
||||
"""
|
||||
Validate document IDs without enforcing UUIDv1.
|
||||
|
||||
Connector-backed documents can use non-UUID identifiers, so we only
|
||||
enforce uniqueness here and leave existence checks to the delete API.
|
||||
"""
|
||||
if v_list is None:
|
||||
return None
|
||||
|
||||
duplicates = [item for item, count in Counter(v_list).items() if count > 1]
|
||||
if duplicates:
|
||||
duplicates_str = ", ".join(duplicates)
|
||||
raise PydanticCustomError(
|
||||
"duplicate_uuids",
|
||||
"Duplicate ids: '{duplicate_ids}'",
|
||||
{"duplicate_ids": duplicates_str},
|
||||
)
|
||||
|
||||
return v_list
|
||||
|
||||
|
||||
class SearchDatasetReq(BaseModel):
|
||||
model_config = ConfigDict(extra="ignore")
|
||||
|
||||
@@ -833,9 +858,6 @@ class SearchDatasetReq(BaseModel):
|
||||
meta_data_filter: Annotated[dict | None, Field(default=None)]
|
||||
|
||||
|
||||
class DeleteDocumentReq(DeleteReq): ...
|
||||
|
||||
|
||||
class BaseListReq(BaseModel):
|
||||
model_config = ConfigDict(extra="forbid")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user