-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
enhancementNew feature or requestNew feature or request
Description
User stories:
- As a Person, I want to be able to send a connection request to other Persons.
- As a Person, I want to be able to delete (cancel) a connection request to other Persons.
- As a Person with pending request, I want to be able to accept the pending request.
- As a Person with pending request, I want to be able to decline the pending request.
- As a Person, I want to be able to query my connections.
- As a Person, I want to be able to query my connection requests.
- As a Person, I want to be able to remove my connection.
Subtasks:
- Model:
- Create Person class
- Create Connection class
- Create ConnectionRequest class
- Controllers:
- Create ConnectionController class with endpoints:
- GET /connections - query all Connections for a specified Person
- DELETE /connections/{id} - delete Connection by id
- GET /connections/requests - query all ConnectionRequests for a specified Person (both receiving and sending)
- DELETE /connections/requests/{id} - delete ConnectionRequest by id (used for canceling and denying a request)
- POST /connections/requests - create a ConnectionRequest (Person JSON)
- POST /connections/requests/accept/{id} - accepts a pending ConnectionRequest
- Create ConnectionController class with endpoints:
- Repository:
- Create ConnectionRepository class that can:
- query Connections for a Person
- create Connection and store it in the database
- remove Connection from the database
- Create ConnectionRequestRepository class that can:
- query ConnectionRequests for a Person
- create ConnectionRequest and store it in the database
- remove ConnectionRequest from the database
- Create ConnectionRepository class that can:
- Services:
- ? Service to handle Person logic
- Service to handle Connection logic
- Service to handle ConnectionRequest logic
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request