use async_trait::async_trait;
use serde::{Deserialize, Serialize};
pub mod manager;
#[async_trait]
pub trait TxManager {
async fn insert_bulk(
&mut self,
changed_library_document: Vec<ChangedLibraryDocument>,
) -> anyhow::Result<()>;
}
#[derive(sqlx::FromRow, Deserialize, Serialize)]
pub struct ChangedLibraryDocument {
pub document_change_id: String,
pub library_mpath: String,
}
impl ChangedLibraryDocument {
#[must_use]
pub const fn new(document_change_id: String, library_mpath: String) -> Self {
Self {
document_change_id,
library_mpath,
}
}
}