use jacquard_api::app_bsky::actor::PreferencesItem;
use jacquard_api::app_bsky::actor::get_preferences::{GetPreferences, GetPreferencesOutput};
use jacquard_api::app_bsky::actor::put_preferences::PutPreferences;
pub struct PreferencesUpdate;
impl super::VecUpdate for PreferencesUpdate {
type GetRequest = GetPreferences;
type PutRequest = PutPreferences;
type Item = PreferencesItem;
fn build_get() -> Self::GetRequest {
GetPreferences
}
fn extract_vec(output: GetPreferencesOutput) -> Vec<Self::Item> {
output.preferences
}
fn build_put(items: Vec<Self::Item>) -> Self::PutRequest {
PutPreferences::new().preferences(items).build()
}
fn matches(a: &Self::Item, b: &Self::Item) -> bool {
std::mem::discriminant(a) == std::mem::discriminant(b)
}
}