speedrun_api/api/
guests.rs

1//! # Guests
2//!
3//! Endpoints available for guests
4
5use crate::api::endpoint::Endpoint;
6
7use std::borrow::Cow;
8
9/// Retrieves a guest identified by their name.
10#[derive(Default, Debug, Builder, Clone)]
11#[builder(default, setter(into, strip_option))]
12pub struct Guest<'a> {
13    #[doc = "`name` of the guest. The name is case-insensitive."]
14    name: Cow<'a, str>,
15}
16
17impl Guest<'_> {
18    /// Create a builder for this endpoint.
19    pub fn builder<'a>() -> GuestBuilder<'a> {
20        GuestBuilder::default()
21    }
22}
23
24impl Endpoint for Guest<'_> {
25    fn endpoint(&self) -> Cow<'static, str> {
26        format!("/guests/{}", self.name).into()
27    }
28}