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:
@@ -24,10 +24,18 @@ export class EventService {
|
||||
return event;
|
||||
}
|
||||
|
||||
async findByCaldavUUID(userId: string, caldavUUID: string): Promise<CalendarEvent | null> {
|
||||
return this.eventRepo.findByCaldavUUID(userId, caldavUUID);
|
||||
}
|
||||
|
||||
async getAll(userId: string): Promise<CalendarEvent[]> {
|
||||
return this.eventRepo.findByUserId(userId);
|
||||
}
|
||||
|
||||
async searchByTitle(userId: string, query: string): Promise<CalendarEvent[]> {
|
||||
return this.eventRepo.searchByTitle(userId, query);
|
||||
}
|
||||
|
||||
async getByDateRange(
|
||||
userId: string,
|
||||
startDate: Date,
|
||||
|
||||
Reference in New Issue
Block a user