Skip to content

Commit ad211ca

Browse files
author
belledw
committed
updated views and url structure on backend
1 parent c61a6f1 commit ad211ca

6 files changed

Lines changed: 58 additions & 7 deletions

File tree

client/src/components/ui/pet-task-carousel.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,18 +24,21 @@ interface taskInfoResponse {
2424

2525
export function TaskCarousel() {
2626
const [taskInfo, setTaskInfo] = useState<taskInfoResponse>();
27+
const petID = 1; // Will need function to get pet id.
2728

2829
useEffect(() => {
2930
const fetchData = async () => {
30-
const data = await fetch("http://localhost:8000/tasks/");
31+
const data = await fetch(
32+
"http://localhost:8000/tasks/pet/" + petID.toString(),
33+
);
3134
const taskInfo = await data.json();
3235
setTaskInfo(taskInfo);
3336
};
3437

3538
fetchData();
3639
}, []);
3740

38-
// Not very efficient, and need to modify for multiple pets.
41+
// Not very efficient.
3942
function getTaskInfo(id: number, item: keyof taskInfoObject) {
4043
if (taskInfo) {
4144
let task: keyof taskInfoResponse;

server/health/serializers.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
from rest_framework import serializers
2+
from .models import SymptomInstance, MedRecord
3+
4+
class SymptomSerializer(serializers.ModelSerializer):
5+
class Meta:
6+
model = SymptomInstance
7+
fields = "__all__"
8+
9+
class MedRecordSerializer(serializers.ModelSerializer):
10+
class Meta:
11+
model = MedRecord
12+
fields = "__all__"

server/health/urls.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,8 @@
33
from . import views
44

55
urlpatterns = [
6-
path("", views.index, name="index"),
6+
path("symptom/", views.symptomAll, name="symptom"),
7+
path("symptom/id/<int:id>", views.symptomID, name="symptom-id"),
8+
path("symptom/pet/<int:forPet>", views.symptomPet, name="symptom-pet"),
9+
path("medrecord", views.medrecord, name="medrecord"),
710
]

server/health/views.py

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,33 @@
1-
from django.shortcuts import render
2-
from django.http import HttpResponse
1+
from django.http import HttpResponse, JsonResponse
2+
from rest_framework.decorators import api_view
3+
4+
from health.models import SymptomInstance, MedRecord
5+
from health.serializers import SymptomSerializer, MedRecordSerializer
36

47
# Create your views here.
5-
def index(request):
6-
return HttpResponse("Hello, world. You're at the health index.")
8+
@api_view(('GET',))
9+
def symptomAll(request):
10+
data = SymptomInstance.objects.all()
11+
serializer = SymptomSerializer(data, many=True)
12+
return JsonResponse(serializer.data, safe=False)
13+
14+
def symptomID(request, id):
15+
try:
16+
data = SymptomInstance.objects.filter(id=id)
17+
except SymptomInstance.DoesNotExist:
18+
return HttpResponse(status=404)
19+
serializer = SymptomSerializer(data, many=True)
20+
return JsonResponse(serializer.data, safe=False)
21+
22+
def symptomPet(request, forPet):
23+
try:
24+
data = SymptomInstance.objects.filter(forPet=forPet)
25+
except SymptomInstance.DoesNotExist:
26+
return HttpResponse(status=404)
27+
serializer = SymptomSerializer(data, many=True)
28+
return JsonResponse(serializer.data, safe=False)
29+
30+
def medrecord(request):
31+
data = MedRecord.objects.all()
32+
serializer = MedRecordSerializer(data, many=True)
33+
return JsonResponse(serializer.data, safe=False)

server/tasks/urls.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,5 @@
44

55
urlpatterns = [
66
path("", views.index, name="index"),
7+
path("pet/<int:forPet>", views.pet_filter, name="pet_filter"),
78
]

server/tasks/views.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,9 @@
1313
def index(request):
1414
data = Task.objects.all()
1515
serializer = TaskSerializer(data, many=True)
16+
return JsonResponse(serializer.data, safe=False)
17+
18+
def pet_filter(request, forPet):
19+
data = Task.objects.filter(forPet=forPet)
20+
serializer = TaskSerializer(data, many=True)
1621
return JsonResponse(serializer.data, safe=False)

0 commit comments

Comments
 (0)