Commit Graph

1 Commits (97e3cf218992e21c7b5c8d42ed12bfd0ccbfcd13)

Author SHA1 Message Date
Supen.Huang 3538141345 feat(api): add comprehensive REST API for Project Boards
This adds a complete REST API implementation for managing repository
project boards, including projects, columns, and adding issues to columns.

API Endpoints:
- GET    /repos/{owner}/{repo}/projects          - List projects
- POST   /repos/{owner}/{repo}/projects          - Create project
- GET    /repos/{owner}/{repo}/projects/{id}     - Get project
- PATCH  /repos/{owner}/{repo}/projects/{id}     - Update project
- DELETE /repos/{owner}/{repo}/projects/{id}     - Delete project
- GET    /repos/{owner}/{repo}/projects/{id}/columns    - List columns
- POST   /repos/{owner}/{repo}/projects/{id}/columns    - Create column
- PATCH  /repos/{owner}/{repo}/projects/columns/{id}    - Update column
- DELETE /repos/{owner}/{repo}/projects/columns/{id}    - Delete column
- POST   /repos/{owner}/{repo}/projects/columns/{id}/issues - Add issue

Modified Files:
- models/project/issue.go: Added AddIssueToColumn function
- routers/api/v1/api.go: Registered project API routes
- routers/api/v1/swagger/options.go: Added project option types
- templates/swagger/v1_json.tmpl: Regenerated swagger spec

New Files:
- modules/structs/project.go: API request/response structs
- routers/api/v1/repo/project.go: API handlers
- routers/api/v1/swagger/project.go: Swagger definitions
- services/convert/project.go: Model to API conversion
- tests/integration/api_repo_project_test.go: Integration tests

Signed-off-by: SupenBysz <supen.huang@qq.com>
2025-11-27 04:09:36 +07:00