Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Friendships

POST /friendships

Creates new friendship relationship and returns the created friendship

Expected body:

{
	"user1Id": 16,
	"user2Id": 19,
	"status?": 0 // optional; default = 0
}

GET /friendships/:id/request-direction

Returns a FriendRequestDirection that indicates whether the user is the friend request sender or the receiver.

If the friendship status is not Pending, the friendship is not a friend request and the FriendshipService will throw a BadRequestException.

The FriendRequestDirection is simply an enum, with value 0 if the user is the sender, and 1 if the user is the receiver. This is determined by the order of the user1Id and user2Id columns in the friendship table in the database.

GET /friendships/:id/block-direction

Returns a BlockDirection that indicates whether the user is the blocker or the blocked user.

The BlockDirection is an enum, with value 0 if the user is the blocker, and 1 if the user is blocked. This is determined by the userId and blockedUserId columns in the blocked_friendship table in the database.

PATCH /friendships/:id/block

Blocks a user (i.e. sets the friendship’s status to 2 and creates a row in the blocked_friendship table in the database).

No expected body.

PATCH /friendships/:id/unblock

Unblocks a user (i.e. sets the friendship’s status to 1 and deletes the corresponding row from the blocked_friendship table in the database).

No expected body.

PATCH /friendships/:id/accept-request

Accepts a friend request (i.e. sets the friendship’s status to 1).

No expected body.

Returns the updated friendship.

DELETE /friendships/:id/deny-request

Denies a friend request (i.e. removes the friendship). The difference with a simple DELETE /frieds/:id is that the deny-request one includes some extra logic.

DELETE /friendships/:id

Deletes a friendship by friendship id.