sync_pushes tracks outbound route pushes to providers, keyed by (user_id, route_id, route_version, provider). Successful rows hold the remote_id; failed rows hold the error and can be retried in place. The unique index makes idempotent push trivial. granted_scopes records the OAuth scope set we requested at exchangeCode time. Wahoo doesn't return a scope field in token responses and grants scopes all-or-nothing, so the requested set is the source of truth. Defaults to an empty array, which means any pre-existing connection will be flagged as scope-mismatched on the first routes_write push — the intended UX for the slice 3 re-auth flow. Adjusts tasks 2.3/2.4 in the spec to match repo reality: this project runs `drizzle-kit push --force` schema-first, with no checked-in migrations directory. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| api | ||
| db | ||
| fit | ||
| gpx | ||
| i18n | ||
| jobs | ||
| map | ||
| map-core | ||
| sentry-config | ||
| types | ||
| ui | ||