use super::*;
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct CodeQualityRule {
pub id: String,
pub title: String,
pub description: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub help: Option<String>,
pub severity: String,
pub category: String,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct CodeQualityLocation {
pub path: String,
pub start_line: i64,
pub start_column: i64,
pub end_line: i64,
pub end_column: i64,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct CodeQualityMessage {
pub text: String,
pub markdown: String,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct CodeQualityFinding {
pub number: u64,
pub state: String,
pub url: Url,
pub rule: CodeQualityRule,
pub location: CodeQualityLocation,
pub message: CodeQualityMessage,
pub created_at: DateTime<Utc>,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct CodeQualitySetup {
#[serde(skip_serializing_if = "Option::is_none")]
pub state: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub languages: Option<Vec<String>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub runner_type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub runner_label: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub updated_at: Option<DateTime<Utc>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub schedule: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub ai_findings_option: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct UpdateCodeQualitySetup {
#[serde(skip_serializing_if = "Option::is_none")]
pub state: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub runner_type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub runner_label: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub languages: Option<Vec<String>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub ai_findings_option: Option<String>,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct UpdateCodeQualitySetupResponse {
#[serde(skip_serializing_if = "Option::is_none")]
pub run_id: Option<u64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub run_url: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct CodeQualityEnablement {
#[serde(skip_serializing_if = "Option::is_none")]
pub enablement: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub state: Option<String>,
}