Namespace Zedal.Sdk.Apis.Diwass.Permissions
Classes
- PermissionMatrix
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.
- PermissionMatrixInference
Rollen-Inferenz aus
currentOperatorId(s) × Document. Pro Schein-Typ gibt es eine eigeneInferRoles-Methode, die alle Party-Slots des Dokuments durchgeht und alle Rollen zurückgibt, in denen mindestens eine der übergebenen OperatorIds im Doc steht. Der Single-Operator-Pfad (typischer UI-Fall: ein eingeloggter Account) und der Mehr-Operator-Pfad (Operator-Verbund / mehrere Accounts auf einer Logik-Einheit) teilen sich dieselbe Implementierung — Single delegiert auf Plural.Quelle ist immer die Server-Sicht. Inferenz arbeitet ausschließlich auf den Get*-Information-Typen (Infotech.Zedal.Documents.V1.Diwass.Waste.Retrieval.V1.NotificationInformationType, Infotech.Zedal.Documents.V1.Diwass.Waste.Retrieval.V1.Annex7InformationType) bzw. der im Movement-Aggregat referenzierten
GetNotificationResponse. Submission-/Update-Requests sind als Eingang verboten — sie sind ein Wunsch des Notifizierenden; erst nach dem Abschicken legt der Server fest, welche Operatoren in welchem Slot landen.Authority wird hier nicht inferiert — Behörden haben keine
OperatorInternalIdim Dokument. Wer als Competent Authority handelt, übergibtRole.Authoritydirekt an die rollen-basierten Methoden auf PermissionMatrix.
Enums
- Role
Rollen, die ein Akteur in einem DIWASS-Schein einnehmen kann. Ein Akteur (eine OperatorInternalId) kann mehrere Rollen gleichzeitig halten — z.B. wenn dieselbe Firma als Notifizierer und Erzeuger im Dokument steht. Die Permission-Matrix bildet daher Mengen von Rollen, keine Einzelrolle.
Authoritywird nicht aus derOperatorInternalIdabgeleitet (Behörden haben keine OperatorInternalId im Dokument); diese Rolle muss vom Aufrufer explizit übergeben werden, wenn er als Competent Authority handelt.