1mod list_posts;
2mod post;
3mod scraped_post;
4mod scraped_user;
5mod user;
6
7pub use self::list_posts::ListPostsPost;
8pub use self::post::File as PostFile;
9pub use self::post::Post;
10pub use self::post::Privacy as PostPrivacy;
11pub use self::scraped_post::File as ScrapedPostFile;
12pub use self::scraped_post::FromHtmlError as InvalidScrapedPostError;
13pub use self::scraped_post::ScrapedPost;
14pub use self::scraped_user::FromHtmlError as InvalidScrapedUserError;
15pub use self::scraped_user::ScrapedUser;
16pub use self::user::User;
17
18#[derive(Debug, serde::Serialize, serde::Deserialize)]
20pub(crate) struct ApiUpdateFilesBulkRequest {
21 pub data: Vec<FileUpdate>,
23}
24
25#[derive(Debug, serde::Serialize, serde::Deserialize)]
27pub struct FileUpdate {
28 pub id: String,
30
31 pub description: String,
36}
37
38#[derive(Debug, serde::Serialize, serde::Deserialize)]
40pub(crate) struct ApiResponse<T> {
41 pub data: T,
43}
44
45#[derive(Debug, serde::Serialize, serde::Deserialize)]
47pub(crate) struct ApiCompletedResponse {
48 #[serde(with = "crate::serde::from_str_to_str")]
50 pub success: bool,
51
52 pub message: Option<Box<str>>,
54}