feat(api): distinguish between read-only and authenticateed user permissions
ref: #451 #452
This commit is contained in:
@ -557,16 +557,11 @@ class ModelRetrieveUpdateViewSet(
|
||||
|
||||
|
||||
|
||||
|
||||
class ReadOnlyModelViewSet(
|
||||
viewsets.ReadOnlyModelViewSet,
|
||||
ModelViewSetBase
|
||||
):
|
||||
|
||||
permission_classes = [
|
||||
IsAuthenticated,
|
||||
]
|
||||
|
||||
|
||||
def retrieve(self, request, *args, **kwargs):
|
||||
"""Sainty override
|
||||
@ -639,3 +634,21 @@ class ReadOnlyModelViewSet(
|
||||
)
|
||||
|
||||
return response
|
||||
|
||||
|
||||
|
||||
class AuthUserReadOnlyModelViewSet(
|
||||
ReadOnlyModelViewSet
|
||||
):
|
||||
"""Authenticated User Read-Only Viewset
|
||||
|
||||
Use this class if the model only requires that the user be authenticated
|
||||
to obtain view permission.
|
||||
|
||||
Args:
|
||||
ReadOnlyModelViewSet (class): Read-Only base class
|
||||
"""
|
||||
|
||||
permission_classes = [
|
||||
IsAuthenticated,
|
||||
]
|
||||
|
@ -1,6 +1,6 @@
|
||||
from drf_spectacular.utils import extend_schema, extend_schema_view, OpenApiResponse
|
||||
|
||||
from api.viewsets.common import ReadOnlyModelViewSet
|
||||
from api.viewsets.common import AuthUserReadOnlyModelViewSet
|
||||
|
||||
from app.serializers.content_type import (
|
||||
ContentType,
|
||||
@ -26,7 +26,7 @@ from app.serializers.content_type import (
|
||||
),
|
||||
)
|
||||
class ViewSet(
|
||||
ReadOnlyModelViewSet
|
||||
AuthUserReadOnlyModelViewSet
|
||||
):
|
||||
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
from drf_spectacular.utils import extend_schema, extend_schema_view, OpenApiResponse
|
||||
|
||||
from api.viewsets.common import ReadOnlyModelViewSet
|
||||
from api.viewsets.common import AuthUserReadOnlyModelViewSet
|
||||
|
||||
from app.serializers.permission import (
|
||||
Permission,
|
||||
@ -26,7 +26,7 @@ from app.serializers.permission import (
|
||||
),
|
||||
)
|
||||
class ViewSet(
|
||||
ReadOnlyModelViewSet
|
||||
AuthUserReadOnlyModelViewSet
|
||||
):
|
||||
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
from drf_spectacular.utils import extend_schema, extend_schema_view, OpenApiResponse
|
||||
|
||||
from api.viewsets.common import ReadOnlyModelViewSet
|
||||
from api.viewsets.common import AuthUserReadOnlyModelViewSet
|
||||
|
||||
from app.serializers.user import (
|
||||
User,
|
||||
@ -28,7 +28,7 @@ from app.serializers.user import (
|
||||
),
|
||||
)
|
||||
class ViewSet(
|
||||
ReadOnlyModelViewSet
|
||||
AuthUserReadOnlyModelViewSet
|
||||
):
|
||||
|
||||
|
||||
|
@ -6,7 +6,7 @@ from core.serializers.celery_log import (
|
||||
TaskResultViewSerializer
|
||||
)
|
||||
|
||||
from api.viewsets.common import ReadOnlyModelViewSet
|
||||
from api.viewsets.common import AuthUserReadOnlyModelViewSet
|
||||
|
||||
|
||||
|
||||
@ -29,7 +29,7 @@ from api.viewsets.common import ReadOnlyModelViewSet
|
||||
}
|
||||
),
|
||||
)
|
||||
class ViewSet(ReadOnlyModelViewSet):
|
||||
class ViewSet(AuthUserReadOnlyModelViewSet):
|
||||
|
||||
filterset_fields = [
|
||||
'periodic_task_name',
|
||||
|
@ -1,6 +1,6 @@
|
||||
from drf_spectacular.utils import extend_schema, extend_schema_view, OpenApiResponse
|
||||
|
||||
from api.viewsets.common import ModelViewSet
|
||||
from api.viewsets.common import ReadOnlyModelViewSet
|
||||
|
||||
from itim.serializers.service import (
|
||||
Service,
|
||||
@ -18,7 +18,7 @@ from itim.serializers.service import (
|
||||
partial_update=extend_schema(exclude=True),
|
||||
destroy=extend_schema(exclude=True)
|
||||
)
|
||||
class ViewSet(ModelViewSet):
|
||||
class ViewSet(ReadOnlyModelViewSet):
|
||||
|
||||
filterset_fields = [
|
||||
'cluster',
|
||||
|
Reference in New Issue
Block a user