12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- from django.contrib.auth import get_user_model
- from rest_framework import serializers
- from misago.acl import serialize_acl
- from misago.users.serializers import RankSerializer
- __all__ = [
- 'AuthenticatedUserSerializer',
- 'AnonymousUserSerializer',
- 'BasicUserSerializer',
- 'UserSerializer',
- ]
- class AuthenticatedUserSerializer(serializers.ModelSerializer):
- acl = serializers.SerializerMethodField()
- rank = RankSerializer(many=False, read_only=True)
- class Meta:
- model = get_user_model()
- fields = (
- 'id',
- 'username',
- 'slug',
- 'email',
- 'joined_on',
- 'is_hiding_presence',
- 'title',
- 'full_title',
- 'short_title',
- 'rank',
- 'avatar_hash',
- 'new_notifications',
- 'limits_private_thread_invites_to',
- 'unread_private_threads',
- 'subscribe_to_started_threads',
- 'subscribe_to_replied_threads',
- 'threads',
- 'posts',
- 'acl'
- )
- def get_acl(self, obj):
- return serialize_acl(obj)
- class AnonymousUserSerializer(serializers.Serializer):
- id = serializers.ReadOnlyField()
- acl = serializers.SerializerMethodField()
- def get_acl(self, obj):
- return serialize_acl(obj)
- class BasicUserSerializer(serializers.ModelSerializer):
- class Meta:
- model = get_user_model()
- fields = (
- 'id',
- 'username',
- 'slug',
- 'avatar_hash'
- )
- class UserSerializer(serializers.ModelSerializer):
- class Meta:
- model = get_user_model()
- fields = (
- 'id',
- 'username',
- 'slug',
- 'avatar_hash'
- )
|