windmill-api 1.864.0

No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
Documentation
/*
 * Windmill API
 *
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: 1.864.0
 * Contact: contact@windmill.dev
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct RoleCapabilities {
    /// 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. Previews also need `run`.
    #[serde(rename = "code")]
    pub code: bool,
    #[serde(rename = "flows")]
    pub flows: models::AuthorLevel,
    #[serde(rename = "apps")]
    pub apps: models::AuthorLevel,
    #[serde(rename = "manage_schedules")]
    pub manage_schedules: bool,
    #[serde(rename = "manage_triggers")]
    pub manage_triggers: bool,
    /// Start runs of scripts, flows and AI agents (by path, hash or version, restarts, previews, MCP run tools). Without it a role is view-only. Schedules and triggers keep their own rights; resuming a suspended step is not a run.
    #[serde(rename = "run")]
    pub run: bool,
    /// Fork the workspace.
    #[serde(rename = "fork")]
    pub fork: bool,
    #[serde(rename = "visibility")]
    pub visibility: Box<models::RoleVisibility>,
}

impl RoleCapabilities {
    pub fn new(code: bool, flows: models::AuthorLevel, apps: models::AuthorLevel, manage_schedules: bool, manage_triggers: bool, run: bool, fork: bool, visibility: models::RoleVisibility) -> RoleCapabilities {
        RoleCapabilities {
            code,
            flows,
            apps,
            manage_schedules,
            manage_triggers,
            run,
            fork,
            visibility: Box::new(visibility),
        }
    }
}