use crate::{ApiError, ClientConfig};
pub mod auth;
pub mod integrations;
pub mod notifications;
pub mod posts;
pub mod private_messages;
pub mod reports;
pub mod roles;
pub mod ss_os;
pub mod tags;
pub mod threads;
pub mod users;
pub mod webhooks;
pub struct ForumClient {
pub config: ClientConfig,
pub auth: AuthClient,
pub tags: TagsClient,
pub threads: ThreadsClient,
pub posts: PostsClient,
pub private_messages: PrivateMessagesClient,
pub users: UsersClient,
pub roles: RolesClient,
pub reports: ReportsClient,
pub notifications: NotificationsClient,
pub webhooks: WebhooksClient,
pub integrations: IntegrationsClient,
pub ss_os: SsOsClient,
}
impl ForumClient {
pub fn new(config: ClientConfig) -> Result<Self, ApiError> {
Ok(Self {
config: config.clone(),
auth: AuthClient::new(config.clone())?,
tags: TagsClient::new(config.clone())?,
threads: ThreadsClient::new(config.clone())?,
posts: PostsClient::new(config.clone())?,
private_messages: PrivateMessagesClient::new(config.clone())?,
users: UsersClient::new(config.clone())?,
roles: RolesClient::new(config.clone())?,
reports: ReportsClient::new(config.clone())?,
notifications: NotificationsClient::new(config.clone())?,
webhooks: WebhooksClient::new(config.clone())?,
integrations: IntegrationsClient::new(config.clone())?,
ss_os: SsOsClient::new(config.clone())?,
})
}
}
pub use auth::AuthClient;
pub use integrations::IntegrationsClient;
pub use notifications::NotificationsClient;
pub use posts::PostsClient;
pub use private_messages::PrivateMessagesClient;
pub use reports::ReportsClient;
pub use roles::RolesClient;
pub use ss_os::SsOsClient;
pub use tags::TagsClient;
pub use threads::ThreadsClient;
pub use users::UsersClient;
pub use webhooks::WebhooksClient;