orvanta-api 6.5.0

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

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

/// BpmnAuthoringGuide : The engine's own authoring vocabulary, served (#1560). Every substantive field is an **export**, not a description. `element_support` and `validation_codes` are `backend/orvanta-bpmn/element-support.json` and `validation-codes.json` verbatim -- generated from the engine's types and asserted byte-for-byte by that crate's tests -- and `api_issue_codes` reuses the constants the reporting sites themselves use. Restating any of it in prose would create a second copy that drifts from the engine.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct BpmnAuthoringGuide {
    /// How to read the exported artifacts. Protocol, not engine semantics.
    #[serde(rename = "how_to_use")]
    pub how_to_use: Vec<String>,
    /// The authoring loop, in the order it has to happen.
    #[serde(rename = "workflow")]
    pub workflow: Vec<String>,
    /// `element-support.json`: 35 element kinds with per-kind support status, plus `caveats`, `recognized_tags`, `event_definitions` and `ignored_subtrees`. Read `caveats` first -- it is where a naive generator dies.
    #[serde(rename = "element_support")]
    pub element_support: serde_json::Value,
    /// `validation-codes.json`: every code the engine's `ValidationError` can return.
    #[serde(rename = "validation_codes")]
    pub validation_codes: serde_json::Value,
    /// The codes this API reports that the engine crate cannot, because they need a database -- delegate bindings, form bindings, `calledElement` resolution, task identities, plus `ParseError`. `validation_codes` alone is **not** the complete set of codes a caller sees.
    #[serde(rename = "api_issue_codes")]
    pub api_issue_codes: Vec<models::BpmnAuthoringGuideApiIssueCodesInner>,
}

impl BpmnAuthoringGuide {
    /// The engine's own authoring vocabulary, served (#1560). Every substantive field is an **export**, not a description. `element_support` and `validation_codes` are `backend/orvanta-bpmn/element-support.json` and `validation-codes.json` verbatim -- generated from the engine's types and asserted byte-for-byte by that crate's tests -- and `api_issue_codes` reuses the constants the reporting sites themselves use. Restating any of it in prose would create a second copy that drifts from the engine.
    pub fn new(how_to_use: Vec<String>, workflow: Vec<String>, element_support: serde_json::Value, validation_codes: serde_json::Value, api_issue_codes: Vec<models::BpmnAuthoringGuideApiIssueCodesInner>) -> BpmnAuthoringGuide {
        BpmnAuthoringGuide {
            how_to_use,
            workflow,
            element_support,
            validation_codes,
            api_issue_codes,
        }
    }
}