//! Serializable types for the tag domain.

use serde::{Deserialize, Serialize};

use crate::commit::types::CommitOid;

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TagInfo {
    pub name: String,
    pub oid: CommitOid,
    pub target: CommitOid,
    pub is_annotated: bool,
    pub message: Option<String>,
    pub tagger: Option<String>,
    pub tagger_email: Option<String>,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TagSummary {
    pub total_count: usize,
}
