feat(llc): add support for AttachmentFileUploaderProvider. (#1246)
* feat(llc): add support for `AttachmentFileUploaderProvider`. Signed-off-by: xsahil03x <[email protected]> * chore(llc): update CHANGELOG.md Signed-off-by: xsahil03x <[email protected]>
This commit is contained in:
@@ -3,7 +3,6 @@ import 'dart:math';
|
||||
|
||||
import 'package:collection/collection.dart'
|
||||
show IterableExtension, ListEquality;
|
||||
import 'package:dio/dio.dart';
|
||||
import 'package:rxdart/rxdart.dart';
|
||||
import 'package:stream_chat/src/client/retry_queue.dart';
|
||||
import 'package:stream_chat/src/core/util/utils.dart';
|
||||
|
||||
@@ -70,8 +70,15 @@ class StreamChatClient {
|
||||
Duration receiveTimeout = const Duration(seconds: 6),
|
||||
StreamChatApi? chatApi,
|
||||
WebSocket? ws,
|
||||
AttachmentFileUploader? attachmentFileUploader,
|
||||
}) {
|
||||
@Deprecated('Use [attachmentFileUploaderProvider] instead')
|
||||
AttachmentFileUploader? attachmentFileUploader,
|
||||
AttachmentFileUploaderProvider? attachmentFileUploaderProvider,
|
||||
}) : assert(
|
||||
attachmentFileUploader == null ||
|
||||
attachmentFileUploaderProvider == null,
|
||||
'You can only use one of [attachmentFileUploader] '
|
||||
'or [attachmentFileUploaderProvider]',
|
||||
) {
|
||||
logger.info('Initiating new StreamChatClient');
|
||||
|
||||
final options = StreamHttpClientOptions(
|
||||
@@ -81,13 +88,23 @@ class StreamChatClient {
|
||||
headers: {'X-Stream-Client': defaultUserAgent},
|
||||
);
|
||||
|
||||
// TODO: simplify this once we remove the deprecated field.
|
||||
final AttachmentFileUploaderProvider fileUploaderProvider;
|
||||
if (attachmentFileUploaderProvider != null) {
|
||||
fileUploaderProvider = attachmentFileUploaderProvider;
|
||||
} else if (attachmentFileUploader != null) {
|
||||
fileUploaderProvider = (httpClient) => attachmentFileUploader;
|
||||
} else {
|
||||
fileUploaderProvider = StreamAttachmentFileUploader.new;
|
||||
}
|
||||
|
||||
_chatApi = chatApi ??
|
||||
StreamChatApi(
|
||||
apiKey,
|
||||
options: options,
|
||||
tokenManager: _tokenManager,
|
||||
connectionIdManager: _connectionIdManager,
|
||||
attachmentFileUploader: attachmentFileUploader,
|
||||
attachmentFileUploaderProvider: fileUploaderProvider,
|
||||
logger: detachedLogger('🕸️'),
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user