Zum Hauptinhalt springen

RtDataPolicyTable

Namespace: Meshmakers.Octo.Runtime.Contracts.DataPermissions

The resolved data-policy table of a tenant. An empty table means no type is protected. Rule targets are canonicalized on construction (element version elided when 1, matching the stored ckTypeId form) so a target entered as "Basic/Employee-1" and the stored "Basic/Employee" compare equal in every ordinal string comparison downstream.

public record RtDataPolicyTable : IEquatable<RtDataPolicyTable>

Inheritance Object → RtDataPolicyTable
Implements IEquatable<RtDataPolicyTable>

Fields​

Empty​

The empty table (no policies — everything open).

public static RtDataPolicyTable Empty;

Properties​

Rules​

All resolved policy rules (targets canonicalized).

public IReadOnlyList<RtDataPolicyRule> Rules { get; }

Property Value​

IReadOnlyList<RtDataPolicyRule>

HasRules​

True when at least one policy rule exists.

public bool HasRules { get; }

Property Value​

Boolean

AllTargetCkTypeIds​

All CK type ids any rule targets (for cheap "is anything protected here" pre-checks).

public IReadOnlyCollection<string> AllTargetCkTypeIds { get; }

Property Value​

IReadOnlyCollection<String>

Constructors​

RtDataPolicyTable(IReadOnlyList<RtDataPolicyRule>)​

Creates a table from resolved rules, canonicalizing each rule's target CK type ids.

public RtDataPolicyTable(IReadOnlyList<RtDataPolicyRule> rules)

Parameters​

rules IReadOnlyList<RtDataPolicyRule>
All resolved policy rules