Table of Contents

Interface IScopeRegistry

Namespace
Tharga.Team
Assembly
Tharga.Team.dll

Registry of all known scopes. Used at runtime to resolve effective scopes for an access level.

public interface IScopeRegistry

Properties

All

IReadOnlyList<ScopeDefinition> All { get; }

Property Value

IReadOnlyList<ScopeDefinition>

Groups

The groups scopes are shown under, in the order the host defined them. Empty when the host defined none.

IReadOnlyList<ScopeGroup> Groups { get; }

Property Value

IReadOnlyList<ScopeGroup>

Methods

GetEffectiveScopes(AccessLevel?, IEnumerable<string>, IEnumerable<string>)

The scopes a member holds from their level, roles and overrides. Empty for a null level, roles and overrides included: an unset level is a record nobody finished, and its extras must not make it worth something.

IReadOnlyList<string> GetEffectiveScopes(AccessLevel? accessLevel, IEnumerable<string> roleNames, IEnumerable<string> scopeOverrides = null)

Parameters

accessLevel AccessLevel?
roleNames IEnumerable<string>
scopeOverrides IEnumerable<string>

Returns

IReadOnlyList<string>

GetScopesForAccessLevel(AccessLevel?)

The scopes accessLevel grants on its own. Empty for null: an unset level grants nothing.

IReadOnlyList<string> GetScopesForAccessLevel(AccessLevel? accessLevel)

Parameters

accessLevel AccessLevel?

Returns

IReadOnlyList<string>