use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct PermissionGrantDto {
#[serde(rename = "applicationAccess", skip_serializing_if = "Option::is_none")]
pub application_access: Option<Vec<String>>,
#[serde(rename = "groupCustomFields", skip_serializing_if = "Option::is_none")]
pub group_custom_fields: Option<Vec<models::ProjectCreateResourceIdentifier>>,
#[serde(rename = "groups", skip_serializing_if = "Option::is_none")]
pub groups: Option<Vec<models::ProjectCreateResourceIdentifier>>,
#[serde(rename = "permissionKeys", skip_serializing_if = "Option::is_none")]
pub permission_keys: Option<Vec<String>>,
#[serde(rename = "projectRoles", skip_serializing_if = "Option::is_none")]
pub project_roles: Option<Vec<models::ProjectCreateResourceIdentifier>>,
#[serde(rename = "specialGrants", skip_serializing_if = "Option::is_none")]
pub special_grants: Option<Vec<String>>,
#[serde(rename = "userCustomFields", skip_serializing_if = "Option::is_none")]
pub user_custom_fields: Option<Vec<models::ProjectCreateResourceIdentifier>>,
#[serde(rename = "users", skip_serializing_if = "Option::is_none")]
pub users: Option<Vec<models::ProjectCreateResourceIdentifier>>,
}
impl PermissionGrantDto {
pub fn new() -> PermissionGrantDto {
PermissionGrantDto {
application_access: None,
group_custom_fields: None,
groups: None,
permission_keys: None,
project_roles: None,
special_grants: None,
user_custom_fields: None,
users: None,
}
}
}