8 Commits

Author SHA1 Message Date
3cf0a55130 fix: Resolve garminconnect login failure and implement garth MFA
This commit resolves the persistent `garminconnect` login failure caused by
changes in Garmin's SSO process. The authentication mechanism has been
refactored to primarily use the `garth` library for initial login and
Multi-Factor Authentication (MFA) handling, enhancing robustness and
adhering to the feature plan.

Key changes include:
- Refactored `_perform_login` in `backend/src/services/garmin_auth_service.py`
  to directly utilize `garth.Client().login()`, replacing the problematic
  `garminconnect.login()`.
- Updated `initial_login` to gracefully handle `garth`'s MFA exceptions,
  returning appropriate responses to guide the authentication flow.
- Added a new `complete_mfa_login` method to `backend/src/services/garmin_auth_service.py`
  for submitting MFA codes and finalizing the login process.
- Ensured `garminconnect` implicitly leverages the established `garth` session,
  eliminating redundant login attempts.
- Addressed static analysis issues by updating `typing` imports and
  suppressing `mypy` errors for `garth.Client` attributes where appropriate.
2025-12-22 06:11:12 -08:00
ca9d7d9e90 Complete spec: Code alignment and documentation cleanup
- Ensure code aligns with CentralDB models
- Document code alignment with CentralDB models
- Remove informal reference documents (data-model.md, DB_API_SPEC.json, GARMINSYNC_SPEC.md)
- Run linters and formatters (black, isort, mypy)
- Update project configuration files
- Add .dockerignore for Docker builds
- Perform code formatting and import sorting
- Fix type checking issues
- Update documentation files
- Complete implementation tasks as per spec
2025-12-18 13:21:54 -08:00
b0aa585372 chore: Remove __pycache__ files from git tracking 2025-10-11 18:36:41 -07:00
8df0039ab9 feat: Add missing __init__.py and spec file 2025-10-11 18:36:31 -07:00
723ca04aa8 feat: Implement single sync job management and progress tracking 2025-10-11 18:36:19 -07:00
3819e4f5e2 feat: Implement Garmin sync, login improvements, and utility scripts 2025-10-11 11:56:25 -07:00
f7acfedc8b chore: Add .gitignore and remove __pycache__ files 2025-10-10 12:24:34 -07:00
18f9f6fa18 feat: Initial commit of FitTrack_GarminSync project 2025-10-10 12:20:48 -07:00