bindizr-service 0.1.0-beta.4

Application services for bindizr zone, record, token, and notification workflows
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use chrono::Utc;

/// Generate next serial number in YYYYMMDDNN format.
pub fn generate_serial(current_serial: Option<i32>) -> i32 {
    let now = Utc::now();
    let date_prefix = now.format("%Y%m%d").to_string().parse::<i32>().unwrap();
    let base_serial = date_prefix * 100;

    // If current serial is from today, increment it. Otherwise, start fresh with today's date.
    match current_serial {
        Some(serial) if serial >= base_serial => serial + 1,
        _ => base_serial,
    }
}