Skip to main content

commit_wizard/engine/models/policy/
push.rs

1use crate::engine::models::runtime::ResolvedConfig;
2
3#[derive(Debug, Clone)]
4pub struct PushModel {
5    pub allow_protected: bool,
6    pub allow_force_override: bool,
7    pub check_commits: bool,
8    pub check_branch_policy: bool,
9}
10
11impl Default for PushModel {
12    fn default() -> Self {
13        Self {
14            allow_protected: false,
15            allow_force_override: false,
16            check_commits: true,
17            check_branch_policy: true,
18        }
19    }
20}
21
22impl PushModel {
23    pub fn from_config(config: &ResolvedConfig) -> Self {
24        let base = &config.base;
25
26        Self {
27            allow_protected: base.push_allow_protected(),
28            allow_force_override: base.push_allow_force(),
29            check_commits: base.push_check_commits(),
30            check_branch_policy: base.push_check_branch_policy(),
31        }
32    }
33}