• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

getdozer / dozer / 6299724219

25 Sep 2023 12:58PM UTC coverage: 77.81% (+0.5%) from 77.275%
6299724219

push

github

chubei
fix: Add `BINDGEN_EXTRA_CLANG_ARGS` to cross compile rocksdb

50223 of 64546 relevant lines covered (77.81%)

148909.49 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

74.07
/dozer-types/src/models/api_endpoint.rs
1
use schemars::JsonSchema;
2
use serde::{Deserialize, Serialize};
3

4
use super::equal_default;
5

6
#[derive(Debug, Serialize, Deserialize, JsonSchema, Default, Eq, PartialEq, Clone)]
314✔
7
#[serde(deny_unknown_fields)]
8
pub struct ApiIndex {
9
    #[serde(default, skip_serializing_if = "Vec::is_empty")]
10
    pub primary_key: Vec<String>,
11

12
    #[serde(default, skip_serializing_if = "equal_default")]
13
    pub secondary: SecondaryIndexConfig,
14
}
15

16
#[derive(Debug, Serialize, Deserialize, JsonSchema, Default, Eq, PartialEq, Clone)]
257✔
17
#[serde(deny_unknown_fields)]
18
pub struct SecondaryIndexConfig {
19
    #[serde(default, skip_serializing_if = "Vec::is_empty")]
20
    pub skip_default: Vec<String>,
21

22
    #[serde(default, skip_serializing_if = "Vec::is_empty")]
23
    pub create: Vec<SecondaryIndex>,
24
}
25

26
#[derive(Debug, Serialize, Deserialize, JsonSchema, Eq, PartialEq, Clone)]
6✔
27
#[serde(deny_unknown_fields)]
28
pub enum SecondaryIndex {
29
    SortedInverted(SortedInverted),
30
    FullText(FullText),
31
}
32

33
#[derive(Debug, Serialize, Deserialize, JsonSchema, Eq, PartialEq, Clone)]
5✔
34
#[serde(deny_unknown_fields)]
35
pub struct SortedInverted {
36
    pub fields: Vec<String>,
37
}
38

39
#[derive(Debug, Serialize, Deserialize, JsonSchema, Eq, PartialEq, Clone)]
3✔
40
#[serde(deny_unknown_fields)]
41
pub struct FullText {
42
    pub field: String,
43
}
44

45
#[derive(Debug, Serialize, Deserialize, JsonSchema, Eq, PartialEq, Clone, Copy, Default)]
182✔
46
#[serde(deny_unknown_fields)]
47
pub enum OnInsertResolutionTypes {
48
    #[default]
49
    Nothing,
50
    Update,
51
    Panic,
52
}
53

54
#[derive(Debug, Serialize, Deserialize, JsonSchema, Eq, PartialEq, Clone, Copy, Default)]
182✔
55
#[serde(deny_unknown_fields)]
56
pub enum OnUpdateResolutionTypes {
57
    #[default]
58
    Nothing,
59
    Upsert,
60
    Panic,
61
}
62

63
#[derive(Debug, Serialize, Deserialize, JsonSchema, Eq, PartialEq, Clone, Copy, Default)]
183✔
64
#[serde(deny_unknown_fields)]
65
pub enum OnDeleteResolutionTypes {
66
    #[default]
67
    Nothing,
68
    Panic,
69
}
70

71
#[derive(Debug, Serialize, Deserialize, JsonSchema, Default, Eq, PartialEq, Clone, Copy)]
251✔
72
#[serde(deny_unknown_fields)]
73
pub struct ConflictResolution {
74
    #[serde(default, skip_serializing_if = "equal_default")]
75
    pub on_insert: OnInsertResolutionTypes,
76
    #[serde(default, skip_serializing_if = "equal_default")]
77
    pub on_update: OnUpdateResolutionTypes,
78
    #[serde(default, skip_serializing_if = "equal_default")]
79
    pub on_delete: OnDeleteResolutionTypes,
80
}
81

82
#[derive(Debug, Serialize, Deserialize, JsonSchema, Default, Eq, PartialEq, Clone)]
251✔
83
#[serde(deny_unknown_fields)]
84
pub struct LogReaderOptions {
85
    #[serde(skip_serializing_if = "Option::is_none")]
86
    pub batch_size: Option<u32>,
87

88
    #[serde(skip_serializing_if = "Option::is_none")]
89
    pub timeout_in_millis: Option<u32>,
90

91
    #[serde(skip_serializing_if = "Option::is_none")]
92
    pub buffer_size: Option<u32>,
93
}
94

95
#[derive(Debug, Serialize, Deserialize, JsonSchema, Default, Eq, PartialEq, Clone)]
554✔
96
#[serde(deny_unknown_fields)]
97
pub struct ApiEndpoint {
98
    pub name: String,
99

100
    /// name of the table in source database; Type: String
101
    pub table_name: String,
102

103
    /// path of endpoint - e.g: /stocks
104
    pub path: String,
105

106
    #[serde(default, skip_serializing_if = "equal_default")]
107
    pub index: ApiIndex,
108

109
    #[serde(default, skip_serializing_if = "equal_default")]
110
    pub conflict_resolution: ConflictResolution,
111

112
    #[serde(skip_serializing_if = "Option::is_none")]
113
    pub version: Option<u32>,
114

115
    #[serde(default, skip_serializing_if = "equal_default")]
116
    pub log_reader_options: LogReaderOptions,
117
}
118

119
pub fn default_log_reader_batch_size() -> u32 {
102✔
120
    1000
102✔
121
}
102✔
122

123
pub fn default_log_reader_timeout_in_millis() -> u32 {
102✔
124
    300
102✔
125
}
102✔
126

127
pub fn default_log_reader_buffer_size() -> u32 {
102✔
128
    1000
102✔
129
}
102✔
130

131
impl std::fmt::Display for SecondaryIndex {
132
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
×
133
        match self {
×
134
            SecondaryIndex::SortedInverted(SortedInverted { fields }) => {
×
135
                write!(f, "type: SortedInverted, fields: {}", fields.join(", "))
×
136
            }
137
            SecondaryIndex::FullText(FullText { field }) => {
×
138
                write!(f, "type: FullText, field: {}", field)
×
139
            }
140
        }
141
    }
×
142
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc