use super::unsupported;
use async_trait::async_trait;
use nagisa_types::prelude::*;
#[async_trait]
pub trait MilkyActions: Send + Sync + 'static {
async fn get_impl_info(&self) -> Result<crate::ImplInfo> {
Err(unsupported("get_impl_info"))
}
async fn get_friend_info(&self, _user: Uin) -> Result<FriendInfo> {
Err(unsupported("get_friend_info"))
}
async fn send_friend_nudge(&self, _user: Uin, _is_self: bool) -> Result<()> {
Err(unsupported("send_friend_nudge"))
}
async fn get_friend_requests(&self) -> Result<Vec<Request>> {
Err(unsupported("get_friend_requests"))
}
async fn get_resource_url(&self, _resource_id: &str) -> Result<String> {
Err(unsupported("get_resource_url"))
}
async fn set_peer_pin(&self, _peer: &Peer, _pinned: bool) -> Result<()> {
Err(unsupported("set_peer_pin"))
}
async fn get_peer_pins(&self) -> Result<(Vec<FriendInfo>, Vec<GroupInfo>)> {
Err(unsupported("get_peer_pins"))
}
async fn get_custom_face_url_list(&self) -> Result<Vec<String>> {
Err(unsupported("get_custom_face_url_list"))
}
async fn get_friend_requests_paged(&self, _limit: u32, _is_filtered: bool) -> Result<Vec<Request>> {
Err(unsupported("get_friend_requests"))
}
async fn get_group_notifications_paged(
&self,
_start_seq: Option<i64>,
_limit: u32,
_is_filtered: bool,
) -> Result<(Vec<Request>, Option<i64>)> {
Err(unsupported("get_group_notifications"))
}
async fn get_group_notices_paged(
&self,
_start_seq: Option<i64>,
_limit: u32,
_is_filtered: bool,
) -> Result<(Vec<Notice>, Option<i64>)> {
Err(unsupported("get_group_notifications"))
}
async fn get_history_messages_paged(
&self,
_peer: &Peer,
_start_seq: Option<i64>,
_limit: u32,
) -> Result<(Vec<MessageEvent>, Option<i64>)> {
Err(unsupported("get_history_messages"))
}
}