Table of Contents

Class PermissionMatrix

Namespace
Zedal.Sdk.Apis.Diwass.Permissions
Assembly
Zedal.Sdk.dll

Rollen-Permission-Matrix für DIWASS-Intents (Submission, Movement, Annex7).

Die Matrix prüft ausschließlich den Rollen-Aspekt: darf eine gegebene Rolle die Aktion grundsätzlich ausführen? Ob die Aktion im aktuellen Dokumentzustand zulässig ist, entscheidet weiter BxA über die von ihm gelieferte FollowupIntents-Liste; die Permission-Matrix bildet die Schnittmenge aus „rollen-erlaubt" und „lifecycle-erlaubt".

Server-seitige Validierung bleibt orthogonal — die Matrix dient als Pre-Check für UI/CLI und ersetzt keine Server-Antwort.

public static class PermissionMatrix
Inheritance
PermissionMatrix
Inherited Members

Methods

CanPerform(IEnumerable<Role>, DiwassIntents)

Vereinigung der erlaubten Intents über mehrere Rollen — passt zur Inferenz-API, die für eine OperatorId mehrere Rollen zurückgeben kann (z.B. S&F = Notifizierer + Erzeuger) und zu Aufrufern, die einen Operator-Verbund mit mehreren OperatorIds prüfen.

CanPerform(Role, DiwassIntents)

Liefert true, wenn die Rolle den Intent grundsätzlich ausführen darf. DiwassIntentUnspecified ist immer false.

Filter(IEnumerable<Role>, IEnumerable<DiwassIntents>)

Schnittmenge auf Rollen-Mengen-Basis (Union der Allow-Listen × Eingabestrom).

Filter(Role, IEnumerable<DiwassIntents>)

Bildet die Schnittmenge aus rollen-erlaubten Intents und dem übergebenen Strom — typischerweise handler.FollowupIntents.