This commit is contained in:
Trey t
2023-06-15 23:44:47 -05:00
parent f0a4b2f717
commit d21a547e4b
10 changed files with 82 additions and 9 deletions

Binary file not shown.

View File

@@ -1,7 +1,13 @@
from rest_framework import serializers from rest_framework import serializers
from models import * from .models import *
class EquipmentSerializer(serializers.ModelSerializer): class EquipmentSerializer(serializers.ModelSerializer):
class Meta: class Meta:
model = Equipment model = Equipment
fields = '__all__'
class WorkoutEquipmentSerializer(serializers.ModelSerializer):
class Meta:
model = WorkoutEquipment
fields = '__all__' fields = '__all__'

7
equipment/urls.py Normal file
View File

@@ -0,0 +1,7 @@
from django.urls import path
from . import views
urlpatterns = [
path('all/', views.all_equipment, name='all equipment'),
]

View File

@@ -1,3 +1,21 @@
from django.shortcuts import render from django.shortcuts import render
from .models import *
from .serializers import *
from django.shortcuts import render
from rest_framework.decorators import api_view
from rest_framework.response import Response
from rest_framework import status
from django.contrib.auth.models import User
from django.contrib.auth import authenticate
from rest_framework.authentication import TokenAuthentication
from rest_framework.permissions import IsAuthenticated
from rest_framework.decorators import authentication_classes
from rest_framework.decorators import permission_classes
# Create your views here. # Create your views here.
@api_view(['GET'])
def all_equipment(request):
users = Equipment.objects.all()
serializer = EquipmentSerializer(users, many=True)
return Response(data=serializer.data, status=status.HTTP_200_OK)

View File

@@ -3,6 +3,12 @@ from .models import *
from muscle.models import ExerciseMuscle from muscle.models import ExerciseMuscle
from equipment.models import WorkoutEquipment from equipment.models import WorkoutEquipment
from muscle.serializers import ExerciseMuscleSerializer from muscle.serializers import ExerciseMuscleSerializer
from equipment.serializers import WorkoutEquipmentSerializer
class ExerciseMuscleSerializer(serializers.ModelSerializer):
class Meta:
model = ExerciseMuscle
fields = '__all__'
class ExerciseSerializer(serializers.ModelSerializer): class ExerciseSerializer(serializers.ModelSerializer):
muscles = serializers.SerializerMethodField() muscles = serializers.SerializerMethodField()
@@ -15,9 +21,11 @@ class ExerciseSerializer(serializers.ModelSerializer):
fields = '__all__' fields = '__all__'
def get_muscles(self, obj): def get_muscles(self, obj):
objs = ExerciseMuscle.objects.filter(exercise=obj).values_list('muscle__name', flat=True) objs = ExerciseMuscle.objects.filter(exercise=obj)
return objs data = ExerciseMuscleSerializer(objs, many=True).data
return data
def get_equipment(self, obj): def get_equipment(self, obj):
objs = WorkoutEquipment.objects.filter(exercise=obj).values_list('equipment__name', flat=True) objs = WorkoutEquipment.objects.filter(exercise=obj)
return objs data = WorkoutEquipmentSerializer(objs, many=True).data
return data

View File

@@ -1,5 +1,11 @@
from rest_framework import serializers from rest_framework import serializers
from .models import ExerciseMuscle from .models import *
class MuscleSerializer(serializers.ModelSerializer):
class Meta:
model = Muscle
fields = '__all__'
class ExerciseMuscleSerializer(serializers.ModelSerializer): class ExerciseMuscleSerializer(serializers.ModelSerializer):
class Meta: class Meta:

7
muscle/urls.py Normal file
View File

@@ -0,0 +1,7 @@
from django.urls import path
from . import views
urlpatterns = [
path('all/', views.all_muscles, name='all muscles'),
]

View File

@@ -1,3 +1,21 @@
from django.shortcuts import render from django.shortcuts import render
from .models import *
from .serializers import *
from django.shortcuts import render
from rest_framework.decorators import api_view
from rest_framework.response import Response
from rest_framework import status
from django.contrib.auth.models import User
from django.contrib.auth import authenticate
from rest_framework.authentication import TokenAuthentication
from rest_framework.permissions import IsAuthenticated
from rest_framework.decorators import authentication_classes
from rest_framework.decorators import permission_classes
# Create your views here. # Create your views here.
@api_view(['GET'])
def all_muscles(request):
users = Muscle.objects.all()
serializer = MuscleSerializer(users, many=True)
return Response(data=serializer.data, status=status.HTTP_200_OK)

View File

@@ -8,7 +8,9 @@ urlpatterns = [
path('workout/', include('workout.urls')), path('workout/', include('workout.urls')),
path('exercise/', include('exercise.urls')), path('exercise/', include('exercise.urls')),
path('scripts/', include('scripts.urls')), path('muscle/', include('muscle.urls')),
path('equipment/', include('equipment.urls')),
# path('scripts/', include('scripts.urls')),
] + static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT) ] + static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)

View File

@@ -36,6 +36,7 @@ class WorkoutSerializer(serializers.ModelSerializer):
class Meta: class Meta:
model = Workout model = Workout
fields = '__all__' fields = '__all__'
depth = 1
class WorkoutDetailSerializer(serializers.ModelSerializer): class WorkoutDetailSerializer(serializers.ModelSerializer):
exercises = serializers.SerializerMethodField() exercises = serializers.SerializerMethodField()
@@ -52,8 +53,8 @@ class WorkoutDetailSerializer(serializers.ModelSerializer):
return data return data
def get_registered_user(self, obj): def get_registered_user(self, obj):
objs = RegisteredUser.objects.filter(pk=obj.registered_user.pk) objs = RegisteredUser.objects.get(pk=obj.registered_user.pk)
data = GetRegisteredUserSerializer(objs, many=True).data data = GetRegisteredUserSerializer(objs, many=False).data
return data return data
class GetCompleteWorkoutSerializer(serializers.ModelSerializer): class GetCompleteWorkoutSerializer(serializers.ModelSerializer):