78 lines
2.9 KiB
Rust
78 lines
2.9 KiB
Rust
fn main() -> Result<(), Box<dyn std::error::Error>> {
|
|
tonic_build::configure()
|
|
.build_server(true)
|
|
.file_descriptor_set_path("src/proto/descriptor.bin")
|
|
.out_dir("src/proto")
|
|
// Derive serde for the messages
|
|
.type_attribute(
|
|
".komp_ac.table_validation.FieldValidation",
|
|
"#[derive(serde::Serialize, serde::Deserialize)]",
|
|
)
|
|
.type_attribute(
|
|
".komp_ac.table_validation.CharacterLimits",
|
|
"#[derive(serde::Serialize, serde::Deserialize)]",
|
|
)
|
|
.type_attribute(
|
|
".komp_ac.table_validation.DisplayMask",
|
|
"#[derive(serde::Serialize, serde::Deserialize)]",
|
|
)
|
|
.type_attribute(
|
|
".komp_ac.table_validation.TableValidationResponse",
|
|
"#[derive(serde::Serialize, serde::Deserialize)]",
|
|
)
|
|
.type_attribute(
|
|
".komp_ac.table_validation.UpdateFieldValidationRequest",
|
|
"#[derive(serde::Serialize, serde::Deserialize)]",
|
|
)
|
|
.type_attribute(
|
|
".komp_ac.table_validation.UpdateFieldValidationResponse",
|
|
"#[derive(serde::Serialize, serde::Deserialize)]",
|
|
)
|
|
// Enum -> readable strings in JSON ("BYTES", "DISPLAY_WIDTH")
|
|
.type_attribute(
|
|
".komp_ac.table_validation.CountMode",
|
|
"#[derive(serde::Serialize, serde::Deserialize)] #[serde(rename_all = \"SCREAMING_SNAKE_CASE\")]",
|
|
)
|
|
.type_attribute(
|
|
".komp_ac.table_definition.ColumnDefinition",
|
|
"#[derive(serde::Serialize, serde::Deserialize)]",
|
|
)
|
|
.type_attribute(
|
|
".komp_ac.table_definition.TableLink",
|
|
"#[derive(serde::Serialize, serde::Deserialize)]"
|
|
)
|
|
.type_attribute(
|
|
".komp_ac.table_definition.PostTableDefinitionRequest",
|
|
"#[derive(serde::Serialize, serde::Deserialize)]",
|
|
)
|
|
.type_attribute(
|
|
".komp_ac.table_definition.TableDefinitionResponse",
|
|
"#[derive(serde::Serialize, serde::Deserialize)]"
|
|
)
|
|
.type_attribute(
|
|
".komp_ac.table_script.PostTableScriptRequest",
|
|
"#[derive(serde::Serialize, serde::Deserialize)]",
|
|
)
|
|
.type_attribute(
|
|
".komp_ac.table_script.TableScriptResponse",
|
|
"#[derive(serde::Serialize, serde::Deserialize)]",
|
|
)
|
|
.compile_protos(
|
|
&[
|
|
"proto/common.proto",
|
|
"proto/adresar.proto",
|
|
"proto/auth.proto",
|
|
"proto/search.proto",
|
|
"proto/search2.proto",
|
|
"proto/table_definition.proto",
|
|
"proto/table_script.proto",
|
|
"proto/table_structure.proto",
|
|
"proto/table_validation.proto",
|
|
"proto/tables_data.proto",
|
|
"proto/uctovnictvo.proto",
|
|
],
|
|
&["proto"],
|
|
)?;
|
|
Ok(())
|
|
}
|