use crate::control::state::SharedState;
use nodedb_types::DatabaseId;
pub(super) fn current_descriptor_version(
state: &SharedState,
tenant_id: u64,
database_id: DatabaseId,
id: &nodedb_cluster::DescriptorId,
) -> Option<u64> {
if id.tenant_id != tenant_id {
return None;
}
let catalog = state.credentials.catalog();
let catalog = catalog.as_ref()?;
match id.kind {
nodedb_cluster::DescriptorKind::Collection => catalog
.get_collection(database_id, tenant_id, &id.name)
.ok()
.flatten()
.filter(|c| c.is_active)
.map(|c| c.descriptor_version.max(1)),
_ => None,
}
}