2.0 KiB
2.0 KiB
MODIFIED Requirements
Requirement: Project operations
The client SHALL provide methods to list all accessible projects (GET /projects), get a single project by ID (GET /projects/{id}), create a project (POST /projects), and delete a project (DELETE /projects/{id}).
Scenario: List projects
- WHEN
ListProjectsis called - THEN the client SHALL send
GET /projectsand return a slice of Project models
Scenario: Get project
- WHEN
GetProjectis called with a project ID - THEN the client SHALL send
GET /projects/{id}and return a Project model
Scenario: Create project
- WHEN
CreateProjectis called with project fields (type, name, description) - THEN the client SHALL send
POST /projectswith the provided fields and return the created Project
Scenario: Delete project
- WHEN
DeleteProjectis called with a project ID - THEN the client SHALL send
DELETE /projects/{id}
Requirement: Board operations
The client SHALL provide a method to get a single board by ID (GET /boards/{id}), list board actions (GET /boards/{boardId}/actions) with pagination support, create a board (POST /projects/{projectId}/boards), and delete a board (DELETE /boards/{id}).
Scenario: Get board
- WHEN
GetBoardis called with a board ID - THEN the client SHALL send
GET /boards/{id}and return a Board model including its included lists
Scenario: List board actions
- WHEN
ListBoardActionsis called with a board ID and limit - THEN the client SHALL send paginated
GET /boards/{boardId}/actionsrequests and return a slice of Action models
Scenario: Create board
- WHEN
CreateBoardis called with a project ID and board fields (name, position) - THEN the client SHALL send
POST /projects/{projectId}/boardswith the provided fields and return the created Board
Scenario: Delete board
- WHEN
DeleteBoardis called with a board ID - THEN the client SHALL send
DELETE /boards/{id}