Models / Provider

Provider

class teksi_hooks.models.provider.Provider(name, organisation_oid, permissions)[source]

Parsed provider definition.

A provider represents one organization submitting or maintaining data. Its permissions may contain several entries for the same data owner. These entries are merged by the provider resolver.

Parameters:

Fields

name

Type: str

Human-readable provider name.

organisation_oid

Type: Oid

Canonical organization identifier of the provider.

permissions

Type: frozenset

Provider permissions before resolution. Multiple entries for the same data owner are allowed and are merged during provider resolution.

ProviderPermission

class teksi_hooks.models.provider.ProviderPermission(dataowner_oid, privileges)[source]

Describes the privileges granted to a provider for one data owner.

Multiple permissions for the same data owner may exist in the parsed model. The provider resolver is responsible for merging them into a single permission entry per data owner.

Parameters:
  • dataowner_oid (Oid)

  • privileges (frozenset[str])

Fields

dataowner_oid

Type: Oid

Identifier of the data owner for which the privileges apply.

privileges

Type: frozenset

PrivilegeIds granted to the provider for the corresponding data owner.

ResolvedProvider

class teksi_hooks.models.provider.ResolvedProvider(name, organisation_oid, permissions)[source]

Resolved provider definition optimized for runtime privilege checks.

The resolver groups permissions by data owner and merges privileges for duplicate data-owner entries. Runtime code should use this model instead of scanning the parsed provider roles directly.

Parameters:
  • name (str)

  • organisation_oid (Oid)

  • permissions (Mapping[Oid, frozenset[str]])

Fields

name

Type: str

Human-readable provider name.

organisation_oid

Type: Oid

Canonical organization identifier of the provider.

permissions

Type: Mapping

Resolved permissions keyed by data-owner identifier. Each data owner appears at most once.