feat(chat): add init and dispose chat, typing info, receive a messages

This commit is contained in:
alex
2024-07-03 16:50:09 +03:00
parent 424ce3cb34
commit 4c7519ee4c
27 changed files with 553 additions and 167 deletions

View File

@@ -3,29 +3,13 @@ import 'package:eatvio_app/core/app_export.dart';
import 'package:eatvio_app/core/initialization_cubit/initialization_state.dart';
import 'package:eatvio_app/core/token_storage.dart';
import 'package:eatvio_app/features/chat/repositories/chat_repository.dart';
import 'package:dio/dio.dart';
class InitializationCubit extends Cubit<InitializationState> {
final ChatRepository chatRepository;
InitializationCubit({required this.chatRepository}) : super(const InitializationState.loading());
// final myPrivateChannel = client.privateChannel(
// 'private-new-chat-messages.${wsUrl.userId}',
// authorizationDelegate: EndpointAuthorizableChannelTokenAuthorizationDelegate.forPrivateChannel(
// authorizationEndpoint: Uri.parse('https://mobile-stage.eatvio.ru/broadcasting/auth'),
// headers: {
// 'Authorization': 'Bearer ${await TokenStorage.getTokenFromStorage()}',
// },
// ),
// );
// myPrivateChannel.subscribe();
// myPrivateChannel.bindToAll().listen((event) {
// print(event.name);
// });
runInitialization() async {
Future<void> runInitialization() async {
try {
await TokenStorage.haveTokenInStorage();
final wsUrl = await chatRepository.getWebsocket();
@@ -63,6 +47,7 @@ class InitializationCubit extends Cubit<InitializationState> {
emit(InitializationState.error(
errorMessage: e.toString(),
));
rethrow;
}
}
}