Documentation
¶
Overview ¶
package resource provides a set of types and functions for working with resources.
Index ¶
- type Collection
- func (s *Collection) AddResource(scope accesstypes.PermissionScope, permission accesstypes.Permission, ...) error
- func (s *Collection) AddResources(scope accesstypes.PermissionScope, rSet *ResourceSet) error
- func (s *Collection) GenerateTypeScript(dst string) error
- func (s *Collection) IsResourceImmutable(scope accesstypes.PermissionScope, res accesstypes.Resource) bool
- func (s *Collection) List() map[accesstypes.Permission][]accesstypes.Resource
- func (s *Collection) Scope(resource accesstypes.Resource) accesstypes.PermissionScope
- type FieldMapper
- type KeyPart
- type KeySet
- type PatchSet
- func (p *PatchSet) Data() map[accesstypes.Field]any
- func (p *PatchSet) Fields() []accesstypes.Field
- func (p *PatchSet) Get(field accesstypes.Field) any
- func (p *PatchSet) HasKey() bool
- func (p *PatchSet) Key(field accesstypes.Field) any
- func (p *PatchSet) KeySet() KeySet
- func (p *PatchSet) Len() int
- func (p *PatchSet) Set(field accesstypes.Field, value any) *PatchSet
- func (p *PatchSet) SetKey(field accesstypes.Field, value any)
- type QuerySet
- type ResourceSet
- func (r *ResourceSet) BaseResource() accesstypes.Resource
- func (r *ResourceSet) ImmutableFields() map[accesstypes.Tag]struct{}
- func (r *ResourceSet) Permission() accesstypes.Permission
- func (r *ResourceSet) PermissionRequired(fieldName accesstypes.Field, perm accesstypes.Permission) bool
- func (r *ResourceSet) Permissions() []accesstypes.Permission
- func (r *ResourceSet) Resource(fieldName accesstypes.Field) accesstypes.Resource
- func (r *ResourceSet) TagPermissions() accesstypes.TagPermissions
- type Resourcer
- type TSGenerator
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Collection ¶
type Collection struct {
// contains filtered or unexported fields
}
func NewCollection ¶
func NewCollection() *Collection
func (*Collection) AddResource ¶
func (s *Collection) AddResource(scope accesstypes.PermissionScope, permission accesstypes.Permission, res accesstypes.Resource) error
func (*Collection) AddResources ¶
func (s *Collection) AddResources(scope accesstypes.PermissionScope, rSet *ResourceSet) error
func (*Collection) GenerateTypeScript ¶
func (s *Collection) GenerateTypeScript(dst string) error
func (*Collection) IsResourceImmutable ¶
func (s *Collection) IsResourceImmutable(scope accesstypes.PermissionScope, res accesstypes.Resource) bool
func (*Collection) List ¶
func (s *Collection) List() map[accesstypes.Permission][]accesstypes.Resource
func (*Collection) Scope ¶
func (s *Collection) Scope(resource accesstypes.Resource) accesstypes.PermissionScope
type FieldMapper ¶
type FieldMapper struct {
// contains filtered or unexported fields
}
func NewFieldMapper ¶
func NewFieldMapper(v any) (*FieldMapper, error)
func (*FieldMapper) Fields ¶
func (f *FieldMapper) Fields() []accesstypes.Field
func (*FieldMapper) Len ¶
func (f *FieldMapper) Len() int
func (*FieldMapper) StructFieldName ¶
func (f *FieldMapper) StructFieldName(tag string) (accesstypes.Field, bool)
type KeyPart ¶
type KeyPart struct {
Key accesstypes.Field
Value any
}
type KeySet ¶
type KeySet struct {
// contains filtered or unexported fields
}
KeySet is an object that represents a single or composite primary key and its value.
type PatchSet ¶
type PatchSet struct {
// contains filtered or unexported fields
}
func NewPatchSet ¶
func NewPatchSet() *PatchSet
func (*PatchSet) Fields ¶
func (p *PatchSet) Fields() []accesstypes.Field
type QuerySet ¶
type QuerySet struct {
// contains filtered or unexported fields
}
func NewQuerySet ¶
func NewQuerySet() *QuerySet
func (*QuerySet) Fields ¶
func (p *QuerySet) Fields() []accesstypes.Field
type ResourceSet ¶
type ResourceSet struct {
// contains filtered or unexported fields
}
func NewResourceSet ¶
func NewResourceSet[Resource Resourcer, Request any](permissions ...accesstypes.Permission) (*ResourceSet, error)
func (*ResourceSet) BaseResource ¶
func (r *ResourceSet) BaseResource() accesstypes.Resource
func (*ResourceSet) ImmutableFields ¶
func (r *ResourceSet) ImmutableFields() map[accesstypes.Tag]struct{}
func (*ResourceSet) Permission ¶
func (r *ResourceSet) Permission() accesstypes.Permission
func (*ResourceSet) PermissionRequired ¶
func (r *ResourceSet) PermissionRequired(fieldName accesstypes.Field, perm accesstypes.Permission) bool
func (*ResourceSet) Permissions ¶
func (r *ResourceSet) Permissions() []accesstypes.Permission
func (*ResourceSet) Resource ¶
func (r *ResourceSet) Resource(fieldName accesstypes.Field) accesstypes.Resource
func (*ResourceSet) TagPermissions ¶
func (r *ResourceSet) TagPermissions() accesstypes.TagPermissions
type Resourcer ¶
type Resourcer interface {
Resource() accesstypes.Resource
}
type TSGenerator ¶
type TSGenerator struct {
Permissions []accesstypes.Permission
Resources []accesstypes.Resource
ResourceTags map[accesstypes.Resource][]accesstypes.Tag
ResourcePermissions permissionMap
Domains []accesstypes.PermissionScope
}
Click to show internal directories.
Click to hide internal directories.