refactor: merge internal/sync into internal/garmin, regroup api files and routes
Garmin auth/sync routes move under /api/garmin/*; sync.Service becomes garmin.Sync with garmin.SyncConfig/ClientConfig; applog becomes internal/log; the test mock moves into the garmin package as MockClient (breaking the test-only import cycle the merge created); stale test URLs and type names updated to match. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -61,15 +61,15 @@ CLAUDE.md [MODIFY] document the new env vars / auth architectur
|
||||
### Task 1: Config — OIDC/session settings
|
||||
|
||||
**Files:**
|
||||
- Modify: `backend/internal/config/config.go`
|
||||
- Create: `backend/internal/config/config_test.go`
|
||||
- Modify: `../../../backend/internal/config/envconfig.go`
|
||||
- Create: `../../../backend/internal/config/envconfig_test.go`
|
||||
|
||||
**Interfaces:**
|
||||
- Produces: `Config.OIDCIssuerURL/OIDCClientID/OIDCClientSecret/OIDCRedirectURL/OIDCRequiredRole string`, `Config.PublicBaseURL string`, `Config.SessionSecret []byte`, `Config.SessionDuration time.Duration`, `Config.SessionSecure bool` — consumed by Task 6 (`main.go`) to build `auth.OIDCConfig` and `api.SessionConfig`.
|
||||
|
||||
- [ ] **Step 1: Write the failing tests**
|
||||
|
||||
Create `backend/internal/config/config_test.go`:
|
||||
Create `../../../backend/internal/config/envconfig_test.go`:
|
||||
|
||||
```go
|
||||
package config
|
||||
@@ -179,7 +179,7 @@ Expected: compile errors (`cfg.OIDCRedirectURL` etc. undefined) — that's the e
|
||||
|
||||
- [ ] **Step 3: Implement the config fields and validation**
|
||||
|
||||
In `backend/internal/config/config.go`, add `"strings"` to the imports, add these fields to `Config` (after `MinConfidence`/`IncrementalSyncEvery`):
|
||||
In `../../../backend/internal/config/envconfig.go`, add `"strings"` to the imports, add these fields to `Config` (after `MinConfidence`/`IncrementalSyncEvery`):
|
||||
|
||||
```go
|
||||
// OIDC login gate (Keycloak). PublicBaseURL is this app's own externally
|
||||
@@ -256,7 +256,7 @@ Expected: PASS (all `TestLoad_*` cases).
|
||||
- [ ] **Step 5: Commit**
|
||||
|
||||
```bash
|
||||
git add backend/internal/config/config.go backend/internal/config/config_test.go
|
||||
git add backend/internal/config/envconfig.go backend/internal/config/envconfig_test.go
|
||||
git commit -m "config: add OIDC/session env vars for the login gate"
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user