add method
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"}'});
}