starfish_core/lang/schema.rs
1use serde::{Deserialize, Serialize};
2
3use super::{EntityJson, RelationJson};
4
5/// Structure of a schema request, deserialized as struct from json
6#[derive(Debug, Clone, Serialize, Deserialize)]
7pub struct SchemaJson {
8 /// If true, define all schema from scratch. Defaults to be false (append mode).
9 #[serde(default)]
10 pub reset: bool,
11 /// What this defines
12 #[serde(default)]
13 pub define: SchemaDefineJson,
14}
15
16#[derive(Debug, Default, Clone, Serialize, Deserialize)]
17/// Structure of vectors of entities and relations, deserialized as struct from json
18pub struct SchemaDefineJson {
19 /// Entities schema definition
20 pub entities: Vec<EntityJson>,
21 /// Relations schema definition
22 pub relations: Vec<RelationJson>,
23}