Documentation
¶
Index ¶
- Variables
- type AuthzLoader
- func NewAPIAuthzLoader(ctx context.Context, repo repo.Repo, config *config.Config) *AuthzLoader[authz.APIResourceType, authz.APIAction]
- func NewAuthzLoader[ResourceType authz.APIResourceType | authz.RepoResourceType, ...](ctx context.Context, repo repo.Repo, config *config.Config, ...) *AuthzLoader[ResourceType, Action]
- func NewRepoAuthzLoader(ctx context.Context, repo repo.Repo, config *config.Config) *AuthzLoader[authz.RepoResourceType, authz.RepoAction]
- func (am *AuthzLoader[Resource, Action]) LoadTenantAllowedActions(ctx context.Context) error
- func (am *AuthzLoader[Resource, Action]) ReloadTenantAllowedActions(ctx context.Context) error
- func (am *AuthzLoader[Resource, Action]) ResetBusinessUserData()
- func (am *AuthzLoader[Resource, Action]) StartAuthzDataRefresh(ctx context.Context, interval time.Duration)
Constants ¶
This section is empty.
Variables ¶
Functions ¶
This section is empty.
Types ¶
type AuthzLoader ¶
type AuthzLoader[ Resource authz.APIResourceType | authz.RepoResourceType, Action authz.APIAction | authz.RepoAction, ] struct { TenantIDs map[authz.TenantID]struct{} // Used as a cache for reload/adding new tenants AuthzHandler *authz.Handler[Resource, Action] Auditor *auditor.Auditor // contains filtered or unexported fields }
func NewAPIAuthzLoader ¶
func NewAuthzLoader ¶
func NewAuthzLoader[ ResourceType authz.APIResourceType | authz.RepoResourceType, Action authz.APIAction | authz.RepoAction, ]( ctx context.Context, repo repo.Repo, config *config.Config, internalRolePolicies authz.RolePolicies[constants.InternalRole, ResourceType, Action], businessRolePolicies authz.RolePolicies[constants.BusinessRole, ResourceType, Action], resourceTypeActions map[ResourceType][]Action, ) *AuthzLoader[ResourceType, Action]
func NewRepoAuthzLoader ¶
func NewRepoAuthzLoader( ctx context.Context, repo repo.Repo, config *config.Config, ) *AuthzLoader[authz.RepoResourceType, authz.RepoAction]
func (*AuthzLoader[Resource, Action]) LoadTenantAllowedActions ¶ added in v0.9.0
func (am *AuthzLoader[Resource, Action]) LoadTenantAllowedActions(ctx context.Context) error
func (*AuthzLoader[Resource, Action]) ReloadTenantAllowedActions ¶ added in v0.9.0
func (am *AuthzLoader[Resource, Action]) ReloadTenantAllowedActions(ctx context.Context) error
func (*AuthzLoader[Resource, Action]) ResetBusinessUserData ¶ added in v0.9.0
func (am *AuthzLoader[Resource, Action]) ResetBusinessUserData()
func (*AuthzLoader[Resource, Action]) StartAuthzDataRefresh ¶
func (am *AuthzLoader[Resource, Action]) StartAuthzDataRefresh( ctx context.Context, interval time.Duration, )
StartAuthzDataRefresh starts a background goroutine that refreshes the authorization data periodically
Click to show internal directories.
Click to hide internal directories.