misskey_api/
endpoint.rs

1//! API endpoints.
2//!
3//! Each endpoint is implemented under modules named by replacing `/` with `::` and `-` with `_` in the endpoint name.
4//! For example, `notes/local-timeline` is implemented under [`notes::local_timeline`] and
5//! `drive/files/create` is implemented under [`drive::files::create`].
6//!
7//! All request types implements [`Request`][`misskey_core::Request`].
8//! We dispatch it actually and get the [response][`misskey_core::Request::Response`]
9//! using [`Client::request`][`misskey_core::Client::request`].
10
11macro_rules! impl_pagination {
12    ($name:ident, $item:ty) => {
13        impl crate::PaginationRequest for $name {
14            type Item = $item;
15
16            fn set_since_id(&mut self, since_id: <$item as crate::PaginationItem>::Id) {
17                self.since_id.replace(since_id);
18            }
19            fn set_until_id(&mut self, until_id: <$item as crate::PaginationItem>::Id) {
20                self.until_id.replace(until_id);
21            }
22            fn set_limit(&mut self, limit: u8) {
23                self.limit.replace(limit);
24            }
25        }
26    };
27}
28
29macro_rules! impl_offset_pagination {
30    ($name:ident, $item:ty) => {
31        impl crate::OffsetPaginationRequest for $name {
32            type Item = $item;
33            fn set_offset(&mut self, offset: u64) {
34                self.offset.replace(offset);
35            }
36            fn set_limit(&mut self, limit: u8) {
37                self.limit.replace(limit);
38            }
39        }
40    };
41}
42
43pub mod admin;
44pub mod announcements;
45pub mod antennas;
46pub mod blocking;
47pub mod charts;
48pub mod clips;
49pub mod drive;
50#[allow(clippy::module_inception)]
51pub mod endpoint;
52pub mod endpoints;
53pub mod following;
54pub mod i;
55pub mod messaging;
56pub mod meta;
57pub mod mute;
58pub mod notes;
59pub mod notifications;
60pub mod pages;
61pub mod pinned_users;
62pub mod stats;
63pub mod username;
64pub mod users;
65
66#[cfg(feature = "12-47-0")]
67#[cfg_attr(docsrs, doc(cfg(feature = "12-47-0")))]
68pub mod channels;