1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/*
* NetBox REST API
*
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: 4.6.2 (4.6)
*
* Generated by: https://openapi-generator.tech
*/
/// ObjectPermissionRequest : Extends the built-in ModelSerializer to enforce calling full_clean() on a copy of the associated instance during validation. (DRF does not do this by default; see <https://github.com/encode/django-rest-framework/issues/3144>)
#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct ObjectPermissionRequest {
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "description", skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(rename = "enabled", skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
#[serde(rename = "object_types")]
pub object_types: Vec<String>,
/// The list of actions granted by this permission
#[serde(rename = "actions")]
pub actions: Vec<String>,
/// Queryset filter matching the applicable objects of the selected type(s)
#[serde(
rename = "constraints",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub constraints: Option<Option<serde_json::Value>>,
#[serde(rename = "groups", skip_serializing_if = "Option::is_none")]
pub groups: Option<Vec<i32>>,
#[serde(rename = "users", skip_serializing_if = "Option::is_none")]
pub users: Option<Vec<i32>>,
}
impl ObjectPermissionRequest {
/// Extends the built-in ModelSerializer to enforce calling full_clean() on a copy of the associated instance during validation. (DRF does not do this by default; see <https://github.com/encode/django-rest-framework/issues/3144>)
pub fn new(
name: String,
object_types: Vec<String>,
actions: Vec<String>,
) -> ObjectPermissionRequest {
ObjectPermissionRequest {
name,
description: None,
enabled: None,
object_types,
actions,
constraints: None,
groups: None,
users: None,
}
}
}