1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
pub mod auth;
pub mod builder;
pub mod client;
pub mod commit;
pub mod config;
pub mod error;
pub mod hook;
pub mod pagination;
pub mod repo;
pub mod status;
pub mod user;

use chrono::{DateTime, Utc};
pub use error::{Error, Result};
use serde::Serializer;

pub fn gitlab_datetime_fmt<S>(
    datetime_opt: &Option<DateTime<Utc>>,
    serializer: S,
) -> std::result::Result<S::Ok, S::Error>
where
    S: Serializer,
{
    match datetime_opt {
        None => serializer.serialize_str("nil"),
        Some(datetime) => serializer
            .serialize_str(&format!("{}", datetime.format("YYYY-MM-DDTHH:MM:SSZ"))),
    }
}