예제 #1
0
def user_profile_w_token_response(request, status):
    """ Returns authenticated user profile"""

    if request and not request.user.is_anonymous:
        session = getattr(request, "session")
        if not session.session_key:
            # login user to create session token
            # TODO cannot call this without calling authenticate first or
            # setting the backend, commented for now.
            # login(request, request.user)
            session.set_expiry(DEFAULT_SESSION_EXPIRY_TIME)

    try:
        user_profile = request.user.profile
    except UserProfile.DoesNotExist:
        user_profile = cache.get(
            f'{USER_PROFILE_PREFIX}{request.user.username}')
        if not user_profile:
            with use_master:
                user_profile, _ = UserProfile.objects.get_or_create(
                    user=request.user)
                cache.set(f'{USER_PROFILE_PREFIX}{request.user.username}',
                          user_profile)

    serializer = UserProfileWithTokenSerializer(instance=user_profile,
                                                context={"request": request})

    return Response(serializer.data, status=status)
예제 #2
0
    def list(self, request, *args, **kwargs):
        """ Returns authenticated user profile"""
        serializer = UserProfileWithTokenSerializer(
            instance=request.user.profile,
            context={"request": request})

        return Response(serializer.data)
예제 #3
0
    def list(self, request, *args, **kwargs):
        """ Returns authenticated user profile"""

        if request and not request.user.is_anonymous():
            session = getattr(request, "session")
            if not session.session_key:
                # login user to create session token
                # TODO cannot call this without calling authenticate first or
                # setting the backend, commented for now.
                # login(request, request.user)
                session.set_expiry(DEFAULT_SESSION_EXPIRY_TIME)

        serializer = UserProfileWithTokenSerializer(
            instance=request.user.profile, context={"request": request})

        return Response(serializer.data)
예제 #4
0
 def setUp(self):
     self.serializer = UserProfileWithTokenSerializer()
     self.user_profile = create_user_profile(PROFILE_DATA)