vikunja/pkg/routes/api/v1
kolaente 78f79accb5 refactor(auth): extract transport-agnostic login, logout and OIDC cores
Pull the credential/TOTP check, session deletion, user-token issuance and
OIDC callback flow out of the v1 echo handlers and into reusable helpers so
both /api/v1 and the upcoming /api/v2 share one implementation:

- auth.IssueUserToken + auth.WriteUserAuthCookies split the token/cookie
  machinery from the echo response; NewUserAuthTokenResponse now wraps them.
- auth.SessionIDFromContext reads the sid claim for logout.
- shared.AuthenticateUserCredentials, shared.DeleteSession hold the login
  and logout cores.
- openid.AuthenticateCallback holds the OIDC exchange/getOrCreate/TOTP/team
  sync, returning the user; HandleCallback issues the token as before.

v1 behaviour is unchanged on the wire.
2026-06-17 19:43:41 +00:00
..
admin refactor(admin): share user-mutation logic between v1 and v2 2026-06-11 19:32:42 +00:00
redoc fix(api/docs): Use Base in redoc template 2026-04-20 14:26:49 +00:00
avatar.go refactor(avatar): share avatar-upload logic between v1 and v2 handlers 2026-06-02 11:55:25 +00:00
docs.go fix(api/docs): Use Base in redoc template 2026-04-20 14:26:49 +00:00
info.go feat(api/v2): add public instance info endpoint 2026-06-11 20:07:43 +00:00
link_sharing_auth.go refactor(auth): extract shared auth/token business logic for v2 reuse 2026-06-12 07:58:17 +00:00
login.go refactor(auth): extract transport-agnostic login, logout and OIDC cores 2026-06-17 19:43:41 +00:00
notifications.go fix: add missing Commit() to write callers 2026-02-25 11:03:02 +01:00
task_attachment.go refactor(task-attachment): share upload+download via pkg/web/files for v1+v2 2026-06-10 10:22:39 +00:00
task_by_index.go feat(api): accept project identifier in by-index task route 2026-05-19 08:53:25 +00:00
testing.go refactor(testing): extract e2e fixture reset/truncate into shared package 2026-06-17 12:13:50 +00:00
token_check.go fix(auth): don't panic on /token/test with API token 2026-05-01 11:13:12 +02:00
user_caldav_token.go fix(deps): update module github.com/labstack/echo/v4 to v5 (#2131) 2026-01-24 20:38:32 +01:00
user_confirm_email.go refactor(auth): extract shared auth/token business logic for v2 reuse 2026-06-12 07:58:17 +00:00
user_deletion.go refactor: remove redundant Begin() calls after NewSession auto-begins 2026-02-25 11:03:02 +01:00
user_export.go fix(api): close the user data export reader after download 2026-06-17 18:39:38 +00:00
user_list.go refactor(user): share user-search logic between v1 and v2 2026-06-11 20:07:43 +00:00
user_password_reset.go refactor(auth): extract shared auth/token business logic for v2 reuse 2026-06-12 07:58:17 +00:00
user_register.go fix: dispatch pending events after user creation commits 2026-06-12 08:56:08 +00:00
user_settings.go refactor(user): extract shared account orchestration into models/user/shared for v1+v2 2026-06-11 07:02:31 +00:00
user_show.go refactor(user): extract shared account orchestration into models/user/shared for v1+v2 2026-06-11 07:02:31 +00:00
user_totp.go feat(api/v2): add totp qr code endpoint 2026-06-17 18:39:38 +00:00
user_update_email.go feat(audit): attribute failed logins to the originating request 2026-06-12 08:56:08 +00:00
user_update_password.go feat(audit): attribute failed logins to the originating request 2026-06-12 08:56:08 +00:00
user_webhooks.go fix: strip BasicAuth credentials from user webhook API responses 2026-03-23 16:35:47 +00:00
webhooks.go fix(deps): update module github.com/labstack/echo/v4 to v5 (#2131) 2026-01-24 20:38:32 +01:00