Class RelationshipController
- java.lang.Object
- 
- edu.cnm.deepdive.tunefull.controller.RelationshipController
 
- 
 @RestController @ExposesResourceFor(Relationship.class) public class RelationshipController extends java.lang.Object RelationshipControllerprovides endpoints which allow the client to access data relating toRelationship.- Since:
- 1.0
- Version:
- 1.0
- Author:
- Robert Dominugez, Roderick Frechette, Laura Steiner
 
- 
- 
Constructor SummaryConstructors Constructor Description RelationshipController(RelationshipService relationshipService, UserService userService)Autowired constructor forRelationshipController.
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.List<Relationship>myFollows(org.springframework.security.core.Authentication auth)Gets all relationships in which the current user is following another user.java.util.List<Relationship>myFriends(org.springframework.security.core.Authentication auth)Gets all relationships in which the current user is a friend.java.util.List<Relationship>myPendingRequests(org.springframework.security.core.Authentication auth)Gets all relationships in which the user has received a friend request and hasn't yet responded.RelationshiprequestFriendship(org.springframework.security.core.Authentication auth, User user)Creates a relationship between the current user and another user.booleansetFriendshipAccepted(org.springframework.security.core.Authentication auth, long relationshipId, boolean accepted)Updates a relationship between two users.RelationshipstartFollowing(org.springframework.security.core.Authentication auth, User user)Lets the current user start following another user.
 
- 
- 
- 
Constructor Detail- 
RelationshipControllerpublic RelationshipController(RelationshipService relationshipService, UserService userService) Autowired constructor forRelationshipController.- Parameters:
- relationshipService- RelationshipService
- userService- UserService
 
 
- 
 - 
Method Detail- 
myFriends@GetMapping(value="/friendships", produces="application/json") public java.util.List<Relationship> myFriends(org.springframework.security.core.Authentication auth)Gets all relationships in which the current user is a friend.- Parameters:
- auth- Authentication
- Returns:
- List<Relationship>
 
 - 
myFollows@GetMapping(value="/follows", produces="application/json") public java.util.List<Relationship> myFollows(org.springframework.security.core.Authentication auth)Gets all relationships in which the current user is following another user.- Parameters:
- auth- Authentication
- Returns:
- List<Relationship>
 
 - 
myPendingRequests@GetMapping(value="/pending", produces="application/json") public java.util.List<Relationship> myPendingRequests(org.springframework.security.core.Authentication auth)Gets all relationships in which the user has received a friend request and hasn't yet responded.- Parameters:
- auth- Authentication
- Returns:
- List<Relationship>
 
 - 
requestFriendship@ResponseStatus(CREATED) @PostMapping(value="/friendships", consumes="application/json", produces="application/json") public Relationship requestFriendship(org.springframework.security.core.Authentication auth, @RequestBody User user)Creates a relationship between the current user and another user. This relationship is not yet a friendship, but is a follow and a friend request rolled into one.- Parameters:
- auth- Authentication
- user- User
- Returns:
- a new relationship between two users.
 
 - 
startFollowing@ResponseStatus(CREATED) @PostMapping(value="/follows", consumes="application/json", produces="application/json") public Relationship startFollowing(org.springframework.security.core.Authentication auth, @RequestBody User user)Lets the current user start following another user.- Parameters:
- auth- Authentication
- user- User
- Returns:
- a new relationship following another user
 
 - 
setFriendshipAccepted@PutMapping(value="/friendships/{relationshipId}", consumes="application/json", produces="application/json") public boolean setFriendshipAccepted(org.springframework.security.core.Authentication auth, @PathVariable long relationshipId, @RequestBody boolean accepted)Updates a relationship between two users.- Parameters:
- auth- Authentication
- relationshipId- long
- accepted- boolean
- Returns:
- the updated relationship
 
 
- 
 
-