Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DefaultResourceBuilder ¶
type DefaultResourceBuilder struct{}
DefaultResourceBuilder uses stable resource type names suitable for examples.
func (DefaultResourceBuilder) EntityResource ¶
func (DefaultResourceBuilder) EntityResource(entity string) authz.Resource
EntityResource implements ResourceBuilder.
func (DefaultResourceBuilder) FieldResource ¶
func (DefaultResourceBuilder) FieldResource(entity, field string) authz.Resource
FieldResource implements ResourceBuilder.
type PolicyBuilder ¶
type PolicyBuilder struct {
Authorizer authz.Authorizer
Principal authz.Principal
Schema guardsql.Schema
ResourceBuilder ResourceBuilder
RequireLimit bool
MaxLimit int
MaxDepth int
MaxNodes int
MaxInValues int
AllowStar bool
}
PolicyBuilder checks SystemForge authorization for schema entities/fields and compiles the result into a GuardSQL policy.
type ResourceBuilder ¶
type ResourceBuilder interface {
EntityResource(entity string) authz.Resource
FieldResource(entity, field string) authz.Resource
}
ResourceBuilder maps GuardSQL entities and fields to SystemForge resources. Applications can use these names directly in SpiceDB schemas or adapt them to product-specific resource types.
type ResourceBuilderFunc ¶
type ResourceBuilderFunc struct {
Entity func(entity string) authz.Resource
Field func(entity, field string) authz.Resource
}
ResourceBuilderFunc adapts functions into a ResourceBuilder.
func (ResourceBuilderFunc) EntityResource ¶
func (f ResourceBuilderFunc) EntityResource(entity string) authz.Resource
EntityResource implements ResourceBuilder.
func (ResourceBuilderFunc) FieldResource ¶
func (f ResourceBuilderFunc) FieldResource(entity, field string) authz.Resource
FieldResource implements ResourceBuilder.
Click to show internal directories.
Click to hide internal directories.