onAddPost method

Future<Post?> onAddPost({
  1. required String feedGroup,
  2. Map<String, String>? data,
  3. required String verb,
  4. required String object,
  5. String? userId,
})

Add an Post to the feed in a reactive way

For example a tweet

FeedProvider.of(context).bloc.onAddPost()

Implementation

Future<Post?> onAddPost({
  required String feedGroup,
  Map<String, String>? data,
  required String verb,
  required String object,
  String? userId,
}) async {
  const post = Post();

  final response = await client.addPost(post);
  return response.fold(
    (failure) => null,
    (post) {
      final _postFeed = getPostFeed(feedGroup) ?? [];

      // ignore: cascade_invocations
      _postFeed.insert(0, post);

      controller.add(feedGroup, _postFeed);
      return post;
    },
  );
}