use rusqlite::{Result, Row};
use crate::{FilterId, MAXIMUM_CUSTOM_FILTER_ID};
use super::hydrate::Hydrate;
pub(crate) struct DBMetadataEntity {
pub(crate) version: i32,
pub(crate) custom_filters_autoincrement_value: FilterId,
pub(crate) filter_count_signature: Option<String>,
}
impl Default for DBMetadataEntity {
fn default() -> Self {
DBMetadataEntity {
version: 0,
custom_filters_autoincrement_value: MAXIMUM_CUSTOM_FILTER_ID,
filter_count_signature: None,
}
}
}
impl Hydrate for DBMetadataEntity {
fn hydrate(row: &Row) -> Result<DBMetadataEntity> {
Ok(DBMetadataEntity {
version: row.get(0)?,
custom_filters_autoincrement_value: row.get(1)?,
filter_count_signature: row.get(2)?,
})
}
}