add event CRUD actions and recurring event expansion

- Implement full CRUD in MongoEventRepository (findById, findByUserId, findByDateRange, update, delete)
- Extend ChatService to handle create/update/delete actions with dynamic test responses
- Add recurrenceExpander utility using rrule library for RRULE parsing
- Add eventFormatters utility for German-localized week/month overviews
- Add German translations for days and months in shared Constants
- Update client ChatService to support all event actions (action, eventId, updates params)
This commit is contained in:
2026-01-04 16:15:30 +01:00
parent 9fecf94c7d
commit 77f15b6dd1
11 changed files with 577 additions and 174 deletions

View File

@@ -37,3 +37,42 @@ export const DAY_INDEX: Record<Day, number> = {
Friday: 5,
Saturday: 6,
};
// Mapping from Date.getDay() index (0=Sunday) to Day type
export const DAY_INDEX_TO_DAY: Day[] = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
// German translations
export const DAY_TO_GERMAN: Record<Day, string> = {
Monday: 'Montag',
Tuesday: 'Dienstag',
Wednesday: 'Mittwoch',
Thursday: 'Donnerstag',
Friday: 'Freitag',
Saturday: 'Samstag',
Sunday: 'Sonntag',
};
export const DAY_TO_GERMAN_SHORT: Record<Day, string> = {
Monday: 'Mo',
Tuesday: 'Di',
Wednesday: 'Mi',
Thursday: 'Do',
Friday: 'Fr',
Saturday: 'Sa',
Sunday: 'So',
};
export const MONTH_TO_GERMAN: Record<Month, string> = {
January: 'Januar',
February: 'Februar',
March: 'März',
April: 'April',
May: 'Mai',
June: 'Juni',
July: 'Juli',
August: 'August',
September: 'September',
October: 'Oktober',
November: 'November',
December: 'Dezember',
};