26 lines
687 B
Python
26 lines
687 B
Python
from __future__ import annotations
|
|
|
|
from dataclasses import dataclass
|
|
from typing import List
|
|
|
|
|
|
@dataclass(slots=True)
|
|
class AutomationRule:
|
|
id: str
|
|
name: str
|
|
schedule: str
|
|
enabled: bool
|
|
patterns: List[str]
|
|
target_folders: List[str]
|
|
|
|
@staticmethod
|
|
def from_dict(data: dict) -> "AutomationRule":
|
|
return AutomationRule(
|
|
id=str(data.get("id", "")),
|
|
name=str(data.get("name", "")),
|
|
schedule=str(data.get("schedule", "")),
|
|
enabled=bool(data.get("enabled", True)),
|
|
patterns=list(data.get("patterns", []) or []),
|
|
target_folders=list(data.get("target_folders", []) or []),
|
|
)
|