nile_client_rs/models/
user.rs

1/*
2 * Nile API
3 *
4 * Making SaaS chill.
5 *
6 * The version of the OpenAPI document: 0.1.0-fdd7cd5
7 * Contact: support@thenile.dev
8 * Generated by: https://openapi-generator.tech
9 */
10
11#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
12pub struct User {
13    #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
14    pub id: Option<String>,
15    #[serde(rename = "created", skip_serializing_if = "Option::is_none")]
16    pub created: Option<String>,
17    #[serde(rename = "updated", skip_serializing_if = "Option::is_none")]
18    pub updated: Option<String>,
19    #[serde(rename = "seq", skip_serializing_if = "Option::is_none")]
20    pub seq: Option<i64>,
21    #[serde(rename = "type")]
22    pub r#type: RHashType,
23    /// Arbitrary metadata.
24    #[serde(rename = "metadata", skip_serializing_if = "Option::is_none")]
25    pub metadata: Option<serde_json::Value>,
26    #[serde(rename = "org_memberships", skip_serializing_if = "Option::is_none")]
27    pub org_memberships: Option<::std::collections::HashMap<String, crate::models::OrgMembership>>,
28    #[serde(rename = "email")]
29    pub email: String,
30}
31
32impl User {
33    pub fn new(r#type: RHashType, email: String) -> User {
34        User {
35            id: None,
36            created: None,
37            updated: None,
38            seq: None,
39            r#type,
40            metadata: None,
41            org_memberships: None,
42            email,
43        }
44    }
45}
46
47///
48#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
49pub enum RHashType {
50    #[serde(rename = "user")]
51    User,
52    #[serde(rename = "developer")]
53    Developer,
54    #[serde(rename = "service_account")]
55    ServiceAccount,
56    #[serde(rename = "nile_employee")]
57    NileEmployee,
58}
59
60impl Default for RHashType {
61    fn default() -> RHashType {
62        Self::User
63    }
64}
65
66use serde::{Deserialize, Serialize};