pushnotifications.api.v2 package

Submodules

pushnotifications.api.v2.filters module

class pushnotifications.api.v2.filters.CategoryFilter[source]

Bases: rest_framework.filters.BaseFilterBackend

Filter that allows.

filter_queryset(request, queryset, view)[source]

Return a filtered queryset.

pushnotifications.api.v2.permissions module

class pushnotifications.api.v2.permissions.IsAuthenticatedOwnerOrReadOnly[source]

Bases: rest_framework.permissions.BasePermission

has_object_permission(request, view, obj)[source]

Return True if permission is granted, False otherwise.

pushnotifications.api.v2.serializers module

Serializers for the pushnotifications app.

class pushnotifications.api.v2.serializers.CategorySerializer(*args, **kwargs)[source]

Bases: rest_framework.serializers.ModelSerializer

Category serializers.

class Meta[source]

Bases: object

Meta for the serializer.

fields = ('key', 'name', 'description')
model

alias of pushnotifications.models.Category

class pushnotifications.api.v2.serializers.DeviceSerializer(*args, **kwargs)[source]

Bases: rest_framework.serializers.ModelSerializer

Device serializer.

class Meta[source]

Bases: object

Meta for the serializer.

extra_kwargs = {'active': {'default': True}}
fields = ('pk', 'registration_id', 'active', 'date_created', 'type', 'receive_category')
model

alias of pushnotifications.models.Device

read_only_fields = ('pk', 'date_created')
get_fields()[source]

Return the dict of field names -> field instances that should be used for self.fields when instantiating the serializer.

class pushnotifications.api.v2.serializers.MessageSerializer(*args, **kwargs)[source]

Bases: rest_framework.serializers.ModelSerializer

class Meta[source]

Bases: object

Meta for the serializer.

fields = ('pk', 'title', 'body', 'url', 'category', 'sent')
model

alias of pushnotifications.models.Message

pushnotifications.api.v2.urls module

Pushnotifications app API v2 urls.

pushnotifications.api.v2.views module

class pushnotifications.api.v2.views.DeviceDetailView(**kwargs)[source]

Bases: rest_framework.generics.RetrieveAPIView, rest_framework.generics.UpdateAPIView

Returns details of a device.

perform_update(serializer)[source]
permission_classes = [<class 'oauth2_provider.contrib.rest_framework.permissions.IsAuthenticatedOrTokenHasScope'>, <class 'pushnotifications.api.v2.permissions.IsAuthenticatedOwnerOrReadOnly'>]
queryset
required_scopes = ['pushnotifications:read', 'pushnotifications:write']
serializer_class

alias of pushnotifications.api.v2.serializers.DeviceSerializer

class pushnotifications.api.v2.views.DeviceListView(**kwargs)[source]

Bases: rest_framework.generics.ListAPIView, rest_framework.generics.CreateAPIView

Returns an overview of all devices that are owner by the user.

get_queryset()[source]

Get the list of items for this view. This must be an iterable, and may be a queryset. Defaults to using self.queryset.

This method should always be used rather than accessing self.queryset directly, as self.queryset gets evaluated only once, and those results are cached for all subsequent requests.

You may want to override this if you need to provide different querysets depending on the incoming request.

(Eg. return a list of items that is specific to the user)

perform_create(serializer)[source]
permission_classes = [<class 'thaliawebsite.api.v2.permissions.IsAuthenticatedOrTokenHasScopeForMethod'>, <class 'pushnotifications.api.v2.permissions.IsAuthenticatedOwnerOrReadOnly'>]
queryset
required_scopes_per_method = {'GET': ['pushnotifications:read'], 'POST': ['pushnotifications:write']}
serializer_class

alias of pushnotifications.api.v2.serializers.DeviceSerializer

class pushnotifications.api.v2.views.MessageDetailView(**kwargs)[source]

Bases: rest_framework.generics.RetrieveAPIView

Returns a message.

get_queryset()[source]

Get the list of items for this view. This must be an iterable, and may be a queryset. Defaults to using self.queryset.

This method should always be used rather than accessing self.queryset directly, as self.queryset gets evaluated only once, and those results are cached for all subsequent requests.

You may want to override this if you need to provide different querysets depending on the incoming request.

(Eg. return a list of items that is specific to the user)

permission_classes = [<class 'oauth2_provider.contrib.rest_framework.permissions.IsAuthenticatedOrTokenHasScope'>]
required_scopes = ['pushnotifications:read']
serializer_class

alias of pushnotifications.api.v2.serializers.MessageSerializer

class pushnotifications.api.v2.views.MessageListView(**kwargs)[source]

Bases: rest_framework.generics.ListAPIView

Returns a list of message sent to the user.

filter_backends = (<class 'rest_framework.filters.OrderingFilter'>, <class 'pushnotifications.api.v2.filters.CategoryFilter'>)
get_queryset()[source]

Get the list of items for this view. This must be an iterable, and may be a queryset. Defaults to using self.queryset.

This method should always be used rather than accessing self.queryset directly, as self.queryset gets evaluated only once, and those results are cached for all subsequent requests.

You may want to override this if you need to provide different querysets depending on the incoming request.

(Eg. return a list of items that is specific to the user)

ordering_fields = ('sent',)
permission_classes = [<class 'oauth2_provider.contrib.rest_framework.permissions.IsAuthenticatedOrTokenHasScope'>]
required_scopes = ['pushnotifications:read']
serializer_class

alias of pushnotifications.api.v2.serializers.MessageSerializer