bitwarden_test/play/
scene_template.rs1use std::collections::HashMap;
4
5use serde::{Serialize, de::DeserializeOwned};
6
7pub trait SceneTemplate {
12 type Arguments: Serialize + Clone + Send + Sync;
14
15 type Result: DeserializeOwned + Send + Sync;
17
18 fn template_name() -> &'static str;
20}
21
22#[derive(Serialize)]
24pub(crate) struct CreateSceneRequest<'a, A: Serialize> {
25 pub template: &'a str,
26 pub arguments: &'a A,
27}
28
29#[derive(serde::Deserialize)]
31pub(crate) struct CreateSceneResponse<R> {
32 pub result: R,
33 #[serde(rename = "mangleMap", default)]
34 pub mangle_map: HashMap<String, String>,
35}