mirror of
https://github.com/pinry/pinry.git
synced 2025-11-16 18:05:51 +01:00
Feature: Add new public user-api and user-profile card in front-end
This commit is contained in:
@@ -7,6 +7,7 @@ from django.contrib.auth.decorators import login_required
|
||||
from django.http import HttpResponseRedirect, HttpResponseBadRequest, HttpResponse
|
||||
from django.urls import reverse
|
||||
from django.utils.functional import lazy
|
||||
from django_filters.rest_framework import DjangoFilterBackend
|
||||
from rest_framework import mixins, routers
|
||||
from rest_framework.permissions import BasePermission
|
||||
from rest_framework.renderers import JSONRenderer
|
||||
@@ -20,6 +21,21 @@ def reverse_lazy(name=None, *args):
|
||||
return lazy(reverse, str)(name, args=args)
|
||||
|
||||
|
||||
class PublicUserViewSet(
|
||||
mixins.RetrieveModelMixin,
|
||||
mixins.ListModelMixin,
|
||||
GenericViewSet,
|
||||
):
|
||||
serializer_class = UserSerializer
|
||||
filter_backends = (DjangoFilterBackend, )
|
||||
filter_fields = ("username", )
|
||||
pagination_class = None
|
||||
|
||||
def get_queryset(self):
|
||||
username = self.request.GET.get("username", "")
|
||||
return User.objects.filter(username=username)
|
||||
|
||||
|
||||
class UserViewSet(
|
||||
mixins.RetrieveModelMixin,
|
||||
mixins.ListModelMixin,
|
||||
@@ -87,3 +103,4 @@ def logout_user(request):
|
||||
|
||||
drf_router = routers.DefaultRouter()
|
||||
drf_router.register(r'users', UserViewSet, basename="user")
|
||||
drf_router.register(r'public-users', PublicUserViewSet, basename="public-user")
|
||||
|
||||
Reference in New Issue
Block a user