重构
This commit is contained in:
@@ -67,3 +67,81 @@ class ConfBaseConfig(BaseModel):
|
||||
groups: list[ConfGroup] = Field(default_factory=list)
|
||||
modules: list[ConfModule] = Field(default_factory=list)
|
||||
builtins: list[ConfBuiltin] = Field(default_factory=list)
|
||||
|
||||
|
||||
class ConfPolicyOverride(BaseModel):
|
||||
module_key: str
|
||||
policy: str
|
||||
line_no: int
|
||||
|
||||
|
||||
class ConfInlineRule(BaseModel):
|
||||
value: str
|
||||
line_no: int
|
||||
|
||||
|
||||
class ConfProfileConfig(BaseModel):
|
||||
name: str | None = None
|
||||
enabled: bool = True
|
||||
sources: list[str] = Field(default_factory=list)
|
||||
include_modules: list[str] = Field(default_factory=list)
|
||||
exclude_modules: list[str] = Field(default_factory=list)
|
||||
include_builtins: list[str] = Field(default_factory=list)
|
||||
override_policies: list[ConfPolicyOverride] = Field(default_factory=list)
|
||||
prepend_rules: list[ConfInlineRule] = Field(default_factory=list)
|
||||
append_rules: list[ConfInlineRule] = Field(default_factory=list)
|
||||
|
||||
|
||||
class ConfResolvedSource(BaseModel):
|
||||
key: str
|
||||
display_name: str
|
||||
source_type: str
|
||||
value: str
|
||||
enabled: bool = True
|
||||
cache_ttl: int | None = None
|
||||
options: dict[str, str] = Field(default_factory=dict)
|
||||
|
||||
|
||||
class ConfResolvedModule(BaseModel):
|
||||
key: str
|
||||
path: str
|
||||
policy: str
|
||||
order: int
|
||||
enabled: bool = True
|
||||
|
||||
|
||||
class ConfResolvedBuiltin(BaseModel):
|
||||
key: str
|
||||
rule_line: str
|
||||
policy: str
|
||||
order: int
|
||||
enabled: bool = True
|
||||
|
||||
|
||||
class ConfResolvedGroup(BaseModel):
|
||||
name: str
|
||||
group_type: str
|
||||
members: list[str] = Field(default_factory=list)
|
||||
selector_key: str | None = None
|
||||
url: str | None = None
|
||||
interval: int | None = None
|
||||
tolerance: int | None = None
|
||||
raw: str
|
||||
|
||||
|
||||
class ConfRuntimePlan(BaseModel):
|
||||
profile_key: str
|
||||
profile_name: str | None = None
|
||||
selected_sources: list[ConfResolvedSource] = Field(default_factory=list)
|
||||
selected_modules: list[ConfResolvedModule] = Field(default_factory=list)
|
||||
selected_builtins: list[ConfResolvedBuiltin] = Field(default_factory=list)
|
||||
selectors: dict[str, str] = Field(default_factory=dict)
|
||||
groups: list[ConfResolvedGroup] = Field(default_factory=list)
|
||||
prepend_rules: list[str] = Field(default_factory=list)
|
||||
append_rules: list[str] = Field(default_factory=list)
|
||||
mode: str | None = None
|
||||
allow_lan: bool | None = None
|
||||
log_level: str | None = None
|
||||
ipv6: bool | None = None
|
||||
append_userinfo_header: bool | None = None
|
||||
userinfo_source_policy: str | None = None
|
||||
|
||||
Reference in New Issue
Block a user