initial commit
This commit is contained in:
commit
7409caf072
189 changed files with 38056 additions and 0 deletions
39
users/serializers.py
Normal file
39
users/serializers.py
Normal file
|
@ -0,0 +1,39 @@
|
|||
from django.contrib.auth import authenticate
|
||||
from rest_framework import serializers
|
||||
from django.contrib.auth.models import User, Group
|
||||
|
||||
|
||||
class UserSerializer(serializers.HyperlinkedModelSerializer):
|
||||
class Meta:
|
||||
model = User
|
||||
fields = ["url", "username", "email", "password", "groups"]
|
||||
|
||||
|
||||
class GroupSerializer(serializers.HyperlinkedModelSerializer):
|
||||
class Meta:
|
||||
model = Group
|
||||
fields = ["url", "name"]
|
||||
|
||||
|
||||
class AuthSerializer(serializers.Serializer):
|
||||
username = serializers.CharField()
|
||||
password = serializers.CharField(
|
||||
style={"input_type": "password"}, trim_whitespace=False
|
||||
)
|
||||
|
||||
def validate(self, attrs):
|
||||
username = attrs.get("username")
|
||||
password = attrs.get("password")
|
||||
|
||||
user = authenticate(
|
||||
request=self.context.get("request"),
|
||||
username=username,
|
||||
password=password,
|
||||
)
|
||||
|
||||
if not user:
|
||||
msg = f"Invalid username or password."
|
||||
raise serializers.ValidationError(msg, code="authentication")
|
||||
|
||||
attrs["user"] = user
|
||||
return
|
Loading…
Add table
Add a link
Reference in a new issue