Add Komoot import with public (bio verification) and authenticated modes
Two-mode import: public mode verifies Komoot account ownership by checking that the user's trails.cool profile URL appears in their Komoot bio — no credentials stored. Authenticated mode uses email + password (AES-256-GCM encrypted) to import private tours as well. Includes unit tests for crypto/komoot client and E2E tests for the full connect + import flow. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
b63fd1a303
commit
03304c354b
22 changed files with 1612 additions and 4 deletions
|
|
@ -44,12 +44,16 @@ export default [
|
|||
route("account", "routes/settings.account.tsx"),
|
||||
route("security", "routes/settings.security.tsx"),
|
||||
route("connections", "routes/settings.connections.tsx"),
|
||||
route("connections/komoot", "routes/settings.connections.komoot.tsx"),
|
||||
]),
|
||||
route("api/settings/profile", "routes/api.settings.profile.ts"),
|
||||
route("api/settings/email", "routes/api.settings.email.ts"),
|
||||
route("api/settings/passkey/delete", "routes/api.settings.passkey.delete.ts"),
|
||||
route("api/settings/delete-account", "routes/api.settings.delete-account.ts"),
|
||||
route("sync/import/komoot", "routes/sync.import.komoot.tsx"),
|
||||
route("sync/import/:provider", "routes/sync.import.$provider.tsx"),
|
||||
route("api/sync/komoot/verify", "routes/api.sync.komoot.verify.ts"),
|
||||
route("api/sync/komoot/connect", "routes/api.sync.komoot.connect.ts"),
|
||||
route("api/sync/connect/:provider", "routes/api.sync.connect.$provider.ts"),
|
||||
route("api/sync/callback/:provider", "routes/api.sync.callback.$provider.ts"),
|
||||
route("api/sync/disconnect/:provider", "routes/api.sync.disconnect.$provider.ts"),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue