30 lines
1.3 KiB
Markdown
30 lines
1.3 KiB
Markdown
# googlecalendar — Google Calendar Integration
|
|
|
|
Manages matchday deadline events in Google Calendar. Each matchday can have up to 3 delivery deadlines (1st, 2nd, 3rd chance).
|
|
|
|
## Classes
|
|
|
|
### GoogleCalendarConnector
|
|
Sets up the Google Calendar API service using a service account.
|
|
|
|
- Reads service account credentials from `tippliga-4e0def9ef447.json` (classpath resource)
|
|
- Uses `CalendarScopes.CALENDAR` scope
|
|
- Returns authenticated `com.google.api.services.calendar.Calendar` service
|
|
|
|
### CalendarConfigProvider
|
|
Reads calendar ID and URL from `Google_Calendar_Config.json` resource. Currently hardcoded to league 1.
|
|
|
|
### TippligaGoogleEventManager
|
|
CRUD operations for matchday deadline events.
|
|
|
|
- `createOrUpdateEventsForMatchday(matchday)` — creates/updates up to 3 events per matchday
|
|
- `createNewEvent()` / `updateEvent()` / `deleteEvent()` — individual event operations
|
|
- `deleteAllEvents(season)` — wipe all events for a season
|
|
- `updateAllMatchdays(matchdays)` — batch update; automatically deletes events for removed delivery dates
|
|
|
|
Event details:
|
|
- **Summary**: `"Tippliga Spieltag N tippen!"` (or custom matchday name)
|
|
- **Description**: season, league, matchday, delivery deadline number
|
|
- **Location**: `https://tippliga-wuerzburg.de/app.php/football/bet`
|
|
- **Time**: delivery deadline datetime, Europe/Berlin timezone
|