Skip to content

Commit 5784513

Browse files
committed
feat(api): Add comprehensive REST API for Project Boards
Implements complete REST API for Gitea's Project Board feature with 10 new endpoints enabling programmatic project management. Features: - Project CRUD operations (create, read, update, delete, list) - Column management (create, update, delete, list) - Issue assignment and movement between columns - State filtering (open/closed/all) - Pagination support - Comprehensive permission checks - Full Swagger/OpenAPI documentation API Endpoints: - GET /repos/{owner}/{repo}/projects - POST /repos/{owner}/{repo}/projects - GET /repos/{owner}/{repo}/projects/{id} - PATCH /repos/{owner}/{repo}/projects/{id} - DELETE /repos/{owner}/{repo}/projects/{id} - GET /repos/{owner}/{repo}/projects/{id}/columns - POST /repos/{owner}/{repo}/projects/{id}/columns - PATCH /repos/{owner}/{repo}/projects/columns/{id} - DELETE /repos/{owner}/{repo}/projects/columns/{id} - POST /repos/{owner}/{repo}/projects/columns/{id}/issues Implementation follows Gitea's standard patterns: - Router → Service → Model architecture - Proper access control with token scopes - Comprehensive error handling - Full test coverage with 11 test functions Files changed: - routers/api/v1/repo/project.go (new, 710 lines) - modules/structs/project.go (new, 139 lines) - services/convert/project.go (new, 92 lines) - models/project/issue.go (+61 lines for AddIssueToColumn) - routers/api/v1/api.go (+17 lines for route registration) - tests/integration/api_repo_project_test.go (new, 604 lines) - docs/API_PROJECT_BOARD.md (new, comprehensive documentation) No breaking changes. No migration required.
1 parent ed977d9 commit 5784513

File tree

7 files changed

+2470
-0
lines changed

7 files changed

+2470
-0
lines changed

0 commit comments

Comments
 (0)