Skip to content

Commit

Permalink
add super user flag
Browse files Browse the repository at this point in the history
  • Loading branch information
sleonardoaugusto committed May 26, 2024
1 parent f2c00f3 commit d6fbe8b
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 2 deletions.
7 changes: 7 additions & 0 deletions lavocat/api/v1/attendances/views.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
from django.utils.datetime_safe import datetime
from django_filters.rest_framework import DjangoFilterBackend
from rest_framework import viewsets, views
from rest_framework.response import Response
Expand Down Expand Up @@ -29,6 +30,12 @@ class AttendanceViewSet(viewsets.ModelViewSet):
filter_backends = [DjangoFilterBackend]
filterset_class = AttendanceFilter

def get_queryset(self):
if not self.request.user.is_superuser:
date = datetime(year=2024, month=5, day=23)
return super().get_queryset().filter(created_at__lte=date)
return super().get_queryset()


class AttendanceFileViewSet(viewsets.ModelViewSet):
queryset = AttendanceFile.objects.all()
Expand Down
10 changes: 10 additions & 0 deletions lavocat/api/v1/core/serializers.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
from rest_framework_simplejwt.serializers import TokenObtainPairSerializer


class CustomTokenObtainPairSerializer(TokenObtainPairSerializer):
def validate(self, attrs):
data = super().validate(attrs)

data['is_superuser'] = self.user.is_superuser

return data
4 changes: 2 additions & 2 deletions lavocat/api/v1/core/urls.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from django.urls import path
from rest_framework_simplejwt import views as jwt_views

from lavocat.api.v1.core.views import TokenObtainPairView

urlpatterns = [
path('api/token/', jwt_views.TokenObtainPairView.as_view(), name='jwt-auth'),
path('api/token/', TokenObtainPairView.as_view(), name='jwt-auth'),
]
12 changes: 12 additions & 0 deletions lavocat/api/v1/core/views.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
from rest_framework_simplejwt.views import TokenViewBase

from lavocat.api.v1.core.serializers import CustomTokenObtainPairSerializer


class TokenObtainPairView(TokenViewBase):
"""
Takes a set of user credentials and returns an access and refresh JSON web
token pair to prove the authentication of those credentials.
"""

serializer_class = CustomTokenObtainPairSerializer

0 comments on commit d6fbe8b

Please sign in to comment.