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}