1use crate::prelude::*;
2use async_trait::async_trait;
3use serde_json::Value;
4
5#[async_trait]
6pub trait Task<K, D>
7where
8 K: DatabaseKey,
9 D: Database + Send + Sync,
10{
11 type Database;
12
13 async fn run(k: &'static K, db: Option<Self::Database>)
14 -> BitsyResult<Option<Value>>;
15}