openapi_github/models/
team_membership.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct TeamMembership {
17 #[serde(rename = "url")]
18 pub url: String,
19 #[serde(rename = "role")]
21 pub role: Role,
22 #[serde(rename = "state")]
24 pub state: State,
25}
26
27impl TeamMembership {
28 pub fn new(url: String, role: Role, state: State) -> TeamMembership {
30 TeamMembership {
31 url,
32 role,
33 state,
34 }
35 }
36}
37#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
39pub enum Role {
40 #[serde(rename = "member")]
41 Member,
42 #[serde(rename = "maintainer")]
43 Maintainer,
44}
45
46impl Default for Role {
47 fn default() -> Role {
48 Self::Member
49 }
50}
51#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
53pub enum State {
54 #[serde(rename = "active")]
55 Active,
56 #[serde(rename = "pending")]
57 Pending,
58}
59
60impl Default for State {
61 fn default() -> State {
62 Self::Active
63 }
64}
65