Ejemplo n.º 1
0
def login(request):
    response = {}
    if request.method == 'POST':
        data = json.loads(request.body)
        if data.get('email', None) and data.get('password', None):
            user = models.User.objects.filter(email=data.get('email')).first()
            if user:
                valid = check_password(data.get('password'), user.password)
                if not valid:
                    response['statusCode'] = const.INVALID_INPUT_ERROR_CODE
                    response[
                        'message'] = 'Login Failed! Please enter a correct email and password!'
                else:
                    response['data'] = {}
                    response['data']['user'] = serializers.UserSerializer(
                        user, many=False).data
                    refresh = RefreshToken.for_user(user)
                    response['data']['access'] = str(refresh.access_token)
                    response['data']['refresh'] = str(refresh)
                    response['statusCode'] = const.SUCCESS_STATUS_CODE
                    response['message'] = 'Logged in successfully!'
            else:
                response['statusCode'] = const.USER_NOT_REGISTERED_CODE
                response['message'] = "You're not registered. Please signup!"
        else:
            response['statusCode'] = const.PARAMETER_MISSING_CODE
            response['message'] = const.PARAMETER_MISSING_OR_INVALID_MESSAGE
    else:
        response['statusCode'] = const.METHOD_NOT_ALLOWED_CODE
        response['message'] = 'Method not allowed!'

    return JsonResponse(response)
Ejemplo n.º 2
0
def AdminUser(request):

    if request.method == "GET":
        is_staff = CustomUser.objects.get(email=request.user)
        if (is_staff.is_superuser):

            userData = CustomUser.objects.all()
            serializer = serializers.UserSerializer(userData, many=True)
            print(serializer.data)
            return JsonResponse({"success": serializer.data}, safe=False)
        else:
            return JsonResponse({"error": "Invalid request"}, safe=False)
Ejemplo n.º 3
0
 def post(self, request, *args, **kwargs):
     # serializer = self.get_serializer(data=request.data)
     # serializer.is_valid(raise_exception=True)
     # return Response()
     request_data = request.data
     username = request_data.get("username")
     password = request_data.get("password")
     user = models.User.objects.get(username__exact=username)
     if user.password == password:
         serializer = serializers.UserSerializer(user)
         new_data = serializer.data
         # 记忆已登录用户
         request.session['user_id'] = user.id
         request.session.set_expiry(600)
         return Response(new_data, status=HTTP_200_OK)
     return Response('password error', HTTP_400_BAD_REQUEST)
Ejemplo n.º 4
0
def create_user(request):
    """
    List all code snippets, or create a new snippet.
    """
    if request.method == 'POST':
        print(request.data)
        first_name = request.data['firstName']
        last_name = request.data['lastName']
        email = request.data['email']
        username = request.data['username']
        password = request.data['password']

        data = CustomUser.objects.create_user(first_name, last_name, email,
                                              username, password)
        serializer = serializers.UserSerializer(data)

        return JsonResponse({"success": serializer.data}, safe=False)
Ejemplo n.º 5
0
def email_verification(request):
    response = {}
    if not request.body:
        response['statusCode'] = const.PARAMETER_MISSING_CODE
        response['message'] = const.PARAMETER_MISSING_MESSAGE
        return JsonResponse(response)
    data = json.loads(request.body)
    if data.get('token', None) and data.get('email', None):
        user = models.User.objects.filter(email=data.get('email')).first()
        if user:
            valid = default_token_generator.check_token(
                user, data.get('token'))
            if valid:

                response['message'] = 'Your email verified successfully!'
                user.is_active = 1
                user.save()

                send_welcome_email(user)

                response['data'] = {}
                response['data']['user'] = serializers.UserSerializer(
                    user, many=False).data
                refresh = RefreshToken.for_user(user)
                response['data']['access'] = str(refresh.access_token)
                response['data']['refresh'] = str(refresh)
                response['statusCode'] = const.SUCCESS_STATUS_CODE

            else:
                response['statusCode'] = const.PARAMETER_VALIDATION
                response['message'] = 'Token is wrong/expired !'
        else:
            response['statusCode'] = const.USER_NOT_REGISTERED_CODE
            response['message'] = 'User not registered!'
    else:
        response['statusCode'] = const.PARAMETER_MISSING_CODE
        response['message'] = const.PARAMETER_MISSING_MESSAGE

    return JsonResponse(response)
Ejemplo n.º 6
0
def authorize(user):
    serializer = serializers.UserSerializer()
    data = serializer.dump(user)

    user_session.create_session(user)
    return jwt.encode(payload=data, key=jwt_key)