def post(self, request): try: data = request.data if not isinstance(data, (tuple, list)): data = [data] serializer = UserSerializer(data=data, many=True) if serializer.is_valid(): serializer.create(serializer.validated_data) return Response(data="User has been created.", status=201) else: return Response(data=serializer.errors, status=400) except django.db.utils.IntegrityError as e: return Response(data=str(e), status=400) except Exception as e: return Response(data="Something went wrong.", status=500)
def post(self, request, **kwargs): request.data['password'] = generate_password() serializer = UserSerializer(data=request.data) if serializer.is_valid(): try: serializer.save() except IntegrityError as e: return Response({'detail': str(e)}, status=status.HTTP_409_CONFLICT) notice = { "mail": serializer.data['email'], "subj": "Ваш новый пароль 2bsafe", "text": "Ваш новый пароль 2bsafe: %s" % request.data['password'] } queue_notice(notice, 'email') return Response(serializer.data, status=status.HTTP_201_CREATED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def post(self, request, *args, **kwargs): """Maneja los request HTTP POST""" serializer = UserSignUpSerializer(data=request.data) serializer.is_valid(raise_exception=True) user = serializer.save() data = UserSerializer(user).data return Response(data, status=status.HTTP_201_CREATED)
def post(self, request, *args, **kwargs): """Maneja los request HTTP POST""" serializer = UserLoginSerializer(data=request.data) serializer.is_valid(raise_exception=True) user, token = serializer.save() data = { 'user': UserSerializer(user).data, 'access_token': token, } return Response(data, status=status.HTTP_201_CREATED)
def put(self, request, username=None): try: partial = eval(request.GET.get('partial', 'false')) if username: user = self.get_objects(username) else: user = request.user serializer = UserSerializer(user, data=request.data, partial=partial) if serializer.is_valid(): serializer.update(serializer.instance, serializer.validated_data) return Response(data="User has been updated.", status=200) else: return Response(data=serializer.errors, status=400) except NameError as e: return Response(data="`partial` require only boolean.", status=400) except Exception as e: return Response(data="Something went wrong.", status=500)
def get(self, request, username=None): try: if username: user = self.get_objects(username) else: user = request.user serializer = UserSerializer(user, many=False) return Response(data=serializer.data, status=200) except User.DoesNotExist as e: return Response(data="User Not Found.", status=204) except Exception as e: return Response(data="Something went wrong.", status=500)
def post(self, request): try: username = request.data['username'] password = request.data['password'] except KeyError: return Response("Invalid credentials", status=400) user = authenticate(request, username=username, password=password) if user is not None: login(request, user) serializer = UserSerializer(user, many=False) return Response(serializer.data, status=200) else: return Response({"detail": "You don't have permissions to perform this action."}, status=403)
def allusers(self, request): queryset = self.filter_queryset(self.get_queryset()) serializer = UserSerializer(queryset, many=True) return Response(serializer.data)
def login(self, request): serializer = UserLoginSerializer(data=request.data) serializer.is_valid(raise_exception=True) user, token = serializer.save() data = {'user': UserSerializer(user).data, 'access_token': token} return Response(data, status=status.HTTP_201_CREATED)
def signup(self, request): serializer = UserSignUpSerializer(data=request.data) serializer.is_valid(raise_exception=True) user = serializer.save() data = UserSerializer(user).data return Response(data, status=status.HTTP_201_CREATED)
def get(self, request, *args, **kwargs): users_in_org = users_service.get_all_in_org(request.user.email) serializer = UserSerializer(users_in_org, many=True) return Response(serializer.data)
def get(self, request, *args, **kwargs): serializer = UserSerializer( users_service.get_by_email(request.user.email)) return Response(serializer.data)
def patch(self, request, pk, **kwargs): user = get_object(User, pk) serializer = UserSerializer() if serializer.update(user, request.data): return Response(status=status.HTTP_204_NO_CONTENT) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)