mirror of
https://github.com/Iconica-Development/flutter_timeline.git
synced 2025-05-19 10:33:44 +02:00
fix: fix FirebaseTimelineService now proper implements
This commit is contained in:
parent
7e7f74a02b
commit
525d8d3be6
1 changed files with 10 additions and 4 deletions
|
@ -13,8 +13,9 @@ import 'package:flutter_timeline_firebase/src/models/firebase_user_document.dart
|
||||||
import 'package:flutter_timeline_interface/flutter_timeline_interface.dart';
|
import 'package:flutter_timeline_interface/flutter_timeline_interface.dart';
|
||||||
import 'package:uuid/uuid.dart';
|
import 'package:uuid/uuid.dart';
|
||||||
|
|
||||||
class FirebaseTimelinePostService extends TimelinePostService
|
class FirebaseTimelinePostService
|
||||||
with TimelineUserService {
|
with TimelineUserService, ChangeNotifier
|
||||||
|
implements TimelinePostService {
|
||||||
FirebaseTimelinePostService({
|
FirebaseTimelinePostService({
|
||||||
required TimelineUserService userService,
|
required TimelineUserService userService,
|
||||||
FirebaseApp? app,
|
FirebaseApp? app,
|
||||||
|
@ -34,6 +35,9 @@ class FirebaseTimelinePostService extends TimelinePostService
|
||||||
|
|
||||||
final Map<String, TimelinePosterUserModel> _users = {};
|
final Map<String, TimelinePosterUserModel> _users = {};
|
||||||
|
|
||||||
|
@override
|
||||||
|
List<TimelinePost> posts = [];
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<TimelinePost> createPost(TimelinePost post) async {
|
Future<TimelinePost> createPost(TimelinePost post) async {
|
||||||
var postId = const Uuid().v4();
|
var postId = const Uuid().v4();
|
||||||
|
@ -119,14 +123,16 @@ class FirebaseTimelinePostService extends TimelinePostService
|
||||||
.get()
|
.get()
|
||||||
: await _db.collection(_options.timelineCollectionName).get();
|
: await _db.collection(_options.timelineCollectionName).get();
|
||||||
|
|
||||||
posts = <TimelinePost>[];
|
var fetchedPosts = <TimelinePost>[];
|
||||||
for (var doc in snapshot.docs) {
|
for (var doc in snapshot.docs) {
|
||||||
var data = doc.data();
|
var data = doc.data();
|
||||||
var user = await _userService.getUser(data['creator_id']);
|
var user = await _userService.getUser(data['creator_id']);
|
||||||
var post = TimelinePost.fromJson(doc.id, data).copyWith(creator: user);
|
var post = TimelinePost.fromJson(doc.id, data).copyWith(creator: user);
|
||||||
posts.add(post);
|
fetchedPosts.add(post);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
posts = fetchedPosts;
|
||||||
|
|
||||||
notifyListeners();
|
notifyListeners();
|
||||||
return posts;
|
return posts;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue