@@ -10,6 +10,8 @@ import 'package:get/get.dart';
1010import 'package:meilisearch/meilisearch.dart' ;
1111import 'package:resonate/controllers/auth_state_controller.dart' ;
1212import 'package:resonate/models/chapter.dart' ;
13+ import 'package:resonate/models/live_chapter_attendees_model.dart' ;
14+ import 'package:resonate/models/live_chapter_model.dart' ;
1315import 'package:resonate/models/resonate_user.dart' ;
1416import 'package:resonate/models/story.dart' ;
1517import 'package:resonate/services/appwrite_service.dart' ;
@@ -97,6 +99,9 @@ class ExploreStoryController extends GetxController {
9799 story.chapters = storyChapters;
98100 story.isLikedByCurrentUser.value = hasUserLiked;
99101 story.likesCount.value = likes;
102+
103+ final liveChapter = await fetchLiveChapterForStory (story.storyId);
104+ story.liveChapter = liveChapter;
100105 isLoadingStoryPage.value = false ;
101106 }
102107
@@ -671,6 +676,34 @@ class ExploreStoryController extends GetxController {
671676 return currentStoryChapters;
672677 }
673678
679+ Future <LiveChapterModel ?> fetchLiveChapterForStory (String storyId) async {
680+ List <Document > liveStoryDocuments = await databases
681+ .listDocuments (
682+ databaseId: storyDatabaseId,
683+ collectionId: liveChaptersCollectionId,
684+ queries: [Query .equal ('storyId' , storyId)],
685+ )
686+ .then ((value) => value.documents);
687+ if (liveStoryDocuments.isEmpty) {
688+ return null ;
689+ }
690+
691+ final attendeesDocument = await databases.getDocument (
692+ databaseId: userDatabaseID,
693+ collectionId: liveChapterAttendeesCollectionId,
694+ documentId: liveStoryDocuments.first.data['\$ id' ],
695+ );
696+
697+ final attendeesModel = LiveChapterAttendeesModel .fromJson (
698+ attendeesDocument.data,
699+ );
700+ final liveChapterModel = LiveChapterModel .fromJson (
701+ liveStoryDocuments.first.data,
702+ ).copyWith (attendees: attendeesModel);
703+
704+ return liveChapterModel;
705+ }
706+
674707 Future <bool > checkIfStoryLikedByUser (String storyId) async {
675708 List <Document > userLikeDocuments = await databases
676709 .listDocuments (
0 commit comments