discourse/plugins/chat/app/serializers/chat/basic_user_serializer.rb
Joffrey JAFFEUX ab832cc865
FEATURE: introduces group channels (#24288)
Group channels will allow users to create channels with a name and invite people. It's possible to add people even after creation of the channel. Removing users is not yet possible but will be added in the near future.

Technically a group channel is `direct_message_channel` with a group attribute set to true on its direct message (chatable). This model might evolve in the future but offers much flexibility for now without having to rely on a complex migration.

The commit essentially consists of:
- a migration to set existing direct message channels with more than 2 users to a group
- a new message creator which allows to search, add members, and create groups
- a new `AddUsersToChannel` service
- a modified `SearchChatable` service
2023-11-10 11:29:28 +01:00

16 lines
309 B
Ruby

# frozen_string_literal: true
module Chat
class BasicUserSerializer < BasicUserSerializer
attributes :can_chat, :has_chat_enabled
def can_chat
SiteSetting.chat_enabled && scope&.can_chat?
end
def has_chat_enabled
can_chat && object.user_option&.chat_enabled
end
end
end