use crate::api::events::EventsBuilder;
use crate::Octocrab;
pub struct ActivityEventsHandler<'octo> {
crab: &'octo Octocrab,
}
impl<'octo> ActivityEventsHandler<'octo> {
pub(crate) fn new(crab: &'octo Octocrab) -> Self {
Self { crab }
}
pub fn network_events(
&self,
owner: impl Into<String>,
repo: impl Into<String>,
) -> EventsBuilder<'octo> {
let route = format!("/networks/{}/{}/events", owner.into(), repo.into());
EventsBuilder::with_route(self.crab, route)
}
pub fn user_events(&self, username: impl Into<String>) -> EventsBuilder<'octo> {
let route = format!("/users/{}/events", username.into());
EventsBuilder::with_route(self.crab, route)
}
pub fn public_user_events(&self, username: impl Into<String>) -> EventsBuilder<'octo> {
let route = format!("/users/{}/events/public", username.into());
EventsBuilder::with_route(self.crab, route)
}
pub fn received_events(&self, username: impl Into<String>) -> EventsBuilder<'octo> {
let route = format!("/users/{}/received_events", username.into());
EventsBuilder::with_route(self.crab, route)
}
pub fn public_received_events(&self, username: impl Into<String>) -> EventsBuilder<'octo> {
let route = format!("/users/{}/received_events/public", username.into());
EventsBuilder::with_route(self.crab, route)
}
pub fn user_org_events(
&self,
username: impl Into<String>,
org: impl Into<String>,
) -> EventsBuilder<'octo> {
let route = format!("/users/{}/events/orgs/{}", username.into(), org.into());
EventsBuilder::with_route(self.crab, route)
}
}