From 3de7d62a33d772cb5ae4fbc19fb91b632b2be667 Mon Sep 17 00:00:00 2001 From: pennae Date: Wed, 5 Oct 2022 16:25:31 +0200 Subject: add tracking for PRs landing in channels --- src/types.rs | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'src/types.rs') 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, + + // non-github fields + #[serde(default)] + pub landed_in: BTreeSet, } -#[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) } -- cgit v1.2.3