You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

21 lines
990 B

from django.urls import include, path
from rest_framework.routers import SimpleRouter
from utils.cache import smart_cached_view
from apps.dobodbi_calendar.views import CalendarList, AdjustmentConfigView, OccasionsList
from apps.dobodbi_calendar.views_admin import AdminCalendarOccasionViewSet
# Helper function for caching calendar endpoints with smart invalidation and force-refresh support
cached_view = smart_cached_view(60 * 60 * 6, key_prefix='calendar_api')
admin_router = SimpleRouter()
admin_router.register(r'occasions', AdminCalendarOccasionViewSet, basename='admin-calendar-occasions')
# Hide admin viewsets from swagger
for prefix, viewset, basename in admin_router.registry:
viewset.swagger_schema = None
urlpatterns = [
path('admin/', include(admin_router.urls)),
path('sync-occasions/', cached_view(CalendarList.as_view())),
path('adjustemnts/', cached_view(AdjustmentConfigView.as_view())),
path('occasions/', cached_view(OccasionsList.as_view())),
]