Skip to main content

changeset_operations/verification/rules/
deleted.rs

1use super::{VerificationContext, VerificationResult, VerificationRule};
2use crate::Result;
3
4pub struct DeletedChangesetsRule {
5    allow_deleted: bool,
6}
7
8impl DeletedChangesetsRule {
9    #[must_use]
10    pub fn new(allow_deleted: bool) -> Self {
11        Self { allow_deleted }
12    }
13}
14
15impl VerificationRule for DeletedChangesetsRule {
16    fn check(&self, context: &VerificationContext, result: &mut VerificationResult) -> Result<()> {
17        if !self.allow_deleted {
18            result.set_deleted_changesets(context.deleted_changesets().clone());
19        }
20        Ok(())
21    }
22}