"""Calendar plugin — appointments, tasks, kanban, resources, ICS feed/import, recurrence.""" from __future__ import annotations from app.plugins.base import BasePlugin from app.plugins.manifest import PluginManifest, PluginRouteDef class CalendarPlugin(BasePlugin): """Calendar plugin for appointment/task management with recurrence, ICS, and resource booking.""" manifest = PluginManifest( name="calendar", version="1.0.0", display_name="Calendar", description="Calendar with appointments, tasks, kanban board, recurrence, ICS export/import, resource booking, sharing.", dependencies=[], routes=[ PluginRouteDef( path="/api/v1/calendars", module="app.plugins.builtins.calendar.routes", router_attr="calendar_router", ), PluginRouteDef( path="/api/v1/resources", module="app.plugins.builtins.calendar.routes", router_attr="resource_router", ), PluginRouteDef( path="/api/v1", module="app.plugins.builtins.calendar.routes", router_attr="router", ), ], events=[], migrations=["0001_initial.sql"], permissions=[], )