feat: add user management viewset and sync module to API routes

This commit is contained in:
2026-04-04 17:44:05 -03:00
parent 645a5b4093
commit 6c4e95e579
13 changed files with 328 additions and 2 deletions

View File

@@ -1,4 +1,31 @@
from rest_framework_simplejwt.serializers import TokenObtainPairSerializer
from django.contrib.auth.models import User
from rest_framework import serializers
class UserSerializer(serializers.ModelSerializer):
# Removido write_only=True para que o hash da senha seja enviado no GET
password = serializers.CharField(required=False)
class Meta:
model = User
fields = ['id', 'username', 'email', 'first_name', 'last_name', 'is_staff', 'is_active', 'groups', 'password']
read_only_fields = ['id', 'is_staff']
def create(self, validated_data):
password = validated_data.pop('password', None)
user = super().create(validated_data)
if password:
user.set_password(password)
user.save()
return user
def update(self, instance, validated_data):
password = validated_data.pop('password', None)
user = super().update(instance, validated_data)
if password:
user.set_password(password)
user.save()
return user
class MyTokenObtainPairSerializer(TokenObtainPairSerializer):
@classmethod