openapi_github/models/
team_membership.rs

1/*
2 * GitHub's official OpenAPI spec + Octokit extension
3 *
4 * OpenAPI specs from https://github.com/github/rest-api-description with the 'x-octokit' extension required by the Octokit SDKs
5 *
6 * The version of the OpenAPI document: 16.6.0
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14/// TeamMembership : Team Membership
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct TeamMembership {
17    #[serde(rename = "url")]
18    pub url: String,
19    /// The role of the user in the team.
20    #[serde(rename = "role")]
21    pub role: Role,
22    /// The state of the user's membership in the team.
23    #[serde(rename = "state")]
24    pub state: State,
25}
26
27impl TeamMembership {
28    /// Team Membership
29    pub fn new(url: String, role: Role, state: State) -> TeamMembership {
30        TeamMembership {
31            url,
32            role,
33            state,
34        }
35    }
36}
37/// The role of the user in the team.
38#[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/// The state of the user's membership in the team.
52#[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