Skip to content

Commit

Permalink
Make user account data available to frontend
Browse files Browse the repository at this point in the history
  • Loading branch information
Vinnl committed Jan 17, 2022
1 parent 2cd299c commit b1fa656
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 2 deletions.
7 changes: 7 additions & 0 deletions api/serializers.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from rest_framework import serializers

from emails.models import Profile, DomainAddress, RelayAddress
from django.contrib.auth.models import User


class RelayAddressSerializer(serializers.ModelSerializer):
Expand Down Expand Up @@ -42,3 +43,9 @@ class Meta:
model = Profile
fields = ['id', 'server_storage', 'subdomain', 'has_premium', 'onboarding_state', 'date_subscribed']
read_only_fields = ['id', 'subdomain', 'has_premium', 'date_subscribed']

class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ['email']
read_only_fields = ['email']
5 changes: 4 additions & 1 deletion api/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from rest_framework import routers

from .views import (
DomainAddressViewSet, ProfileViewSet, RelayAddressViewSet,
DomainAddressViewSet, ProfileViewSet, UserViewSet, RelayAddressViewSet,
premium_countries, schema_view
)

Expand All @@ -30,6 +30,9 @@ def to_url(self, value):
api_router.register(
r'profiles', ProfileViewSet, 'profiles'
)
api_router.register(
r'users', UserViewSet, 'user'
)

urlpatterns = [
path('v1/premium_countries',
Expand Down
10 changes: 9 additions & 1 deletion api/views.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from django.conf import settings
from django.contrib.auth.models import User

from drf_yasg.views import get_schema_view
from drf_yasg import openapi
Expand All @@ -9,7 +10,7 @@

from .permissions import IsOwner
from .serializers import (
DomainAddressSerializer, ProfileSerializer, RelayAddressSerializer
DomainAddressSerializer, ProfileSerializer, RelayAddressSerializer, UserSerializer
)


Expand Down Expand Up @@ -54,6 +55,13 @@ class ProfileViewSet(viewsets.ModelViewSet):
def get_queryset(self):
return Profile.objects.filter(user=self.request.user)

class UserViewSet(viewsets.ModelViewSet):
serializer_class = UserSerializer
permission_classes = [permissions.IsAuthenticated, IsOwner]

def get_queryset(self):
return User.objects.filter(id=self.request.user.id)

@decorators.api_view()
@decorators.permission_classes([permissions.AllowAny])
def premium_countries(request):
Expand Down

0 comments on commit b1fa656

Please sign in to comment.