mirror of
https://github.com/Dispatcharr/Dispatcharr.git
synced 2026-01-23 02:35:14 +00:00
core settings update capabilities
This commit is contained in:
parent
19cac3ccad
commit
c42f2d048a
7 changed files with 246 additions and 53 deletions
|
|
@ -28,27 +28,3 @@ class CoreSettingsViewSet(viewsets.ModelViewSet):
|
|||
"""
|
||||
queryset = CoreSettings.objects.all()
|
||||
serializer_class = CoreSettingsSerializer
|
||||
permission_classes = [IsAuthenticated]
|
||||
|
||||
def create(self, request, *args, **kwargs):
|
||||
if CoreSettings.objects.exists():
|
||||
return Response(
|
||||
{"detail": "Core settings already exist. Use PUT to update."},
|
||||
status=status.HTTP_400_BAD_REQUEST
|
||||
)
|
||||
return super().create(request, *args, **kwargs)
|
||||
|
||||
def list(self, request, *args, **kwargs):
|
||||
# Always return the singleton instance (creating it if needed)
|
||||
settings_instance, created = CoreSettings.objects.get_or_create(pk=1)
|
||||
serializer = self.get_serializer(settings_instance)
|
||||
return Response([serializer.data]) # Return as a list for DRF router compatibility
|
||||
|
||||
def retrieve(self, request, *args, **kwargs):
|
||||
# Retrieve the singleton instance
|
||||
settings_instance = get_object_or_404(CoreSettings, pk=1)
|
||||
serializer = self.get_serializer(settings_instance)
|
||||
return Response(serializer.data)
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue