LCOV - code coverage report
Current view: top level - client - batch_operations_client.dart (source / functions) Hit Total Coverage
Test: lcov.info Lines: 1 28 3.6 %
Date: 2021-04-14 08:03:52 Functions: 0 0 -

          Line data    Source code
       1             : import 'package:stream_feed_dart/src/core/api/batch_api.dart';
       2             : import 'package:stream_feed_dart/src/core/models/activity.dart';
       3             : import 'package:stream_feed_dart/src/core/models/enriched_activity.dart';
       4             : import 'package:stream_feed_dart/src/core/models/feed_id.dart';
       5             : import 'package:stream_feed_dart/src/core/models/follow.dart';
       6             : import 'package:stream_feed_dart/src/core/models/foreign_id_time_pair.dart';
       7             : import 'package:stream_feed_dart/src/core/util/default.dart';
       8             : import 'package:stream_feed_dart/src/core/util/token_helper.dart';
       9             : 
      10             : class BatchOperationsClient {
      11           1 :   BatchOperationsClient(this.batch, {required this.secret});
      12             :   final String secret;
      13             :   final BatchApi batch;
      14             : 
      15             :   /// Add one activity to many feeds
      16             :   ///
      17             :   /// It takes in parameters:
      18             :   /// - [activity] : the [Activity] to add
      19             :   /// - [feedIds] : an Iterable of feed ids [FeedId]
      20             :   ///
      21             :   /// API docs: [batch-activity-add](https://getstream.io/activity-feeds/docs/flutter-dart/add_many_activities/?language=dart#batch-activity-add)
      22           0 :   Future<void> addToMany(Activity activity, Iterable<FeedId> feedIds) {
      23             :     //TODO: why is this void vs Future<APIResponse> compared to js client
      24           0 :     final token = TokenHelper.buildFeedToken(secret, TokenAction.write);
      25           0 :     return batch.addToMany(token, activity, feedIds);
      26             :   }
      27             : 
      28             :   /// Follow multiple feeds with one API call
      29             :   ///
      30             :   /// It takes in parameters:
      31             :   /// - [follows] : The follow relations to create
      32             :   /// - [activityCopyLimit] : How many activities should be copied
      33             :   /// from the target feed
      34             :   ///
      35             :   /// API docs: [add_many_activities](https://getstream.io/activity-feeds/docs/flutter-dart/add_many_activities/?language=dart#batch-follow)
      36             :   ///
      37           0 :   Future<void> followMany(
      38             :     Iterable<Follow> follows, {
      39             :     int? activityCopyLimit,
      40             :   }) {
      41           0 :     final token = TokenHelper.buildFollowToken(secret, TokenAction.write);
      42           0 :     return batch.followMany(
      43             :         token, activityCopyLimit ?? Default.activityCopyLimit, follows);
      44             :   }
      45             : 
      46             :   /// Unfollow multiple feeds with one API call
      47             :   /// This feature is usually restricted,
      48             :   /// please contact support if you face an issue
      49             :   ///
      50             :   /// It takes in parameter:
      51             :   ///
      52             :   ///  [unfollows]: The follow relations to remove
      53             :   ///
      54             :   /// API docs : [batch-unfollow](https://getstream.io/activity-feeds/docs/flutter-dart/add_many_activities/?language=dart#batch-unfollow)
      55             :   ///
      56           0 :   Future<void> unfollowMany(
      57             :     Iterable<Follow> unfollows, {
      58             :     // TODO: seems to be Iterable<UnFollow> unfollows here
      59             :     required bool keepHistory,
      60             :   }) {
      61           0 :     final token = TokenHelper.buildFollowToken(secret, TokenAction.write);
      62           0 :     return batch.unfollowMany(
      63             :       token,
      64           0 :       unfollows.map((e) => UnFollow.fromFollow(e, keepHistory)),
      65             :     );
      66             :   }
      67             : 
      68           0 :   Future<Iterable<Activity>> getActivitiesById(Iterable<String> ids) {
      69           0 :     final token = TokenHelper.buildActivityToken(secret, TokenAction.read);
      70           0 :     return batch.getActivitiesById(token, ids);
      71             :   }
      72             : 
      73           0 :   Future<Iterable<EnrichedActivity>> getEnrichedActivitiesById(
      74             :       Iterable<String> ids) {
      75           0 :     final token = TokenHelper.buildActivityToken(secret, TokenAction.read);
      76           0 :     return batch.getEnrichedActivitiesById(token, ids);
      77             :   }
      78             : 
      79           0 :   Future<Iterable<Activity>> getActivitiesByForeignId(
      80             :       Iterable<ForeignIdTimePair> pairs) {
      81           0 :     final token = TokenHelper.buildActivityToken(secret, TokenAction.read);
      82           0 :     return batch.getActivitiesByForeignId(token, pairs);
      83             :   }
      84             : 
      85           0 :   Future<Iterable<EnrichedActivity>> getEnrichedActivitiesByForeignId(
      86             :       Iterable<ForeignIdTimePair> pairs) {
      87           0 :     final token = TokenHelper.buildActivityToken(secret, TokenAction.read);
      88           0 :     return batch.getEnrichedActivitiesByForeignId(token, pairs);
      89             :   }
      90             : 
      91           0 :   Future<void> updateActivity(Activity activity) =>
      92           0 :       updateActivities([activity]);
      93             : 
      94           0 :   Future<void> updateActivities(Iterable<Activity> activities) {
      95           0 :     final token = TokenHelper.buildActivityToken(secret, TokenAction.write);
      96           0 :     return batch.updateActivities(token, activities);
      97             :   }
      98             : }

Generated by: LCOV version 1.15