postlikesfetch method

Future<void> postlikesfetch(
  1. Rxn<List<Like>> likers,
  2. Post post, {
  3. bool fetchRestart = false,
})

Implementation

Future<void> postlikesfetch(Rxn<List<Like>> likers, Post post,
    {bool fetchRestart = false}) async {
  if (!fetchRestart && likers.value != null) {
    return;
  }

  if (fetchlikersStatus.value) {
    return;
  }
  fetchlikersStatus.value = true;

  if (fetchRestart) {
    likers.value = null;
  }
  PostLikesListResponse response =
      await service.postsServices.postlikeslist(postID: post.postID);
  if (!response.result.status) {
    log(response.result.description.toString());
    fetchlikersStatus.value = false;
    return;
  }

  //Eğer veri null ise nullu boz Yorumları başlatma dizisi eşitle
  likers.value ??= [];

  for (APIPostLiker element in response.response!) {
    String displayname = element.likerdisplayname.toString();
    String avatar = element.likeravatar.minURL.toString();
    String date = element.likedate.toString();
    int userID = element.likerID;
    log(userID.toString());
    Like like = Like(
      likeID: 1,
      user: User(
        userID: userID,
        displayName: displayname.obs,
        avatar: Media(
          mediaID: userID,
          mediaType: MediaType.image,
          mediaURL: MediaURL(
            bigURL: Rx<String>(avatar),
            normalURL: Rx<String>(avatar),
            minURL: Rx<String>(avatar),
          ),
        ),
      ),
      date: date,
    );

    likers.value!.add(like);
  }
  // postInfo.value.likers = likers.value;

  likers.refresh();
  fetchlikersStatus.value = false;
}