use std::time::SystemTime;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
pub struct Label {
pub key: String,
pub value: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LabelFilter {
pub key: String,
pub value: Option<String>,
}
#[derive(Debug, Default, Clone, Serialize, Deserialize)]
pub struct TimeRange {
pub start: Option<SystemTime>,
pub end: Option<SystemTime>,
}
pub enum AddedOrExisting<T> {
Added(T),
Existing(T),
}
impl<T> AddedOrExisting<T> {
#[must_use]
pub fn into_inner(self) -> T {
match self {
AddedOrExisting::Added(job) | AddedOrExisting::Existing(job) => job,
}
}
#[must_use]
pub fn is_added(&self) -> bool {
matches!(self, AddedOrExisting::Added(_))
}
#[must_use]
pub fn is_existing(&self) -> bool {
matches!(self, AddedOrExisting::Existing(_))
}
}