feat: add delete method to File API for file removal

This commit is contained in:
CaptainB 2025-05-08 12:15:00 +08:00
parent 4d44637ae5
commit ab479c422c
2 changed files with 20 additions and 0 deletions

View File

@ -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

View File

@ -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())