assay_workflow/
schedules.rs1use anyhow::Result;
4
5use crate::ctx::WorkflowCtx;
6use crate::store::WorkflowStore;
7use crate::types::*;
8
9impl<S: WorkflowStore> WorkflowCtx<S> {
10 pub async fn create_schedule(&self, schedule: &WorkflowSchedule) -> Result<()> {
11 self.store.create_schedule(schedule).await
12 }
13
14 pub async fn list_schedules(&self, namespace: &str) -> Result<Vec<WorkflowSchedule>> {
15 self.store.list_schedules(namespace).await
16 }
17
18 pub async fn get_schedule(
19 &self,
20 namespace: &str,
21 name: &str,
22 ) -> Result<Option<WorkflowSchedule>> {
23 self.store.get_schedule(namespace, name).await
24 }
25
26 pub async fn delete_schedule(&self, namespace: &str, name: &str) -> Result<bool> {
27 self.store.delete_schedule(namespace, name).await
28 }
29
30 pub async fn update_schedule(
31 &self,
32 namespace: &str,
33 name: &str,
34 patch: &SchedulePatch,
35 ) -> Result<Option<WorkflowSchedule>> {
36 self.store.update_schedule(namespace, name, patch).await
37 }
38
39 pub async fn set_schedule_paused(
40 &self,
41 namespace: &str,
42 name: &str,
43 paused: bool,
44 ) -> Result<Option<WorkflowSchedule>> {
45 self.store
46 .set_schedule_paused(namespace, name, paused)
47 .await
48 }
49}