79 lines
2.1 KiB
Python
79 lines
2.1 KiB
Python
from rest_framework.authtoken.models import Token
|
|
from rest_framework.authtoken.views import ObtainAuthToken
|
|
from rest_framework.response import Response
|
|
from rest_framework.views import APIView
|
|
from rest_framework.viewsets import ModelViewSet
|
|
|
|
from system.models import User
|
|
from utils.custom_model_viewSet import CustomModelViewSet
|
|
|
|
|
|
class UserSerializer(CustomModelViewSet):
|
|
class Meta:
|
|
model = User
|
|
exclude = ('password',)
|
|
|
|
|
|
class UserLogin(ObtainAuthToken):
|
|
|
|
def post(self, request, *args, **kwargs):
|
|
serializer = self.serializer_class(data=request.data,
|
|
context={'request': request})
|
|
serializer.is_valid(raise_exception=True)
|
|
user = serializer.validated_data['user']
|
|
token, created = Token.objects.get_or_create(user=user)
|
|
return Response({
|
|
"code": 0,
|
|
"data": {
|
|
"id": user.id,
|
|
"password": user.password,
|
|
"realName": user.nickname,
|
|
"roles": [
|
|
"super"
|
|
],
|
|
"username": user.username,
|
|
"accessToken": token.key
|
|
},
|
|
"error": None,
|
|
"message": "ok"
|
|
})
|
|
|
|
|
|
class UserInfo(APIView):
|
|
|
|
def get(self, request, *args, **kwargs):
|
|
user = self.request.user
|
|
return Response({
|
|
"code": 0,
|
|
"data": {
|
|
"id": user.id,
|
|
"realName": user.username,
|
|
"roles": [
|
|
"super"
|
|
],
|
|
"username": user.username,
|
|
},
|
|
"error": None,
|
|
"message": "ok"
|
|
})
|
|
|
|
|
|
class Codes(APIView):
|
|
|
|
def get(self, request, *args, **kwargs):
|
|
return Response({
|
|
"code": 0,
|
|
"data": [
|
|
"AC_100100",
|
|
"AC_100110",
|
|
"AC_100120",
|
|
"AC_100010"
|
|
],
|
|
"error": None,
|
|
"message": "ok"
|
|
})
|
|
|
|
|
|
class UserViewSet(ModelViewSet):
|
|
queryset = User.objects.all().order_by('id')
|
|
serializer_class = UserSerializer |