auth
This commit is contained in:
22
users/serializers.py
Normal file
22
users/serializers.py
Normal file
@@ -0,0 +1,22 @@
|
||||
from rest_framework import serializers
|
||||
from djoser.serializers import UserCreateSerializer
|
||||
from .models import Account, Role
|
||||
|
||||
class RoleSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = Role
|
||||
fields = "__all__"
|
||||
|
||||
|
||||
class AccountSerializer(UserCreateSerializer):
|
||||
role = serializers.PrimaryKeyRelatedField(queryset=Role.objects.all(), required=False)
|
||||
|
||||
class Meta(UserCreateSerializer.Meta):
|
||||
model = Account
|
||||
fields = ["id", "login", "role", "is_staff", "is_active", "first_name", "last_name", "middle_name", "phone", "email"]
|
||||
|
||||
def create(self, validated_data):
|
||||
user = super().create(validated_data)
|
||||
user.set_password(validated_data["password"])
|
||||
user.save()
|
||||
return user
|
||||
13
users/urls.py
Normal file
13
users/urls.py
Normal file
@@ -0,0 +1,13 @@
|
||||
from django.urls import path, include
|
||||
from rest_framework.routers import DefaultRouter
|
||||
from .views import AccountViewSet, RoleViewSet
|
||||
|
||||
router = DefaultRouter()
|
||||
router.register(r"users", AccountViewSet, basename="user")
|
||||
router.register(r"roles", RoleViewSet, basename="role")
|
||||
|
||||
urlpatterns = [
|
||||
path("", include(router.urls)),
|
||||
path("auth/", include("djoser.urls")),
|
||||
path("auth/", include("djoser.urls.jwt")),
|
||||
]
|
||||
@@ -1,3 +1,15 @@
|
||||
from django.shortcuts import render
|
||||
from rest_framework import viewsets
|
||||
from rest_framework.permissions import IsAuthenticated
|
||||
from rest_framework_simplejwt.views import TokenObtainPairView, TokenRefreshView
|
||||
from djoser.views import UserViewSet as DjoserUserViewSet
|
||||
from .models import Account, Role
|
||||
from .serializers import AccountSerializer, RoleSerializer
|
||||
|
||||
# Create your views here.
|
||||
class AccountViewSet(DjoserUserViewSet):
|
||||
queryset = Account.objects.all()
|
||||
serializer_class = AccountSerializer
|
||||
permission_classes = [IsAuthenticated]
|
||||
|
||||
class RoleViewSet(viewsets.ModelViewSet):
|
||||
queryset = Role.objects.all()
|
||||
serializer_class = RoleSerializer
|
||||
Reference in New Issue
Block a user