aboutsummaryrefslogtreecommitdiffstats
path: root/api/serializers.py
diff options
context:
space:
mode:
Diffstat (limited to 'api/serializers.py')
-rw-r--r--api/serializers.py20
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