diff --git a/join/settings.py b/join/settings.py index 82d85a2..19b822e 100644 --- a/join/settings.py +++ b/join/settings.py @@ -56,6 +56,7 @@ INSTALLED_APPS = [ 'django.contrib.staticfiles', 'rest_framework', 'corsheaders', + 'djangorestframework_camel_case', 'task_app', 'user_app', ] @@ -73,6 +74,15 @@ MIDDLEWARE = [ ROOT_URLCONF = 'join.urls' +REST_FRAMEWORK = { + 'DEFAULT_RENDERER_CLASSES': ( + 'djangorestframework_camel_case.render.CamelCaseJSONRenderer', + ), + 'DEFAULT_PARSER_CLASSES': ( + 'djangorestframework_camel_case.parser.CamelCaseJSONParser', + ), +} + TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', diff --git a/requirements.txt b/requirements.txt index c0cc1cf..2a62997 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,6 @@ asgiref==3.8.1 Django==5.1.7 +django-cors-headers==4.7.0 djangorestframework==3.15.2 +djangorestframework-camel-case==1.4.2 sqlparse==0.5.3 \ No newline at end of file diff --git a/task_app/models.py b/task_app/models.py index 069b2db..6c9d577 100644 --- a/task_app/models.py +++ b/task_app/models.py @@ -37,4 +37,4 @@ class AssignedTask(models.Model): user = models.ForeignKey(User, related_name="assigned_tasks", on_delete=models.CASCADE) def __str__(self): - return f"{self.user.username} assigned to {self.task.title}" \ No newline at end of file + return f"{self.user.email} assigned to {self.task.title}" \ No newline at end of file diff --git a/task_app/serializers.py b/task_app/serializers.py index e80b231..9c5b74f 100644 --- a/task_app/serializers.py +++ b/task_app/serializers.py @@ -1,4 +1,6 @@ from rest_framework import serializers +from djangorestframework_camel_case.render import CamelCaseJSONRenderer +from djangorestframework_camel_case.parser import CamelCaseJSONParser from .models import Task, SubTask, AssignedTask class SubTaskSerializer(serializers.ModelSerializer): @@ -21,4 +23,7 @@ class TaskSerializer(serializers.ModelSerializer): class Meta: model = Task fields = ['id', 'title', 'description', 'category', 'priority', 'status', 'date', - 'creator', 'created_at', 'subtasks', 'assignees'] \ No newline at end of file + 'creator', 'created_at', 'subtasks', 'assignees'] + + renderer_classes = [CamelCaseJSONRenderer] + parser_classes = [CamelCaseJSONParser] \ No newline at end of file diff --git a/user_app/serializers.py b/user_app/serializers.py index 35acfae..5ec1ac7 100644 --- a/user_app/serializers.py +++ b/user_app/serializers.py @@ -1,7 +1,15 @@ -from rest_framework import serializers +from rest_framework import serializers, viewsets from .models import User +from djangorestframework_camel_case.parser import CamelCaseJSONParser +from djangorestframework_camel_case.render import CamelCaseJSONRenderer class UserSerializer(serializers.ModelSerializer): class Meta: model = User - fields = ['id', 'uId', 'first_name', 'last_name', 'email', 'phone', 'initials', 'color', 'status', 'last_login'] \ No newline at end of file + fields = ['id', 'uId', 'first_name', 'last_name', 'email', 'phone', 'initials', 'color', 'status', 'last_login'] + +class UserViewSet(viewsets.ModelViewSet): + serializer_class = UserSerializer + queryset = User.objects.all() + parser_classes = [CamelCaseJSONParser] + renderer_classes = [CamelCaseJSONRenderer] \ No newline at end of file