Skip to main content

nominal_api/conjure/objects/timeseries/logicalseries/api/
timescale_db_locator.rs

1#[derive(
2    Debug,
3    Clone,
4    conjure_object::serde::Serialize,
5    conjure_object::serde::Deserialize,
6    PartialEq,
7    Eq,
8    PartialOrd,
9    Ord,
10    Hash
11)]
12#[serde(crate = "conjure_object::serde")]
13#[conjure_object::private::staged_builder::staged_builder]
14#[builder(crate = conjure_object::private::staged_builder, update, inline)]
15pub struct TimescaleDbLocator {
16    #[serde(rename = "table")]
17    table: super::TableName,
18    #[serde(rename = "schema")]
19    schema: super::SchemaName,
20    #[serde(rename = "column")]
21    column: super::ColumnName,
22    #[serde(rename = "timeColumn")]
23    time_column: super::ColumnName,
24    #[builder(default, map(key(type = String, into), value(type = String, into)))]
25    #[serde(
26        rename = "dimensions",
27        skip_serializing_if = "std::collections::BTreeMap::is_empty",
28        default
29    )]
30    dimensions: std::collections::BTreeMap<String, String>,
31    #[serde(rename = "type")]
32    type_: super::TimescaleType,
33}
34impl TimescaleDbLocator {
35    #[inline]
36    pub fn table(&self) -> &super::TableName {
37        &self.table
38    }
39    #[inline]
40    pub fn schema(&self) -> &super::SchemaName {
41        &self.schema
42    }
43    #[inline]
44    pub fn column(&self) -> &super::ColumnName {
45        &self.column
46    }
47    #[inline]
48    pub fn time_column(&self) -> &super::ColumnName {
49        &self.time_column
50    }
51    #[inline]
52    pub fn dimensions(&self) -> &std::collections::BTreeMap<String, String> {
53        &self.dimensions
54    }
55    #[inline]
56    pub fn type_(&self) -> &super::TimescaleType {
57        &self.type_
58    }
59}