windmill_api/models/
asset_graph.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct AssetGraph {
16 #[serde(rename = "assets")]
17 pub assets: Vec<models::AssetGraphAssetsInner>,
18 #[serde(rename = "runnables")]
19 pub runnables: Vec<models::AssetGraphRunnablesInner>,
20 #[serde(rename = "edges")]
21 pub edges: Vec<models::AssetGraphEdgesInner>,
22 #[serde(rename = "triggers")]
23 pub triggers: Vec<models::AssetGraphTriggersInner>,
24 #[serde(rename = "macro_edges", skip_serializing_if = "Option::is_none")]
26 pub macro_edges: Option<Vec<models::AssetGraphMacroEdgesInner>>,
27 #[serde(rename = "test_edges", skip_serializing_if = "Option::is_none")]
29 pub test_edges: Option<Vec<models::AssetGraphTestEdgesInner>>,
30 #[serde(rename = "dbt_edges", skip_serializing_if = "Option::is_none")]
32 pub dbt_edges: Option<Vec<models::AssetGraphDbtEdgesInner>>,
33 #[serde(rename = "dbt_snapshot_job", skip_serializing_if = "Option::is_none")]
35 pub dbt_snapshot_job: Option<uuid::Uuid>,
36}
37
38impl AssetGraph {
39 pub fn new(assets: Vec<models::AssetGraphAssetsInner>, runnables: Vec<models::AssetGraphRunnablesInner>, edges: Vec<models::AssetGraphEdgesInner>, triggers: Vec<models::AssetGraphTriggersInner>) -> AssetGraph {
40 AssetGraph {
41 assets,
42 runnables,
43 edges,
44 triggers,
45 macro_edges: None,
46 test_edges: None,
47 dbt_edges: None,
48 dbt_snapshot_job: None,
49 }
50 }
51}
52