mod create_account;
mod edit_account_info;
mod get_account_info;
mod revoke_access_token;
mod create_page;
mod edit_page;
mod get_page;
mod get_page_list;
mod get_views;
use serde::{Serialize, Serializer};
use serde::ser;
pub use create_account::{CreateAccount, ShortName, NoShortName};
pub use edit_account_info::EditAccountInfo;
pub use get_account_info::GetAccountInfo;
pub use revoke_access_token::RevokeAccessToken;
pub use create_page::CreatePage;
pub use edit_page::EditPage;
pub use get_page::GetPage;
pub use get_page_list::GetPageList;
pub use get_views::GetViews;
use crate::types::Node;
#[derive(Default)]
pub struct NoAccessToken;
#[derive(Serialize)]
pub struct AccessToken(String);
#[derive(Default)]
pub struct NoTitle;
#[derive(Serialize)]
pub struct Title(String);
#[derive(Default, Serialize)]
pub struct NoContent;
#[derive(Serialize)]
pub struct Content(Vec<Node>);
#[derive(Default)]
pub struct NoPath;
#[derive(Serialize)]
pub struct Path(String);
pub struct ApiFieldSerializer;
impl ApiFieldSerializer {
fn serialize<T: Serialize, S: Serializer>(
value: &T,
serializer: S,
) -> Result<S::Ok, S::Error>
{
match serde_json::to_string(value) {
Ok(json) => serializer.serialize_str(&json),
Err(_) => Err(ser::Error::custom("Failed to serialize value to json")),
}
}
}