back user api
This commit is contained in:
parent
484a9a3250
commit
a8cc734d20
|
|
@ -1,6 +1,7 @@
|
||||||
"""Back account serializers"""
|
"""Back account serializers"""
|
||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
from account import models
|
from account import models
|
||||||
|
from account.models import User
|
||||||
|
|
||||||
|
|
||||||
class RoleSerializer(serializers.ModelSerializer):
|
class RoleSerializer(serializers.ModelSerializer):
|
||||||
|
|
@ -19,3 +20,32 @@ class UserRoleSerializer(serializers.ModelSerializer):
|
||||||
'user',
|
'user',
|
||||||
'role'
|
'role'
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
class BackUserSerializer(serializers.ModelSerializer):
|
||||||
|
class Meta:
|
||||||
|
model = User
|
||||||
|
fields = '__all__'
|
||||||
|
extra_kwargs = {
|
||||||
|
'password': {'write_only': True}
|
||||||
|
}
|
||||||
|
read_only_fields = ('old_password', 'last_login', 'date_joined')
|
||||||
|
|
||||||
|
def create(self, validated_data):
|
||||||
|
user = super().create(validated_data)
|
||||||
|
user.set_password(validated_data['password'])
|
||||||
|
user.save()
|
||||||
|
return user
|
||||||
|
|
||||||
|
|
||||||
|
class BackDetailUserSerializer(BackUserSerializer):
|
||||||
|
class Meta:
|
||||||
|
model = User
|
||||||
|
exclude = ('password',)
|
||||||
|
read_only_fields = ('old_password', 'last_login', 'date_joined')
|
||||||
|
|
||||||
|
def create(self, validated_data):
|
||||||
|
user = super().create(validated_data)
|
||||||
|
user.set_password(validated_data['password'])
|
||||||
|
user.save()
|
||||||
|
return user
|
||||||
|
|
|
||||||
|
|
@ -8,5 +8,6 @@ app_name = 'account'
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path('role/', views.RoleLstView.as_view(), name='role-list-create'),
|
path('role/', views.RoleLstView.as_view(), name='role-list-create'),
|
||||||
path('user-role/', views.UserRoleLstView.as_view(), name='user-role-list-create'),
|
path('user-role/', views.UserRoleLstView.as_view(), name='user-role-list-create'),
|
||||||
|
path('user/', views.UserLstView.as_view(), name='user-list-create'),
|
||||||
|
path('user/<int:id>/', views.UserRUDView.as_view(), name='user-rud'),
|
||||||
]
|
]
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,7 @@
|
||||||
from rest_framework import generics
|
from django_filters.rest_framework import DjangoFilterBackend, filters
|
||||||
|
from rest_framework import generics, permissions
|
||||||
|
|
||||||
|
from account.models import User
|
||||||
from account.serializers import back as serializers
|
from account.serializers import back as serializers
|
||||||
from account import models
|
from account import models
|
||||||
|
|
||||||
|
|
@ -11,3 +14,27 @@ class RoleLstView(generics.ListCreateAPIView):
|
||||||
class UserRoleLstView(generics.ListCreateAPIView):
|
class UserRoleLstView(generics.ListCreateAPIView):
|
||||||
serializer_class = serializers.UserRoleSerializer
|
serializer_class = serializers.UserRoleSerializer
|
||||||
queryset = models.Role.objects.all()
|
queryset = models.Role.objects.all()
|
||||||
|
|
||||||
|
|
||||||
|
class UserLstView(generics.ListCreateAPIView):
|
||||||
|
"""User list create view."""
|
||||||
|
queryset = User.objects.all()
|
||||||
|
serializer_class = serializers.BackUserSerializer
|
||||||
|
permission_classes = (permissions.IsAdminUser,)
|
||||||
|
filter_backends = (DjangoFilterBackend, filters.OrderingFilter,)
|
||||||
|
filterset_fields = (
|
||||||
|
'email_confirmed',
|
||||||
|
'is_staff',
|
||||||
|
'is_active',
|
||||||
|
'is_superuser',
|
||||||
|
'roles',
|
||||||
|
)
|
||||||
|
ordering_fields = '__all__'
|
||||||
|
|
||||||
|
|
||||||
|
class UserRUDView(generics.RetrieveUpdateDestroyAPIView):
|
||||||
|
"""User RUD view."""
|
||||||
|
queryset = User.objects.all()
|
||||||
|
serializer_class = serializers.BackDetailUserSerializer
|
||||||
|
permission_classes = (permissions.IsAdminUser,)
|
||||||
|
lookup_field = 'id'
|
||||||
|
|
|
||||||
|
|
@ -43,8 +43,8 @@ INSTALLED_APPS.append('transfer.apps.TransferConfig')
|
||||||
DATABASES.update({
|
DATABASES.update({
|
||||||
'legacy': {
|
'legacy': {
|
||||||
'ENGINE': 'django.db.backends.mysql',
|
'ENGINE': 'django.db.backends.mysql',
|
||||||
'HOST': '172.22.0.1',
|
# 'HOST': '172.22.0.1',
|
||||||
# 'HOST': 'mysql_db',
|
'HOST': 'mysql_db',
|
||||||
'PORT': 3306,
|
'PORT': 3306,
|
||||||
'NAME': 'dev',
|
'NAME': 'dev',
|
||||||
'USER': 'dev',
|
'USER': 'dev',
|
||||||
|
|
@ -52,41 +52,41 @@ DATABASES.update({
|
||||||
|
|
||||||
|
|
||||||
# LOGGING
|
# LOGGING
|
||||||
LOGGING = {
|
# LOGGING = {
|
||||||
'version': 1,
|
# 'version': 1,
|
||||||
'disable_existing_loggers': False,
|
# 'disable_existing_loggers': False,
|
||||||
'filters': {
|
# 'filters': {
|
||||||
'require_debug_false': {
|
# 'require_debug_false': {
|
||||||
'()': 'django.utils.log.RequireDebugFalse',
|
# '()': 'django.utils.log.RequireDebugFalse',
|
||||||
},
|
# },
|
||||||
'require_debug_true': {
|
# 'require_debug_true': {
|
||||||
'()': 'django.utils.log.RequireDebugTrue',
|
# '()': 'django.utils.log.RequireDebugTrue',
|
||||||
},
|
# },
|
||||||
},
|
# },
|
||||||
'handlers': {
|
# 'handlers': {
|
||||||
'console': {
|
# 'console': {
|
||||||
'level': 'DEBUG',
|
# 'level': 'DEBUG',
|
||||||
'filters': ['require_debug_true'],
|
# 'filters': ['require_debug_true'],
|
||||||
'class': 'logging.StreamHandler',
|
# 'class': 'logging.StreamHandler',
|
||||||
},
|
# },
|
||||||
'null': {
|
# 'null': {
|
||||||
'class': 'logging.NullHandler',
|
# 'class': 'logging.NullHandler',
|
||||||
},
|
# },
|
||||||
},
|
# },
|
||||||
'loggers': {
|
# 'loggers': {
|
||||||
'django': {
|
# 'django': {
|
||||||
'handlers': ['console'],
|
# 'handlers': ['console'],
|
||||||
},
|
# },
|
||||||
'py.warnings': {
|
# 'py.warnings': {
|
||||||
'handlers': ['console'],
|
# 'handlers': ['console'],
|
||||||
},
|
# },
|
||||||
'django.db.backends': {
|
# 'django.db.backends': {
|
||||||
'handlers': ['console', ],
|
# 'handlers': ['console', ],
|
||||||
'level': 'DEBUG',
|
# 'level': 'DEBUG',
|
||||||
'propagate': False,
|
# 'propagate': False,
|
||||||
},
|
# },
|
||||||
}
|
# }
|
||||||
}
|
# }
|
||||||
|
|
||||||
|
|
||||||
# ELASTICSEARCH SETTINGS
|
# ELASTICSEARCH SETTINGS
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user