Skip to content

Commit ab479c4

Browse files
committed
feat: add delete method to File API for file removal
1 parent 4d44637 commit ab479c4

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

apps/knowledge/serializers/file.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,3 +93,11 @@ def get(self, with_valid=True):
9393
status=200,
9494
headers={'Content-Type': mime_types.get(file_type, 'text/plain')}
9595
)
96+
97+
def delete(self):
98+
self.is_valid(raise_exception=True)
99+
file_id = self.data.get('id')
100+
file = QuerySet(File).filter(id=file_id).first()
101+
if file is not None:
102+
file.delete()
103+
return True

apps/knowledge/views/file.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,3 +40,15 @@ class Operate(APIView):
4040
)
4141
def get(self, request: Request, file_id: str):
4242
return FileSerializer.Operate(data={'id': file_id}).get()
43+
44+
@extend_schema(
45+
methods=['DELETE'],
46+
summary=_('Get file'),
47+
description=_('Get file'),
48+
operation_id=_('Get file'),
49+
parameters=FileGetAPI.get_parameters(),
50+
responses=FileGetAPI.get_response(),
51+
tags=[_('File')]
52+
)
53+
def delete(self, request: Request, file_id: str):
54+
return result.success(FileSerializer.Operate(data={'id': file_id}).delete())

0 commit comments

Comments
 (0)