getlivechat method

Future<void> getlivechat({
  1. bool restartFetch = false,
})

Implementation

Future<void> getlivechat({bool restartFetch = false}) async {
  ChatFetchDetailResponse response =
      await service.chatServices.fetchdetailChat(
    chatID: chat.value!.user.userID!,
    chatCategory: chat.value!.chatType,
  );
  if (!response.result.status) {
    log(response.result.description);
    return;
  }

  if (response.response!.isEmpty) {
    return;
  }

  filteredchat.value!.messages.value ??= [];
  chat.value!.messages.value ??= [];

  if (restartFetch) {
    chat.value!.messages.value = [];
  }

  for (APIChatDetailList element in response.response!) {
    bool? ismee;
    if (element.sohbetKim == "ben") {
      ismee = true;
    } else {
      ismee = false;
    }

    chat.value!.messages.value!.add(
      ChatMessage(
        messageID: 0,
        isMe: ismee,
        messageContext: element.mesajIcerik,
        user: User(
          avatar: Media(
            mediaID: 0,
            mediaType: MediaType.image,
            mediaURL: MediaURL(
              bigURL: Rx(element.avatar),
              normalURL: Rx(element.avatar),
              minURL: Rx(element.avatar),
            ),
          ),
          displayName: Rx(element.adSoyad),
        ),
        isRead: element.durum == 1 ? true : false,
      ),
    );

    //SonMesajı güncelle
    chat.value!.lastmessage!.value = ChatMessage(
      messageID: 0,
      isMe: ismee,
      messageContext: element.mesajIcerik,
      user: User(
        userID: chat.value!.user.userID,
        avatar: chat.value!.user.avatar,
        displayName: chat.value!.user.displayName,
      ),
    );

    updateChat();
  }
}