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
This commit is contained in:
Joffrey JAFFEUX
2023-11-10 11:29:28 +01:00
committed by GitHub
parent a8d6dc4d3a
commit ab832cc865
121 changed files with 2969 additions and 2332 deletions

View File

@ -15,7 +15,6 @@
"muted": { "type": "boolean" },
"desktop_notification_level": { "type": "string" },
"mobile_notification_level": { "type": "string" },
"last_viewed_at": { "type": "string" },
"following": { "type": "boolean" },
"user": {
"type": ["object", "null"],
@ -24,7 +23,9 @@
"id": { "type": "number" },
"name": { "type": "string" },
"avatar_template": { "type": "string" },
"username": { "type": "string" }
"username": { "type": "string" },
"can_chat": { "type": "boolean" },
"has_chat_enabled": { "type": "boolean" }
}
},
"last_viewed_at": { "type": "datetime" }