/// ActionEnum
#[derive(serde::Serialize, serde::Deserialize, Debug, Default, Clone)]
pub enum ActionEnum {
    #[default]
    #[serde(rename = "api_project_delete")]
    ApiProjectDelete,
    #[serde(rename = "api_project_read")]
    ApiProjectRead,
    #[serde(rename = "api_project_update")]
    ApiProjectUpdate,
    #[serde(rename = "api_project_version_create")]
    ApiProjectVersionCreate,
    #[serde(rename = "api_project_version_delete")]
    ApiProjectVersionDelete,
    #[serde(rename = "api_project_version_read")]
    ApiProjectVersionRead,
    #[serde(rename = "api_project_version_update")]
    ApiProjectVersionUpdate,
    #[serde(rename = "audit_log_read")]
    AuditLogRead,
    #[serde(rename = "doc_project_delete")]
    DocProjectDelete,
    #[serde(rename = "doc_project_publish_preview")]
    DocProjectPublishPreview,
    #[serde(rename = "doc_project_publish_production")]
    DocProjectPublishProduction,
    #[serde(rename = "doc_project_read")]
    DocProjectRead,
    #[serde(rename = "doc_project_update")]
    DocProjectUpdate,
    #[serde(rename = "doc_project_version_read")]
    DocProjectVersionRead,
    #[serde(rename = "doc_project_version_update")]
    DocProjectVersionUpdate,
    #[serde(rename = "organization_create_api_project")]
    OrganizationCreateApiProject,
    #[serde(rename = "organization_create_doc_project")]
    OrganizationCreateDocProject,
    #[serde(rename = "organization_read_theme")]
    OrganizationReadTheme,
    #[serde(rename = "organization_update_theme")]
    OrganizationUpdateTheme,
    #[serde(rename = "role_create")]
    RoleCreate,
    #[serde(rename = "role_delete")]
    RoleDelete,
    #[serde(rename = "role_read")]
    RoleRead,
}
impl std::fmt::Display for ActionEnum {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let str_val = match self {
            ActionEnum::ApiProjectDelete => "api_project_delete",
            ActionEnum::ApiProjectRead => "api_project_read",
            ActionEnum::ApiProjectUpdate => "api_project_update",
            ActionEnum::ApiProjectVersionCreate => "api_project_version_create",
            ActionEnum::ApiProjectVersionDelete => "api_project_version_delete",
            ActionEnum::ApiProjectVersionRead => "api_project_version_read",
            ActionEnum::ApiProjectVersionUpdate => "api_project_version_update",
            ActionEnum::AuditLogRead => "audit_log_read",
            ActionEnum::DocProjectDelete => "doc_project_delete",
            ActionEnum::DocProjectPublishPreview => "doc_project_publish_preview",
            ActionEnum::DocProjectPublishProduction => "doc_project_publish_production",
            ActionEnum::DocProjectRead => "doc_project_read",
            ActionEnum::DocProjectUpdate => "doc_project_update",
            ActionEnum::DocProjectVersionRead => "doc_project_version_read",
            ActionEnum::DocProjectVersionUpdate => "doc_project_version_update",
            ActionEnum::OrganizationCreateApiProject => "organization_create_api_project",
            ActionEnum::OrganizationCreateDocProject => "organization_create_doc_project",
            ActionEnum::OrganizationReadTheme => "organization_read_theme",
            ActionEnum::OrganizationUpdateTheme => "organization_update_theme",
            ActionEnum::RoleCreate => "role_create",
            ActionEnum::RoleDelete => "role_delete",
            ActionEnum::RoleRead => "role_read",
        };
        write!(f, "{}", str_val)
    }
}
