Add issue label and milestone filters

This commit is contained in:
Georg Bauer
2026-07-31 13:42:06 +02:00
parent 6374636b04
commit 6eb27537e8
9 changed files with 492 additions and 18 deletions

View File

@@ -1,4 +1,4 @@
use std::collections::BTreeSet;
use std::collections::{BTreeMap, BTreeSet};
use gotcha_gitea::models;
use serde::{Deserialize, Serialize};
@@ -50,6 +50,8 @@ pub struct Preferences {
pub last_server: Option<usize>,
#[serde(default = "open_status")]
pub issue_status: String,
#[serde(default)]
pub issue_filters: BTreeMap<String, IssueFilter>,
#[serde(default = "open_status")]
pub pull_status: String,
#[serde(default)]
@@ -63,12 +65,21 @@ impl Default for Preferences {
favorites: BTreeSet::new(),
last_server: None,
issue_status: open_status(),
issue_filters: BTreeMap::new(),
pull_status: open_status(),
appearance: AppearanceMode::default(),
}
}
}
#[derive(Clone, Default, Deserialize, Eq, PartialEq, Serialize)]
pub struct IssueFilter {
#[serde(default)]
pub milestone: String,
#[serde(default)]
pub labels: BTreeSet<String>,
}
#[derive(Clone)]
pub struct RepositoryData {
pub owner: String,