feat: implement admin API (users, orgs, cron, hooks) #13
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Context
Admin endpoints allow Gitea instance administrators to manage users, organisations,
and server tasks without logging into the web UI. Required for automated provisioning,
user onboarding pipelines, and scheduled maintenance.
Endpoints to implement
/admin/usersadmin_list_users/admin/usersadmin_create_user/admin/users/{username}admin_edit_user/admin/users/{username}admin_delete_user/admin/users/{username}/reposadmin_create_user_repo/admin/users/{username}/renameadmin_rename_user/admin/users/{username}/orgsadmin_create_org/admin/orgsadmin_list_orgs/admin/hooksadmin_list_hooks/admin/hooksadmin_create_hook/admin/hooks/{id}admin_edit_hook/admin/hooks/{id}admin_delete_hook/admin/cronadmin_list_cron/admin/cron/{task}admin_run_cron/admin/emailsadmin_list_emails/admin/emails/searchadmin_search_emailsAcceptance Criteria
admin_*tools document in their docstring that they require admin privilegesadmin_create_useraccepts:username,email,password,must_change_password,send_notifyadmin_delete_userreturns{"success": true}on 204; docstring warns about irreversibilityadmin_list_userssupportslimitandpagepaginationadmin_run_cron(task)returns{"success": true}on 204Technical Notes
POST /admin/usersbody:{"username": "alice", "email": "alice@example.com", "password": "...", "must_change_password": true}PATCH /admin/users/{username}body: subset of user fields — all optional/admin/hooks) fire for all repositories on the instance