feat: add recurring event deletion with three modes
Implement three deletion modes for recurring events: - single: exclude specific occurrence via EXDATE mechanism - future: set RRULE UNTIL to stop future occurrences - all: delete entire event series Changes include: - Add exceptionDates field to CalendarEvent model - Add RecurringDeleteMode type and DeleteRecurringEventDTO - EventService.deleteRecurring() with mode-based logic using rrule library - EventController DELETE endpoint accepts mode/occurrenceDate query params - recurrenceExpander filters out exception dates during expansion - AI tools support deleteMode and occurrenceDate for proposed deletions - ChatService.confirmEvent() handles recurring delete modes - New DeleteEventModal component for unified delete confirmation UI - Calendar screen integrates modal for both recurring and non-recurring events
This commit is contained in:
@@ -80,7 +80,10 @@ export function Logged(name: string) {
|
||||
const method = String(propKey);
|
||||
|
||||
// Summarize args to avoid huge log entries
|
||||
log.debug({ method, args: summarizeArgs(methodArgs) }, `${method} started`);
|
||||
log.debug(
|
||||
{ method, args: summarizeArgs(methodArgs) },
|
||||
`${method} started`,
|
||||
);
|
||||
|
||||
const logCompletion = (err?: unknown) => {
|
||||
const duration = Math.round(performance.now() - start);
|
||||
|
||||
Reference in New Issue
Block a user