createConversation method
Future<Conversation>
createConversation({
- required ConversationMode mode,
- ConversationType type = ConversationType.group,
- String? name,
- List<
String> ? participantIds, - Duration? expiresIn,
- Map<
String, dynamic> ? extra,
Create a new conversation.
mode is required. type defaults to ConversationType.group.
expiresIn is optional expiry duration for ephemeral conversations.
Implementation
Future<Conversation> createConversation({
required ConversationMode mode,
ConversationType type = ConversationType.group,
String? name,
List<String>? participantIds,
Duration? expiresIn,
Map<String, dynamic>?
extra, // For future extensibility (e.g. displayName, avatarUrl)
}) async {
_ensureInitialized();
final createdConversation = await _registry.adapter.createConversation(
CreateConversationParams(
type: type,
mode: mode,
name: name,
participantIds: participantIds,
expiresIn: expiresIn,
extra: extra,
),
);
final conversation =
await _registry.adapter.getConversation(createdConversation.id);
await _database.insertConversation(conversation!);
return _stampCurrentUser(conversation);
}