multiversx_sc_meta_lib/contract/sc_config/
sc_config_proxy.rs1use std::path::{Path, PathBuf};
2
3use serde::Deserialize;
4
5#[derive(Deserialize, Default, Debug, Clone, PartialEq, Eq, Hash)]
6#[serde(deny_unknown_fields)]
7pub struct ProxyConfigSerde {
8 #[serde(default)]
9 pub path: PathBuf,
10
11 #[serde(default)]
12 #[serde(rename = "override-import")]
13 pub override_import: Option<String>,
14
15 #[serde(default)]
16 #[serde(rename = "path-rename")]
17 pub path_rename: Option<Vec<PathRename>>,
18
19 #[serde(default)]
20 pub variant: Option<String>,
21
22 #[serde(rename = "add-unlabelled")]
23 pub add_unlabelled: Option<bool>,
24
25 #[serde(default)]
26 #[serde(rename = "add-labels")]
27 pub add_labels: Vec<String>,
28
29 #[serde(default)]
30 #[serde(rename = "add-endpoints")]
31 pub add_endpoints: Vec<String>,
32}
33
34impl ProxyConfigSerde {
35 pub fn new() -> Self {
36 Self {
37 path: Path::new("output").join("proxy.rs"),
38 override_import: None,
39 path_rename: None,
40 variant: None,
41 add_unlabelled: None,
42 add_labels: Vec::new(),
43 add_endpoints: Vec::new(),
44 }
45 }
46}
47
48#[derive(Deserialize, Default, Debug, Clone, PartialEq, Eq, Hash)]
49pub struct PathRename {
50 #[serde(default)]
51 pub from: String,
52
53 #[serde(default)]
54 pub to: String,
55}