news_flash/models/
plugin_capabilities.rs1use bitflags::bitflags;
2
3bitflags! {
4 #[derive(Clone, Copy, Default, Debug)]
5 pub struct PluginCapabilities: u32 {
6 const NONE = 0b0000_0000;
7 const ADD_REMOVE_FEEDS = 0b0000_0001;
8 const SUPPORT_CATEGORIES = 0b0000_0010;
9 const MODIFY_CATEGORIES = 0b0000_0100;
10 const SUPPORT_TAGS = 0b0000_1000;
11 const SUPPORT_SUBCATEGORIES = 0b0001_0000;
12 const EDIT_FEED_URLS = 0b0010_0000;
13 }
14}
15
16impl PluginCapabilities {
17 pub fn support_mutation(&self) -> bool {
18 self.contains(PluginCapabilities::ADD_REMOVE_FEEDS) && self.contains(PluginCapabilities::MODIFY_CATEGORIES)
19 }
20}