feattle_ui/
api.rs

1//! Describes the schema of the JSON API
2use feattle_core::last_reload::LastReload;
3use feattle_core::persist::ValueHistory;
4use feattle_core::FeattleDefinition;
5use serde::{Deserialize, Serialize};
6use serde_json::Value;
7
8/// The first version of the API. This is still unstable while this crate is in `0.x`
9pub mod v1 {
10    use super::*;
11
12    #[derive(Debug, Clone, Serialize)]
13    pub struct ListFeattlesResponse {
14        pub definitions: Vec<FeattleDefinition>,
15        pub last_reload: LastReload,
16        pub reload_failed: bool,
17    }
18
19    #[derive(Debug, Clone, Serialize)]
20    pub struct ShowFeattleResponse {
21        pub definition: FeattleDefinition,
22        pub history: ValueHistory,
23        pub last_reload: LastReload,
24        pub reload_failed: bool,
25    }
26
27    #[derive(Debug, Clone, Deserialize)]
28    pub struct EditFeattleRequest {
29        pub value: Value,
30        pub modified_by: String,
31    }
32
33    #[derive(Debug, Clone, Serialize)]
34    pub struct EditFeattleResponse {}
35}