API for Calendars

This commit is contained in:
2026-01-12 22:48:08 -05:00
parent f6672a880a
commit aacc0af901
9 changed files with 137 additions and 25 deletions

View File

@@ -1,5 +1,5 @@
from rest_framework import serializers
from .models import Event, Organization, Promo
from .models import Calendar, Event, Organization, Promo
from django.db import models
from django.contrib.auth.models import User
@@ -35,6 +35,7 @@ class ScopesPermission(BasePermission):
## Events ##
############
class OrganizationSerializer(serializers.ModelSerializer):
class Meta:
model = Organization
@@ -52,6 +53,18 @@ class EventSerializer(serializers.ModelSerializer):
depth = 2
# fields = ('id', 'name',)
class CalSerializer(serializers.ModelSerializer):
events_count = serializers.SerializerMethodField()
class Meta:
model = Calendar
fields = ['id', 'name', 'shortcode', 'events_count', 'published']
# fields = '__all__'
def get_events_count(self, obj):
# obj is the current Tag instance
return obj.events.count()
class PromoSerializer(serializers.ModelSerializer):
organization = OrganizationSerializer(many=False)
# event_type = serializers.CharField(source='get_event_type_display')