getChannel static method
Gets a GroupChannel
with given channel URL.
Implementation
static Future<GroupChannel> getChannel(
String channelUrl, {
Chat? chat,
}) async {
sbLog.i(StackTrace.current, 'channelUrl: $channelUrl');
chat ??= SendbirdChat().chat;
GroupChannel? channel =
chat.channelCache.find<GroupChannel>(channelKey: channelUrl);
if (channel != null && !channel.dirty) {
channel.fromCache = true;
return channel;
}
try {
final channel = await GroupChannel.refresh(channelUrl, chat: chat);
return channel;
} catch (e) {
//+ [DBManager]
if (chat.dbManager.isEnabled()) {
if (chat.currentUser != null) {
final channel = await chat.dbManager.getGroupChannel(channelUrl);
if (channel != null) {
channel.fromCache = true;
return channel;
}
}
}
//- [DBManager]
rethrow;
}
}