use super::super::inner::scheduled_function::{self, InsertScheduledFunction};
use crate::handles::{DbRead, DbWrite};
use crate::kind::Dht;
use holo_hash::AgentPubKey;
use holochain_timestamp::Timestamp;
impl DbRead<Dht> {
pub async fn get_expired_persisted_scheduled_functions(
&self,
author: &AgentPubKey,
now: Timestamp,
) -> sqlx::Result<Vec<(String, String, Vec<u8>)>> {
let mut conn = self.timed_conn().await?;
scheduled_function::get_expired_persisted_scheduled_functions(&mut *conn, author, now).await
}
pub async fn get_live_scheduled_functions(
&self,
author: &AgentPubKey,
now: Timestamp,
) -> sqlx::Result<Vec<(String, String, Vec<u8>, bool)>> {
let mut conn = self.timed_conn().await?;
scheduled_function::get_live_scheduled_functions(&mut *conn, author, now).await
}
pub async fn is_function_scheduled(
&self,
author: &AgentPubKey,
zome_name: &str,
scheduled_fn: &str,
) -> sqlx::Result<bool> {
let mut conn = self.timed_conn().await?;
scheduled_function::is_function_scheduled(&mut *conn, author, zome_name, scheduled_fn).await
}
}
impl DbWrite<Dht> {
pub async fn upsert_scheduled_function(
&self,
f: InsertScheduledFunction<'_>,
) -> sqlx::Result<u64> {
scheduled_function::upsert_scheduled_function(self.pool(), f).await
}
pub async fn delete_scheduled_function(
&self,
author: &AgentPubKey,
zome_name: &str,
scheduled_fn: &str,
) -> sqlx::Result<u64> {
scheduled_function::delete_scheduled_function(self.pool(), author, zome_name, scheduled_fn)
.await
}
pub async fn delete_live_ephemeral_scheduled_functions(
&self,
author: &AgentPubKey,
now: Timestamp,
) -> sqlx::Result<u64> {
scheduled_function::delete_live_ephemeral_scheduled_functions(self.pool(), author, now)
.await
}
pub async fn delete_all_ephemeral_scheduled_functions(&self) -> sqlx::Result<u64> {
scheduled_function::delete_all_ephemeral_scheduled_functions(self.pool()).await
}
}