- 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
34 lines
1019 B
TypeScript
34 lines
1019 B
TypeScript
import { Router } from "express";
|
|
import { createAuthRoutes } from "./auth.routes";
|
|
import { createChatRoutes } from "./chat.routes";
|
|
import { createEventRoutes } from "./event.routes";
|
|
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 {
|
|
const router = 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;
|
|
}
|
|
|
|
export * from "./auth.routes";
|
|
export * from "./chat.routes";
|
|
export * from "./event.routes";
|