Skip to content

Commit

Permalink
Allow Fetching Variants independently from Ladders
Browse files Browse the repository at this point in the history
  • Loading branch information
Kraust committed Jun 9, 2024
1 parent e529b9b commit a5e810c
Show file tree
Hide file tree
Showing 12 changed files with 82 additions and 5 deletions.
1 change: 1 addition & 0 deletions OSCR_django/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
path("", include("combatlog.urls.combatlog")),
path("", include("ladder.urls.ladder")),
path("", include("ladder.urls.ladder_entry")),
path("", include("ladder.urls.variant")),
path("", include("ui.urls.ui")),
]

Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v2024.4b130
v2024.6b90
2 changes: 2 additions & 0 deletions ladder/filters/__init__.py
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
from .ladder import *
from .ladder_entry import *
from .variant import *

4 changes: 2 additions & 2 deletions ladder/filters/ladder.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@


class LadderFilter(BaseFilterSet):
"""Filter for Tasks API"""
"""Filter for model"""

class Meta:
"""Meta class for the application filter"""
"""Meta class for filter"""

model = Ladder
exclude = [
Expand Down
4 changes: 2 additions & 2 deletions ladder/filters/ladder_entry.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,10 @@


class LadderEntryFilter(BaseFilterSet):
"""Filter for Tasks API"""
"""Filter for model"""

class Meta:
"""Meta class for the application filter"""
"""Meta class for filter"""

model = LadderEntry
fields = {
Expand Down
14 changes: 14 additions & 0 deletions ladder/filters/variant.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
""" Variant Filter """

from core.filters import BaseFilterSet
from ladder.models import Variant


class VariantFilter(BaseFilterSet):
"""Filter for model"""

class Meta:
"""Meta class for filter"""

model = Variant
exclude = []
1 change: 1 addition & 0 deletions ladder/models/__init__.py
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
from .ladder import *
from .ladder_entry import *
from .variant import *
1 change: 1 addition & 0 deletions ladder/serializers/__init__.py
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
from .ladder import *
from .ladder_entry import *
from .variant import *
13 changes: 13 additions & 0 deletions ladder/serializers/variant.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
""" Variant Serializers """

from rest_framework import serializers

from ladder.models import Variant


class VariantSerializer(serializers.ModelSerializer):
"""Variant Serializer"""

class Meta:
model = Variant
exclude = []
13 changes: 13 additions & 0 deletions ladder/urls/variant.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
""" Variant URLs """

from django.urls import include, path
from rest_framework import routers

from ladder import views

router = routers.DefaultRouter()
router.register("variant", views.VariantViewSet)

urlpatterns = [
path("", include(router.urls)),
]
1 change: 1 addition & 0 deletions ladder/views/__init__.py
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
from .ladder import *
from .ladder_entry import *
from .variant import *
31 changes: 31 additions & 0 deletions ladder/views/variant.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
""" Variant Views """

import logging

from rest_framework.filters import OrderingFilter, SearchFilter
from rest_framework.mixins import ListModelMixin, RetrieveModelMixin
from rest_framework.viewsets import GenericViewSet

from core.filters import BaseFilterBackend
from core.pagination import AllResultsPagination
from ladder.filters import VariantFilter
from ladder.models import Variant
from ladder.serializers import VariantSerializer

LOGGER = logging.getLogger("django")


class VariantViewSet(
GenericViewSet,
ListModelMixin,
RetrieveModelMixin,
):
"""Variant API"""

queryset = Variant.objects.all()
serializer_class = VariantSerializer
pagination_class = AllResultsPagination
filter_backends = (BaseFilterBackend, OrderingFilter, SearchFilter)
filterset_class = VariantFilter
ordering_fields = "__all__"
ordering = ["name"]

0 comments on commit a5e810c

Please sign in to comment.