parse_sap_odata/edmx/data_services/
mod.rs1pub mod schema;
2
3use schema::Schema;
4use serde::{Deserialize, Serialize};
5
6#[derive(Debug, Serialize, Deserialize)]
7pub enum DataServiceVersion {
8 #[serde(rename = "2.0")]
9 V2_0,
10}
11
12#[derive(Debug, Serialize, Deserialize)]
18#[serde(rename_all = "PascalCase")]
19pub struct DataServices {
20 #[serde(rename = "@DataServiceVersion")]
21 pub data_service_version: DataServiceVersion,
22 #[serde(rename = "Schema", default)]
23 pub schemas: Vec<Schema>,
24}
25
26impl DataServices {
27 pub fn fetch_schema(&self, namespace: &str) -> Option<&Schema> {
28 self.schemas.iter().find(|schema| schema.namespace == namespace)
29 }
30
31 pub fn default_schema(&self) -> Option<&Schema> {
32 self.fetch_schema("Default")
33 }
34}