diff options
Diffstat (limited to 'api/serializers.py')
-rw-r--r-- | api/serializers.py | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/api/serializers.py b/api/serializers.py index 7a3a95e3..dc4d4a78 100644 --- a/api/serializers.py +++ b/api/serializers.py @@ -1,6 +1,7 @@ -from rest_framework.serializers import ModelSerializer +from rest_framework.serializers import ModelSerializer, PrimaryKeyRelatedField +from rest_framework_bulk import BulkSerializerMixin -from .models import DocumentationLink, OffTopicChannelName, SnakeName +from .models import DocumentationLink, Member, OffTopicChannelName, Role, SnakeName class DocumentationLinkSerializer(ModelSerializer): @@ -22,3 +23,18 @@ class SnakeNameSerializer(ModelSerializer): class Meta: model = SnakeName fields = ('name', 'scientific') + + +class RoleSerializer(ModelSerializer): + class Meta: + model = Role + fields = ('id', 'name', 'colour', 'permissions') + + +class MemberSerializer(BulkSerializerMixin, ModelSerializer): + roles = PrimaryKeyRelatedField(many=True, queryset=Role.objects.all()) + + class Meta: + model = Member + fields = ('id', 'avatar_hash', 'name', 'discriminator', 'roles') + depth = 1 |