feat: add CalDAV synchronization with automatic sync
- Add CaldavService with tsdav/ical.js for CalDAV server communication - Add CaldavController, CaldavRepository, and caldav routes - Add client-side CaldavConfigService with sync(), config CRUD - Add CalDAV settings UI with config load/save in settings screen - Sync on login, auto-login (AuthGuard), periodic timer (calendar), and sync button - Push single events to CalDAV on server-side create/update/delete - Push all events to CalDAV after chat event confirmation - Refactor ChatService to use EventService instead of direct EventRepository - Rename CalDav/calDav to Caldav/caldav for consistent naming - Add Radicale Docker setup for local CalDAV testing - Update PlantUML diagrams and CLAUDE.md with CalDAV architecture
This commit is contained in:
@@ -6,12 +6,15 @@ import {
|
||||
AuthController,
|
||||
ChatController,
|
||||
EventController,
|
||||
CaldavController
|
||||
} from "../controllers";
|
||||
import { createCaldavRoutes } from "./caldav.routes";
|
||||
|
||||
export interface Controllers {
|
||||
authController: AuthController;
|
||||
chatController: ChatController;
|
||||
eventController: EventController;
|
||||
caldavController: CaldavController;
|
||||
}
|
||||
|
||||
export function createRoutes(controllers: Controllers): Router {
|
||||
@@ -20,6 +23,7 @@ export function createRoutes(controllers: Controllers): Router {
|
||||
router.use("/auth", createAuthRoutes(controllers.authController));
|
||||
router.use("/chat", createChatRoutes(controllers.chatController));
|
||||
router.use("/events", createEventRoutes(controllers.eventController));
|
||||
router.use("/caldav", createCaldavRoutes(controllers.caldavController));
|
||||
|
||||
return router;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user