doppler_rs/models/
add_project_member_request.rs1use crate::models;
22use serde::{Deserialize, Serialize};
23use chrono::{DateTime, NaiveDate, Utc};
24#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
26pub struct AddProjectMemberRequest {
27 #[serde(rename = "type")]
28 pub r#type: String ,
29 #[serde(rename = "slug")]
31 pub slug: String ,
32 #[serde(rename = "role", skip_serializing_if = "Option::is_none")]
34 pub role: Option<String >,
35 #[serde(rename = "environments", skip_serializing_if = "Option::is_none")]
37 pub environments: Option<Vec<String> >,
38}
39
40impl AddProjectMemberRequest {
41 pub fn new(r#type: String , slug: String ) -> AddProjectMemberRequest {
42 AddProjectMemberRequest {
43 r#type: r#type,
44 slug: slug,
45 role: None,
46 environments: None,
47 }
48 }
49}
50#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
52pub enum Type {
53 #[serde(rename = "workplace_user")]
54 WorkplaceUser,
55 #[serde(rename = "group")]
56 Group,
57 #[serde(rename = "invite")]
58 Invite,
59 #[serde(rename = "service_account")]
60 ServiceAccount,
61}
62
63impl Default for Type {
64 fn default() -> Type {
65 Self::WorkplaceUser
66 }
67}
68