From faba5d6feffbbd9ec2eec42f7cc65eaed903e8e4 Mon Sep 17 00:00:00 2001 From: Daniel Muremwa Mburu Date: Mon, 19 Dec 2022 20:51:05 +0300 Subject: [PATCH] add token to current user --- api/serializers.py | 12 ++++++++++-- api/views.py | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/api/serializers.py b/api/serializers.py index ea37263..5b8e3eb 100644 --- a/api/serializers.py +++ b/api/serializers.py @@ -32,7 +32,7 @@ class Meta: def validate(self, data): if re.search(r'@', data.get('username', '')): raise ValidationError(_('no @ signs on username'), code="at_sign") - + if data.get('email', None) is None: raise ValidationError(_('Email field is missing'), code='email-mia') @@ -67,10 +67,18 @@ class Meta: class ApiUserSerializer(serializers.ModelSerializer): full_name = serializers.CharField(source='get_full_name') profile = serializers.ImageField(source='profile.image') + token = serializers.CharField(source='auth_token.key') class Meta: model = User - fields = ('id', 'username', 'full_name', 'profile') + fields = ('id', 'username', 'full_name', 'profile', 'token') + + def __init__(self, *args, **kwargs): + if kwargs.get('token'): + kwargs.pop('token') + else: + self.fields.pop('token') + super().__init__(*args, **kwargs) class ApiProfileSerializer(serializers.ModelSerializer): diff --git a/api/views.py b/api/views.py index 7ee98e9..01a5401 100644 --- a/api/views.py +++ b/api/views.py @@ -206,7 +206,7 @@ class AllCommentsV2(views.APIView, CommentProcessor): def get(self, *args, **kwargs): note = Note.objects.get(pk=kwargs.get('note_pk')) return Response({ - 'current_user': ApiUserSerializer(self.request.user).data, + 'current_user': ApiUserSerializer(self.request.user, token=True).data, 'notes_info': ApiNoteSerializer(note).data })