mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-03 09:50:21 +08:00
21 lines
942 B
Rust
21 lines
942 B
Rust
|
|
use super::*;
|
||
|
|
|
||
|
|
mod backend;
|
||
|
|
mod registry;
|
||
|
|
|
||
|
|
pub(crate) use self::backend::{FileVideoTaskStore, InMemoryVideoTaskStore};
|
||
|
|
use self::registry::VideoTaskRegistry;
|
||
|
|
|
||
|
|
pub(super) trait VideoTaskStore: std::fmt::Debug + Send + Sync {
|
||
|
|
fn insert(&self, snapshot: LocalVideoTaskSnapshot);
|
||
|
|
fn read_openai(&self, task_id: &str) -> Option<LocalVideoTaskReadResponse>;
|
||
|
|
fn read_gemini(&self, short_id: &str) -> Option<LocalVideoTaskReadResponse>;
|
||
|
|
fn clone_openai(&self, task_id: &str) -> Option<OpenAiVideoTaskSeed>;
|
||
|
|
fn clone_gemini(&self, short_id: &str) -> Option<GeminiVideoTaskSeed>;
|
||
|
|
#[cfg(test)]
|
||
|
|
fn list_active_snapshots(&self, limit: usize) -> Vec<LocalVideoTaskSnapshot>;
|
||
|
|
fn apply_mutation(&self, mutation: LocalVideoTaskRegistryMutation);
|
||
|
|
fn project_openai(&self, task_id: &str, provider_body: &Map<String, Value>) -> bool;
|
||
|
|
fn project_gemini(&self, short_id: &str, provider_body: &Map<String, Value>) -> bool;
|
||
|
|
}
|