F1: Implement and document /projects API
Description: Create /projects API to manage collaboration projects:
- GET /{project_id} returns {CollaborationProject} by ID
- PUT /{project_ID} body {CollaborationProject} returns updated {CollaborationProject}
- PATCH /{project_ID} body [{"op":"","path":"","value":""},...] returns patched {CollaborationProject}
- DELETE /{project_id} soft deletes {CollaborationProject} by ID
Acceptance criteria:
- Endpoints exist and responds with dummy (mocked) data.
- Endpoints present in the OpenAPI YAML
- Endpoints present in the OpenAPI /docs
- Endpoints' input/output CollaborationProject schema shown in the OpenAPI documentation
- All OpenAPI documentation is autogenerated from the API classes/codes descriptions.
Testing scenarios:
- As an API user I can get complete OpenAPI documentation about all API methods
- as a rendered OpenAPI YAML document in the service repository on Gitlab
- as a rendered OpenAPI YAML document by the deployed service's /docs endpoint
- As an API user I get expected (as documented by the OpenAPI documentation) response from any of API methods
Tech Notes:
- List of identified resources based on: CollaborationProject.1.0.0.md and CollaborationProject.1.0.0.json
Edited by Rostislav Dublin (EPAM)