Documentation ¶
Index ¶
- Constants
- type Adapter
- func (a *Adapter) AddPolicies(sec string, ptype string, rules [][]string) error
- func (a *Adapter) AddPolicy(sec string, ptype string, rule []string) error
- func (a *Adapter) Close() error
- func (a *Adapter) IsFiltered() bool
- func (a *Adapter) LoadFilteredPolicy(model model.Model, filter any) error
- func (a *Adapter) LoadPolicy(model model.Model) error
- func (a *Adapter) RemoveFilteredPolicy(sec string, ptype string, fieldIndex int, fieldValues ...string) error
- func (a *Adapter) RemovePolicies(sec string, ptype string, rules [][]string) error
- func (a *Adapter) RemovePolicy(sec string, ptype string, rule []string) error
- func (a *Adapter) SavePolicy(model model.Model) error
- func (a *Adapter) UpdateFilteredPolicies(sec string, ptype string, newPolicies [][]string, fieldIndex int, ...) ([][]string, error)
- func (a *Adapter) UpdatePolicies(sec string, ptype string, oldRules, newRules [][]string) error
- func (a *Adapter) UpdatePolicy(sec string, ptype string, oldRule, newPolicy []string) error
- type CasbinRule
- type Filter
- type Option
Constants ¶
const DefaultDatabaseName = "casbin"
const DefaultTableName = "casbin_rules"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Adapter ¶
type Adapter struct {
// contains filtered or unexported fields
}
Adapter represents the adapter for policy storage.
func NewAdapter ¶
NewAdapter is the constructor for Adapter. param:arg should be a PostgreS URL string or of type *pgxpool.Config param:dbname is the name of the database to use and can is optional. If no dbname is provided, the default database name is "casbin" which will be created automatically. If arg is *pgxpool.Config, the arg.ConnConfig.Database field is omitted and will be modified according to dbname
func NewAdapterByDB ¶
NewAdapterByDB creates new Adapter by using existing DB connection creates table from CasbinRule struct if it doesn't exist
func (*Adapter) AddPolicies ¶
AddPolicies adds policy rules to the storage.
func (*Adapter) IsFiltered ¶
func (*Adapter) LoadFilteredPolicy ¶
func (*Adapter) LoadPolicy ¶
LoadPolicy loads policy from database.
func (*Adapter) RemoveFilteredPolicy ¶
func (a *Adapter) RemoveFilteredPolicy(sec string, ptype string, fieldIndex int, fieldValues ...string) error
RemoveFilteredPolicy removes policy rules that match the filter from the storage.
func (*Adapter) RemovePolicies ¶
RemovePolicies removes policy rules from the storage.
func (*Adapter) RemovePolicy ¶
RemovePolicy removes a policy rule from the storage.
func (*Adapter) SavePolicy ¶
SavePolicy saves policy to database.
func (*Adapter) UpdateFilteredPolicies ¶
func (*Adapter) UpdatePolicies ¶
UpdatePolicies updates some policy rules to storage, like db, redis.
type CasbinRule ¶
type CasbinRule struct { ID string Ptype string V0 string V1 string V2 string V3 string V4 string V5 string }
CasbinRule represents a rule in Casbin.
func (*CasbinRule) String ¶
func (r *CasbinRule) String() string
type Option ¶
type Option func(a *Adapter)
func SkipTableCreate ¶
func SkipTableCreate() Option
SkipTableCreate skips the table creation step when the adapter starts If the Casbin rules table does not exist, it will lead to issues when using the adapter
func WithTableName ¶
WithTableName can be used to pass custom table name for Casbin rules