parse_sap_odata/sap_annotations/
entity_set.rs1use serde::{Deserialize, Serialize};
2
3use crate::{
4 sap_annotations::default_sap_content_version,
5 sap_semantics::entity_set::SAPSemanticsEntitySet,
6 utils::{de_str_to_bool, default_false, default_true},
7};
8
9#[derive(Debug, Serialize, Deserialize)]
11#[serde(rename_all = "PascalCase")]
12pub struct SAPAnnotationsEntitySet {
13 #[serde(rename = "@content-version", default = "default_sap_content_version")]
14 pub content_version: String,
15 #[serde(rename = "@semantics")]
16 pub semantics: Option<SAPSemanticsEntitySet>,
17 #[serde(rename = "@label")]
18 pub label: Option<String>,
19 #[serde(
20 rename = "@creatable",
21 deserialize_with = "de_str_to_bool",
22 default = "default_true"
23 )]
24 pub is_creatable: bool,
25 #[serde(
26 rename = "@updatable",
27 deserialize_with = "de_str_to_bool",
28 default = "default_true"
29 )]
30 pub is_updatable: bool,
31 #[serde(
32 rename = "@deletable",
33 deserialize_with = "de_str_to_bool",
34 default = "default_true"
35 )]
36 pub is_deletable: bool,
37 #[serde(
38 rename = "@searchable",
39 deserialize_with = "de_str_to_bool",
40 default = "default_false"
41 )]
42 pub is_searchable: bool,
43 #[serde(
44 rename = "@pageable",
45 deserialize_with = "de_str_to_bool",
46 default = "default_true"
47 )]
48 pub is_pageable: bool,
49 #[serde(
50 rename = "@topable",
51 deserialize_with = "de_str_to_bool",
52 default = "default_true"
53 )]
54 pub is_topable: bool,
55 #[serde(
56 rename = "@countable",
57 deserialize_with = "de_str_to_bool",
58 default = "default_true"
59 )]
60 pub is_countable: bool,
61 #[serde(
62 rename = "@addressable",
63 deserialize_with = "de_str_to_bool",
64 default = "default_true"
65 )]
66 pub is_addressable: bool,
67 #[serde(
68 rename = "@requires-filter",
69 deserialize_with = "de_str_to_bool",
70 default = "default_false"
71 )]
72 pub requires_filter: bool,
73 #[serde(
74 rename = "@change-tracking",
75 deserialize_with = "de_str_to_bool",
76 default = "default_false"
77 )]
78 pub change_tracking_enabled: bool,
79 #[serde(rename = "@maxpagesize")]
80 pub max_page_size: Option<u32>,
81 #[serde(rename = "@delta-link-validity")]
82 pub delta_link_validity: Option<u32>,
83}