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(&self, namespace: &str, name: &str) -> Result<Option<WorkflowSchedule>> {
19 self.store.get_schedule(namespace, name).await
20 }
21
22 pub async fn delete_schedule(&self, namespace: &str, name: &str) -> Result<bool> {
23 self.store.delete_schedule(namespace, name).await
24 }
25
26 pub async fn update_schedule(
27 &self,
28 namespace: &str,
29 name: &str,
30 patch: &SchedulePatch,
31 ) -> Result<Option<WorkflowSchedule>> {
32 self.store.update_schedule(namespace, name, patch).await
33 }
34
35 pub async fn set_schedule_paused(
36 &self,
37 namespace: &str,
38 name: &str,
39 paused: bool,
40 ) -> Result<Option<WorkflowSchedule>> {
41 self.store.set_schedule_paused(namespace, name, paused).await
42 }
43}