saved guilds api

- active flag
- allow PUT method
- typo fix
- remove settings from savedguild serialiser
This commit is contained in:
Corban-Lee Jones 2024-08-16 18:44:52 +01:00
parent 21bddbb300
commit 90b3dde68d
2 changed files with 6 additions and 8 deletions

View File

@ -173,7 +173,7 @@ class SavedGuildSerializer(DynamicModelSerializer):
class Meta:
model = SavedGuilds
fields = ("id", "guild_id", "name", "icon", "added_by", "permissions", "default_embed_colour", "owner")
fields = ("id", "guild_id", "name", "icon", "added_by", "permissions", "owner")
class GuildSettingsSerializer(DynamicModelSerializer):
@ -183,7 +183,7 @@ class GuildSettingsSerializer(DynamicModelSerializer):
class Meta:
model = GuildSettings
fields = ("id", "guild_id", "default_embed_colour")
fields = ("id", "guild_id", "default_embed_colour", "active")
class TrackedContentSerializer_GET(DynamicModelSerializer):

View File

@ -405,7 +405,7 @@ class GuildSettings_ListView(generics.ListCreateAPIView):
metadata_class = ExpandedMetadata
filter_backends = [filters.SearchFilter, rest_filters.DjangoFilterBackend, filters.OrderingFilter]
filterset_fields = ["id", "guild_id", "default_embed_colour"]
filterset_fields = ["id", "guild_id", "default_embed_colour", "active"]
def get_queryset(self):
if self.request.user.is_superuser:
@ -414,9 +414,7 @@ class GuildSettings_ListView(generics.ListCreateAPIView):
return GuildSettings.objects.filter(added_by=self.request.user)
def post(self, request):
guild_id = request.data["guild_id"]
saved_guilds = SavedGuild.objects.filter(added_by=request.user)
saved_guilds = SavedGuilds.objects.filter(added_by=request.user)
if not saved_guilds:
return Response(
@ -445,7 +443,7 @@ class GuildSettings_ListView(generics.ListCreateAPIView):
return (int(permissions) & 1 << 3) == 1 << 3
class GuildSettings_DetailView(generics.RetrieveDestroyAPIView):
class GuildSettings_DetailView(generics.RetrieveUpdateDestroyAPIView):
"""
View to provide details on a particular GuildSettings model instances.
@ -462,7 +460,7 @@ class GuildSettings_DetailView(generics.RetrieveDestroyAPIView):
if self.request.user.is_superuser:
return GuildSettings.objects.all()
saved_guilds = SavedGuild.objects.filter(added_by=self.request.user)
saved_guilds = SavedGuilds.objects.filter(added_by=self.request.user)
guild_ids = [guild.guild_id for guild in saved_guilds]
return GuildSettings.objects.filter(guild_id__in=guild_ids)