40 lines
2.0 KiB
Markdown
40 lines
2.0 KiB
Markdown
## 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** `ListProjects` is called
|
|
- **THEN** the client SHALL send `GET /projects` and return a slice of Project models
|
|
|
|
#### Scenario: Get project
|
|
- **WHEN** `GetProject` is called with a project ID
|
|
- **THEN** the client SHALL send `GET /projects/{id}` and return a Project model
|
|
|
|
#### Scenario: Create project
|
|
- **WHEN** `CreateProject` is called with project fields (type, name, description)
|
|
- **THEN** the client SHALL send `POST /projects` with the provided fields and return the created Project
|
|
|
|
#### Scenario: Delete project
|
|
- **WHEN** `DeleteProject` is 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** `GetBoard` is 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** `ListBoardActions` is called with a board ID and limit
|
|
- **THEN** the client SHALL send paginated `GET /boards/{boardId}/actions` requests and return a slice of Action models
|
|
|
|
#### Scenario: Create board
|
|
- **WHEN** `CreateBoard` is called with a project ID and board fields (name, position)
|
|
- **THEN** the client SHALL send `POST /projects/{projectId}/boards` with the provided fields and return the created Board
|
|
|
|
#### Scenario: Delete board
|
|
- **WHEN** `DeleteBoard` is called with a board ID
|
|
- **THEN** the client SHALL send `DELETE /boards/{id}`
|