use super::DbBmc;
use crate::support::time::now_micro;
use modql::field::{SqliteField, SqliteFields};
use uuid::Uuid;
pub fn prep_fields_for_create<MC>(fields: &mut SqliteFields)
where
MC: DbBmc,
{
fields.push(SqliteField::new("uid", Uuid::now_v7()));
prep_fields_for_create_uid_included(fields);
}
pub fn prep_fields_for_create_uid_included(fields: &mut SqliteFields) {
add_timestamps_for_create(fields);
}
pub fn prep_fields_for_update<MC>(fields: &mut SqliteFields)
where
MC: DbBmc,
{
add_timestamps_for_update(fields);
}
fn add_timestamps_for_create(fields: &mut SqliteFields) {
let now = now_micro();
fields.push(SqliteField::new("ctime", now));
fields.push(SqliteField::new("mtime", now));
}
fn add_timestamps_for_update(fields: &mut SqliteFields) {
let now = now_micro();
fields.push(SqliteField::new("mtime", now));
}