graphic_walker_parser/parser/model/
mod.rs

1mod dataview;
2mod paint;
3mod workflow;
4
5pub use dataview::*;
6pub use paint::*;
7pub use workflow::*;
8
9use serde_derive::{Deserialize, Serialize};
10
11/// A DSL is a JSON object that contains a workflow and a dataview.
12#[derive(Debug, Clone, Serialize, Deserialize)]
13pub struct DSL {
14    pub workflow: Vec<Workflow>,
15    pub dataview: Option<Vec<DataView>>,
16    pub limit: Option<i64>,
17    pub offset: Option<i64>,
18}
19
20#[derive(Serialize, Deserialize)]
21#[serde(tag = "type")]
22pub enum Dataset {
23    #[serde(rename = "table")]
24    Table {
25        #[serde(rename = "source")]
26        name: String,
27    },
28    #[serde(rename = "view")]
29    View {
30        #[serde(rename = "source")]
31        sql: String,
32    },
33}