FIX: leaving a group channel should destroy membership (#24631)

In other kind of channels we will only unfollow but for group channels we don't want people to keep appearing in members list.

This commit also creates appropriate services:
- `Chat::LeaveChannel`
- `Chat::UnfollowChannel`

And dedicated endpoint for unfollow: `DELETE /chat/api/channels/:id/memberships/me/follows`
This commit is contained in:
Joffrey JAFFEUX
2023-11-29 17:48:14 +01:00
committed by GitHub
parent 11636f8736
commit 384a8b17a1
18 changed files with 409 additions and 66 deletions

View File

@ -22,6 +22,9 @@ Chat::Engine.routes.draw do
get "/channels/:channel_id/memberships" => "channels_memberships#index"
post "/channels/:channel_id/memberships" => "channels_memberships#create"
delete "/channels/:channel_id/memberships/me" => "channels_current_user_membership#destroy"
delete "/channels/:channel_id/memberships/me/follows" =>
"channels_current_user_membership_follows#destroy"
put "/channels/:channel_id/memberships/me" => "channels_current_user_membership#update"
post "/channels/:channel_id/memberships/me" => "channels_current_user_membership#create"
put "/channels/:channel_id/notifications-settings/me" =>
"channels_current_user_notifications_settings#update"