Skip to main content

mlb_api/requests/jobs/
datacasters.rs

1use crate::types::MLB_API_DATE_FORMAT;
2use bon::Builder;
3use chrono::NaiveDate;
4use std::fmt::{Display, Formatter};
5use crate::sport::SportId;
6
7#[derive(Builder)]
8pub struct JobsDatacastersRequest {
9    #[builder(into, default)]
10    sport_id: SportId,
11    date: Option<NaiveDate>,
12}
13
14impl Display for JobsDatacastersRequest {
15    fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
16        write!(f, "http://statsapi.mlb.com/api/v1/jobs/datacasters{}", gen_params! { "sportId": self.sport_id, "date"?: self.date.as_ref().map(|date| date.format(MLB_API_DATE_FORMAT)) })
17    }
18}