diff --git a/apps/knowledge/serializers/file.py b/apps/knowledge/serializers/file.py index 794670d0f..8881bdeab 100644 --- a/apps/knowledge/serializers/file.py +++ b/apps/knowledge/serializers/file.py @@ -93,3 +93,11 @@ class FileSerializer(serializers.Serializer): status=200, headers={'Content-Type': mime_types.get(file_type, 'text/plain')} ) + + def delete(self): + self.is_valid(raise_exception=True) + file_id = self.data.get('id') + file = QuerySet(File).filter(id=file_id).first() + if file is not None: + file.delete() + return True diff --git a/apps/knowledge/views/file.py b/apps/knowledge/views/file.py index 61cf8fda2..cd94a4247 100644 --- a/apps/knowledge/views/file.py +++ b/apps/knowledge/views/file.py @@ -40,3 +40,15 @@ class FileView(APIView): ) def get(self, request: Request, file_id: str): return FileSerializer.Operate(data={'id': file_id}).get() + + @extend_schema( + methods=['DELETE'], + summary=_('Get file'), + description=_('Get file'), + operation_id=_('Get file'), + parameters=FileGetAPI.get_parameters(), + responses=FileGetAPI.get_response(), + tags=[_('File')] + ) + def delete(self, request: Request, file_id: str): + return result.success(FileSerializer.Operate(data={'id': file_id}).delete())