diff --git a/program/serializers.py b/program/serializers.py index 11d72b42d79e07ef6996206874efbf9b62856c82..e9adb681e004c19974afd0acf0cb8cac42fae1f7 100644 --- a/program/serializers.py +++ b/program/serializers.py @@ -21,6 +21,7 @@ import re from typing import List, TypedDict +from drf_jsonschema_serializer import JSONSchemaField from rest_framework import serializers from django.contrib.auth.models import User @@ -806,6 +807,14 @@ class NoteLinkSerializer(serializers.ModelSerializer): fields = ("type", "url") +tags_json_schema = { + "type": "array", + "items": { + "type": "string" + } +} + + class NoteSerializer(serializers.ModelSerializer): contributor_ids = serializers.PrimaryKeyRelatedField( many=True, queryset=Host.objects.all(), source="contributors" @@ -815,7 +824,7 @@ class NoteSerializer(serializers.ModelSerializer): ) links = NoteLinkSerializer(many=True, required=False) playlist_id = serializers.IntegerField(required=False) - tags = serializers.JSONField(default=[], required=False) + tags = JSONSchemaField(tags_json_schema) timeslot_id = serializers.PrimaryKeyRelatedField( queryset=TimeSlot.objects.all(), required=False )