diff options
author | pennae <github@quasiparticle.net> | 2022-10-05 16:25:31 +0200 |
---|---|---|
committer | pennae <github@quasiparticle.net> | 2022-10-07 19:51:10 +0200 |
commit | 3de7d62a33d772cb5ae4fbc19fb91b632b2be667 (patch) | |
tree | ad6cceab9af517c15cd5d0c75ad5e2f968a1432d /src/types.rs | |
parent | 50068653801991e67487f1b555b83f9232a3bd48 (diff) | |
download | label-tracker-3de7d62a33d772cb5ae4fbc19fb91b632b2be667.tar.gz label-tracker-3de7d62a33d772cb5ae4fbc19fb91b632b2be667.tar.xz label-tracker-3de7d62a33d772cb5ae4fbc19fb91b632b2be667.zip |
add tracking for PRs landing in channels
Diffstat (limited to 'src/types.rs')
-rw-r--r-- | src/types.rs | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/src/types.rs b/src/types.rs index a960647..a18331c 100644 --- a/src/types.rs +++ b/src/types.rs @@ -1,6 +1,6 @@ #![allow(non_camel_case_types)] -use std::collections::BTreeMap; +use std::collections::{BTreeMap, BTreeSet}; use serde::{Deserialize, Serialize}; @@ -59,9 +59,23 @@ pub struct PullRequest { pub last_update: DateTime, pub url: String, pub base_ref: String, + pub merge_commit: Option<String>, + + // non-github fields + #[serde(default)] + pub landed_in: BTreeSet<String>, } -#[derive(Debug, PartialEq, Eq, Clone, Copy, Serialize, Deserialize)] +impl PullRequest { + pub fn update(&mut self, from: PullRequest) { + *self = PullRequest { + landed_in: std::mem::replace(&mut self.landed_in, BTreeSet::new()), + ..from + } + } +} + +#[derive(Debug, PartialOrd, Ord, PartialEq, Eq, Clone, Serialize, Deserialize)] #[serde(deny_unknown_fields)] pub enum PullAction { New, @@ -69,4 +83,5 @@ pub enum PullAction { NewClosed, Merged, NewMerged, + Landed(Vec<String>) } |