From 6c473af261e1bcea7d711108796de5458fce3388 Mon Sep 17 00:00:00 2001 From: emkartal1 Date: Tue, 1 Aug 2023 23:24:54 +0200 Subject: [PATCH 1/2] Improved functions --- .../justMUSIC/lib/services/PostService.dart | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/Sources/justMUSIC/lib/services/PostService.dart b/Sources/justMUSIC/lib/services/PostService.dart index 9aff8e2..7e71ff4 100644 --- a/Sources/justMUSIC/lib/services/PostService.dart +++ b/Sources/justMUSIC/lib/services/PostService.dart @@ -46,7 +46,7 @@ class PostService { {int limit = 10, int offset = 0}) async { DateTime twentyFourHoursAgo = DateTime.now().subtract(Duration(hours: 24)); Timestamp twentyFourHoursAgoTimestamp = - Timestamp.fromDate(twentyFourHoursAgo); + Timestamp.fromDate(twentyFourHoursAgo); QuerySnapshot> response = await FirebaseFirestore .instance @@ -62,22 +62,22 @@ class PostService { return filteredPosts; } + Timestamp _getTwentyFourHoursAgoTimestamp() { + DateTime twentyFourHoursAgo = DateTime.now().subtract(Duration(hours: 24)); + return Timestamp.fromDate(twentyFourHoursAgo); + } + Future>>> getPostsFriends( {int limit = 10, int offset = 0}) async { - var response = await FirebaseFirestore - .instance + var timestamp = _getTwentyFourHoursAgoTimestamp(); + var response = await FirebaseFirestore.instance .collection("posts") .where("user_id", whereIn: MyApp.userViewModel.userCurrent.followed) + .where("date", isGreaterThan: timestamp) + .orderBy("date") .limit(limit) .get(); - response.docs.sort((a, b) { - DateTime aDate = a.data()['date'].toDate(); - DateTime bDate = b.data()['date'].toDate(); - - return bDate.compareTo(aDate); - }); - return response.docs; } -- 2.36.3 From f758136e082e3cd1dec95787b64c4ae9729a74ac Mon Sep 17 00:00:00 2001 From: emkartal1 Date: Tue, 1 Aug 2023 23:31:10 +0200 Subject: [PATCH 2/2] Fix error :bug: --- .../justMUSIC/lib/view_model/PostViewModel.dart | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/Sources/justMUSIC/lib/view_model/PostViewModel.dart b/Sources/justMUSIC/lib/view_model/PostViewModel.dart index e74ab19..d60a4ce 100644 --- a/Sources/justMUSIC/lib/view_model/PostViewModel.dart +++ b/Sources/justMUSIC/lib/view_model/PostViewModel.dart @@ -36,11 +36,12 @@ class PostViewModel { ids.add(value.data()["song_id"]); return PostMapper.toModel(value); }).toList(); - _postsFriends = await Future.wait(postsFutures); + var posts = await Future.wait(postsFutures); List musics = await MyApp.musicViewModel.getMusicsWithIds(ids); - for (int i = 0; i < _postsFriends.length; i++) { - _postsFriends[i].music = musics[i]; + for (int i = 0; i < posts.length; i++) { + posts[i].music = musics[i]; } + _postsFriends = posts; return _postsFriends; } catch (e) { print(e); @@ -61,11 +62,12 @@ class PostViewModel { ids.add(value.data()["song_id"]); return PostMapper.toModel(value); }).toList(); - _bestPosts = await Future.wait(postsFutures); + var posts = await Future.wait(postsFutures); List musics = await MyApp.musicViewModel.getMusicsWithIds(ids); - for (int i = 0; i < _bestPosts.length; i++) { - _bestPosts[i].music = musics[i]; + for (int i = 0; i < posts.length; i++) { + posts[i].music = musics[i]; } + _bestPosts = posts; return _bestPosts; } catch (e) { print(e); -- 2.36.3