diff --git a/src/mastodon_client.rs b/src/mastodon_client.rs deleted file mode 100644 index 45e9c00..0000000 --- a/src/mastodon_client.rs +++ /dev/null @@ -1,370 +0,0 @@ -use std::borrow::Cow; - -use crate::{ - entities::prelude::*, - errors::Result, - http_send::{HttpSend, HttpSender}, - page::Page, - requests::{ - AddFilterRequest, - AddPushRequest, - StatusesRequest, - UpdateCredsRequest, - UpdatePushRequest, - }, - status_builder::NewStatus, -}; - -/// Represents the set of methods that a Mastodon Client can do, so that -/// implementations might be swapped out for testing -#[allow(unused)] -pub trait MastodonClient { - /// Type that wraps streaming API streams - type Stream: Iterator; - - /// GET /api/v1/favourites - fn favourites(&self) -> Result> { - unimplemented!("This method was not implemented"); - } - /// GET /api/v1/blocks - fn blocks(&self) -> Result> { - unimplemented!("This method was not implemented"); - } - /// GET /api/v1/domain_blocks - fn domain_blocks(&self) -> Result> { - unimplemented!("This method was not implemented"); - } - /// GET /api/v1/follow_requests - fn follow_requests(&self) -> Result> { - unimplemented!("This method was not implemented"); - } - /// GET /api/v1/timelines/home - fn get_home_timeline(&self) -> Result> { - unimplemented!("This method was not implemented"); - } - /// GET /api/v1/custom_emojis - fn get_emojis(&self) -> Result> { - unimplemented!("This method was not implemented"); - } - /// GET /api/v1/mutes - fn mutes(&self) -> Result> { - unimplemented!("This method was not implemented"); - } - /// GET /api/v1/notifications - fn notifications(&self) -> Result> { - unimplemented!("This method was not implemented"); - } - /// GET /api/v1/reports - fn reports(&self) -> Result> { - unimplemented!("This method was not implemented"); - } - /// GET /api/v1/accounts/:id/followers - fn followers(&self, id: &str) -> Result> { - unimplemented!("This method was not implemented"); - } - /// GET /api/v1/accounts/:id/following - fn following(&self, id: &str) -> Result> { - unimplemented!("This method was not implemented"); - } - /// GET /api/v1/statuses/:id/reblogged_by - fn reblogged_by(&self, id: &str) -> Result> { - unimplemented!("This method was not implemented"); - } - /// GET /api/v1/statuses/:id/favourited_by - fn favourited_by(&self, id: &str) -> Result> { - unimplemented!("This method was not implemented"); - } - /// DELETE /api/v1/domain_blocks - fn unblock_domain(&self, domain: String) -> Result { - unimplemented!("This method was not implemented"); - } - /// GET /api/v1/instance - fn instance(&self) -> Result { - unimplemented!("This method was not implemented"); - } - /// GET /api/v1/accounts/verify_credentials - fn verify_credentials(&self) -> Result { - unimplemented!("This method was not implemented"); - } - /// POST /api/v1/reports - fn report(&self, account_id: &str, status_ids: Vec<&str>, comment: String) -> Result { - unimplemented!("This method was not implemented"); - } - /// POST /api/v1/domain_blocks - fn block_domain(&self, domain: String) -> Result { - unimplemented!("This method was not implemented"); - } - /// POST /api/v1/accounts/follow_requests/authorize - fn authorize_follow_request(&self, id: &str) -> Result { - unimplemented!("This method was not implemented"); - } - /// POST /api/v1/accounts/follow_requests/reject - fn reject_follow_request(&self, id: &str) -> Result { - unimplemented!("This method was not implemented"); - } - /// GET /api/v1/search - fn search<'a>(&self, q: &'a str, resolve: bool) -> Result { - unimplemented!("This method was not implemented"); - } - /// GET /api/v2/search - fn search_v2<'a>(&self, q: &'a str, resolve: bool) -> Result { - unimplemented!("This method was not implemented"); - } - /// POST /api/v1/follows - fn follows(&self, uri: Cow<'static, str>) -> Result { - unimplemented!("This method was not implemented"); - } - /// POST /api/v1/media - fn media(&self, file: Cow<'static, str>) -> Result { - unimplemented!("This method was not implemented"); - } - /// POST /api/v1/notifications/clear - fn clear_notifications(&self) -> Result { - unimplemented!("This method was not implemented"); - } - /// POST /api/v1/notifications/dismiss - fn dismiss_notification(&self, id: &str) -> Result { - unimplemented!("This method was not implemented"); - } - /// GET /api/v1/accounts/:id - fn get_account(&self, id: &str) -> Result { - unimplemented!("This method was not implemented"); - } - /// POST /api/v1/accounts/:id/follow - fn follow(&self, id: &str) -> Result { - unimplemented!("This method was not implemented"); - } - /// POST /api/v1/accounts/:id/unfollow - fn unfollow(&self, id: &str) -> Result { - unimplemented!("This method was not implemented"); - } - /// GET /api/v1/accounts/:id/block - fn block(&self, id: &str) -> Result { - unimplemented!("This method was not implemented"); - } - /// GET /api/v1/accounts/:id/unblock - fn unblock(&self, id: &str) -> Result { - unimplemented!("This method was not implemented"); - } - /// GET /api/v1/accounts/:id/mute - fn mute(&self, id: &str) -> Result { - unimplemented!("This method was not implemented"); - } - /// GET /api/v1/accounts/:id/unmute - fn unmute(&self, id: &str) -> Result { - unimplemented!("This method was not implemented"); - } - /// GET /api/v1/notifications/:id - fn get_notification(&self, id: &str) -> Result { - unimplemented!("This method was not implemented"); - } - /// GET /api/v1/statuses/:id - fn get_status(&self, id: &str) -> Result { - unimplemented!("This method was not implemented"); - } - /// GET /api/v1/statuses/:id/context - fn get_context(&self, id: &str) -> Result { - unimplemented!("This method was not implemented"); - } - /// GET /api/v1/statuses/:id/card - fn get_card(&self, id: &str) -> Result { - unimplemented!("This method was not implemented"); - } - /// POST /api/v1/statuses/:id/reblog - fn reblog(&self, id: &str) -> Result { - unimplemented!("This method was not implemented"); - } - /// POST /api/v1/statuses/:id/unreblog - fn unreblog(&self, id: &str) -> Result { - unimplemented!("This method was not implemented"); - } - /// POST /api/v1/statuses/:id/favourite - fn favourite(&self, id: &str) -> Result { - unimplemented!("This method was not implemented"); - } - /// POST /api/v1/statuses/:id/unfavourite - fn unfavourite(&self, id: &str) -> Result { - unimplemented!("This method was not implemented"); - } - /// DELETE /api/v1/statuses/:id - fn delete_status(&self, id: &str) -> Result { - unimplemented!("This method was not implemented"); - } - /// PATCH /api/v1/accounts/update_credentials - fn update_credentials(&self, builder: &mut UpdateCredsRequest) -> Result { - unimplemented!("This method was not implemented"); - } - /// POST /api/v1/statuses - fn new_status(&self, status: NewStatus) -> Result { - unimplemented!("This method was not implemented"); - } - /// GET /api/v1/timelines/public - fn get_public_timeline(&self, local: bool) -> Result> { - unimplemented!("This method was not implemented"); - } - /// GET /api/v1/timelines/tag/:hashtag - fn get_tagged_timeline(&self, hashtag: String, local: bool) -> Result> { - unimplemented!("This method was not implemented"); - } - /// GET /api/v1/accounts/:id/statuses - fn statuses<'a, 'b: 'a, S>(&'b self, id: &'b str, request: S) -> Result> - where - S: Into>>, - { - unimplemented!("This method was not implemented"); - } - /// GET /api/v1/accounts/relationships - fn relationships(&self, ids: &[&str]) -> Result> { - unimplemented!("This method was not implemented"); - } - /// GET /api/v1/accounts/search?q=:query&limit=:limit&following=:following - fn search_accounts( - &self, - query: &str, - limit: Option, - following: bool, - ) -> Result> { - unimplemented!("This method was not implemented"); - } - /// POST /api/v1/push/subscription - fn add_push_subscription(&self, request: &AddPushRequest) -> Result { - unimplemented!("This method was not implemented"); - } - /// PUT /api/v1/push/subscription - fn update_push_data(&self, request: &UpdatePushRequest) -> Result { - unimplemented!("This method was not implemented"); - } - /// GET /api/v1/push/subscription - fn get_push_subscription(&self) -> Result { - unimplemented!("This method was not implemented"); - } - /// DELETE /api/v1/push/subscription - fn delete_push_subscription(&self) -> Result { - unimplemented!("This method was not implemented"); - } - /// GET /api/v1/filters - fn get_filters(&self) -> Result> { - unimplemented!("This method was not implemented"); - } - /// POST /api/v1/filters - fn add_filter(&self, request: &mut AddFilterRequest) -> Result { - unimplemented!("This method was not implemented"); - } - /// GET /api/v1/filters/:id - fn get_filter(&self, id: &str) -> Result { - unimplemented!("This method was not implemented"); - } - /// PUT /api/v1/filters/:id - fn update_filter(&self, id: &str, request: &mut AddFilterRequest) -> Result { - unimplemented!("This method was not implemented"); - } - /// DELETE /api/v1/filters/:id - fn delete_filter(&self, id: &str) -> Result { - unimplemented!("This method was not implemented"); - } - /// GET /api/v1/suggestions - fn get_follow_suggestions(&self) -> Result> { - unimplemented!("This method was not implemented"); - } - /// DELETE /api/v1/suggestions/:account_id - fn delete_from_suggestions(&self, id: &str) -> Result { - unimplemented!("This method was not implemented"); - } - /// GET /api/v1/endorsements - fn get_endorsements(&self) -> Result> { - unimplemented!("This method was not implemented"); - } - /// POST /api/v1/accounts/:id/pin - fn endorse_user(&self, id: &str) -> Result { - unimplemented!("This method was not implemented"); - } - /// POST /api/v1/accounts/:id/unpin - fn unendorse_user(&self, id: &str) -> Result { - unimplemented!("This method was not implemented"); - } - /// Shortcut for: `let me = client.verify_credentials(); client.followers()` - /// - /// ```no_run - /// use elefren::prelude::*; - /// let data = Data::default(); - /// let client = Mastodon::from(data); - /// let follows_me = client.follows_me().unwrap(); - /// ``` - fn follows_me(&self) -> Result> { - unimplemented!("This method was not implemented"); - } - /// Shortcut for - /// `let me = client.verify_credentials(); client.following(&me.id)` - /// - /// ```no_run - /// use elefren::prelude::*; - /// let data = Data::default(); - /// let client = Mastodon::from(data); - /// let follows_me = client.followed_by_me().unwrap(); - /// ``` - fn followed_by_me(&self) -> Result> { - unimplemented!("This method was not implemented"); - } - - /// Returns events that are relevant to the authorized user, i.e. home - /// timeline and notifications - fn streaming_user(&self) -> Result { - unimplemented!("This method was not implemented"); - } - - /// Returns all public statuses - fn streaming_public(&self) -> Result { - unimplemented!("This method was not implemented"); - } - - /// Returns all local statuses - fn streaming_local(&self) -> Result { - unimplemented!("This method was not implemented"); - } - - /// Returns all public statuses for a particular hashtag - fn streaming_public_hashtag(&self, hashtag: &str) -> Result { - unimplemented!("This method was not implemented"); - } - - /// Returns all local statuses for a particular hashtag - fn streaming_local_hashtag(&self, hashtag: &str) -> Result { - unimplemented!("This method was not implemented"); - } - - /// Returns statuses for a list - fn streaming_list(&self, list_id: &str) -> Result { - unimplemented!("This method was not implemented"); - } - - /// Returns all direct messages - fn streaming_direct(&self) -> Result { - unimplemented!("This method was not implemented"); - } -} - -/// Trait that represents clients that can make unauthenticated calls to a -/// mastodon instance -#[allow(unused)] -pub trait MastodonUnauthenticated { - /// GET /api/v1/statuses/:id - fn get_status(&self, id: &str) -> Result { - unimplemented!("This method was not implemented"); - } - /// GET /api/v1/statuses/:id/context - fn get_context(&self, id: &str) -> Result { - unimplemented!("This method was not implemented"); - } - /// GET /api/v1/statuses/:id/card - fn get_card(&self, id: &str) -> Result { - unimplemented!("This method was not implemented"); - } - /// GET /api/v1/statuses/:id/reblogged_by - fn reblogged_by(&self, id: &str) -> Result> { - unimplemented!("This method was not implemented"); - } - /// GET /api/v1/statuses/:id/favourited_by - fn favourited_by(&self, id: &str) -> Result> { - unimplemented!("This method was not implemented"); - } -}