openapi_github/models/
repository_collaborator_permission.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/// RepositoryCollaboratorPermission : Repository Collaborator Permission
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct RepositoryCollaboratorPermission {
17    #[serde(rename = "permission")]
18    pub permission: String,
19    #[serde(rename = "role_name")]
20    pub role_name: String,
21    #[serde(rename = "user", deserialize_with = "Option::deserialize")]
22    pub user: Option<Box<models::NullableCollaborator>>,
23}
24
25impl RepositoryCollaboratorPermission {
26    /// Repository Collaborator Permission
27    pub fn new(permission: String, role_name: String, user: Option<models::NullableCollaborator>) -> RepositoryCollaboratorPermission {
28        RepositoryCollaboratorPermission {
29            permission,
30            role_name,
31            user: user.map(Box::new),
32        }
33    }
34}
35