Skip to main content

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 ObjectRtDataPolicyTable
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