commit_wizard/engine/models/policy/
push.rs1use 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}