use crate::store::Store;
pub fn tables<S: Store>(store: &S) -> TablesBuilder<'_, S> {
TablesBuilder::new(store)
}
pub struct TablesBuilder<'a, S: Store> {
store: &'a S,
}
impl<'a, S: Store> TablesBuilder<'a, S> {
pub fn new(store: &'a S) -> Self {
Self { store }
}
pub fn messages(self) -> &'a dyn crate::store::MessageTable {
self.store.messages()
}
pub fn queues(self) -> &'a dyn crate::store::QueueTable {
self.store.queues()
}
pub fn workers(self) -> &'a dyn crate::store::WorkerTable {
self.store.workers()
}
pub fn workflows(self) -> &'a dyn crate::store::WorkflowTable {
self.store.workflows()
}
pub fn workflow_runs(self) -> &'a dyn crate::store::RunRecordTable {
self.store.workflow_runs()
}
}