add method

Future<void> add(
  1. dynamic subreddit
)

Adds subreddit to the list of filtered subreddits.

Filtered subreddits will no longer be included when requesting listings from /r/all. subreddit can be either an instance of String or SubredditRef.

Implementation

Future<void> add(/* String, Subreddit */ subreddit) async {
  var filteredSubreddit = '';
  if (subreddit is String) {
    filteredSubreddit = subreddit;
  } else if (subreddit is SubredditRef) {
    filteredSubreddit = subreddit.displayName;
  } else {
    throw DRAWArgumentError(
        "Field 'subreddit' must be either a 'String' or 'SubredditRef'");
  }

  final user = (await _subreddit.reddit.user.me()) as Redditor;
  final path = apiPath['subreddit_filter']
      .replaceAll(SubredditRef._subredditRegExp, filteredSubreddit)
      .replaceAll(_userRegExp, user.displayName)
      .replaceAll(_specialRegExp, _subreddit.displayName);
  await _subreddit.reddit
      .put(path, body: {'model': '{"name" : "$filteredSubreddit"}'});
}