Skip to content

Latest commit

 

History

History
35 lines (27 loc) · 923 Bytes

File metadata and controls

35 lines (27 loc) · 923 Bytes

📁 docs/plugin-api.md

# Plugin-API

## Condition-Plugin

Eine Condition ist eine einzelne Prüfbedingung. Sie muss das `Condition`-Protokoll erfüllen:

```python
from integrity_protocol import Condition, ConditionResult, ConditionRegistry, Decision, Severity

class MyCondition:
    id = "my-condition"
    name = "My Condition"

    def evaluate(self, data, registry: ConditionRegistry) -> ConditionResult:
        if data.get("valid", False):
            return ConditionResult(
                condition_id=self.id,
                name=self.name,
                decision=Decision.PASS,
                severity=Severity.INFO,
                message="Data valid",
            )
        return ConditionResult(
            condition_id=self.id,
            name=self.name,
            decision=Decision.FAIL,
            severity=Severity.ERROR,
            message="Data invalid",
        )