コード例 #1
0
def joinEvent(request, pk, id):
    authentication_classes(TokenAuthentication, )
    permission_classes = (permissions.IsAuthenticated, )
    event = Event.objects.get(id = pk)
    user = User.objects.get(id = id)
    event.users_going.add(user)
    return Response(print("JOINED!!!!!!!"))
コード例 #2
0
def eventList(request):
    authentication_classes(TokenAuthentication, )
    permission_classes = (permissions.IsAuthenticated, )
    users = User.objects.all()
    events = Event.objects.all()
    serializer = EventSerializer(events, many = True)
    return Response(serializer.data)
コード例 #3
0
def leaveEvent(request, pk, id): 
    authentication_classes(TokenAuthentication, )
    permission_classes = (permissions.IsAuthenticated, )
    event = Event.objects.get(id = pk)
    user = User.objects.get(id = id)
    event.users_going.remove(user)
    return Response(print("LEFT!!!!!!!"))
コード例 #4
0
def attendingList(request, pk):
    authentication_classes(TokenAuthentication, )
    permission_classes = (permissions.IsAuthenticated, )
    user = User.objects.get(id = pk)
    attending_event = user.users_going_related.all()
    serializer = EventSerializer(attending_event, many = True)
    return Response(serializer.data)
コード例 #5
0
def eventDetail(request, pk):
    authentication_classes(TokenAuthentication, )
    permission_classes = (permissions.IsAuthenticated, )
    event = Event.objects.get(id = pk)
    print(event)
    serializer = EventSerializer(event, many = False)
    return Response(serializer.data)   
コード例 #6
0
def add_post_view(request):
    authentication_classes(TokenAuthentication, )
    user_data = jwt.decode(bytes(request.headers.get('token'), 'utf-8'),
                           SECRET_KEY, ['HS256'])
    user = User.objects.get(username=user_data['username'])
    try:
        serialized_post = PostSerializer(data=request.data,
                                         context={'request': request})
        if serialized_post.is_valid():
            title = str(serialized_post.initial_data['title'])
            content = str(serialized_post.initial_data['content'])
            if title.strip() == '' or content.strip() == '':
                data = {'Error': 'At least one required field is empty'}
                status_code = status.HTTP_400_BAD_REQUEST
            else:
                Post.objects.create(creator=user, title=title, content=content)
                data = {"Result": "Post was added"}
                status_code = status.HTTP_200_OK
        else:
            data = {
                key: str(value[0])
                for key, value in serialized_post.errors.items()
            }
            status_code = status.HTTP_400_BAD_REQUEST
    except Exception as e:
        data = {'Error': 'Bad request ' + str(e)}
        status_code = status.HTTP_400_BAD_REQUEST
    return Response(data=data, status=status_code)
コード例 #7
0
def notAttendingList(request, pk):
    authentication_classes(TokenAuthentication, )
    permission_classes = (permissions.IsAuthenticated, )
    user = User.objects.get(id = pk)
    event_not_attending = Event.objects.exclude(users_going = user.id)
    serializer = EventSerializer(event_not_attending, many = True)
    return Response(serializer.data)
コード例 #8
0
def home(request, format=None):
    # query = Member.objects.all()
    authentication_classes(TokenAuthentication, )
    print(request.user)
    if request.user:
        return JsonResponse({"Hello": str(request.user.username)}, safe=True)
    else:
        return JsonResponse({"Please": "login First"}, safe=True)
コード例 #9
0
def hostingList(request, pk):
    authentication_classes(TokenAuthentication, )
    permission_classes = (permissions.IsAuthenticated, )
    print(pk)
    user = User.objects.get(id = pk)
    events = Event.objects.filter(event_by_user_id = user.id)
    serializer = EventSerializer(events, many = True)
    print(serializer.data)
    return Response(serializer.data)
コード例 #10
0
def eventCreate(request):
    authentication_classes(TokenAuthentication, )
    permission_classes = (permissions.IsAuthenticated, )
    serializer = EventSerializer(data = request.data)
    if serializer.is_valid():
        serializer.save()
        return Response(serializer.data, print(serializer.data, "Event created!!"))
    else:
        return Response(serializer.data, print(serializer.errors, "Error in event Create View"))
コード例 #11
0
def userUpdate(request, pk):
    authentication_classes(TokenAuthentication, )
    permission_classes = (permissions.IsAuthenticated, )
    user = User.objects.get(id = pk)
    print("THIS IS THE DATA BEING RECIEVED = ", request.data)
    serializer = UserSerializer(instance = user, data = request.data)
    if serializer.is_valid():
        serializer.save()
        print("DATA = ", serializer.data)
        return Response(serializer.data, print("User updated!!!!"))
    print("ERRORS = ", serializer.errors)
    return Response(serializer.errors, print("Update Failed!!!"))
コード例 #12
0
def get_all_posts_view(request):
    authentication_classes(TokenAuthentication, )
    user_data = jwt.decode(bytes(request.headers.get('token'), 'utf-8'),
                           SECRET_KEY, ['HS256'])
    user = User.objects.get(username=user_data['username'])
    paginator = CustomPagination()
    posts = Post.objects.all()
    result_page = paginator.paginate_queryset(posts, request)
    serializer = PostsOutputSerializer(result_page,
                                       many=True,
                                       context={'request': request})
    return paginator.get_paginated_response(serializer.data)
コード例 #13
0
 def as_view(cls, *args, **kwargs):
     """ Set DRF attributes in the view """
     view = super(DRFAuthenticatedGraphQLView, cls).as_view(*args, **kwargs)
     view = permission_classes((AllowAny,))(view)
     view = authentication_classes(api_settings.DEFAULT_AUTHENTICATION_CLASSES)(view)
     view = api_view(["GET", "POST"])(view)
     return view
コード例 #14
0
 def as_view(cls, *args, **kwargs):
     view = super(DRFAuthenticatedGraphQLView, cls).as_view(*args, **kwargs)
     view = permission_classes((IsAuthenticated, ))(view)
     view = authentication_classes(
         api_settings.DEFAULT_AUTHENTICATION_CLASSES)(view)
     view = api_view(['GET', 'POST'])(view)
     return view
コード例 #15
0
class RingAlarmView(View):
    @method_decorator(authentication_classes([]))
    @method_decorator(permission_classes([]))
    @method_decorator(csrf_exempt)
    def dispatch(self, *args, **kwargs):
        return super().dispatch(*args, **kwargs)
        
    def post(self, request):
        body_unicode = request.body.decode('utf-8')
        body_data = json.loads(body_unicode)
        name=body_data['name']
        reason=body_data['reason']
        recaptcha_response=body_data['recaptchaValue']
        
        url = 'https://www.google.com/recaptcha/api/siteverify'
        values = {
            'secret': os.environ['CAPTCHA_SECRET'],
            'response': recaptcha_response
        }
        data = urllib.parse.urlencode(values).encode()
        req =  urllib.request.Request(url, data=data)
        response = urllib.request.urlopen(req)
        recaptcharesult = json.loads(response.read().decode())
        bot=recaptcharesult['success']
        alarm=RingAlarm(name=name, reason=reason, recaptcha=bot)
        result=alarm.do_work()
        response = JsonResponse(result)
        return response
コード例 #16
0
 def as_view(cls, *args, **kwargs):
     """Add the relevant DRF-view logic to the view."""
     view = super(AuthenticatedGraphQLView, cls).as_view(*args, **kwargs)
     view = permission_classes((IsUserAllowed, ))(view)
     view = authentication_classes(
         (CsrfExemptSessionAuthentication, ))(view)
     view = api_view(["GET", "POST"])(view)
     return view
コード例 #17
0
class ApiViewAuthenticationMixin(object):
    @method_decorator(api_view(['POST']))
    @method_decorator(authentication_classes(TokenAuthentication))
    @method_decorator(permission_classes(IsAuthenticated, ))
    @method_decorator(csrf_exempt)
    def dispatch(self, *args, **kwargs):
        return super(ApiViewAuthenticationMixin,
                     self).dispatch(*args, **kwargs)
コード例 #18
0
ファイル: views.py プロジェクト: Gayathri95/SchedMgr
def userUpdate(request, pk):
    authentication_classes(TokenAuthentication, )
    permission_classes = (permissions.IsAuthenticated, )
    user = User.objects.get(id=pk)
    serializer = UserSerializer(instance=user, data=request.data)
    if serializer.is_valid():
        serializer.save()
        return Response(serializer.data)
    return Response(serializer.errors, )


# POSSIBLY IMPLEMENT DELETE PATIENT ACCOUNT THROUGH HERE OR ADMIN PAGE
# @api_view(['DELETE'])
# def userDelete(request, pk):
#     user = User.objects.get(id = pk)
#     user.delete()
#     return Response('User successfully deleted!')
コード例 #19
0
ファイル: api.py プロジェクト: bdelate/cookiecutter-django
    def as_view(cls: "DRFGraphQL", schema: Schema) -> "DRFGraphQL":
        """Wraps the graphql view in the authentication_classes, permission_classes
        and api_view functions available from DRF.
        """

        view = super().as_view(graphiql=True, schema=schema)
        view = authentication_classes(api_settings.DEFAULT_AUTHENTICATION_CLASSES)(view)
        view = permission_classes(api_settings.DEFAULT_PERMISSION_CLASSES)(view)
        return api_view(http_method_names=("GET", "POST"))(view)
コード例 #20
0
ファイル: oauth_graphql.py プロジェクト: tximpa91/deck-pocket
 def as_view(cls, *args, **kwargs):
     view = super(PrivateGraphQLView, cls).as_view(*args, **kwargs)
     view = permission_classes((
         TokenHasReadWriteScope,
         FireBaseAuth,
     ))(view)
     view = authentication_classes((OAuth2Authentication, ))(view)
     view = api_view(['POST', 'GET'])(view)
     return view
コード例 #21
0
 def as_view(cls, *args, **kwargs):
     view = super(DOTAuthenticatedGraphQLView, cls).as_view(*args, **kwargs)
     view = permission_classes((
         IsAuthenticated,
         TokenHasReadWriteScope,
     ))(view)  # add permissions to the view
     view = authentication_classes((OAuth2Authentication, ))(view)
     view = api_view(['POST'])(view)
     return view
コード例 #22
0
 def as_view(cls, *args, **kwargs):
     view = super().as_view(*args, **kwargs)
     view = permission_classes((IsAuthenticated,))(view)
     view = authentication_classes(api_settings.DEFAULT_AUTHENTICATION_CLASSES)(view)
     view = parser_classes([JSONParser])(view)
     view = throttle_classes(api_settings.DEFAULT_THROTTLE_CLASSES)(view)
     view = api_view(["GET", "POST"])(view)
     view = csrf_exempt(view)
     return view
コード例 #23
0
ファイル: urls.py プロジェクト: fagan2888/dfadmin
 def as_view(cls, *args, **kwargs):
     view = super(DRFAuthenticatedGraphQLView, cls).as_view(*args, **kwargs)
     view = permission_classes((IsAuthenticated, ))(view)
     view = authentication_classes((
         JSONWebTokenAuthentication,
         TokenAuthentication,
     ))(view)
     #view = authentication_classes((TokenAuthentication,))(view)
     view = api_view(['POST'])(view)
     return view
コード例 #24
0
ファイル: views.py プロジェクト: yukawa-900/portfolio
    def as_view(cls, *args, **kwargs):
        view = super().as_view(*args, **kwargs)
        # if settings.DEBUG is False:
        #     view = permission_classes((IsAuthenticated,))(view)
        # else:
        #     view = permission_classes((AllowAny,))(view)

        view = permission_classes((IsAuthenticated, ))(view)
        view = authentication_classes(
            api_settings.DEFAULT_AUTHENTICATION_CLASSES)(view)
        view = api_view(["GET", "POST"])(view)

        return view
コード例 #25
0
class SensorAPIRoomListView(APIView):
    @method_decorator(
        authentication_classes((
            TokenAuthentication,
            SessionAuthentication,
            OAuth2Authentication,
        )))
    def get(self, request, id, format=None):
        items = Room.objects.get(pk=id).sensor_set.all()
        paginator = PageNumberPagination()
        result_page = paginator.paginate_queryset(items, request)
        serializer = RoomSerializer(result_page, many=True)
        return paginator.get_paginated_response(serializer.data)
コード例 #26
0
class RemoteControllerSignalAPIView(APIView):
    @method_decorator(
        authentication_classes((
            TokenAuthentication,
            SessionAuthentication,
            OAuth2Authentication,
        )))
    def post(self, request, format=None):
        try:
            r = SendRemoteControllerSignal(request.POST.dict())
        except Exception as e:
            print('snafu')
        return Response(str(r))
コード例 #27
0
class SensorAPIListView(APIView):
    @method_decorator(
        authentication_classes((
            TokenAuthentication,
            SessionAuthentication,
            OAuth2Authentication,
        )))
    def get(self, request, format=None):
        items = Sensor.objects.filter(system__users=request.user)
        paginator = PageNumberPagination()
        result_page = paginator.paginate_queryset(items, request)
        serializer = SensorSerializer(result_page, many=True)
        return paginator.get_paginated_response(serializer.data)
コード例 #28
0
class ControlledDeviceAPIListView(APIView):
    @method_decorator(
        authentication_classes((
            TokenAuthentication,
            SessionAuthentication,
            OAuth2Authentication,
        )))
    def get(self, request, format=None):
        items = ControlledDevice.objects.all()
        paginator = PageNumberPagination()
        result_page = paginator.paginate_queryset(items, request)
        serializer = ControlledDeviceSerializer(result_page, many=True)
        return paginator.get_paginated_response(serializer.data)
コード例 #29
0
def set_mark_view(request):
    authentication_classes(TokenAuthentication, )
    user_data = jwt.decode(bytes(request.headers.get('token'), 'utf-8'),
                           SECRET_KEY, ['HS256'])
    user = User.objects.get(username=user_data['username'])

    try:
        serialized = MarkSerializer(data=request.data,
                                    context={'request': request})
        if serialized.is_valid():

            mark_data = serialized.data

            post_id = int(mark_data['post_id'])
            like = int(mark_data['like'])
            unlike = int(mark_data['unlike'])

            post = Post.objects.get(id=post_id)

            if like > unlike:
                post.likes.add(user)

            else:
                if user in post.likes.all():
                    post.likes.remove(user)

            data = {"Result": "Mark was successfully changed"}
            status_code = status.HTTP_201_CREATED
        else:
            data = {
                key: str(value[0])
                for key, value in serialized.errors.items()
            }
            status_code = status.HTTP_400_BAD_REQUEST
    except Exception as e:
        data = {'Error': 'Bad request \n' + str(e)}
        status_code = status.HTTP_400_BAD_REQUEST
    return Response(data=data, status=status_code)
コード例 #30
0
class RemoteControlCodeAPIView(APIView):
    @method_decorator(
        authentication_classes((
            TokenAuthentication,
            SessionAuthentication,
            OAuth2Authentication,
        )))
    def get(self, request, id, format=None):
        try:
            item = RemoteControlCode.objects.get(pk=id)
            serializer = RemoteControlCodeSerializer(item)
            return Response(serializer.data)
        except RemoteControlCode.DoesNotExist:
            return Response(status=404)
コード例 #31
0
 def as_view(cls, *args, **kwargs):
     view = super(GraphQLView, cls).as_view(*args, **kwargs)
     view = permission_classes((IsAuthenticated,))(view)
     view = authentication_classes(api_settings.DEFAULT_AUTHENTICATION_CLASSES)(view)
     view = api_view(['GET', 'POST'])(view)
     return view