reinhardt_rest/metadata/
options.rs1use std::collections::HashMap;
4
5#[derive(Debug, Clone)]
7pub struct SerializerFieldInfo {
8 pub name: String,
10 pub type_name: String,
12 pub is_optional: bool,
14 pub is_read_only: bool,
16 pub is_write_only: bool,
18}
19
20#[non_exhaustive]
22#[derive(Debug, Clone)]
23pub struct MetadataOptions {
24 pub name: String,
26 pub description: String,
28 pub allowed_methods: Vec<String>,
30 pub renders: Vec<String>,
32 pub parses: Vec<String>,
34 pub serializer_fields: Option<HashMap<String, SerializerFieldInfo>>,
36}
37
38impl Default for MetadataOptions {
39 fn default() -> Self {
40 Self {
41 name: "API View".to_string(),
42 description: "API endpoint".to_string(),
43 allowed_methods: vec!["GET".to_string()],
44 renders: vec!["application/json".to_string()],
45 parses: vec!["application/json".to_string()],
46 serializer_fields: None,
47 }
48 }
49}