mlb_api/requests/jobs/
umpire.rs1use crate::jobs::JobsResponse;
2use crate::MLB_API_DATE_FORMAT;
3use crate::request::{RequestURL, RequestURLBuilderExt};
4use bon::Builder;
5use chrono::NaiveDate;
6use std::fmt::{Display, Formatter};
7use crate::sport::SportId;
8
9#[derive(Builder)]
17#[builder(derive(Into))]
18pub struct JobsUmpiresRequest {
19 #[builder(into, default)]
20 sport_id: SportId,
21 date: Option<NaiveDate>,
22}
23
24impl Display for JobsUmpiresRequest {
25 fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
26 write!(f, "http://statsapi.mlb.com/api/v1/jobs/umpires{}", gen_params! { "sportId": self.sport_id, "date"?: self.date.as_ref().map(|date| date.format(MLB_API_DATE_FORMAT)) })
27 }
28}
29
30impl RequestURL for JobsUmpiresRequest {
31 type Response = JobsResponse;
32}
33
34impl<S: jobs_umpires_request_builder::State + jobs_umpires_request_builder::IsComplete> RequestURLBuilderExt for JobsUmpiresRequestBuilder<S> {
35 type Built = JobsUmpiresRequest;
36}