Skip to main content

windmill_api/models/
role_capabilities.rs

1/*
2 * Windmill API
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: 1.859.0
7 * Contact: contact@windmill.dev
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct RoleCapabilities {
16    /// Author scripts and run code of one's own (previews, dependency jobs, dynamic selects, resolving jobs, data table migrations). Required by `full` flows or apps.
17    #[serde(rename = "code")]
18    pub code: bool,
19    #[serde(rename = "flows")]
20    pub flows: models::AuthorLevel,
21    #[serde(rename = "apps")]
22    pub apps: models::AuthorLevel,
23    #[serde(rename = "manage_schedules")]
24    pub manage_schedules: bool,
25    #[serde(rename = "manage_triggers")]
26    pub manage_triggers: bool,
27    /// Fork the workspace.
28    #[serde(rename = "fork")]
29    pub fork: bool,
30    #[serde(rename = "visibility")]
31    pub visibility: Box<models::RoleVisibility>,
32}
33
34impl RoleCapabilities {
35    pub fn new(code: bool, flows: models::AuthorLevel, apps: models::AuthorLevel, manage_schedules: bool, manage_triggers: bool, fork: bool, visibility: models::RoleVisibility) -> RoleCapabilities {
36        RoleCapabilities {
37            code,
38            flows,
39            apps,
40            manage_schedules,
41            manage_triggers,
42            fork,
43            visibility: Box::new(visibility),
44        }
45    }
46}
47