Commit graph

9 commits

Author SHA1 Message Date
8c765e4d49 refactor: temporarily rename old IGoogleCalendarService to IOldGoogleCalendarService to avoid naming conflict with new marker interface
This temporary change is necessary because the new ICalendarService interfaces
(IGoogleCalendarService, INextcloudCalendarService) now exist as marker interfaces.
The old interface will be fully removed in Task 4 when GoogleCalendarService is
refactored to implement the new ICalendarService contract.
2026-04-10 22:41:01 +02:00
Copilot
5103aecacf
Add Google Calendar integration with direct sync functionality and rate limiting protection (#45)
* Initial plan

* Implement Google Calendar integration with sync button and calendar selection

Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>

* Add Google Calendar sync documentation and finalize implementation

Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>

* Fix build errors

* Fix Google Calendar rate limiting issues with retry logic and delays

Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>

* optimize

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
Co-authored-by: Claudio Schaad <c.schaad@pog.ch>
2025-09-06 16:47:48 +02:00
Copilot
e8db13191e
Add Google OAuth authentication with configurable authorized emails (#29)
* Initial plan

* Add Google authentication with authorized email configuration

Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>

* Complete Google authentication implementation with documentation

Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>

* Fix CORS error by removing [Authorize] from auth user endpoint

Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>

* Add authorization attribute to ConfigurationController for security

Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>

* Fix JavaScript error in login button by correcting window.location.href usage

Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>

* Fix Google OAuth redirect URI configuration to resolve authentication error

Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>

* Fix OAuth state validation error by specifying authentication scheme in callback

Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>

* Fix OAuth state validation error by improving authentication configuration

Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>

* Fix authentication setup documentation with correct redirect URI

Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>

* Fix navigation buttons overlapping with authentication header

Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>

* Remove unused unsing

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
Co-authored-by: Claudio Schaad <clayschaad@users.noreply.github.com>
Co-authored-by: Claudio Schaad <c.schaad@pog.ch>
2025-08-27 21:18:50 +02:00
Copilot
7d8e40b9cf
Add Configuration UI for Transport and Shift Settings with Import/Export (#27)
* Initial plan

* Complete configuration UI implementation with working dialog, API endpoints, and file import/export

Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>

* Refactor to inject IConfigurationService directly instead of using factory singletons

Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>

* Remove redundant ShiftService and use IConfigurationService directly

Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
2025-08-26 17:17:09 +02:00
Copilot
73abfac988
Implement caching for transport connection results with IMemoryCache (#26)
* Initial plan

* Implement caching for transport connection results with IMemoryCache

Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>

* Change cache duration from minutes to days

Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>

* Implement CachedTransportService design with interface separation

Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>

* Implement persistent file-based cache to survive application restarts

Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>

* Revert persistent file-based cache implementation, restore IMemoryCache usage

Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>

* Code cleanup

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
Co-authored-by: Claudio Schaad <c.schaad@pog.ch>
2025-08-25 21:15:13 +02:00
Claudio Schaad
f5387e7b41
Cleanup transport service (#22) 2025-08-23 19:16:40 +02:00
Copilot
2530e729ce
Implement transport time improvements: departure station display and break time logic (#17)
* Initial plan

* Implement transport time improvements: departure station display and break time logic

Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>

* Enhance code

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
Co-authored-by: Claudio Schaad <c.schaad@pog.ch>
2025-08-21 20:04:53 +02:00
Copilot
2dc437ac9c
Add real-time SBB transport integration with enhanced UI feedback and improved timing logic (#2)
* Initial plan

* Initial project setup - update to .NET 8.0 for compatibility

Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>

* Complete SBB transport integration implementation

Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>

* Revert to .NET 9 and separate transport info into ShiftTransport class

Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>

* Make safety buffer minutes configurable via appsettings

Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>

* Migrade pdf export service

* Update gitignore

* Implement new approach: real-time transport data per shift selection with ShiftWithTransport view model

Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>

* Refactor export methods to directly use ShiftWithTransport instead of converting to separate parameters

Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>

* Move ShiftWithTransport class to its own file

Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>

* Code cleanup

* Fix transport timing logic to respect safety buffer and find best available connections

Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
Co-authored-by: clayschaad <c.schaad@pog.ch>
Co-authored-by: Claudio Schaad <clayschaad@users.noreply.github.com>
2025-08-19 22:08:59 +02:00
88b3237c6c Initial Version 2025-08-17 20:15:45 +02:00