influxdb2/models/
organization.rs

1//! Organization
2
3use serde::{Deserialize, Serialize};
4
5/// Organization Schema
6#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
7#[serde(rename_all = "camelCase")]
8pub struct Organization {
9    /// Links
10    #[serde(skip_serializing_if = "Option::is_none")]
11    pub links: Option<crate::models::OrganizationLinks>,
12    /// Organization ID
13    #[serde(skip_serializing_if = "Option::is_none")]
14    pub id: Option<String>,
15    /// Organization Name
16    pub name: String,
17    /// Organization description
18    #[serde(skip_serializing_if = "Option::is_none")]
19    pub description: Option<String>,
20    /// Organization created timestamp
21    #[serde(skip_serializing_if = "Option::is_none")]
22    pub created_at: Option<String>,
23    /// Organization updated timestamp
24    #[serde(skip_serializing_if = "Option::is_none")]
25    pub updated_at: Option<String>,
26    /// If inactive the organization is inactive.
27    #[serde(skip_serializing_if = "Option::is_none")]
28    pub status: Option<Status>,
29}
30
31impl Organization {
32    /// Returns instance of Organization
33    pub fn new(name: String) -> Self {
34        Self {
35            name,
36            ..Default::default()
37        }
38    }
39}
40
41/// If inactive the organization is inactive.
42#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
43#[serde(rename_all = "camelCase")]
44pub enum Status {
45    /// Organization is active
46    Active,
47    /// Organization is inactive
48    Inactive,
49}
50
51/// Organization Links
52#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
53pub struct OrganizationLinks {
54    /// Link to self
55    #[serde(rename = "self", skip_serializing_if = "Option::is_none")]
56    pub self_: Option<String>,
57    /// Links to members
58    #[serde(skip_serializing_if = "Option::is_none")]
59    pub members: Option<String>,
60    /// Links to owners
61    #[serde(skip_serializing_if = "Option::is_none")]
62    pub owners: Option<String>,
63    /// Links to labels
64    #[serde(skip_serializing_if = "Option::is_none")]
65    pub labels: Option<String>,
66    /// Links to secrets
67    #[serde(skip_serializing_if = "Option::is_none")]
68    pub secrets: Option<String>,
69    /// Links to buckets
70    #[serde(skip_serializing_if = "Option::is_none")]
71    pub buckets: Option<String>,
72    /// Links to tasks
73    #[serde(skip_serializing_if = "Option::is_none")]
74    pub tasks: Option<String>,
75    /// Links to dashboards
76    #[serde(skip_serializing_if = "Option::is_none")]
77    pub dashboards: Option<String>,
78}
79
80impl OrganizationLinks {
81    /// Returns instance of Organization Links
82    pub fn new() -> Self {
83        Self::default()
84    }
85}
86
87/// Organizations
88#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
89pub struct Organizations {
90    /// Links
91    #[serde(skip_serializing_if = "Option::is_none")]
92    pub links: Option<crate::models::Links>,
93    /// List of organizations
94    #[serde(default, skip_serializing_if = "Vec::is_empty")]
95    pub orgs: Vec<crate::models::Organization>,
96}
97
98impl Organizations {
99    /// Returns instance of Organizations
100    pub fn new() -> Self {
101        Self::default()
102    }
103}