vikunja/pkg/routes/api/v2
kolaente 5b3ee89edd refactor(api/v2): dedup the admin user-mutation handlers
The patch-admin, patch-status and delete-user handlers each repeated the same
session open/load/commit/rollback scaffold. Extract it into adminMutateUser,
which owns the transaction and takes a closure for each handler's distinct
guard-and-write step.
2026-06-11 19:32:42 +00:00
..
scalar feat(api-v2): vendor scalar api docs bundle 2026-05-31 15:23:32 +02:00
admin_projects.go feat(api/v2): add admin actions on /api/v2 2026-06-11 19:32:42 +00:00
admin_users.go refactor(api/v2): dedup the admin user-mutation handlers 2026-06-11 19:32:42 +00:00
api_tokens.go feat(api/v2): add API token list/create/delete on /api/v2 2026-06-05 08:49:23 +00:00
avatar.go docs(api/v2): keep registrar godoc attached; clarify registry concurrency + ordering 2026-06-03 13:14:13 +00:00
avatar_upload.go docs(api/v2): keep registrar godoc attached; clarify registry concurrency + ordering 2026-06-03 13:14:13 +00:00
bot_users.go feat(api/v2): add bot user CRUD on /api/v2 2026-06-05 08:51:39 +00:00
bulk_task.go feat(api/v2): add bulk task updates on /api/v2 2026-06-09 20:13:02 +00:00
caldav_tokens.go feat(api/v2): add CalDAV tokens on /api/v2 2026-06-10 17:55:52 +00:00
docs.go feat(api/v2): serve Scalar docs UI at /api/v2/docs 2026-05-31 12:56:57 +00:00
errors.go feat(api/v2): return 422 with invalid_fields for validation errors 2026-06-06 21:09:56 +00:00
errors_test.go fix(api/v2): don't leak internal error detail in 5xx responses 2026-05-31 12:56:57 +00:00
huma.go feat(api/v2): enforce validation centrally in the Register wrapper 2026-06-06 21:09:56 +00:00
label_task_bulk.go feat(api/v2): add bulk label replacement on /api/v2 2026-06-10 11:56:05 +02:00
label_tasks.go feat(api/v2): add task labels (create/list/delete) on /api/v2 2026-06-05 08:33:47 +00:00
labels.go feat(api/v2): report max_permission on label and project-view reads 2026-06-04 21:16:51 +00:00
link_sharing.go feat(api/v2): add link sharing (create/read/list/delete) 2026-06-05 09:17:25 +00:00
migration_oauth.go feat(api/v2): port OAuth migrators (Todoist, Trello, Microsoft To-Do) 2026-06-11 18:35:55 +00:00
notifications.go fix(api/v2): return 200 from notifications mark-all (creates nothing) 2026-06-07 10:05:24 +00:00
project_duplicate.go feat(api/v2): add project duplication on /api/v2 2026-06-09 20:11:43 +00:00
project_teams.go feat(api/v2): add project team shares CRUD on /api/v2 2026-06-07 15:33:20 +00:00
project_users.go feat(api/v2): add project user shares CRUD on /api/v2 2026-06-07 10:37:59 +00:00
project_views.go feat(api/v2): report max_permission on label and project-view reads 2026-06-04 21:16:51 +00:00
projects.go refactor(api/v2): align project max_permission to the shared embed pattern 2026-06-05 07:40:07 +00:00
reactions.go feat(api/v2): add reactions on /api/v2 2026-06-09 21:34:22 +00:00
registry.go docs(api/v2): keep registrar godoc attached; clarify registry concurrency + ordering 2026-06-03 13:14:13 +00:00
saved_filters.go feat(api/v2): add saved filter CRUD on /api/v2 2026-06-07 10:40:20 +00:00
sessions.go feat(api/v2): add session list/delete on /api/v2 2026-06-05 08:21:48 +00:00
subscriptions.go docs: trim wordy comments to load-bearing whys 2026-06-07 09:57:51 +00:00
task_assignees.go feat(api/v2): add task assignees (create/list/delete) on /api/v2 2026-06-06 19:06:12 +00:00
task_assignees_bulk.go feat(api/v2): add bulk assignee replacement on /api/v2 2026-06-09 19:42:16 +00:00
task_attachments.go feat(api/v2): add task attachments on /api/v2 2026-06-10 10:22:39 +00:00
task_bucket.go feat(api/v2): add kanban task-bucket moves on /api/v2 2026-06-09 20:01:20 +00:00
task_collection.go refactor(api/v2): dedup task collection query params via exported embed 2026-06-11 18:31:03 +00:00
task_comments.go feat(api/v2): report max_permission on task comment reads 2026-06-05 07:43:38 +00:00
task_duplicate.go docs(api/v2): keep registrar godoc attached; clarify registry concurrency + ordering 2026-06-03 13:14:13 +00:00
task_position.go feat(api/v2): add task position updates on /api/v2 2026-06-10 11:55:51 +02:00
task_relations.go feat(api/v2): add task relations on /api/v2 2026-06-09 20:42:00 +00:00
task_unread_status.go feat(api/v2): add task read-status marking on /api/v2 2026-06-09 19:50:58 +00:00
tasks.go fix(api/v2): return ErrProjectDoesNotExist for unknown project identifiers 2026-06-10 10:12:09 +00:00
team_members.go feat(api/v2): add team members (add/remove/admin-toggle) on /api/v2 2026-06-07 10:48:23 +00:00
teams.go feat(api/v2): report max_permission on team reads 2026-06-05 08:06:54 +00:00
time_entries.go feat(time-tracking): expose time entries on the v2 API 2026-06-08 13:54:09 +00:00
types.go feat(api/v2): add shared conditional read helper and document list params 2026-06-04 21:16:51 +00:00
user_deletion.go feat(api/v2): add user account-deletion flow on /api/v2 2026-06-10 19:15:05 +00:00
user_settings.go feat(api/v2): add user account/settings on /api/v2 2026-06-11 07:02:31 +00:00
user_totp.go feat(api/v2): add TOTP 2FA on /api/v2 2026-06-10 17:58:16 +00:00
user_webhooks.go feat(api/v2): add user webhooks on /api/v2 2026-06-10 19:12:41 +00:00
validation.go feat(api/v2): enforce validation centrally in the Register wrapper 2026-06-06 21:09:56 +00:00
webhooks.go refactor(webhooks): mask write-only credentials in the model so create/update never echo them 2026-06-06 19:50:41 +00:00