addToPersonalRecommendations method

Future<AddToSyncResponse> addToPersonalRecommendations({
  1. List<Tuple2<Movie, String?>> movies = const [],
  2. List<Tuple2<Show, String?>> shows = const [],
})

Add items to a user's personal recommendations including optional notes (255 maximum characters) explaining why they recommended an item. These recommendations are used to enchance Trakt's social recommendation algorithm. Apps should encourage user's to build their personal recommendations so the algorithm keeps getting better.

movies - a list of tuples consisting of a Movie and optional note to be added. shows - a list of tuples consisting of a Show and optional note to be added.

🔒 OAuth Required 😁 Emojis

Implementation

Future<AddToSyncResponse> addToPersonalRecommendations({
  List<Tuple2<Movie, String?>> movies = const [],
  List<Tuple2<Show, String?>> shows = const [],
}) async {
  Map<String, dynamic> body = {};
  if (movies.isNotEmpty) {
    body["movies"] = movies.map((tuple) {
      final meta = tuple.item1.metadata;
      if (tuple.item2 != null) {
        meta["note"] = tuple.item2;
      }
      return meta;
    }).toList();
  }
  if (shows.isNotEmpty) {
    body["shows"] = shows.map((tuple) {
      final meta = tuple.item1.metadata;
      if (tuple.item2 != null) {
        meta["note"] = tuple.item2;
      }
      return meta;
    }).toList();
  }

  return await _manager._authenticatedPost<AddToSyncResponse>(
      "sync/recommendations",
      body: jsonEncode(body));
}