createSingleChat method

Future<String> createSingleChat({
  1. required String peerEmail,
  2. required String message,
  3. BuildContext? context,
})

context if you pass the context the the chat will open after send message throw You cant start chat if you start chat your self throw Exception if peer Email Not in v chat Data base ! so first you must migrate all users throw No internet connection

Implementation

Future<String> createSingleChat({
  required String peerEmail,
  required String message,
  BuildContext? context,
}) async {
  final roomData =
      await _vChatUsersApi.createNewSingleRoom(message, peerEmail);
  if (context != null) {
    final room = VChatRoom.fromMap(roomData);
    await LocalStorageService.instance.setRoomOrUpdate(room);
    RoomCubit.instance.updateOneRoomInRamAndSort(room);
    RoomCubit.instance.currentRoomId = room.id;
    Navigator.push(
      context,
      MaterialPageRoute(
        builder: (_) => MessageView(
          roomId: room.id,
        ),
      ),
    );
  }

  return "Message has been send";
}