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:
name (str)
organisation_oid (Oid)
permissions (frozenset[ProviderPermission])
Fields
nameType:
strHuman-readable provider name.
organisation_oidType:
OidCanonical organization identifier of the provider.
permissionsType:
frozensetProvider 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_oidType:
OidIdentifier of the data owner for which the privileges apply.
privilegesType:
frozensetPrivilegeIds 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.
Fields
nameType:
strHuman-readable provider name.
organisation_oidType:
OidCanonical organization identifier of the provider.
permissionsType:
MappingResolved permissions keyed by data-owner identifier. Each data owner appears at most once.